@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.
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.d.ts +6 -3
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +50 -15
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
- package/dist/files/generate-model/controllers/__model@dasherize__.controller.ts +6 -2
- package/files/generate-model/controllers/__model@dasherize__.controller.ts +6 -2
- package/package.json +1 -1
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +74 -26
|
@@ -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(
|
|
47
|
-
protected printNode(updatedPropertyDeclarationNode: ts.
|
|
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
|
-
|
|
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(
|
|
291
|
+
calculateReplaceChanges(updatedSourceNodeText, sourceNode, sourceFileName) {
|
|
269
292
|
const changes = [];
|
|
270
|
-
if (
|
|
271
|
-
|
|
272
|
-
console.log(`Updated Code:\n${
|
|
273
|
-
console.log(`Old Code:\n${
|
|
274
|
-
const replaceChange = new FieldManager_1.ReplaceChangeSSS(
|
|
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,
|
|
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,
|
|
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,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
|
-
|
|
170
|
-
|
|
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(
|
|
423
|
+
protected calculateReplaceChanges(updatedSourceNodeText: string, sourceNode:ts.Node, sourceFileName: string): Change[] {
|
|
389
424
|
const changes: Change[] = [];
|
|
390
|
-
if (
|
|
391
|
-
|
|
392
|
-
console.log(`Updated Code:\n${
|
|
393
|
-
console.log(`Old Code:\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
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
`\n\n${
|
|
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.
|
|
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
|
}
|