@baseplate-dev/core-generators
Version:
Core generators for Baseplate
54 lines • 2.34 kB
JavaScript
import { createGeneratorTask, createProviderType } from '@baseplate-dev/sync';
import { typescriptFileProvider } from '#src/generators/node/typescript/typescript.generator.js';
import { NODE_TS_UTILS_PATHS } from './template-paths.js';
import { NODE_TS_UTILS_TEMPLATES } from './typed-templates.js';
const nodeTsUtilsRenderers = createProviderType('node-ts-utils-renderers');
const nodeTsUtilsRenderersTask = createGeneratorTask({
dependencies: {
paths: NODE_TS_UTILS_PATHS.provider,
typescriptFile: typescriptFileProvider,
},
exports: { nodeTsUtilsRenderers: nodeTsUtilsRenderers.export() },
run({ paths, typescriptFile }) {
return {
providers: {
nodeTsUtilsRenderers: {
arrays: {
render: (options) => typescriptFile.renderTemplateFile({
template: NODE_TS_UTILS_TEMPLATES.arrays,
destination: paths.arrays,
...options,
}),
},
normalizeTypes: {
render: (options) => typescriptFile.renderTemplateFile({
template: NODE_TS_UTILS_TEMPLATES.normalizeTypes,
destination: paths.normalizeTypes,
...options,
}),
},
nulls: {
render: (options) => typescriptFile.renderTemplateFile({
template: NODE_TS_UTILS_TEMPLATES.nulls,
destination: paths.nulls,
generatorPaths: paths,
...options,
}),
},
string: {
render: (options) => typescriptFile.renderTemplateFile({
template: NODE_TS_UTILS_TEMPLATES.string,
destination: paths.string,
...options,
}),
},
},
},
};
},
});
export const NODE_TS_UTILS_RENDERERS = {
provider: nodeTsUtilsRenderers,
task: nodeTsUtilsRenderersTask,
};
//# sourceMappingURL=template-renderers.js.map