UNPKG

@intlayer/chokidar

Version:

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

27 lines (25 loc) 1 kB
import { parallelize } from "../utils/parallelize.mjs"; import { mkdir, writeFile } from "node:fs/promises"; import { resolve } from "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 mkdir(typesDir, { recursive: true }); return (await parallelize(dictionaries, async (dictionary) => { if (!dictionary.key) return; const typeDefinition = generateTypeScriptType(dictionary); const outputPath = resolve(typesDir, `${dictionary.key}.ts`); await writeFile(outputPath, typeDefinition); return outputPath; })).filter(Boolean); }; //#endregion export { createTypes, generateTypeScriptType }; //# sourceMappingURL=createType.mjs.map