mirror of
https://github.com/lucide-icons/lucide.git
synced 2025-12-16 20:17:42 +01:00
refactor: Optimize readAllMetadata function to use Promise.all for concurrent metadata reading
This commit is contained in:
@@ -12,10 +12,12 @@ import { readMetadata } from './readMetadata.mjs';
|
|||||||
export const readAllMetadata = async (directory) => {
|
export const readAllMetadata = async (directory) => {
|
||||||
const directoryContent = await fs.readdir(directory);
|
const directoryContent = await fs.readdir(directory);
|
||||||
|
|
||||||
return directoryContent
|
const metaDataPromises =
|
||||||
.filter((file) => path.extname(file) === '.json')
|
directoryContent
|
||||||
.reduce((acc, fileName) => {
|
.filter((file) => path.extname(file) === '.json')
|
||||||
acc[path.basename(fileName, '.json')] = readMetadata(fileName, directory);
|
.map(async(file) => [path.basename(file, '.json'), await readMetadata(file, directory)]);
|
||||||
return acc;
|
|
||||||
}, {});
|
const metadata = await Promise.all(metaDataPromises)
|
||||||
|
|
||||||
|
return Object.fromEntries(metadata);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user