2023-01-17 08:04:34 +01:00
|
|
|
import path from 'path';
|
2024-06-28 11:24:37 +02:00
|
|
|
import { readSvgDirectory } from '@lucide/helpers';
|
2025-06-18 15:47:24 +02:00
|
|
|
import { type IconMetadata } from '../types.ts';
|
2023-01-17 08:04:34 +01:00
|
|
|
|
2025-06-18 15:47:24 +02:00
|
|
|
async function getIconMetaData(iconDirectory: string): Promise<Record<string, IconMetadata>> {
|
2025-02-10 14:13:52 +01:00
|
|
|
const iconJsons = await readSvgDirectory(iconDirectory, '.json');
|
2023-01-17 08:04:34 +01:00
|
|
|
const aliasesEntries = await Promise.all(
|
2025-06-18 15:47:24 +02:00
|
|
|
iconJsons.map(async (jsonFile: string) => {
|
2024-06-28 11:24:37 +02:00
|
|
|
/** eslint-disable */
|
2024-11-15 13:51:58 +01:00
|
|
|
const file = await import(path.join(iconDirectory, jsonFile), { with: { type: 'json' } });
|
2024-02-01 22:38:21 +09:00
|
|
|
return [path.basename(jsonFile, '.json'), file.default];
|
|
|
|
|
}),
|
|
|
|
|
);
|
2023-01-17 08:04:34 +01:00
|
|
|
|
|
|
|
|
return Object.fromEntries(aliasesEntries);
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-01 22:38:21 +09:00
|
|
|
export default getIconMetaData;
|