@rxap/ts-morph 0.1.0-dev.9 → 1.0.1

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +1 -1
  3. package/package.json +3 -4
  4. package/src/index.d.ts +8 -0
  5. package/src/index.js +10 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/add-provider-to-array.d.ts +3 -0
  8. package/src/lib/add-provider-to-array.js +71 -0
  9. package/src/lib/add-provider-to-array.js.map +1 -0
  10. package/src/lib/angular/coerce-app-config-provider.d.ts +9 -0
  11. package/src/lib/angular/coerce-app-config-provider.js +73 -0
  12. package/src/lib/angular/coerce-app-config-provider.js.map +1 -0
  13. package/src/lib/coerce-array-element.d.ts +1 -1
  14. package/src/lib/coerce-array-element.js +4 -1
  15. package/src/lib/coerce-array-element.js.map +1 -1
  16. package/src/lib/coerce-mapping-class-method.d.ts +10 -0
  17. package/src/lib/coerce-mapping-class-method.js +29 -0
  18. package/src/lib/coerce-mapping-class-method.js.map +1 -0
  19. package/src/lib/create-project.d.ts +2 -0
  20. package/src/lib/create-project.js +18 -0
  21. package/src/lib/create-project.js.map +1 -0
  22. package/src/lib/nest/add-to-global-health-endpoint.js +1 -1
  23. package/src/lib/nest/add-to-global-health-endpoint.js.map +1 -1
  24. package/src/lib/nest/coerce-nest-module-import.js +1 -1
  25. package/src/lib/nest/coerce-nest-module-import.js.map +1 -1
  26. package/src/lib/nest/coerce-nest-provider-to-array.d.ts +1 -1
  27. package/src/lib/nest/coerce-nest-provider-to-array.js +6 -5
  28. package/src/lib/nest/coerce-nest-provider-to-array.js.map +1 -1
  29. package/src/lib/nest/coerce-nest-throttler-module-import.js +4 -13
  30. package/src/lib/nest/coerce-nest-throttler-module-import.js.map +1 -1
  31. package/src/lib/nest/operation-id-utilities.d.ts +11 -0
  32. package/src/lib/nest/operation-id-utilities.js +91 -0
  33. package/src/lib/nest/operation-id-utilities.js.map +1 -0
  34. package/src/lib/nest/remove-nest-provider-to-array.d.ts +1 -1
  35. package/src/lib/nest/remove-nest-provider-to-array.js +3 -3
  36. package/src/lib/nest/remove-nest-provider-to-array.js.map +1 -1
  37. package/src/lib/provider-object.d.ts +10 -0
  38. package/src/lib/provider-object.js +3 -0
  39. package/src/lib/provider-object.js.map +1 -0
  40. package/src/lib/to-mapping-object.d.ts +6 -0
  41. package/src/lib/to-mapping-object.js +29 -0
  42. package/src/lib/to-mapping-object.js.map +1 -0
  43. package/src/lib/type-import.d.ts +11 -0
  44. package/src/lib/type-import.js +30 -0
  45. package/src/lib/type-import.js.map +1 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,110 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.1](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@1.0.1-dev.0...@rxap/ts-morph@1.0.1) (2024-02-07)
