@solidstarters/solid-code-builder 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Tree } from '@angular-devkit/schematics';
2
- import ts, { SourceFile } from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
2
+ import ts, { ClassDeclaration, SourceFile } from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
3
3
  import { Change } from '@schematics/angular/utility/change';
4
4
  import { DecoratorManager, DecoratorType, DefaultValueInitializer, FieldChange, FieldManager, FieldType, ManagerForDtoOptions, PartialAddFieldChange } from '../../FieldManager';
5
5
  export declare abstract class BaseFieldManagerForDto implements FieldManager {
@@ -8,6 +8,7 @@ export declare abstract class BaseFieldManagerForDto implements FieldManager {
8
8
  protected readonly field: any;
9
9
  protected readonly options: ManagerForDtoOptions;
10
10
  source: SourceFile;
11
+ updatedSourceClassNode?: ts.ClassDeclaration;
11
12
  decoratorManagers: DecoratorManager[];
12
13
  constructor(tree: Tree, moduleName: string, modelName: string, field: any, options: ManagerForDtoOptions);
13
14
  removeField(): FieldChange[];
@@ -19,6 +20,7 @@ export declare abstract class BaseFieldManagerForDto implements FieldManager {
19
20
  private buildPropertyLine;
20
21
  addField(): FieldChange[];
21
22
  protected updateFieldInternal(fieldName: string, fieldType: ts.TypeNode, decoratorManagers: DecoratorManager[], field: any, source: ts.SourceFile): FieldChange;
23
+ updateClassNode(sourceClassNode: ts.ClassDeclaration, updatedFieldNode: ts.PropertyDeclaration, fieldName: string): ClassDeclaration;
22
24
  updateField(): FieldChange[];
23
25
  protected addAdditionalField(): FieldChange[];
24
26
  protected addOrUpdateAdditionalField(): FieldChange[];
@@ -43,10 +45,11 @@ export declare abstract class BaseFieldManagerForDto implements FieldManager {
43
45
  protected isApplyApiProperty(): boolean;
44
46
  protected applyUpdateDecoratorTransformations(fieldPropertyDeclarationNode: ts.PropertyDeclaration, ...transformers: DecoratorManager[]): [ts.PropertyDeclaration, Change[]];
45
47
  protected applyBuildDecoratorTransformations(...transformers: DecoratorManager[]): PartialAddFieldChange[];
46
- protected calculateReplaceChanges(updatedPropertyDeclarationNodeText: string, fieldPropertyDeclarationNode: ts.PropertyDeclaration, source: ts.SourceFile): Change[];
47
- protected printNode(updatedPropertyDeclarationNode: ts.PropertyDeclaration, nodeSource: SourceFile): string;
48
+ protected calculateReplaceChanges(updatedSourceNodeText: string, sourceNode: ts.Node, sourceFileName: string): Change[];
49
+ protected printNode(updatedPropertyDeclarationNode: ts.Node, nodeSource: SourceFile): string;
48
50
  protected isAdditionalFieldRequired(): boolean;
49
51
  protected getFieldDecoratorManagers(field: any, source: SourceFile, ...decoratorTypes: DecoratorType[]): DecoratorManager[];
50
52
  protected parseDefaultValue(defaultValueConfig: string): any | null;
51
53
  protected defaultValueInitializer(defaultValueConfig: string): DefaultValueInitializer | null;
54
+ private getClassNode;
52
55
  }
@@ -108,13 +108,7 @@ class BaseFieldManagerForDto {
108
108
  changes.push(...builderChange.changes);
109
109
  fieldSourceLines.push(...builderChange.fieldSourceLines);
110
110
  });
111
- // Create the field definition changes
112
- // const classNode = findNodes(source, ts.SyntaxKind.ClassDeclaration)[0];
113
- const className = (this.options.sourceType === FieldManager_1.DtoSourceType.Create) ? `Create${(0, strings_1.classify)(modelName)}Dto` : `Update${(0, strings_1.classify)(modelName)}Dto`;
114
- const classNode = (0, FieldManager_1.getClassNode)(className, source);
115
- if (!classNode) {
116
- throw new Error(`Class ${className} not found in file ${source.fileName}`);
117
- }
111
+ const classNode = this.getClassNode(modelName, this.options, source);
118
112
  const fieldDefinition = `\n${fieldSourceLines.reverse().join('\n')}\n`;
119
113
  changes.push(new change_1.InsertChange(source.fileName, classNode.end - 1, fieldDefinition));
120
114
  return {
@@ -151,7 +145,7 @@ class BaseFieldManagerForDto {
151
145
  return fieldChanges;
152
146
  }
153
147
  updateFieldInternal(fieldName, fieldType, decoratorManagers, field, source) {
154
- var _a;
148
+ var _a, _b;
155
149
  const changes = [];
156
150
  // Get the field property declaration node
157
151
  const fieldPropertyDeclarationNode = (_a = this.getFieldIdentifierNode(fieldName, source)) === null || _a === void 0 ? void 0 : _a.parent;
@@ -162,13 +156,42 @@ class BaseFieldManagerForDto {
162
156
  const [updatedPropertyDeclarationNodeTransformed, decoratorChanges] = this.applyUpdateDecoratorTransformations(updatedPropertyDeclarationNode, ...decoratorManagers);
163
157
  updatedPropertyDeclarationNode = updatedPropertyDeclarationNodeTransformed;
164
158
  changes.push(...decoratorChanges);
165
- changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source));
159
+ // changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source));
160
+ // if (!this.isAdditionalFieldRequired()) {
161
+ // Get the source class node i.e CreateDto or UpdateDto
162
+ const sourceClassNode = this.getClassNode(this.modelName, this.options, source); // FIXME Avoid this.model to avoid stateful behaviour
163
+ const classNode = (_b = this.updatedSourceClassNode) !== null && _b !== void 0 ? _b : sourceClassNode;
164
+ // Set the updated property declaration node to the source class node
165
+ const updatedClassNode = this.updateClassNode(classNode, updatedPropertyDeclarationNode, fieldName);
166
+ this.updatedSourceClassNode = updatedClassNode; // Set the updated class node to the source class node, so it can be used for additional operations e.g for additional field updates
167
+ changes.push(...this.calculateReplaceChanges(this.printNode(updatedClassNode, source), sourceClassNode, source.fileName));
168
+ // }
169
+ // else {
170
+ // changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source.fileName));
171
+ // }
166
172
  return {
167
173
  filePath: source.fileName,
168
174
  field: field,
169
175
  changes: changes,
170
176
  };
171
177
  }
178
+ updateClassNode(sourceClassNode, updatedFieldNode, fieldName) {
179
+ // Replace the class memeber matching the field name with the updated field node
180
+ const newMembers = sourceClassNode.members.map((member) => {
181
+ // Check if the member is a PropertyDeclaration
182
+ if (typescript_1.default.isPropertyDeclaration(member)) {
183
+ // Compare the name of the property with the field name
184
+ const memberName = member.name.getText();
185
+ if (memberName === fieldName) {
186
+ return updatedFieldNode;
187
+ }
188
+ }
189
+ return member;
190
+ });
191
+ // Update the class node with the new modifiers
192
+ const updatedClass = typescript_1.default.factory.updateClassDeclaration(sourceClassNode, sourceClassNode.modifiers, sourceClassNode.name, sourceClassNode.typeParameters, sourceClassNode.heritageClauses, newMembers);
193
+ return updatedClass;
194
+ }
172
195
  updateField() {
173
196
  const fieldChanges = [];
174
197
  console.log(`\ncreate Dto updateField ${this.fieldName()} called ...`);
@@ -265,13 +288,13 @@ class BaseFieldManagerForDto {
265
288
  };
266
289
  }
267
290
  }
268
- calculateReplaceChanges(updatedPropertyDeclarationNodeText, fieldPropertyDeclarationNode, source) {
291
+ calculateReplaceChanges(updatedSourceNodeText, sourceNode, sourceFileName) {
269
292
  const changes = [];
270
- if (updatedPropertyDeclarationNodeText.trim() !==
271
- fieldPropertyDeclarationNode.getFullText().trim()) {
272
- console.log(`Updated Code:\n${updatedPropertyDeclarationNodeText.trim()}\nwith length ${updatedPropertyDeclarationNodeText.trim().length}\n`);
273
- console.log(`Old Code:\n${fieldPropertyDeclarationNode.getFullText().trim()}\nwith length ${fieldPropertyDeclarationNode.getFullText().trim().length}\n`);
274
- const replaceChange = new FieldManager_1.ReplaceChangeSSS(source.fileName, fieldPropertyDeclarationNode.pos, fieldPropertyDeclarationNode.getFullText(), `\n\n${updatedPropertyDeclarationNodeText}`);
293
+ if (updatedSourceNodeText.trim() !==
294
+ sourceNode.getFullText().trim()) {
295
+ console.log(`Updated Code:\n${updatedSourceNodeText.trim()}\nwith length ${updatedSourceNodeText.trim().length}\n`);
296
+ console.log(`Old Code:\n${sourceNode.getFullText().trim()}\nwith length ${sourceNode.getFullText().trim().length}\n`);
297
+ const replaceChange = new FieldManager_1.ReplaceChangeSSS(sourceFileName, sourceNode.pos, sourceNode.getFullText(), `\n\n${updatedSourceNodeText}`);
275
298
  changes.push(replaceChange);
276
299
  }
277
300
  return changes;
@@ -348,6 +371,18 @@ class BaseFieldManagerForDto {
348
371
  expression: typescript_1.default.factory.createStringLiteral(defaultValue.toString())
349
372
  };
350
373
  }
374
+ getClassNode(modelName, options, source) {
375
+ // if (this.updatedSourceClassNode) {
376
+ // return this.updatedSourceClassNode;
377
+ // }
378
+ const classifiedModelName = (0, strings_1.classify)(modelName);
379
+ const sourceClassName = (options.sourceType === FieldManager_1.DtoSourceType.Create) ? `Create${classifiedModelName}Dto` : `Update${classifiedModelName}Dto`;
380
+ const classNode = (0, FieldManager_1.getClassNode)(sourceClassName, source);
381
+ if (!classNode) {
382
+ throw new Error(`Class ${sourceClassName} not found in file ${source.fileName}`);
383
+ }
384
+ return classNode;
385
+ }
351
386
  }
352
387
  exports.BaseFieldManagerForDto = BaseFieldManagerForDto;
353
388
  //# sourceMappingURL=BaseFieldManagerForDto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFieldManagerForDto.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseFieldManagerForDto.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ import { <%= classify(model) %>Service } from '../services/<%= dasherize(model)
5
5
  import { Create<%= classify(model) %>Dto } from '../dtos/create-<%= dasherize(model) %>.dto';
6
6
  import { Update<%= classify(model) %>Dto } from '../dtos/update-<%= dasherize(model) %>.dto';
7
7
 
8
+ enum ShowSoftDeleted {
9
+ INCLUSIVE = "inclusive",
10
+ EXCLUSIVE = "exclusive",
11
+ }
12
+
8
13
  @ApiTags('<%= unSnakeCase(moduleDisplayName) %>')
9
14
  @Controller('<%= dasherize(model) %>')
10
15
  export class <%= classify(model) %>Controller {
@@ -52,8 +57,7 @@ export class <%= classify(model) %>Controller {
52
57
  }
53
58
 
54
59
  @ApiBearerAuth("jwt")
55
- @ApiQuery({ name: 'showSoftDeleted', required: false, type: Boolean })
56
- @ApiQuery({ name: 'showOnlySoftDeleted', required: false, type: Boolean })
60
+ @ApiQuery({ name: 'showSoftDeleted', required: false, enum: ShowSoftDeleted })
57
61
  @ApiQuery({ name: 'limit', required: false, type: Number })
58
62
  @ApiQuery({ name: 'offset', required: false, type: Number })
59
63
  @ApiQuery({ name: 'fields', required: false, type: Array })
@@ -5,6 +5,11 @@ import { <%= classify(model) %>Service } from '../services/<%= dasherize(model)
5
5
  import { Create<%= classify(model) %>Dto } from '../dtos/create-<%= dasherize(model) %>.dto';
6
6
  import { Update<%= classify(model) %>Dto } from '../dtos/update-<%= dasherize(model) %>.dto';
7
7
 
8
+ enum ShowSoftDeleted {
9
+ INCLUSIVE = "inclusive",
10
+ EXCLUSIVE = "exclusive",
11
+ }
12
+
8
13
  @ApiTags('<%= unSnakeCase(moduleDisplayName) %>')
9
14
  @Controller('<%= dasherize(model) %>')
10
15
  export class <%= classify(model) %>Controller {
@@ -52,8 +57,7 @@ export class <%= classify(model) %>Controller {
52
57
  }
53
58
 
54
59
  @ApiBearerAuth("jwt")
55
- @ApiQuery({ name: 'showSoftDeleted', required: false, type: Boolean })
56
- @ApiQuery({ name: 'showOnlySoftDeleted', required: false, type: Boolean })
60
+ @ApiQuery({ name: 'showSoftDeleted', required: false, enum: ShowSoftDeleted })
57
61
  @ApiQuery({ name: 'limit', required: false, type: Number })
58
62
  @ApiQuery({ name: 'offset', required: false, type: Number })
59
63
  @ApiQuery({ name: 'fields', required: false, type: Array })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-code-builder",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "description": "This package is use to generate code for the @solidstarters projects",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -1,6 +1,7 @@
1
1
  import { classify, dasherize } from '@angular-devkit/core/src/utils/strings';
2
2
  import { Tree } from '@angular-devkit/schematics';
3
3
  import ts, {
4
+ ClassDeclaration,
4
5
  PropertyDeclaration,
5
6
  SourceFile,
6
7
  } from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
@@ -48,6 +49,7 @@ import { ApiPropertyDecoratorManager } from '../../decorator-managers/dto/ApiPro
48
49
  // The validation decorators added use the class-validator library
49
50
  export abstract class BaseFieldManagerForDto implements FieldManager {
50
51
  source: SourceFile;
52
+ updatedSourceClassNode?: ts.ClassDeclaration;
51
53
  decoratorManagers: DecoratorManager[];
52
54
 
53
55
  constructor(
@@ -137,7 +139,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
137
139
  protected addFieldInternal(fieldName: string, fieldType: string, decoratorManagers: DecoratorManager[], field: any, modelName: any, source: ts.SourceFile): FieldChange {
138
140
  //FIXME There might a case where the main field is not present, but additional field is present. Do we update the fields or throw an error. Needs to be discussed
139
141
  // For now, we assume, that if primary field is not present, then additional field is also not present
140
- if (this.isFieldPresent(fieldName, source)) {
142
+ if (this.isFieldPresent(fieldName, source)) {
141
143
  return {
142
144
  filePath: source.fileName,
143
145
  field: field,
@@ -166,14 +168,8 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
166
168
  fieldSourceLines.push(...builderChange.fieldSourceLines);
167
169
  });
168
170
 
169
- // Create the field definition changes
170
- // const classNode = findNodes(source, ts.SyntaxKind.ClassDeclaration)[0];
171
- const className = (this.options.sourceType === DtoSourceType.Create) ? `Create${classify(modelName)}Dto` : `Update${classify(modelName)}Dto`;
172
- const classNode = getClassNode(className,source);
173
- if (!classNode) {
174
- throw new Error(`Class ${className} not found in file ${source.fileName}`);
175
- }
176
-
171
+ const classNode = this.getClassNode(modelName, this.options, source);
172
+
177
173
  const fieldDefinition = `\n${fieldSourceLines.reverse().join('\n')}\n`;
178
174
  changes.push(
179
175
  new InsertChange(
@@ -208,9 +204,9 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
208
204
 
209
205
  const fieldName = this.fieldName();
210
206
  const fieldType = this.fieldType().text;
211
- const source= this.source
207
+ const source = this.source
212
208
  const field = this.field
213
- const modelName = this.modelName
209
+ const modelName = this.modelName
214
210
  const decoratorManagers = this.decoratorManagers;
215
211
 
216
212
  fieldChanges.push(this.addFieldInternal(fieldName, fieldType, decoratorManagers, field, modelName, source));
@@ -241,7 +237,20 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
241
237
  updatedPropertyDeclarationNode = updatedPropertyDeclarationNodeTransformed;
242
238
  changes.push(...decoratorChanges);
243
239
 
244
- changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source));
240
+ // changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source));
241
+
242
+ // if (!this.isAdditionalFieldRequired()) {
243
+ // Get the source class node i.e CreateDto or UpdateDto
244
+ const sourceClassNode = this.getClassNode(this.modelName, this.options, source); // FIXME Avoid this.model to avoid stateful behaviour
245
+ const classNode = this.updatedSourceClassNode ?? sourceClassNode;
246
+ // Set the updated property declaration node to the source class node
247
+ const updatedClassNode = this.updateClassNode(classNode, updatedPropertyDeclarationNode, fieldName);
248
+ this.updatedSourceClassNode = updatedClassNode; // Set the updated class node to the source class node, so it can be used for additional operations e.g for additional field updates
249
+ changes.push(...this.calculateReplaceChanges(this.printNode(updatedClassNode, source), sourceClassNode, source.fileName));
250
+ // }
251
+ // else {
252
+ // changes.push(...this.calculateReplaceChanges(this.printNode(updatedPropertyDeclarationNode, source), fieldPropertyDeclarationNode, source.fileName));
253
+ // }
245
254
 
246
255
  return {
247
256
  filePath: source.fileName,
@@ -250,6 +259,32 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
250
259
  };
251
260
  }
252
261
 
262
+ updateClassNode(sourceClassNode: ts.ClassDeclaration, updatedFieldNode: ts.PropertyDeclaration, fieldName: string): ClassDeclaration {
263
+ // Replace the class memeber matching the field name with the updated field node
264
+ const newMembers = sourceClassNode.members.map((member) => {
265
+ // Check if the member is a PropertyDeclaration
266
+ if (ts.isPropertyDeclaration(member)) {
267
+ // Compare the name of the property with the field name
268
+ const memberName = member.name.getText();
269
+ if (memberName === fieldName) {
270
+ return updatedFieldNode!;
271
+ }
272
+ }
273
+ return member;
274
+ });
275
+
276
+ // Update the class node with the new modifiers
277
+ const updatedClass = ts.factory.updateClassDeclaration(
278
+ sourceClassNode,
279
+ sourceClassNode.modifiers,
280
+ sourceClassNode.name,
281
+ sourceClassNode.typeParameters,
282
+ sourceClassNode.heritageClauses,
283
+ newMembers,
284
+ );
285
+ return updatedClass;
286
+ }
287
+
253
288
  updateField(): FieldChange[] {
254
289
  const fieldChanges: FieldChange[] = [];
255
290
 
@@ -257,7 +292,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
257
292
 
258
293
  const fieldName = this.fieldName();
259
294
  const fieldType = this.fieldType().node(this.field);
260
- const source= this.source
295
+ const source = this.source
261
296
  const field = this.field
262
297
  const decoratorManagers = this.decoratorManagers;
263
298
 
@@ -365,7 +400,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
365
400
  }
366
401
  }
367
402
  }
368
- }
403
+ }
369
404
 
370
405
  protected applyBuildDecoratorTransformations(...transformers: DecoratorManager[]): PartialAddFieldChange[] {
371
406
  const partialFieldChanges: PartialAddFieldChange[] = [];
@@ -385,24 +420,24 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
385
420
  }
386
421
  }
387
422
 
388
- protected calculateReplaceChanges(updatedPropertyDeclarationNodeText: string, fieldPropertyDeclarationNode: ts.PropertyDeclaration, source: ts.SourceFile): Change[] {
423
+ protected calculateReplaceChanges(updatedSourceNodeText: string, sourceNode:ts.Node, sourceFileName: string): Change[] {
389
424
  const changes: Change[] = [];
390
- if (updatedPropertyDeclarationNodeText.trim() !==
391
- fieldPropertyDeclarationNode.getFullText().trim()) {
392
- console.log(`Updated Code:\n${updatedPropertyDeclarationNodeText.trim()}\nwith length ${updatedPropertyDeclarationNodeText.trim().length}\n`);
393
- console.log(`Old Code:\n${fieldPropertyDeclarationNode.getFullText().trim()}\nwith length ${fieldPropertyDeclarationNode.getFullText().trim().length}\n`);
425
+ if (updatedSourceNodeText.trim() !==
426
+ sourceNode.getFullText().trim()) {
427
+ console.log(`Updated Code:\n${updatedSourceNodeText.trim()}\nwith length ${updatedSourceNodeText.trim().length}\n`);
428
+ console.log(`Old Code:\n${sourceNode.getFullText().trim()}\nwith length ${sourceNode.getFullText().trim().length}\n`);
394
429
  const replaceChange = new ReplaceChangeSSS(
395
- source.fileName,
396
- fieldPropertyDeclarationNode.pos,
397
- fieldPropertyDeclarationNode.getFullText(),
398
- `\n\n${updatedPropertyDeclarationNodeText}`
430
+ sourceFileName,
431
+ sourceNode.pos,
432
+ sourceNode.getFullText(),
433
+ `\n\n${updatedSourceNodeText}`
399
434
  );
400
435
  changes.push(replaceChange);
401
436
  }
402
437
  return changes;
403
438
  }
404
439
 
405
- protected printNode(updatedPropertyDeclarationNode: ts.PropertyDeclaration, nodeSource: SourceFile): string {
440
+ protected printNode(updatedPropertyDeclarationNode: ts.Node, nodeSource: SourceFile): string {
406
441
  const printer = ts.createPrinter({
407
442
  newLine: ts.NewLineKind.LineFeed,
408
443
  removeComments: false,
@@ -432,7 +467,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
432
467
  case DecoratorType.MinLength:
433
468
  return new MinLengthDecoratorManager({ isApplyMinLength: this.isApplyMinLength(), length: field.min, source: source, field: field });
434
469
  case DecoratorType.MaxLength:
435
- return new MaxLengthDecoratorManager({ isApplyMaxLength: this.isApplyMaxLength(), length: field.max, source: source, field: field });
470
+ return new MaxLengthDecoratorManager({ isApplyMaxLength: this.isApplyMaxLength(), length: field.max, source: source, field: field });
436
471
  case DecoratorType.Required:
437
472
  return new RequiredDecoratorManager({ isApplyRequired: true, required: field.required, source: source, field: field });
438
473
  case DecoratorType.Optional:
@@ -447,7 +482,7 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
447
482
  return new IntDecoratorManager({ isInt: this.isInt(), source: source, field: field });
448
483
  case DecoratorType.Decimal:
449
484
  return new DecimalDecoratorManager({ isDecimal: this.isDecimal(), source: source, field: field });
450
- case DecoratorType.BigInt:
485
+ case DecoratorType.BigInt:
451
486
  return new BigIntDecoratorManager({ isBigInt: this.isBigInt(), source: source, field: field });
452
487
  case DecoratorType.Date:
453
488
  return new DateDecoratorManager({ isDate: this.isDate(), source: source, field: field });
@@ -482,4 +517,17 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
482
517
  }
483
518
  }
484
519
 
520
+ private getClassNode(modelName: any, options: ManagerForDtoOptions, source: ts.SourceFile) {
521
+ // if (this.updatedSourceClassNode) {
522
+ // return this.updatedSourceClassNode;
523
+ // }
524
+ const classifiedModelName = classify(modelName);
525
+ const sourceClassName = (options.sourceType === DtoSourceType.Create) ? `Create${classifiedModelName}Dto` : `Update${classifiedModelName}Dto`;
526
+ const classNode = getClassNode(sourceClassName, source);
527
+ if (!classNode) {
528
+ throw new Error(`Class ${sourceClassName} not found in file ${source.fileName}`);
529
+ }
530
+ return classNode;
531
+ }
532
+
485
533
  }