UNPKG

@mongez/gnz

Version:

Generator Z, the next generation of scaffolding tools.

42 lines (36 loc) 1.36 kB
import {toJson}from'../../../utils/converters.js';import'os';import {format}from'../../../utils/prettifier.js';async function gnWarlockRepository(options) { // const { className, model: modelName, modelPath, exportName: objectName, filters = {}, } = options; const imports = [ `import { type FilterByOptions, RepositoryManager, type RepositoryOptions, } from "@warlock.js/core";`, `import { ${modelName} } from "${modelPath}";`, ]; const content = ` ${imports.join("\n")} export class ${className} extends RepositoryManager<${modelName}> { /** * {@inheritDoc} */ public model = ${modelName}; /** * Simple columns selections * Set the columns that need to be selected when passing 'simple' option with 'true' */ public simpleSelectColumns = ["id"]; /** * List default options */ protected defaultOptions: RepositoryOptions = this.withDefaultOptions({}); /** * Filter By options */ protected filterBy: FilterByOptions = this.withDefaultFilters(${toJson(filters)}); } export const ${objectName} = new ${className}(); `; return await format.typescript(content); }export{gnWarlockRepository};//# sourceMappingURL=template.js.map