7
+
8
+ **Note:** Version bump only for package @rxap/ts-morph
9
+
10
+ ## [1.0.1-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.21...@rxap/ts-morph@1.0.1-dev.0) (2024-02-07)
11
+
12
+ ### Bug Fixes
13
+
14
+ - use correct base version ([71e15a4](https://gitlab.com/rxap/packages/commit/71e15a49f9ee249076ae8ae0987a15143fe18836))
15
+
16
+ # [0.1.0-dev.21](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.20...@rxap/ts-morph@0.1.0-dev.21) (2023-11-19)
17
+
18
+ ### Features
19
+
20
+ - support complex and importable types ([1636580](https://gitlab.com/rxap/packages/commit/1636580713961324683ea0246e109e35e7efc6c1))
21
+
22
+ # [0.1.0-dev.20](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.19...@rxap/ts-morph@0.1.0-dev.20) (2023-11-18)
23
+
24
+ ### Bug Fixes
25
+
26
+ - ensure non standard keys are supported ([466069d](https://gitlab.com/rxap/packages/commit/466069d30681d7e9b1e0d47a649a9967ae8eda33))
27
+
28
+ # [0.1.0-dev.19](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.18...@rxap/ts-morph@0.1.0-dev.19) (2023-11-17)
29
+
30
+ ### Bug Fixes
31
+
32
+ - add utility function ([19e3337](https://gitlab.com/rxap/packages/commit/19e3337837b0222cda49dafdc675eb0010fc9d6a))
33
+
34
+ ### Features
35
+
36
+ - add ToMappingObject function ([38b1074](https://gitlab.com/rxap/packages/commit/38b10749499e478cb08eb6d66008201426ebbd4c))
37
+
38
+ # [0.1.0-dev.18](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.17...@rxap/ts-morph@0.1.0-dev.18) (2023-10-16)
39
+
40
+ ### Bug Fixes
41
+
42
+ - use utility CreateProject function to create a ts-morph Project instance ([78b308f](https://gitlab.com/rxap/packages/commit/78b308fd10747616c7c7f27e81501a4ad5052a77))
43
+
44
+ # [0.1.0-dev.17](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.16...@rxap/ts-morph@0.1.0-dev.17) (2023-10-12)
45
+
46
+ ### Bug Fixes
47
+
48
+ - ensure the plain text of the nodes is used ([68091ae](https://gitlab.com/rxap/packages/commit/68091ae4d684b4e16c5023ba6a9c36f90319e903))
49
+
50
+ # [0.1.0-dev.16](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.15...@rxap/ts-morph@0.1.0-dev.16) (2023-10-11)
51
+
52
+ **Note:** Version bump only for package @rxap/ts-morph
53
+
54
+ # 0.1.0-dev.15 (2023-10-11)
55
+
56
+ ### Bug Fixes
57
+
58
+ - add ApiExcludeController decorator ([33aa2d0](https://gitlab.com/rxap/packages/commit/33aa2d00177ea9288ba67a8534ae6e25de249845))
59
+ - add functions ([b43b946](https://gitlab.com/rxap/packages/commit/b43b9464d0146028d6e45431de0ac999983e0a36))
60
+ - add missing semicolon ([7208bd8](https://gitlab.com/rxap/packages/commit/7208bd83da20c343d088f6e683b007ff9b6241d8))
61
+ - add project ts-morph ([fda78f5](https://gitlab.com/rxap/packages/commit/fda78f5ed61caac6dc5c4d9a70afd3aced6a05fa))
62
+ - create an info path for the default app controller ([7c54f5d](https://gitlab.com/rxap/packages/commit/7c54f5d569551c79042b2f8db437da6530d87d74))
63
+ - ensure a basic health controller exists ([e3888a5](https://gitlab.com/rxap/packages/commit/e3888a5005763a3543c4cea3a7fe2d5c2ae49cb3))
64
+ - ensure new class property is inserted at the top ([3629daa](https://gitlab.com/rxap/packages/commit/3629daaebdb3e0611f80b469c0f7ac1b71a3889c))
65
+ - ensure the name and environment operations are created ([044c49e](https://gitlab.com/rxap/packages/commit/044c49eb0d1f677fc2f38a4cd2a0cfe34cdc3dba))
66
+ - ensure the operation path is set ([104a2e5](https://gitlab.com/rxap/packages/commit/104a2e5df746cd3e5e27bbae01210ceaae87a4b1))
67
+ - move forRoot logic into detected loader classes ([45812d6](https://gitlab.com/rxap/packages/commit/45812d66901f37130ec4018b0bc9369829800155))
68
+ - peer dependency issue ([ee95415](https://gitlab.com/rxap/packages/commit/ee95415370d9ef2396916d6c25061a0df791034a))
69
+ - resolve issues ([602183d](https://gitlab.com/rxap/packages/commit/602183d93528a28773e05b7a983110bafb93a2f2))
70
+ - support config validation overwrite ([bf9fc5d](https://gitlab.com/rxap/packages/commit/bf9fc5dcdb961d7583114e88abfe7ba0340df0f8))
71
+ - support mixture of named and default/namespace imports ([8a99875](https://gitlab.com/rxap/packages/commit/8a9987565b5f170ac1d1e2a85a8d61990e4c769b))
72
+ - support overwrite option ([3c2ede3](https://gitlab.com/rxap/packages/commit/3c2ede3e969277729eb7b6a4e561a043097cf731))
73
+ - update to new throttler version ([f1abdd1](https://gitlab.com/rxap/packages/commit/f1abdd1b9328f2ed9043ad0553d8ced99a7ac60c))
74
+
75
+ ### Features
76
+
77
+ - add CoerceArrayElement function ([cd728e4](https://gitlab.com/rxap/packages/commit/cd728e4f04dbc47776bd437504f43b4616047584))
78
+ - add CoerceNestAppConfig function ([f50e80e](https://gitlab.com/rxap/packages/commit/f50e80e23107b74177af1077c17ce17386bb69a5))
79
+ - add utility functions ([664ea97](https://gitlab.com/rxap/packages/commit/664ea97fff1bfc0c6a47914af4d1396da673098a))
80
+ - support overwrite array ([2696160](https://gitlab.com/rxap/packages/commit/2696160aef2cf384edca3235aa0aaadc3afb97cc))
81
+
82
+ # [0.1.0-dev.14](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.13...@rxap/ts-morph@0.1.0-dev.14) (2023-10-09)
83
+
84
+ ### Features
85
+
86
+ - support overwrite array ([e528c87](https://gitlab.com/rxap/packages/commit/e528c87fd5fb49898583e0c08c191942e7e2f8e4))
87
+
88
+ # [0.1.0-dev.13](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.12...@rxap/ts-morph@0.1.0-dev.13) (2023-10-02)
89
+
90
+ ### Bug Fixes
91
+
92
+ - move forRoot logic into detected loader classes ([01796e0](https://gitlab.com/rxap/packages/commit/01796e0898a3dee4e365278a73029dd023093136))
93
+
94
+ # [0.1.0-dev.12](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.11...@rxap/ts-morph@0.1.0-dev.12) (2023-09-27)
95
+
96
+ **Note:** Version bump only for package @rxap/ts-morph
97
+
98
+ # [0.1.0-dev.11](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.10...@rxap/ts-morph@0.1.0-dev.11) (2023-09-19)
99
+
100
+ ### Bug Fixes
101
+
102
+ - add functions ([33f6d1d](https://gitlab.com/rxap/packages/commit/33f6d1d53395202decaad3918ce153edd7bdadf2))
103
+
104
+ # [0.1.0-dev.10](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.9...@rxap/ts-morph@0.1.0-dev.10) (2023-09-18)
105
+
106
+ ### Bug Fixes
107
+
108
+ - update to new throttler version ([b592216](https://gitlab.com/rxap/packages/commit/b592216da7d353ae13b67afc906c5bb3176cbcba))
109
+
6
110
  # [0.1.0-dev.9](https://gitlab.com/rxap/packages/compare/@rxap/ts-morph@0.1.0-dev.8...@rxap/ts-morph@0.1.0-dev.9) (2023-09-12)
7
111
 
8
112
  ### Bug Fixes
package/README.md CHANGED
@@ -17,5 +17,5 @@ yarn add @rxap/ts-morph
17
17
  ```
18
18
  **Install peer dependencies:**
19
19
  ```bash
20
- yarn add @rxap/utilities@* ts-morph@^18.0.0 tslib@2.6.2
20
+ yarn add @rxap/utilities@^16.0.0-dev.23 ts-morph@^18.0.0 tslib@2.6.2
21
21
  ```
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
- "version": "0.1.0-dev.9",
2
+ "version": "1.0.1",
3
3
  "name": "@rxap/ts-morph",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "dependencies": {
6
6
  "tslib": "2.6.2"
7
7
  },
8
8
  "peerDependencies": {
9
- "@rxap/utilities": "*",
9
+ "@rxap/utilities": "^16.0.0",
10
10
  "ts-morph": "^18.0.0",
11
11
  "tslib": "2.6.2"
12
12
  },
@@ -28,7 +28,7 @@
28
28
  "packageGroup": [
29
29
  {
30
30
  "package": "@rxap/utilities",
31
- "version": "16.0.0-dev.17"
31
+ "version": "16.0.0"
32
32
  }
33
33
  ]
34
34
  },
@@ -42,7 +42,6 @@
42
42
  "directory": "packages/ts-morph"
43
43
  },
44
44
  "type": "commonjs",
45
- "gitHead": "db8e53ef6cfd297abb6f8c4fb54f289f9c971fe4",
46
45
  "main": "./src/index.js",
47
46
  "types": "./src/index.d.ts"
48
47
  }
package/src/index.d.ts CHANGED
@@ -24,8 +24,11 @@ export * from './lib/nest/get-nest-module-metadata';
24
24
  export * from './lib/nest/has-nest-module-class';
25
25
  export * from './lib/nest/is-nest-module-class';
26
26
  export * from './lib/nest/nest-provider-object';
27
+ export * from './lib/nest/operation-id-utilities';
27
28
  export * from './lib/nest/remove-nest-module-provider';
28
29
  export * from './lib/nest/remove-nest-provider-to-array';
30
+ export * from './lib/angular/coerce-app-config-provider';
31
+ export * from './lib/add-provider-to-array';
29
32
  export * from './lib/coerce-array-element';
30
33
  export * from './lib/coerce-class-constructor';
31
34
  export * from './lib/coerce-class-method';
@@ -34,10 +37,15 @@ export * from './lib/coerce-class';
34
37
  export * from './lib/coerce-decorator';
35
38
  export * from './lib/coerce-dependency-injection';
36
39
  export * from './lib/coerce-imports';
40
+ export * from './lib/coerce-mapping-class-method';
37
41
  export * from './lib/coerce-source-file';
38
42
  export * from './lib/coerce-statements';
39
43
  export * from './lib/coerce-variable-declaration';
44
+ export * from './lib/create-project';
40
45
  export * from './lib/find-function';
41
46
  export * from './lib/get-class-decorator-arguments';
42
47
  export * from './lib/get-class';
43
48
  export * from './lib/get-coerce-array-literal-form-object-literal';
49
+ export * from './lib/provider-object';
50
+ export * from './lib/to-mapping-object';
51
+ export * from './lib/type-import';
package/src/index.js CHANGED
@@ -28,10 +28,15 @@ tslib_1.__exportStar(require("./lib/nest/get-nest-module-metadata"), exports);
28
28
  tslib_1.__exportStar(require("./lib/nest/has-nest-module-class"), exports);
29
29
  tslib_1.__exportStar(require("./lib/nest/is-nest-module-class"), exports);
30
30
  tslib_1.__exportStar(require("./lib/nest/nest-provider-object"), exports);
31
+ tslib_1.__exportStar(require("./lib/nest/operation-id-utilities"), exports);
31
32
  tslib_1.__exportStar(require("./lib/nest/remove-nest-module-provider"), exports);
32
33
  tslib_1.__exportStar(require("./lib/nest/remove-nest-provider-to-array"), exports);
33
34
  // endregion
35
+ // region angular
36
+ tslib_1.__exportStar(require("./lib/angular/coerce-app-config-provider"), exports);
37
+ // endregion
34
38
  // region
39
+ tslib_1.__exportStar(require("./lib/add-provider-to-array"), exports);
35
40
  tslib_1.__exportStar(require("./lib/coerce-array-element"), exports);
36
41
  tslib_1.__exportStar(require("./lib/coerce-class-constructor"), exports);
37
42
  tslib_1.__exportStar(require("./lib/coerce-class-method"), exports);
@@ -40,12 +45,17 @@ tslib_1.__exportStar(require("./lib/coerce-class"), exports);
40
45
  tslib_1.__exportStar(require("./lib/coerce-decorator"), exports);
41
46
  tslib_1.__exportStar(require("./lib/coerce-dependency-injection"), exports);
42
47
  tslib_1.__exportStar(require("./lib/coerce-imports"), exports);
48
+ tslib_1.__exportStar(require("./lib/coerce-mapping-class-method"), exports);
43
49
  tslib_1.__exportStar(require("./lib/coerce-source-file"), exports);
44
50
  tslib_1.__exportStar(require("./lib/coerce-statements"), exports);
45
51
  tslib_1.__exportStar(require("./lib/coerce-variable-declaration"), exports);
52
+ tslib_1.__exportStar(require("./lib/create-project"), exports);
46
53
  tslib_1.__exportStar(require("./lib/find-function"), exports);
47
54
  tslib_1.__exportStar(require("./lib/get-class-decorator-arguments"), exports);
48
55
  tslib_1.__exportStar(require("./lib/get-class"), exports);
49
56
  tslib_1.__exportStar(require("./lib/get-coerce-array-literal-form-object-literal"), exports);
57
+ tslib_1.__exportStar(require("./lib/provider-object"), exports);
58
+ tslib_1.__exportStar(require("./lib/to-mapping-object"), exports);
59
+ tslib_1.__exportStar(require("./lib/type-import"), exports);
50
60
  // endregion
51
61
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,yEAA+C;AAC/C,0EAAgD;AAChD,mFAAyD;AACzD,+EAAqD;AACrD,8EAAoD;AACpD,0EAAgD;AAChD,4EAAkD;AAClD,gFAAsD;AACtD,4EAAkD;AAClD,sFAA4D;AAC5D,4EAAkD;AAClD,sFAA4D;AAC5D,iFAAuD;AACvD,mFAAyD;AACzD,+EAAqD;AACrD,iFAAuD;AACvD,wEAA8C;AAC9C,2EAAiD;AACjD,mFAAyD;AACzD,yFAA+D;AAC/D,kFAAwD;AACxD,0EAAgD;AAChD,8EAAoD;AACpD,2EAAiD;AACjD,0EAAgD;AAChD,0EAAgD;AAChD,iFAAuD;AACvD,mFAAyD;AACzD,YAAY;AAEZ,UAAU;AACV,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC;AACnC,iEAAuC;AACvC,4EAAkD;AAClD,+DAAqC;AACrC,mEAAyC;AACzC,kEAAwC;AACxC,4EAAkD;AAClD,8DAAoC;AACpC,8EAAoD;AACpD,0DAAgC;AAChC,6FAAmE;AACnE,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/ts-morph/src/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,yEAA+C;AAC/C,0EAAgD;AAChD,mFAAyD;AACzD,+EAAqD;AACrD,8EAAoD;AACpD,0EAAgD;AAChD,4EAAkD;AAClD,gFAAsD;AACtD,4EAAkD;AAClD,sFAA4D;AAC5D,4EAAkD;AAClD,sFAA4D;AAC5D,iFAAuD;AACvD,mFAAyD;AACzD,+EAAqD;AACrD,iFAAuD;AACvD,wEAA8C;AAC9C,2EAAiD;AACjD,mFAAyD;AACzD,yFAA+D;AAC/D,kFAAwD;AACxD,0EAAgD;AAChD,8EAAoD;AACpD,2EAAiD;AACjD,0EAAgD;AAChD,0EAAgD;AAChD,4EAAkD;AAClD,iFAAuD;AACvD,mFAAyD;AACzD,YAAY;AAEZ,iBAAiB;AACjB,mFAAyD;AACzD,YAAY;AAEZ,UAAU;AACV,sEAA4C;AAC5C,qEAA2C;AAC3C,yEAA+C;AAC/C,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC;AACnC,iEAAuC;AACvC,4EAAkD;AAClD,+DAAqC;AACrC,4EAAkD;AAClD,mEAAyC;AACzC,kEAAwC;AACxC,4EAAkD;AAClD,+DAAqC;AACrC,8DAAoC;AACpC,8EAAoD;AACpD,0DAAgC;AAChC,6FAAmE;AACnE,gEAAsC;AACtC,kEAAwC;AACxC,4DAAkC;AAClC,YAAY"}
@@ -0,0 +1,3 @@
1
+ import { ArrayLiteralExpression, Expression, ObjectLiteralExpression } from 'ts-morph';
2
+ import { ProviderObject } from './provider-object';
3
+ export declare function AddProviderToArray(providerObject: ProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean | string[], compare?: (ole: ObjectLiteralExpression, po: ProviderObject) => boolean): Expression;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddProviderToArray = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const ts_morph_1 = require("ts-morph");
6
+ function AddProviderToArray(providerObject, providerArray, overwrite = false, compare = (ole, po) => {
7
+ var _a;
8
+ const provideProperty = ole.getProperty('provide');
9
+ if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
10
+ return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getText().trim()) === po.provide;
11
+ }
12
+ return false;
13
+ }) {
14
+ let expression;
15
+ if (typeof providerObject === 'string') {
16
+ const index = providerArray.getElements().findIndex(element => {
17
+ const text = element.getText().trim();
18
+ if (text === providerObject) {
19
+ return true;
20
+ }
21
+ const match = providerObject.match(/^[a-zA-Z0-9]+?\(/);
22
+ if (match) {
23
+ return text.startsWith(match[0]);
24
+ }
25
+ return false;
26
+ });
27
+ if (index === -1) {
28
+ expression = providerArray.addElement(providerObject);
29
+ }
30
+ else if (overwrite) {
31
+ providerArray.removeElement(index);
32
+ expression = providerArray.insertElement(index, providerObject);
33
+ }
34
+ else {
35
+ expression = providerArray.getElements()[index];
36
+ }
37
+ }
38
+ else {
39
+ let index = providerArray.getElements().findIndex(element => {
40
+ if (element instanceof ts_morph_1.ObjectLiteralExpression) {
41
+ return compare(element, providerObject);
42
+ }
43
+ return false;
44
+ });
45
+ if ((overwrite === true || (Array.isArray(overwrite) && overwrite.includes('provider'))) && index !== -1) {
46
+ providerArray.removeElement(index);
47
+ index = -1;
48
+ }
49
+ if (index === -1) {
50
+ expression = providerArray.addElement(ts_morph_1.Writers.object((0, utilities_1.DeleteUndefinedProperties)({
51
+ provide: providerObject.provide,
52
+ useClass: providerObject.useClass,
53
+ useFactory: providerObject.useFactory,
54
+ useExisting: providerObject.useExisting,
55
+ useValue: providerObject.useValue,
56
+ deps: providerObject.deps ?
57
+ Array.isArray(providerObject.deps) ? `[ ${providerObject.deps.join(',')} ]` : providerObject.deps :
58
+ undefined,
59
+ multi: providerObject.multi === true ?
60
+ w => w.write('true') :
61
+ providerObject.multi === false ? w => w.write('false') : undefined,
62
+ })));
63
+ }
64
+ else {
65
+ expression = providerArray.getElements()[index];
66
+ }
67
+ }
68
+ return expression;
69
+ }
70
+ exports.AddProviderToArray = AddProviderToArray;
71
+ //# sourceMappingURL=add-provider-to-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-provider-to-array.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/add-provider-to-array.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { SourceFile } from 'ts-morph';
2
+ import { ProviderObject } from '../provider-object';
3
+ export interface CoerceAppConfigProviderOptions {
4
+ providers?: Array<ProviderObject | string>;
5
+ overwrite?: boolean;
6
+ httpInterceptors?: string[];
7
+ importProvidersFrom?: string[];
8
+ }
9
+ export declare function CoerceAppConfigProvider(sourceFile: SourceFile, options: CoerceAppConfigProviderOptions): void;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoerceAppConfigProvider = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const add_provider_to_array_1 = require("../add-provider-to-array");
6
+ const coerce_imports_1 = require("../coerce-imports");
7
+ const coerce_variable_declaration_1 = require("../coerce-variable-declaration");
8
+ const get_coerce_array_literal_form_object_literal_1 = require("../get-coerce-array-literal-form-object-literal");
9
+ function CoerceAppConfigProvider(sourceFile, options) {
10
+ const { providers = [], httpInterceptors = [], importProvidersFrom = [], overwrite = false } = options;
11
+ const appConfigVariableDeclaration = (0, coerce_variable_declaration_1.CoerceVariableDeclaration)(sourceFile, 'appConfig', {
12
+ initializer: '{ providers: [] }',
13
+ type: 'ApplicationConfig',
14
+ });
15
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
16
+ namedImports: ['ApplicationConfig'],
17
+ moduleSpecifier: '@angular/core',
18
+ });
19
+ const appConfig = appConfigVariableDeclaration.getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ObjectLiteralExpression);
20
+ const providerArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(appConfig, 'providers');
21
+ for (const providerObject of providers) {
22
+ (0, add_provider_to_array_1.AddProviderToArray)(providerObject, providerArray, overwrite);
23
+ }
24
+ if (httpInterceptors.length) {
25
+ const phcExpression = (0, add_provider_to_array_1.AddProviderToArray)('provideHttpClient()', providerArray, overwrite)
26
+ .asKindOrThrow(ts_morph_1.SyntaxKind.CallExpression);
27
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
28
+ moduleSpecifier: '@angular/common/http',
29
+ namedImports: ['provideHttpClient'],
30
+ });
31
+ const index = phcExpression.getArguments().findIndex(a => a.getText().startsWith('withInterceptors('));
32
+ let wiAExpression;
33
+ let wiExpression;
34
+ if (index === -1) {
35
+ wiExpression = phcExpression.addArgument('withInterceptors()').asKindOrThrow(ts_morph_1.SyntaxKind.CallExpression);
36
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
37
+ moduleSpecifier: '@angular/common/http',
38
+ namedImports: ['withInterceptors'],
39
+ });
40
+ }
41
+ else {
42
+ wiExpression = phcExpression.getArguments()[index].asKindOrThrow(ts_morph_1.SyntaxKind.CallExpression);
43
+ }
44
+ if (wiExpression.getArguments()[0]) {
45
+ wiAExpression = wiExpression.getArguments()[0].asKindOrThrow(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
46
+ }
47
+ else {
48
+ wiAExpression = wiExpression.addArgument('[]').asKindOrThrow(ts_morph_1.SyntaxKind.ArrayLiteralExpression);
49
+ }
50
+ for (const hi of httpInterceptors) {
51
+ const index = wiAExpression.getElements().findIndex(a => a.getText() === hi);
52
+ if (index === -1) {
53
+ wiAExpression.addElement(hi);
54
+ }
55
+ }
56
+ }
57
+ if (importProvidersFrom.length) {
58
+ const ipfExpression = (0, add_provider_to_array_1.AddProviderToArray)('importProvidersFrom()', providerArray, overwrite)
59
+ .asKindOrThrow(ts_morph_1.SyntaxKind.CallExpression);
60
+ (0, coerce_imports_1.CoerceImports)(sourceFile, {
61
+ moduleSpecifier: '@angular/core',
62
+ namedImports: ['importProvidersFrom'],
63
+ });
64
+ for (const ipf of importProvidersFrom) {
65
+ const index = ipfExpression.getArguments().findIndex(a => a.getText() === ipf);
66
+ if (index === -1) {
67
+ ipfExpression.addArgument(ipf);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ exports.CoerceAppConfigProvider = CoerceAppConfigProvider;
73
+ //# sourceMappingURL=coerce-app-config-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-app-config-provider.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/coerce-app-config-provider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { ArrayLiteralExpression, Expression, WriterFunction } from 'ts-morph';
2
2
  export declare function FindArrayElementByObjectProperty(property: string, value: string): (e: Expression) => boolean;
3
- export declare function CoerceArrayElement(array: ArrayLiteralExpression, findExisting: (e: Expression) => boolean, element: string | WriterFunction): Expression;
3
+ export declare function CoerceArrayElement(array: ArrayLiteralExpression, findExisting: (e: Expression) => boolean, element: string | WriterFunction, insertAt?: (array: ArrayLiteralExpression) => number): Expression;
@@ -17,12 +17,15 @@ function FindArrayElementByObjectProperty(property, value) {
17
17
  };
18
18
  }
19
19
  exports.FindArrayElementByObjectProperty = FindArrayElementByObjectProperty;
20
- function CoerceArrayElement(array, findExisting, element) {
20
+ function CoerceArrayElement(array, findExisting, element, insertAt) {
21
21
  for (const e of array.getElements()) {
22
22
  if (findExisting(e)) {
23
23
  return e;
24
24
  }
25
25
  }
26
+ if (insertAt) {
27
+ return array.insertElement(insertAt(array), element);
28
+ }
26
29
  return array.addElement(element);
27
30
  }
28
31
  exports.CoerceArrayElement = CoerceArrayElement;
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-array-element.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-array-element.ts"],"names":[],"mappings":";;;AAAA,uCAOkB;AAElB,SAAgB,gCAAgC,CAAC,QAAgB,EAAE,KAAa;IAC9E,OAAO,CAAC,CAAa,EAAE,EAAE;QACvB,IAAI,CAAC,YAAY,kCAAuB,EAAE;YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,YAAY,6BAAkB,EAAE;gBACxC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,qBAAU,CAAC,aAAa,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE;oBACL,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,KAAK,CAAC;iBACrC;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAbD,4EAaC;AAED,SAAgB,kBAAkB,CAChC,KAA6B,EAC7B,YAAwC,EACxC,OAAgC;IAGhC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;QACnC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,CAAC,CAAC;SACV;KACF;IAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnC,CAAC;AAdD,gDAcC"}
1
+ {"version":3,"file":"coerce-array-element.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-array-element.ts"],"names":[],"mappings":";;;AAAA,uCAOkB;AAElB,SAAgB,gCAAgC,CAAC,QAAgB,EAAE,KAAa;IAC9E,OAAO,CAAC,CAAa,EAAE,EAAE;QACvB,IAAI,CAAC,YAAY,kCAAuB,EAAE;YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,YAAY,6BAAkB,EAAE;gBACxC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,qBAAU,CAAC,aAAa,CAAC,CAAC;gBAC3D,IAAI,CAAC,EAAE;oBACL,OAAO,CAAC,CAAC,cAAc,EAAE,KAAK,KAAK,CAAC;iBACrC;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAbD,4EAaC;AAED,SAAgB,kBAAkB,CAChC,KAA6B,EAC7B,YAAwC,EACxC,OAAgC,EAChC,QAAoD;IAGpD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;QACnC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,CAAC,CAAC;SACV;KACF;IAED,IAAI,QAAQ,EAAE;QACZ,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;KACtD;IAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnC,CAAC;AAnBD,gDAmBC"}
@@ -0,0 +1,10 @@
1
+ import { ClassDeclaration, SourceFile } from 'ts-morph';
2
+ import { ToMappingObjectOptions } from './to-mapping-object';
3
+ export interface CoerceMappingClassMethodOptions {
4
+ parameterType: string;
5
+ mapping: boolean | Record<string, any>;
6
+ mappingOptions?: ToMappingObjectOptions;
7
+ name: string;
8
+ returnType: string;
9
+ }
10
+ export declare function CoerceMappingClassMethod(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceMappingClassMethodOptions): void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoerceMappingClassMethod = void 0;
4
+ const coerce_class_method_1 = require("./coerce-class-method");
5
+ const to_mapping_object_1 = require("./to-mapping-object");
6
+ function CoerceMappingClassMethod(sourceFile, classDeclaration, options) {
7
+ var _a;
8
+ const { parameterType, name, mapping, returnType, mappingOptions = {} } = options;
9
+ (_a = mappingOptions.baseProperty) !== null && _a !== void 0 ? _a : (mappingOptions.baseProperty = 'input');
10
+ const { baseProperty } = mappingOptions;
11
+ (0, coerce_class_method_1.CoerceClassMethod)(classDeclaration, name, {
12
+ parameters: [
13
+ {
14
+ name: baseProperty,
15
+ type: parameterType,
16
+ },
17
+ ],
18
+ returnType: returnType,
19
+ statements: mapping === true ? [`return ${baseProperty};`] : [
20
+ w => {
21
+ w.write('return ');
22
+ (0, to_mapping_object_1.ToMappingObject)(mapping, mappingOptions)(w);
23
+ w.write(';');
24
+ },
25
+ ],
26
+ });
27
+ }
28
+ exports.CoerceMappingClassMethod = CoerceMappingClassMethod;
29
+ //# sourceMappingURL=coerce-mapping-class-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce-mapping-class-method.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-mapping-class-method.ts"],"names":[],"mappings":";;;AAIA,+DAA0D;AAC1D,2DAG6B;AAU7B,SAAgB,wBAAwB,CACtC,UAAsB,EACtB,gBAAkC,EAClC,OAAwC;;IAExC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAClF,MAAA,cAAc,CAAC,YAAY,oCAA3B,cAAc,CAAC,YAAY,GAAK,OAAO,EAAC;IACxC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC;IACxC,IAAA,uCAAiB,EAAC,gBAAgB,EAAE,IAAI,EAAE;QACxC,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,aAAa;aACpB;SACF;QACD,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,UAAW,YAAa,GAAG,CAAE,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnB,IAAA,mCAAe,EAAC,OAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAxBD,4DAwBC"}
@@ -0,0 +1,2 @@
1
+ import { Project, ProjectOptions } from 'ts-morph';
2
+ export declare function CreateProject(options?: ProjectOptions): Project;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateProject = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ const ts_morph_1 = require("ts-morph");
6
+ function CreateProject(options = {}) {
7
+ return new ts_morph_1.Project((0, utilities_1.deepMerge)({
8
+ manipulationSettings: {
9
+ indentationText: ts_morph_1.IndentationText.TwoSpaces,
10
+ quoteKind: ts_morph_1.QuoteKind.Single,
11
+ newLineKind: ts_morph_1.NewLineKind.LineFeed,
12
+ useTrailingCommas: true,
13
+ },
14
+ useInMemoryFileSystem: true,
15
+ }, options));
16
+ }
17
+ exports.CreateProject = CreateProject;
18
+ //# sourceMappingURL=create-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/create-project.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uCAMkB;AAElB,SAAgB,aAAa,CAAC,UAA0B,EAAE;IACxD,OAAO,IAAI,kBAAO,CAAC,IAAA,qBAAS,EAAC;QAC3B,oBAAoB,EAAE;YACpB,eAAe,EAAE,0BAAe,CAAC,SAAS;YAC1C,SAAS,EAAE,oBAAS,CAAC,MAAM;YAC3B,WAAW,EAAE,sBAAW,CAAC,QAAQ;YACjC,iBAAiB,EAAE,IAAI;SACxB;QACD,qBAAqB,EAAE,IAAI;KAC5B,EAAE,OAAO,CAAC,CAAC,CAAC;AACf,CAAC;AAVD,sCAUC"}
@@ -41,7 +41,7 @@ function AddToGlobalHealthEndpoint(sourceFile, name) {
41
41
  namedImports: ['Get'],
42
42
  },
43
43
  ]);
44
- const statement = methodDeclaration.getStatements().find(e => e.getFullText().match(/return this\.health\.check/));
44
+ const statement = methodDeclaration.getStatements().find(e => e.getText().match(/return this\.health\.check/));
45
45
  const array = (_b = (_a = statement === null || statement === void 0 ? void 0 : statement.getChildAtIndex(1)) === null || _a === void 0 ? void 0 : _a.getChildAtIndex(2)) === null || _b === void 0 ? void 0 : _b.getFirstChild();
46
46
  if (array instanceof ts_morph_1.ArrayLiteralExpression) {
47
47
  array.addElement(w => {
@@ -1 +1 @@
1
- {"version":3,"file":"add-to-global-health-endpoint.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/add-to-global-health-endpoint.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,uCAKkB;AAClB,gEAA2D;AAG3D,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,IAAY;;IAGZ,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;IAED,MAAM,oBAAoB,GAAG,GAAI,IAAA,oBAAQ,EAAC,IAAI,CAAE,iBAAiB,CAAC;IAElE,MAAM,iBAAiB,GAAsB,IAAA,uCAAiB,EAC5D,gBAAgB,EAChB,aAAa,EACb;QACE,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE;YACV,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF;QACD,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,EAAE;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,EAAE;aACd;SACF;KACF,CACF,CAAC;IAEF,UAAU,CAAC,qBAAqB,CAAC;QAC/B;YACE,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAE,aAAa,EAAE,mBAAmB,CAAE;SACrD;QACD;YACE,eAAe,EAAE,gBAAgB;YACjC,YAAY,EAAE,CAAE,KAAK,CAAE;SACxB;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEnH,MAAM,KAAK,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC,CAAC,CAAC,0CAAE,aAAa,EAAE,CAAC;IAEjF,IAAI,KAAK,YAAY,iCAAsB,EAAE;QAC3C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACnB,CAAC,CAAC,KAAK,CAAC,oBAAqB,IAAA,oBAAQ,EAAC,oBAAoB,CAAE,cAAc,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;KACJ;AAEH,CAAC;AA3DD,8DA2DC"}
1
+ {"version":3,"file":"add-to-global-health-endpoint.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/add-to-global-health-endpoint.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,uCAKkB;AAClB,gEAA2D;AAG3D,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,IAAY;;IAGZ,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEjE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;KACtE;IAED,MAAM,oBAAoB,GAAG,GAAI,IAAA,oBAAQ,EAAC,IAAI,CAAE,iBAAiB,CAAC;IAElE,MAAM,iBAAiB,GAAsB,IAAA,uCAAiB,EAC5D,gBAAgB,EAChB,aAAa,EACb;QACE,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,UAAU,EAAE,4BAA4B;QACxC,UAAU,EAAE;YACV,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF;QACD,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,EAAE;aACd;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,EAAE;aACd;SACF;KACF,CACF,CAAC;IAEF,UAAU,CAAC,qBAAqB,CAAC;QAC/B;YACE,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAE,aAAa,EAAE,mBAAmB,CAAE;SACrD;QACD;YACE,eAAe,EAAE,gBAAgB;YACjC,YAAY,EAAE,CAAE,KAAK,CAAE;SACxB;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAE/G,MAAM,KAAK,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,CAAC,CAAC,CAAC,0CAAE,aAAa,EAAE,CAAC;IAEjF,IAAI,KAAK,YAAY,iCAAsB,EAAE;QAC3C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACnB,CAAC,CAAC,KAAK,CAAC,oBAAqB,IAAA,oBAAQ,EAAC,oBAAoB,CAAE,cAAc,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;KACJ;AAEH,CAAC;AA3DD,8DA2DC"}
@@ -17,7 +17,7 @@ function CoerceNestModuleImport(sourceFile, options) {
17
17
  (0, coerce_imports_1.CoerceImports)(sourceFile, structures !== null && structures !== void 0 ? structures : []);
18
18
  const metadata = (0, get_nest_module_metadata_1.GetNestModuleMetadata)(sourceFile);
19
19
  const importsArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(metadata, 'imports');
20
- const index = importsArray.getElements().findIndex(element => element.getFullText().trim().startsWith(moduleName));
20
+ const index = importsArray.getElements().findIndex(element => element.getText().trim().startsWith(moduleName));
21
21
  if (index === -1 || overwrite) {
22
22
  if (index !== -1) {
23
23
  importsArray.removeElement(index);
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-module-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-module-import.ts"],"names":[],"mappings":";;;AAMA,sDAAkD;AAClD,kHAAyG;AACzG,yEAAmE;AAUnE,SAAgB,sBAAsB,CACpC,UAAsB,EACtB,OAAsC;IAEtC,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,GAAG,OAAO,CAAC;IAEZ,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE7B,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,EAAE,EAAC;IAElB,IAAI,eAAe,EAAE;QACnB,UAAU,CAAC,IAAI,CAAC;YACd,eAAe;YACf,YAAY,EAAE,CAAE,UAAU,CAAE;SAC7B,CAAC,CAAC;KACJ;IAED,IAAA,8BAAa,EAAC,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,gDAAqB,EAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAA,qFAAsC,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnH,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE;QAE7B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,YAAY,CAAC,UAAU,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,UAAU,CAAC,CAAC;KAErD;AAEH,CAAC;AAxCD,wDAwCC"}
1
+ {"version":3,"file":"coerce-nest-module-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-module-import.ts"],"names":[],"mappings":";;;AAMA,sDAAkD;AAClD,kHAAyG;AACzG,yEAAmE;AAUnE,SAAgB,sBAAsB,CACpC,UAAsB,EACtB,OAAsC;IAEtC,MAAM,EACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,GAChB,GAAG,OAAO,CAAC;IAEZ,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE7B,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,EAAE,EAAC;IAElB,IAAI,eAAe,EAAE;QACnB,UAAU,CAAC,IAAI,CAAC;YACd,eAAe;YACf,YAAY,EAAE,CAAE,UAAU,CAAE;SAC7B,CAAC,CAAC;KACJ;IAED,IAAA,8BAAa,EAAC,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,gDAAqB,EAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG,IAAA,qFAAsC,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAE/G,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE;QAE7B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACnC;QAED,YAAY,CAAC,UAAU,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,UAAU,CAAC,CAAC;KAErD;AAEH,CAAC;AAxCD,wDAwCC"}
@@ -1,3 +1,3 @@
1
1
  import { ArrayLiteralExpression } from 'ts-morph';
2
2
  import { NestProviderObject } from './nest-provider-object';
3
- export declare function CoerceNestProviderToArray(providerObject: NestProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean): void;
3
+ export declare function CoerceNestProviderToArray(providerObject: NestProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean | string[]): void;
@@ -5,25 +5,26 @@ const utilities_1 = require("@rxap/utilities");
5
5
  const ts_morph_1 = require("ts-morph");
6
6
  function CoerceNestProviderToArray(providerObject, providerArray, overwrite = false) {
7
7
  if (typeof providerObject === 'string') {
8
- if (!providerArray.getElements().some(element => element.getFullText().trim() === providerObject)) {
8
+ if (!providerArray.getElements().some(element => element.getText().trim() === providerObject)) {
9
9
  providerArray.addElement(providerObject);
10
10
  }
11
11
  }
12
12
  else {
13
- const index = providerArray.getElements().findIndex(element => {
13
+ let index = providerArray.getElements().findIndex(element => {
14
14
  var _a;
15
15
  if (element instanceof ts_morph_1.ObjectLiteralExpression) {
16
16
  const provideProperty = element.getProperty('provide');
17
17
  if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
18
- return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === providerObject.provide;
18
+ return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getText().trim()) === providerObject.provide;
19
19
  }
20
20
  }
21
21
  return false;
22
22
  });
23
- if (overwrite && index !== -1) {
23
+ if ((overwrite === true || (Array.isArray(overwrite) && overwrite.includes('provider'))) && index !== -1) {
24
24
  providerArray.removeElement(index);
25
+ index = -1;
25
26
  }
26
- if (overwrite || index === -1) {
27
+ if (index === -1) {
27
28
  providerArray.addElement(ts_morph_1.Writers.object((0, utilities_1.DeleteUndefinedProperties)({
28
29
  provide: providerObject.provide,
29
30
  useClass: providerObject.useClass,
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,uCAKkB;AAGlB,SAAgB,yBAAyB,CACvC,cAA2C,EAC3C,aAAqC,EACrC,SAAS,GAAG,KAAK;IAGjB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YACjG,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,qCAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC3G,SAAS;aACZ,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AA5CD,8DA4CC"}
1
+ {"version":3,"file":"coerce-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,uCAKkB;AAGlB,SAAgB,yBAAyB,CACvC,cAA2C,EAC3C,aAAqC,EACrC,YAAgC,KAAK;IAGrC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE;YAC7F,aAAa,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1C;KAEF;SAAM;QAEL,IAAI,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC1D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,OAAO,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBACtF;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CACE,SAAS,KAAK,IAAI,IAAI,CACV,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3D,CACZ,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACrB,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,KAAK,GAAG,CAAC,CAAC,CAAC;SACZ;QAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,aAAa,CAAC,UAAU,CAAC,kBAAO,CAAC,MAAM,CAAC,IAAA,qCAAyB,EAAC;gBAChE,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC3G,SAAS;aACZ,CAAC,CAAC,CAAC,CAAC;SACN;KAEF;AAEH,CAAC;AAjDD,8DAiDC"}
@@ -10,22 +10,13 @@ function CoerceNestThrottlerModuleImport(sourceFile, options) {
10
10
  namedImports: ['ThrottlerModule'],
11
11
  },
12
12
  {
13
- moduleSpecifier: '@nestjs/config',
14
- namedImports: ['ConfigModule', 'ConfigService'],
15
- },
13
+ moduleSpecifier: '@rxap/nest-utilities',
14
+ namedImports: ['ThrottlerModuleOptionsLoader'],
15
+ }
16
16
  ], importWriter: w => {
17
17
  w.writeLine('ThrottlerModule.forRootAsync(');
18
18
  ts_morph_1.Writers.object({
19
- imports: '[ ConfigModule ]',
20
- inject: '[ ConfigService ]',
21
- useFactory: w => {
22
- w.write('(config: ConfigService) => (');
23
- ts_morph_1.Writers.object({
24
- ttl: 'config.getOrThrow(\'THROTTLER_TTL\')',
25
- limit: 'config.getOrThrow(\'THROTTLER_LIMIT\')',
26
- })(w);
27
- w.write(')');
28
- },
19
+ useClass: 'ThrottlerModuleOptionsLoader',
29
20
  })(w);
30
21
  w.write(')');
31
22
  } }));
@@ -1 +1 @@
1
- {"version":3,"file":"coerce-nest-throttler-module-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-throttler-module-import.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAClB,2EAGqC;AAIrC,SAAgB,+BAA+B,CAC7C,UAAsB,EACtB,OAA+C;IAE/C,IAAA,kDAAsB,EACpB,UAAU,kCACL,OAAO,KACV,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE;YACV;gBACE,eAAe,EAAE,mBAAmB;gBACpC,YAAY,EAAE,CAAE,iBAAiB,CAAE;aACpC;YACD;gBACE,eAAe,EAAE,gBAAgB;gBACjC,YAAY,EAAE,CAAE,cAAc,EAAE,eAAe,CAAE;aAClD;SACF,EACD,YAAY,EAAE,CAAC,CAAC,EAAE;YAChB,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YAC7C,kBAAO,CAAC,MAAM,CAAC;gBACb,OAAO,EAAE,kBAAkB;gBAC3B,MAAM,EAAE,mBAAmB;gBAC3B,UAAU,EAAE,CAAC,CAAC,EAAE;oBACd,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBACxC,kBAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,sCAAsC;wBAC3C,KAAK,EAAE,wCAAwC;qBAChD,CAAC,CAAC,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;aACF,CAAC,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,IAEJ,CAAC;AACJ,CAAC;AApCD,0EAoCC"}
1
+ {"version":3,"file":"coerce-nest-throttler-module-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/coerce-nest-throttler-module-import.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAClB,2EAGqC;AAIrC,SAAgB,+BAA+B,CAC7C,UAAsB,EACtB,OAA+C;IAE/C,IAAA,kDAAsB,EACpB,UAAU,kCACL,OAAO,KACV,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE;YACV;gBACE,eAAe,EAAE,mBAAmB;gBACpC,YAAY,EAAE,CAAE,iBAAiB,CAAE;aACpC;YACD;gBACE,eAAe,EAAE,sBAAsB;gBACvC,YAAY,EAAE,CAAE,8BAA8B,CAAE;aACjD;SACF,EACD,YAAY,EAAE,CAAC,CAAC,EAAE;YAChB,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YAC7C,kBAAO,CAAC,MAAM,CAAC;gBACb,QAAQ,EAAE,8BAA8B;aACzC,CAAC,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,IAEJ,CAAC;AACJ,CAAC;AA3BD,0EA2BC"}
@@ -0,0 +1,11 @@
1
+ export declare function OperationIdToClassName(operationId: string): string;
2
+ export declare function ServiceOperationIdToClassName(operationId: string): string;
3
+ export declare function OperationIdToResponseClassName(operationId: string): string;
4
+ export declare function OperationIdToParameterClassName(operationId: string): string;
5
+ export declare function OperationIdToClassImportPath(operationId: string, scope?: string | null): string;
6
+ export declare function OperationIdToRequestBodyClassName(operationId: string): string;
7
+ export declare function ServiceOperationIdToClassImportPath(operationId: string, scope?: string | null): string;
8
+ export declare function OpenApiResponseClassImportPath(response: string, serverId: string, scope?: string | null): string;
9
+ export declare function OperationIdToResponseClassImportPath(operationId: string, scope?: string | null): string;
10
+ export declare function OperationIdToParameterClassImportPath(operationId: string, scope?: string | null): string;
11
+ export declare function OperationIdToRequestBodyClassImportPath(operationId: string, scope?: string | null): string;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperationIdToRequestBodyClassImportPath = exports.OperationIdToParameterClassImportPath = exports.OperationIdToResponseClassImportPath = exports.OpenApiResponseClassImportPath = exports.ServiceOperationIdToClassImportPath = exports.OperationIdToRequestBodyClassName = exports.OperationIdToClassImportPath = exports.OperationIdToParameterClassName = exports.OperationIdToResponseClassName = exports.ServiceOperationIdToClassName = exports.OperationIdToClassName = void 0;
4
+ const utilities_1 = require("@rxap/utilities");
5
+ function OperationIdToClassName(operationId) {
6
+ const [id] = operationId.split('@');
7
+ return (0, utilities_1.classify)(id) + 'RemoteMethod';
8
+ }
9
+ exports.OperationIdToClassName = OperationIdToClassName;
10
+ function ServiceOperationIdToClassName(operationId) {
11
+ const [id] = operationId.split('@');
12
+ return (0, utilities_1.classify)(id) + 'Command';
13
+ }
14
+ exports.ServiceOperationIdToClassName = ServiceOperationIdToClassName;
15
+ function OperationIdToResponseClassName(operationId) {
16
+ const [id] = operationId.split('@');
17
+ return (0, utilities_1.classify)(id) + 'Response';
18
+ }
19
+ exports.OperationIdToResponseClassName = OperationIdToResponseClassName;
20
+ function OperationIdToParameterClassName(operationId) {
21
+ const [id] = operationId.split('@');
22
+ return (0, utilities_1.classify)(id) + 'Parameter';
23
+ }
24
+ exports.OperationIdToParameterClassName = OperationIdToParameterClassName;
25
+ function OperationIdToClassImportPath(operationId, scope) {
26
+ const [id, serverId = 'legacy'] = operationId.split('@');
27
+ if (scope) {
28
+ return `${scope}/open-api-${(0, utilities_1.dasherize)(serverId)}/remote-methods/${(0, utilities_1.dasherize)(id)}.remote-method`;
29
+ }
30
+ else {
31
+ return `open-api-${(0, utilities_1.dasherize)(serverId)}/remote-methods/${(0, utilities_1.dasherize)(id)}.remote-method`;
32
+ }
33
+ }
34
+ exports.OperationIdToClassImportPath = OperationIdToClassImportPath;
35
+ function OperationIdToRequestBodyClassName(operationId) {
36
+ const [id] = operationId.split('@');
37
+ return (0, utilities_1.classify)(id) + 'RequestBody';
38
+ }
39
+ exports.OperationIdToRequestBodyClassName = OperationIdToRequestBodyClassName;
40
+ function ServiceOperationIdToClassImportPath(operationId, scope) {
41
+ const [id, serverId = 'legacy'] = operationId.split('@');
42
+ if (scope) {
43
+ return `${scope}/service-open-api-${(0, utilities_1.dasherize)(serverId)}/commands/${(0, utilities_1.dasherize)(id)}.command`;
44
+ }
45
+ else {
46
+ return `service-open-api-${(0, utilities_1.dasherize)(serverId)}/commands/${(0, utilities_1.dasherize)(id)}.command`;
47
+ }
48
+ }
49
+ exports.ServiceOperationIdToClassImportPath = ServiceOperationIdToClassImportPath;
50
+ function OpenApiResponseClassImportPath(response, serverId, scope) {
51
+ if (scope) {
52
+ return `${scope}/open-api-${(0, utilities_1.dasherize)(serverId)}/responses/${(0, utilities_1.dasherize)(response)
53
+ .replace('-response', '')}.response`;
54
+ }
55
+ else {
56
+ return `open-api-${(0, utilities_1.dasherize)(serverId)}/responses/${(0, utilities_1.dasherize)(response)
57
+ .replace('-response', '')}.response`;
58
+ }
59
+ }
60
+ exports.OpenApiResponseClassImportPath = OpenApiResponseClassImportPath;
61
+ function OperationIdToResponseClassImportPath(operationId, scope) {
62
+ const [id, serverId = 'legacy'] = operationId.split('@');
63
+ if (scope) {
64
+ return `${scope}/open-api-${(0, utilities_1.dasherize)(serverId)}/responses/${(0, utilities_1.dasherize)(id)}.response`;
65
+ }
66
+ else {
67
+ return `open-api-${(0, utilities_1.dasherize)(serverId)}/responses/${(0, utilities_1.dasherize)(id)}.response`;
68
+ }
69
+ }
70
+ exports.OperationIdToResponseClassImportPath = OperationIdToResponseClassImportPath;
71
+ function OperationIdToParameterClassImportPath(operationId, scope) {
72
+ const [id, serverId = 'legacy'] = operationId.split('@');
73
+ if (scope) {
74
+ return `${scope}/open-api-${(0, utilities_1.dasherize)(serverId)}/parameters/${(0, utilities_1.dasherize)(id)}.parameter`;
75
+ }
76
+ else {
77
+ return `open-api-${(0, utilities_1.dasherize)(serverId)}/parameters/${(0, utilities_1.dasherize)(id)}.parameter`;
78
+ }
79
+ }
80
+ exports.OperationIdToParameterClassImportPath = OperationIdToParameterClassImportPath;
81
+ function OperationIdToRequestBodyClassImportPath(operationId, scope) {
82
+ const [id, serverId = 'legacy'] = operationId.split('@');
83
+ if (scope) {
84
+ return `${scope}/open-api-${(0, utilities_1.dasherize)(serverId)}/request-bodies/${(0, utilities_1.dasherize)(id)}.request-body`;
85
+ }
86
+ else {
87
+ return `open-api-${(0, utilities_1.dasherize)(serverId)}/request-bodies/${(0, utilities_1.dasherize)(id)}.request-body`;
88
+ }
89
+ }
90
+ exports.OperationIdToRequestBodyClassImportPath = OperationIdToRequestBodyClassImportPath;
91
+ //# sourceMappingURL=operation-id-utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-id-utilities.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/operation-id-utilities.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AAGzB,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,MAAM,CAAE,EAAE,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,IAAA,oBAAQ,EAAC,EAAE,CAAC,GAAG,cAAc,CAAC;AACvC,CAAC;AAHD,wDAGC;AAED,SAAgB,6BAA6B,CAAC,WAAmB;IAC/D,MAAM,CAAE,EAAE,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,IAAA,oBAAQ,EAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAClC,CAAC;AAHD,sEAGC;AAGD,SAAgB,8BAA8B,CAAC,WAAmB;IAChE,MAAM,CAAE,EAAE,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,IAAA,oBAAQ,EAAC,EAAE,CAAC,GAAG,UAAU,CAAC;AACnC,CAAC;AAHD,wEAGC;AAED,SAAgB,+BAA+B,CAAC,WAAmB;IACjE,MAAM,CAAE,EAAE,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,IAAA,oBAAQ,EAAC,EAAE,CAAC,GAAG,WAAW,CAAC;AACpC,CAAC;AAHD,0EAGC;AAED,SAAgB,4BAA4B,CAAC,WAAmB,EAAE,KAAqB;IACrF,MAAM,CAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,aAAc,IAAA,qBAAS,EAAC,QAAQ,CAAE,mBAAoB,IAAA,qBAAS,EAAC,EAAE,CAAE,gBAAgB,CAAC;KACvG;SAAM;QACL,OAAO,YAAa,IAAA,qBAAS,EAAC,QAAQ,CAAE,mBAAoB,IAAA,qBAAS,EAAC,EAAE,CAAE,gBAAgB,CAAC;KAC5F;AACH,CAAC;AAPD,oEAOC;AAED,SAAgB,iCAAiC,CAAC,WAAmB;IACnE,MAAM,CAAE,EAAE,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,IAAA,oBAAQ,EAAC,EAAE,CAAC,GAAG,aAAa,CAAC;AACtC,CAAC;AAHD,8EAGC;AAED,SAAgB,mCAAmC,CAAC,WAAmB,EAAE,KAAqB;IAC5F,MAAM,CAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,qBAAsB,IAAA,qBAAS,EAAC,QAAQ,CAAE,aAAc,IAAA,qBAAS,EAAC,EAAE,CAAE,UAAU,CAAC;KACnG;SAAM;QACL,OAAO,oBAAqB,IAAA,qBAAS,EAAC,QAAQ,CAAE,aAAc,IAAA,qBAAS,EAAC,EAAE,CAAE,UAAU,CAAC;KACxF;AACH,CAAC;AAPD,kFAOC;AAED,SAAgB,8BAA8B,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAqB;IACtG,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,aAAc,IAAA,qBAAS,EAAC,QAAQ,CAAE,cAAe,IAAA,qBAAS,EAAC,QAAQ,CAAC;aAClF,OAAO,CAAC,WAAW,EAAE,EAAE,CAAE,WAAW,CAAC;KACzC;SAAM;QACL,OAAO,YAAa,IAAA,qBAAS,EAAC,QAAQ,CAAE,cAAe,IAAA,qBAAS,EAAC,QAAQ,CAAC;aACvE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAE,WAAW,CAAC;KACzC;AACH,CAAC;AARD,wEAQC;AAED,SAAgB,oCAAoC,CAAC,WAAmB,EAAE,KAAqB;IAC7F,MAAM,CAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,aAAc,IAAA,qBAAS,EAAC,QAAQ,CAAE,cAAe,IAAA,qBAAS,EAAC,EAAE,CAAE,WAAW,CAAC;KAC7F;SAAM;QACL,OAAO,YAAa,IAAA,qBAAS,EAAC,QAAQ,CAAE,cAAe,IAAA,qBAAS,EAAC,EAAE,CAAE,WAAW,CAAC;KAClF;AACH,CAAC;AAPD,oFAOC;AAED,SAAgB,qCAAqC,CAAC,WAAmB,EAAE,KAAqB;IAC9F,MAAM,CAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,aAAc,IAAA,qBAAS,EAAC,QAAQ,CAAE,eAAgB,IAAA,qBAAS,EAAC,EAAE,CAAE,YAAY,CAAC;KAC/F;SAAM;QACL,OAAO,YAAa,IAAA,qBAAS,EAAC,QAAQ,CAAE,eAAgB,IAAA,qBAAS,EAAC,EAAE,CAAE,YAAY,CAAC;KACpF;AACH,CAAC;AAPD,sFAOC;AAED,SAAgB,uCAAuC,CAAC,WAAmB,EAAE,KAAqB;IAChG,MAAM,CAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,EAAE;QACT,OAAO,GAAI,KAAM,aAAc,IAAA,qBAAS,EAAC,QAAQ,CAAE,mBAAoB,IAAA,qBAAS,EAAC,EAAE,CAAE,eAAe,CAAC;KACtG;SAAM;QACL,OAAO,YAAa,IAAA,qBAAS,EAAC,QAAQ,CAAE,mBAAoB,IAAA,qBAAS,EAAC,EAAE,CAAE,eAAe,CAAC;KAC3F;AACH,CAAC;AAPD,0FAOC"}
@@ -1,3 +1,3 @@
1
1
  import { ArrayLiteralExpression } from 'ts-morph';
2
2
  import { NestProviderObject } from './nest-provider-object';
3
- export declare function RemoveNestProviderToArray(providerObject: NestProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean): void;
3
+ export declare function RemoveNestProviderToArray(providerObject: NestProviderObject | string, providerArray: ArrayLiteralExpression, overwrite?: boolean | string[]): void;
@@ -4,7 +4,7 @@ exports.RemoveNestProviderToArray = void 0;
4
4
  const ts_morph_1 = require("ts-morph");
5
5
  function RemoveNestProviderToArray(providerObject, providerArray, overwrite = false) {
6
6
  if (typeof providerObject === 'string') {
7
- const element = providerArray.getElements().find(element => element.getFullText().trim() === providerObject);
7
+ const element = providerArray.getElements().find(element => element.getText().trim() === providerObject);
8
8
  if (element) {
9
9
  providerArray.removeElement(element.getChildIndex());
10
10
  }
@@ -15,12 +15,12 @@ function RemoveNestProviderToArray(providerObject, providerArray, overwrite = fa
15
15
  if (element instanceof ts_morph_1.ObjectLiteralExpression) {
16
16
  const provideProperty = element.getProperty('provide');
17
17
  if (provideProperty instanceof ts_morph_1.PropertyAssignment) {
18
- return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getFullText().trim()) === providerObject.provide;
18
+ return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getText().trim()) === providerObject.provide;
19
19
  }
20
20
  }
21
21
  return false;
22
22
  });
23
- if (overwrite && index !== -1) {
23
+ if ((overwrite === true || (Array.isArray(overwrite) && overwrite.includes('provider'))) && index !== -1) {
24
24
  providerArray.removeElement(index);
25
25
  }
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remove-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/remove-nest-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAGlB,SAAgB,yBAAyB,CACvC,cAA2C,EAC3C,aAAqC,EACrC,SAAS,GAAG,KAAK;IAGjB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,CAAC;QAC7G,IAAI,OAAO,EAAE;YACX,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;SACtD;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,WAAW,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBAC1F;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;KAEF;AAEH,CAAC;AA/BD,8DA+BC"}
1
+ {"version":3,"file":"remove-nest-provider-to-array.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/nest/remove-nest-provider-to-array.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAGlB,SAAgB,yBAAyB,CACvC,cAA2C,EAC3C,aAAqC,EACrC,YAAgC,KAAK;IAGrC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,CAAC;QACzG,IAAI,OAAO,EAAE;YACX,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;SACtD;KAEF;SAAM;QAEL,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;;YAC5D,IAAI,OAAO,YAAY,kCAAuB,EAAE;gBAC9C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,eAAe,YAAY,6BAAkB,EAAE;oBACjD,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,OAAO,GAAG,IAAI,EAAE,MAAK,cAAc,CAAC,OAAO,CAAC;iBACtF;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CACE,SAAS,KAAK,IAAI,IAAI,CACV,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC3D,CACZ,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACrB,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpC;KAEF;AAEH,CAAC;AAnCD,8DAmCC"}
@@ -0,0 +1,10 @@
1
+ import { WriterFunction } from 'ts-morph';
2
+ export interface ProviderObject {
3
+ provide: string | WriterFunction;
4
+ useClass?: string | WriterFunction;
5
+ useFactory?: string | WriterFunction;
6
+ deps?: string[] | WriterFunction;
7
+ useExisting?: string | WriterFunction;
8
+ useValue?: string | WriterFunction;
9
+ multi?: boolean;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=provider-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-object.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/provider-object.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { WriterFunction } from 'ts-morph';
2
+ export interface ToMappingObjectOptions {
3
+ baseProperty?: string;
4
+ aliasFnc?: (key: string, value: string) => string;
5
+ }
6
+ export declare function ToMappingObject(input: Record<string, any>, options?: ToMappingObjectOptions): WriterFunction;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToMappingObject = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ function ToMappingObject(input, options = {}) {
6
+ const { baseProperty, aliasFnc, } = options;
7
+ const mapping = {};
8
+ for (const [key, value] of Object.entries(input)) {
9
+ if (typeof value === 'object') {
10
+ mapping[key.includes('-') ? `"${key}"` : key] = ToMappingObject(value, options);
11
+ }
12
+ else if (typeof value === 'string') {
13
+ let accessKey = value;
14
+ if (aliasFnc) {
15
+ accessKey = aliasFnc(key, value);
16
+ }
17
+ if (baseProperty) {
18
+ accessKey = `${baseProperty}.${accessKey}`;
19
+ }
20
+ mapping[key.includes('-') ? `"${key}"` : key] = accessKey;
21
+ }
22
+ else {
23
+ throw new Error(`Invalid value type ${typeof value}`);
24
+ }
25
+ }
26
+ return ts_morph_1.Writers.object(mapping);
27
+ }
28
+ exports.ToMappingObject = ToMappingObject;
29
+ //# sourceMappingURL=to-mapping-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-mapping-object.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/to-mapping-object.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAOlB,SAAgB,eAAe,CAAC,KAA0B,EAAE,UAAkC,EAAE;IAC9F,MAAM,EACJ,YAAY,EACZ,QAAQ,GACT,GAAG,OAAO,CAAC;IACZ,MAAM,OAAO,GAA4C,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAK,GAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACnF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,QAAQ,EAAE;gBACZ,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAClC;YACD,IAAI,YAAY,EAAE;gBAChB,SAAS,GAAG,GAAI,YAAa,IAAK,SAAU,EAAE,CAAC;aAChD;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAK,GAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;SAC7D;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAuB,OAAO,KAAM,EAAE,CAAC,CAAC;SACzD;KACF;IACD,OAAO,kBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAvBD,0CAuBC"}
@@ -0,0 +1,11 @@
1
+ import { ImportDeclarationStructure, OptionalKind } from 'ts-morph';
2
+ export interface TypeImport {
3
+ name: string;
4
+ moduleSpecifier?: string | null;
5
+ namedImport?: string | null;
6
+ namespaceImport?: string | null;
7
+ isTypeOnly?: boolean | null;
8
+ defaultImport?: string | null;
9
+ }
10
+ export declare function RequiresTypeImport(typeImport: TypeImport): boolean;
11
+ export declare function TypeImportToImportStructure(typeImport: TypeImport): OptionalKind<ImportDeclarationStructure>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeImportToImportStructure = exports.RequiresTypeImport = void 0;
4
+ function RequiresTypeImport(typeImport) {
5
+ return !!typeImport.moduleSpecifier;
6
+ }
7
+ exports.RequiresTypeImport = RequiresTypeImport;
8
+ function TypeImportToImportStructure(typeImport) {
9
+ if (!typeImport.moduleSpecifier) {
10
+ throw new Error('The moduleSpecifier is required');
11
+ }
12
+ const structure = {
13
+ moduleSpecifier: typeImport.moduleSpecifier,
14
+ };
15
+ if (!typeImport.namedImport && !typeImport.namespaceImport && !typeImport.defaultImport) {
16
+ structure.namedImports = [typeImport.name];
17
+ }
18
+ if (typeImport.namedImport) {
19
+ structure.namedImports = [typeImport.namedImport];
20
+ }
21
+ if (typeImport.namespaceImport) {
22
+ structure.namespaceImport = typeImport.namespaceImport;
23
+ }
24
+ if (typeImport.defaultImport) {
25
+ structure.defaultImport = typeImport.defaultImport;
26
+ }
27
+ return structure;
28
+ }
29
+ exports.TypeImportToImportStructure = TypeImportToImportStructure;
30
+ //# sourceMappingURL=type-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-import.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/type-import.ts"],"names":[],"mappings":";;;AAcA,SAAgB,kBAAkB,CAAC,UAAsB;IACvD,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;AACtC,CAAC;AAFD,gDAEC;AAED,SAAgB,2BAA2B,CAAC,UAAsB;IAChE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;KACpD;IACD,MAAM,SAAS,GAA6C;QAC1D,eAAe,EAAE,UAAU,CAAC,eAAe;KAC5C,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QACvF,SAAS,CAAC,YAAY,GAAG,CAAE,UAAU,CAAC,IAAI,CAAE,CAAC;KAC9C;IACD,IAAI,UAAU,CAAC,WAAW,EAAE;QAC1B,SAAS,CAAC,YAAY,GAAG,CAAE,UAAU,CAAC,WAAW,CAAE,CAAC;KACrD;IACD,IAAI,UAAU,CAAC,eAAe,EAAE;QAC9B,SAAS,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;KACxD;IACD,IAAI,UAAU,CAAC,aAAa,EAAE;QAC5B,SAAS,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;KACpD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AApBD,kEAoBC"}