@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
35 lines (34 loc) • 1.8 kB
JavaScript
import {Command}from'commander';import path from'path';import {generateWarlockRepository}from'../../index.js';import {gnz}from'../../../../../main.js';const newWarlockRepositoryCommand = new Command("warlock:repository")
.arguments("<name>")
.requiredOption("-p, --path <path>", "Path to save the file to, relative to the project root")
.option("-m, --model <model>", "Model name, if not provided, it will be generated from the repository name")
.option("-mp, --modelPath <modelPath>", "Model path, if not provided, it will be generated from the repository name")
.option("-c, --className <className>", "Class name, if not provided, it will be generated from the repository name")
.option("-e, --exportName <exportName>", "Export name, if not provided, it will be generated from the repository name")
.option("-f, --filters <filters>", "Filters, email:like,id:int,name:=")
.option("-f, --fileName <fileName>", "File name")
.action(async (name, options) => {
const { path: path$1, fileName, filters, className, model, modelPath, exportName } = options;
const filtersKeysList = {};
if (filters) {
const keys = filters.split(",");
keys.forEach(key => {
const [keyName, keyType] = key.split(":");
if (!keyName)
return;
if (!keyType)
return;
filtersKeysList[keyName] = keyType;
});
}
await gnz.execute(generateWarlockRepository.execute({
name,
saveTo: path.resolve(process.cwd(), path$1 || ""),
fileName,
filters: filtersKeysList,
className,
model,
modelPath,
exportName,
}));
});export{newWarlockRepositoryCommand};//# sourceMappingURL=new-warlock-repository-command.js.map