UNPKG

stackpress

Version:

Incept is a content management framework.

35 lines (34 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = generate; const Registry_js_1 = __importDefault(require("../../schema/Registry.js")); const enums_js_1 = __importDefault(require("./enums.js")); const types_js_1 = __importDefault(require("./types.js")); function generate(props) { const { schema, project } = props; const registry = new Registry_js_1.default(schema); (0, enums_js_1.default)(project, registry); (0, types_js_1.default)(project, registry); for (const model of registry.model.values()) { const filepath = `${model.name}/index.ts`; const source = project.getSourceFile(filepath) || project.createSourceFile(filepath, '', { overwrite: true }); source.addExportDeclaration({ moduleSpecifier: './types.js' }); } for (const fieldset of registry.fieldset.values()) { const filepath = `${fieldset.name}/index.ts`; const source = project.getSourceFile(filepath) || project.createSourceFile(filepath, '', { overwrite: true }); source.addExportDeclaration({ moduleSpecifier: './types.js' }); } const source = project.getSourceFile('index.ts') || project.createSourceFile('index.ts', '', { overwrite: true }); source.addExportDeclaration({ isTypeOnly: true, moduleSpecifier: './types.js' }); } ;