UNPKG

stackpress

Version:

Incept is a content management framework.

29 lines (28 loc) 1.2 kB
import Registry from '../../schema/Registry.js'; import enumGenerator from './enums.js'; import typeGenerator from './types.js'; export default function generate(props) { const { schema, project } = props; const registry = new Registry(schema); enumGenerator(project, registry); typeGenerator(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' }); } ;