nest-clz
Version:
Your CLI by Shoulders to create a backend started with [nest-seed](https://github.com/Eureka-Shoulders/nest-seed)
77 lines • 5.24 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDtoFieldStringified = void 0;
function handleType(type) {
switch (type) {
case 'String':
case 'Boolean':
return type.toLocaleLowerCase();
case 'Int':
case 'Float':
case 'BigInt':
case 'Decimal':
return 'number';
case 'DateTime':
case 'Date':
return 'Date';
case 'JSON':
case 'JSONObject':
return 'object';
case 'Enum':
return 'enum';
default:
return type;
}
}
function getExtraValidators(fieldName, relationWith, dtoTo) {
if (relationWith) {
return "@Type(() => ".concat(dtoTo).concat(relationWith, "Dto)\n @ValidateNested()");
}
switch (fieldName) {
case 'email':
return "@IsEmail()";
case 'password':
return "@IsNotEmpty()\n @IsStrongPassword()";
default:
return '';
}
}
function getDtoFieldStringified(_a, dtoTo, modelName) {
var name = _a.name, relationName = _a.relationName, field = __rest(_a, ["name", "relationName"]);
if (field.isId ||
field.kind === 'unsupported' ||
name === 'createdAt' ||
name === 'updatedAt') {
return '';
}
var relationWith = field.kind === 'object' && relationName !== undefined
? relationName.replace("".concat(modelName), '').replace('To', '')
: null;
var fieldType = relationWith
? "".concat(dtoTo).concat(relationWith, "Dto")
: handleType(field.type);
switch (dtoTo) {
case 'Create':
return "\n ".concat(field.isRequired ? '@IsDefined()' : '@IsOptional()', "\n ").concat(getExtraValidators(name, relationWith, dtoTo), "\n ").concat(name, ": ").concat(fieldType).concat(field.isList ? '[]' : '', "\n ");
case 'Update':
if (relationWith) {
return "\n @IsOptional()\n ".concat(name, "?: ").concat(fieldType).concat(field.isList ? '[]' : '');
}
return '';
default:
return '';
}
}
exports.getDtoFieldStringified = getDtoFieldStringified;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RHRvRmllbGRTdHJpbmdpZmllZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9nZXREdG9GaWVsZFN0cmluZ2lmaWVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsU0FBUyxVQUFVLENBQUMsSUFBWTtJQUM5QixRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1osT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNqQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLFNBQVM7WUFDWixPQUFPLFFBQVEsQ0FBQTtRQUNqQixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLE1BQU07WUFDVCxPQUFPLE1BQU0sQ0FBQTtRQUNmLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxZQUFZO1lBQ2YsT0FBTyxRQUFRLENBQUE7UUFDakIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUE7UUFDZjtZQUNFLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7QUFDSCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsU0FBaUIsRUFDakIsWUFBb0IsRUFDcEIsS0FBWTtJQUVaLElBQUksWUFBWSxFQUFFO1FBQ2hCLE9BQU8sc0JBQWUsS0FBSyxTQUFHLFlBQVksZ0NBQ3hCLENBQUE7S0FDbkI7SUFDRCxRQUFRLFNBQVMsRUFBRTtRQUNqQixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksQ0FBQTtRQUNyQixLQUFLLFVBQVU7WUFDYixPQUFPLHdDQUNXLENBQUE7UUFDcEI7WUFDRSxPQUFPLEVBQUUsQ0FBQTtLQUNaO0FBQ0gsQ0FBQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxFQUE2QyxFQUM3QyxLQUFZLEVBQ1osU0FBaUI7SUFGZixJQUFBLElBQUksVUFBQSxFQUFFLFlBQVksa0JBQUEsRUFBSyxLQUFLLGNBQTlCLHdCQUFnQyxDQUFGO0lBSTlCLElBQ0UsS0FBSyxDQUFDLElBQUk7UUFDVixLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWE7UUFDNUIsSUFBSSxLQUFLLFdBQVc7UUFDcEIsSUFBSSxLQUFLLFdBQVcsRUFDcEI7UUFDQSxPQUFPLEVBQUUsQ0FBQTtLQUNWO0lBRUQsSUFBTSxZQUFZLEdBQ2hCLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFlBQVksS0FBSyxTQUFTO1FBQ25ELENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQUcsU0FBUyxDQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVWLElBQU0sU0FBUyxHQUFHLFlBQVk7UUFDNUIsQ0FBQyxDQUFDLFVBQUcsS0FBSyxTQUFHLFlBQVksUUFBSztRQUM5QixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUUxQixRQUFRLEtBQUssRUFBRTtRQUNiLEtBQUssUUFBUTtZQUNYLE9BQU8sZ0JBQ1AsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlLG1CQUNuRCxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxtQkFDN0MsSUFBSSxlQUFLLFNBQVMsU0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FDOUMsQ0FBQTtRQUNELEtBQUssUUFBUTtZQUNYLElBQUksWUFBWSxFQUFFO2dCQUNoQixPQUFPLDJDQUVMLElBQUksZ0JBQU0sU0FBUyxTQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUE7YUFDbkQ7WUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUNYO1lBQ0UsT0FBTyxFQUFFLENBQUE7S0FDWjtBQUNILENBQUM7QUF4Q0Qsd0RBd0NDIn0=