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

38 lines (37 loc) 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.computeCreateDtoParams = exports.CreateDtoParamsComputer = void 0; const base_model_params_computer_1 = require("./base-model-params-computer"); const create_dto_field_config_1 = require("./configs/create-dto-field-config"); class CreateDtoParamsComputer extends base_model_params_computer_1.BaseModelParamsComputer { constructor(templateHelpers, customDecoratorConfigsPath) { super(templateHelpers, customDecoratorConfigsPath); this.customDecoratorConfigsPath = customDecoratorConfigsPath; this.fieldConfig = new create_dto_field_config_1.CreateDtoFieldConfig(templateHelpers); } getFieldConfig() { return this.fieldConfig; } computeParams(model, allModels, addExposePropertyDecorator) { const fieldsWithoutIds = model.fields.filter((field) => !field.isId); const modelWithoutIds = { ...model, fields: fieldsWithoutIds, }; const fieldResult = this.processModelFields(modelWithoutIds, allModels, addExposePropertyDecorator); const imports = this.finalizeImports(fieldResult.imports, fieldResult.fields, fieldResult.apiExtraModels.length > 0, fieldResult.hasEnum); return { model, fields: fieldResult.fields, imports, extraClasses: fieldResult.extraClasses, apiExtraModels: fieldResult.apiExtraModels, }; } } exports.CreateDtoParamsComputer = CreateDtoParamsComputer; const computeCreateDtoParams = ({ model, allModels, templateHelpers, addExposePropertyDecorator, customDecoratorConfigsPath, }) => { const computer = new CreateDtoParamsComputer(templateHelpers, customDecoratorConfigsPath); return computer.computeParams(model, allModels, addExposePropertyDecorator); }; exports.computeCreateDtoParams = computeCreateDtoParams;