@solidstarters/solid-code-builder 1.0.3 → 1.0.4
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/decorator-managers/entity/UniqueIndexDecoratorManager.js +9 -6
- package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map +1 -1
- package/package.json +2 -2
- package/solidstarters-solid-code-builder-1.0.3.tgz +0 -0
- package/src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.ts +10 -6
package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js
CHANGED
|
@@ -42,18 +42,21 @@ class UniqueIndexDecoratorManager {
|
|
|
42
42
|
updateDecorator() {
|
|
43
43
|
if (!this.classNode)
|
|
44
44
|
throw new Error('Class node is required for updating the unique index decorator');
|
|
45
|
-
let
|
|
46
|
-
let existingModifiers = this.classNode.modifiers;
|
|
45
|
+
let existingModifierLikes = this.classNode.modifiers;
|
|
47
46
|
// Get the existing unique index decorator if it exists
|
|
48
|
-
const existingUniqueIndexDecorator = this.findUniqueIndexDecorator(
|
|
47
|
+
const existingUniqueIndexDecorator = this.findUniqueIndexDecorator(existingModifierLikes);
|
|
49
48
|
//Remove the Index decorator if the Index decorator exists
|
|
50
|
-
|
|
49
|
+
const existingModifiers = this.filterNonDecorators(existingModifierLikes);
|
|
50
|
+
const newDecorators = [...this.filterOtherDecorators(this.decoratorName(), existingModifierLikes), ...this.filterOtherIndexDecorators(this.decoratorName(), this.options, existingModifierLikes)];
|
|
51
51
|
//Add the column decorator if column decorator is required
|
|
52
52
|
const changes = [];
|
|
53
53
|
if (this.isApplyDecorator()) {
|
|
54
|
-
newModifiers = [...newModifiers, this.createUniqueIndexDecorator(existingUniqueIndexDecorator)];
|
|
54
|
+
// newModifiers = [...newModifiers, this.createUniqueIndexDecorator(existingUniqueIndexDecorator)];
|
|
55
|
+
newDecorators.push(this.createUniqueIndexDecorator(existingUniqueIndexDecorator));
|
|
55
56
|
changes.push(...this.decoratorImports());
|
|
56
57
|
}
|
|
58
|
+
//Since the order matters i.e decorators should appear above the export keyword
|
|
59
|
+
const newModifierLikes = [...newDecorators, ...existingModifiers];
|
|
57
60
|
// If field node is provided, replace the class members with the updated field node
|
|
58
61
|
const newMembers = this.classNode.members.filter((member) => {
|
|
59
62
|
// Check if the member is a PropertyDeclaration
|
|
@@ -68,7 +71,7 @@ class UniqueIndexDecoratorManager {
|
|
|
68
71
|
newMembers.push(this.fieldNode);
|
|
69
72
|
}
|
|
70
73
|
// Update the class node with the new modifiers
|
|
71
|
-
const updatedClass = typescript_1.default.factory.updateClassDeclaration(this.classNode,
|
|
74
|
+
const updatedClass = typescript_1.default.factory.updateClassDeclaration(this.classNode, newModifierLikes, this.classNode.name, this.classNode.typeParameters, this.classNode.heritageClauses, newMembers);
|
|
72
75
|
return [updatedClass, changes];
|
|
73
76
|
}
|
|
74
77
|
findUniqueIndexDecorator(existingModifiers) {
|
package/dist/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueIndexDecoratorManager.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.ts"],"names":[],"mappings":";;;;;;AAAA,gIAAmL;AACnL,qEAAqE;AAWrE,MAAa,2BAA2B;IACpC,YAAmB,OAAoC,EAAS,SAA2B,EAAS,SAA+B;QAAhH,YAAO,GAAP,OAAO,CAA6B;QAAS,cAAS,GAAT,SAAS,CAAkB;QAAS,cAAS,GAAT,SAAS,CAAsB;IAAI,CAAC;IACxI,gBAAgB;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,aAAa;QACT,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,YAAY,CAAC,SAAiC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD,cAAc;QACV,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,kBAAkB,GAAG,YAAY,IAAI,CAAC,OAAO,CAAC,SAAS,yCAAyC,CAAC;QACvG,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzC,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,gBAAgB;SACrC,CAAC;IACN,CAAC;IAED,gBAAgB;QACZ,OAAO,CAAC,IAAA,wBAAY,EAChB,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAC5B,IAAI,CAAC,aAAa,EAAE,EACpB,SAAS,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,6EAA6E;IAC7E,4CAA4C;IAC5C,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAEvG,IAAI,
|
|
1
|
+
{"version":3,"file":"UniqueIndexDecoratorManager.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/decorator-managers/entity/UniqueIndexDecoratorManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-code-builder",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "A blank schematics",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
Binary file
|
|
@@ -48,23 +48,27 @@ export class UniqueIndexDecoratorManager {
|
|
|
48
48
|
updateDecorator(): [ClassDeclaration, Change[]] {
|
|
49
49
|
if (!this.classNode) throw new Error('Class node is required for updating the unique index decorator');
|
|
50
50
|
|
|
51
|
-
let
|
|
52
|
-
let existingModifiers: ts.NodeArray<ModifierLike> | undefined = this.classNode.modifiers;
|
|
51
|
+
let existingModifierLikes: ts.NodeArray<ModifierLike> | undefined = this.classNode.modifiers;
|
|
53
52
|
|
|
54
53
|
// Get the existing unique index decorator if it exists
|
|
55
|
-
const existingUniqueIndexDecorator = this.findUniqueIndexDecorator(
|
|
54
|
+
const existingUniqueIndexDecorator = this.findUniqueIndexDecorator(existingModifierLikes);
|
|
56
55
|
|
|
57
56
|
//Remove the Index decorator if the Index decorator exists
|
|
58
|
-
|
|
57
|
+
const existingModifiers = this.filterNonDecorators(existingModifierLikes);
|
|
58
|
+
const newDecorators = [...this.filterOtherDecorators(this.decoratorName(), existingModifierLikes), ...this.filterOtherIndexDecorators(this.decoratorName(), this.options, existingModifierLikes)];
|
|
59
59
|
|
|
60
60
|
//Add the column decorator if column decorator is required
|
|
61
61
|
const changes: Change[] = [];
|
|
62
62
|
|
|
63
63
|
if (this.isApplyDecorator()) {
|
|
64
|
-
newModifiers = [...newModifiers, this.createUniqueIndexDecorator(existingUniqueIndexDecorator)];
|
|
64
|
+
// newModifiers = [...newModifiers, this.createUniqueIndexDecorator(existingUniqueIndexDecorator)];
|
|
65
|
+
newDecorators.push(this.createUniqueIndexDecorator(existingUniqueIndexDecorator));
|
|
65
66
|
changes.push(...this.decoratorImports());
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
//Since the order matters i.e decorators should appear above the export keyword
|
|
70
|
+
const newModifierLikes = [...newDecorators, ...existingModifiers];
|
|
71
|
+
|
|
68
72
|
// If field node is provided, replace the class members with the updated field node
|
|
69
73
|
const newMembers = this.classNode.members.filter((member) => {
|
|
70
74
|
// Check if the member is a PropertyDeclaration
|
|
@@ -82,7 +86,7 @@ export class UniqueIndexDecoratorManager {
|
|
|
82
86
|
// Update the class node with the new modifiers
|
|
83
87
|
const updatedClass = ts.factory.updateClassDeclaration(
|
|
84
88
|
this.classNode,
|
|
85
|
-
|
|
89
|
+
newModifierLikes,
|
|
86
90
|
this.classNode.name,
|
|
87
91
|
this.classNode.typeParameters,
|
|
88
92
|
this.classNode.heritageClauses,
|