@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
42 lines (36 loc) • 1.36 kB
JavaScript
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