UNPKG

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