@weverson_na/prisma-generator-nestjs-dto
Version:
Advanced Prisma Generator with Smart Merge v2: Creates DTO and Entity classes with AST-based preservation, intelligent import management, and modular architecture for NestJS
41 lines (40 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntityFieldConfig = void 0;
const annotations_1 = require("../../annotations");
const field_classifiers_1 = require("../../field-classifiers");
class EntityFieldConfig {
constructor(templateHelpers) {
this.templateHelpers = templateHelpers;
this.relationModifiers = [];
this.canCreateAnnotation = /^$/;
this.canConnectAnnotation = /^$/;
this.dtoNameGenerator = (name) => {
return this.templateHelpers.entityName(name);
};
this.fieldFilters = {
shouldSkipField: (field) => {
return (0, field_classifiers_1.isAnnotatedWith)(field, annotations_1.DTO_ENTITY_HIDDEN);
},
shouldProcessOptional: () => {
return false;
},
};
this.getFieldOverrides = (field) => {
const overrides = {
isRequired: true,
isNullable: !field.isRequired,
};
if ((0, field_classifiers_1.isRelation)(field)) {
overrides.isRequired = false;
overrides.isNullable = field.isList
? false
: field.isRequired
? false
: !(0, field_classifiers_1.isAnnotatedWith)(field, annotations_1.DTO_RELATION_REQUIRED);
}
return overrides;
};
}
}
exports.EntityFieldConfig = EntityFieldConfig;