UNPKG

@intlayer/chokidar

Version:

Uses chokidar to scan and build Intlayer declaration files into dictionaries based on Intlayer configuration.

30 lines (28 loc) 1.29 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); const require_utils_parallelize = require('../utils/parallelize.cjs'); let node_fs_promises = require("node:fs/promises"); let node_path = require("node:path"); //#region src/createType/createType.ts const generateTypeScriptType = (dictionary) => { return `/* eslint-disable */\nexport default ${JSON.stringify(dictionary, null, 2)} as const;\n`; }; /** * This function generates a TypeScript type definition from a JSON object */ const createTypes = async (dictionaries, configuration) => { const { system } = configuration; const { typesDir } = system; await (0, node_fs_promises.mkdir)(typesDir, { recursive: true }); return (await require_utils_parallelize.parallelize(dictionaries, async (dictionary) => { if (!dictionary.key) return; const typeDefinition = generateTypeScriptType(dictionary); const outputPath = (0, node_path.resolve)(typesDir, `${dictionary.key}.ts`); await (0, node_fs_promises.writeFile)(outputPath, typeDefinition); return outputPath; })).filter(Boolean); }; //#endregion exports.createTypes = createTypes; exports.generateTypeScriptType = generateTypeScriptType; //# sourceMappingURL=createType.cjs.map