UNPKG

vitepress-jsdoc

Version:

A bridge between Vitepress and JSDoc-style commented codebases for hassle-free documentation.

42 lines 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseDirectoryFile = exports.parseAndWriteFiles = void 0; const file_operations_js_1 = require("../utilities/file-operations.js"); const parser_factory_js_1 = require("./factories/parser-factory.js"); const plugin_options_js_1 = require("./plugin-options.js"); const parseAndWriteFiles = async (lsFolder, options) => { const folderData = lsFolder; const parsePromises = folderData.paths.map(async (file) => { const data = await (0, exports.parseDirectoryFile)(file, options); if (data?.relativePathDest) { return (0, file_operations_js_1.writeContentToFile)(data, data.relativePathDest); } return undefined; }); return Promise.all(parsePromises); }; exports.parseAndWriteFiles = parseAndWriteFiles; /** * Parses the content of a directory file based on its extension and configuration. * * @param {DirectoryFile} file - The file object representing the directory file to be parsed. * @param {PluginOptions} options - The plugin options providing configuration for the parsing. * * @returns {Promise<object|undefined>} A promise that resolves with the parsed content of the file, or undefined if the file is a directory or has no associated parser. */ const parseDirectoryFile = async (file, options) => { const { srcFolder, docsFolder, jsDocConfigPath, partials, helpers } = (0, plugin_options_js_1.parsePluginOptions)(options); if (!file.isDir && file.folder) { const parser = parser_factory_js_1.parserFactory.createParser(file.ext ?? ''); const config = { srcFolder, docsFolder, jsDocConfigPath, partials, helpers, }; return parser.parse(file, config); } }; exports.parseDirectoryFile = parseDirectoryFile; //# sourceMappingURL=file.js.map