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.computeUpdateDtoParams = exports.UpdateDtoParamsComputer = void 0; const base_model_params_computer_1 = require("./base-model-params-computer"); const update_dto_field_config_1 = require("./configs/update-dto-field-config"); class UpdateDtoParamsComputer extends base_model_params_computer_1.BaseModelParamsComputer { constructor(templateHelpers, customDecoratorConfigsPath) { super(templateHelpers, customDecoratorConfigsPath); this.customDecoratorConfigsPath = customDecoratorConfigsPath; this.fieldConfig = new update_dto_field_config_1.UpdateDtoFieldConfig(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.UpdateDtoParamsComputer = UpdateDtoParamsComputer; const computeUpdateDtoParams = ({ model, allModels, templateHelpers, addExposePropertyDecorator, customDecoratorConfigsPath, }) => { const computer = new UpdateDtoParamsComputer(templateHelpers, customDecoratorConfigsPath); return computer.computeParams(model, allModels, addExposePropertyDecorator); }; exports.computeUpdateDtoParams = computeUpdateDtoParams;