UNPKG

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
"use strict"; 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=