UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

37 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.collectFileMetaInfos = collectFileMetaInfos; const fileinfo_1 = require("./fileinfo"); const filemeta_1 = require("./filemeta"); const log_1 = require("../../../../pkg/log"); const log = (0, log_1.getDomainLogger)('fs', { component: 'incremental-file-collector' }); async function collectFileMetaInfos(paths, fs) { const result = new Map(); for (const path of paths) { try { const fileMetaInfo = await createFileMetaInfo(path, fs); result.set(path, fileMetaInfo); } catch (error) { log.error(`Failed to create FileMetaInfo for ${path}:`, error); } } return result; } /** * 为单个文件创建 FileMetaInfo,参考 walkRecursive 的实现 */ async function createFileMetaInfo(filePath, fs) { try { // 获取文件信息,参考 walkRecursive 中的实现 const fi = await fs.stat(filePath); // 创建 FileMetaInfo,参考 walkRecursive 中的实现 const meta = (0, filemeta_1.newFileMeta)(filePath); meta.setOpenFunc(async () => await fs.open(filePath)); return (0, fileinfo_1.newFileInfoWithMeta)(fi, meta); } catch (error) { throw new Error(`Failed to stat file ${filePath}: ${error.message}`); } } //# sourceMappingURL=incremental-file-collector.js.map