UNPKG

stackpress

Version:

Incept is a content management framework.

35 lines (34 loc) 1.22 kB
import Registry from '../../schema/Registry'; import generateSchema from './schema'; import generateActions from './actions'; import generateEvents from './events'; import generateTests from './tests'; export default async function generate(props) { const { schema, project } = props; const registry = new Registry(schema); generateActions(project, registry); generateEvents(project, registry); generateSchema(project, registry); generateTests(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.addImportDeclaration({ moduleSpecifier: './actions', defaultImport: 'actions' }); source.addImportDeclaration({ moduleSpecifier: './events', defaultImport: 'events' }); source.addImportDeclaration({ moduleSpecifier: './schema', defaultImport: 'schema' }); source.addExportDeclaration({ namedExports: ['actions', 'schema', 'events'] }); } } ;