@rxap/ts-morph 0.1.0-dev.10 → 0.1.0-dev.12
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/CHANGELOG.md +10 -0
- package/README.md +1 -1
- package/package.json +4 -4
- package/src/index.d.ts +3 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/lib/add-provider-to-array.d.ts +3 -0
- package/src/lib/add-provider-to-array.js +69 -0
- package/src/lib/add-provider-to-array.js.map +1 -0
- package/src/lib/angular/coerce-app-config-provider.d.ts +9 -0
- package/src/lib/angular/coerce-app-config-provider.js +73 -0
- package/src/lib/angular/coerce-app-config-provider.js.map +1 -0
- package/src/lib/provider-object.d.ts +10 -0
- package/src/lib/provider-object.js +3 -0
- package/src/lib/provider-object.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
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
|
+
# [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)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @rxap/ts-morph
|
|
9
|
+
|
|
10
|
+
# [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)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- add functions ([33f6d1d](https://gitlab.com/rxap/packages/commit/33f6d1d53395202decaad3918ce153edd7bdadf2))
|
|
15
|
+
|
|
6
16
|
# [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)
|
|
7
17
|
|
|
8
18
|
### Bug Fixes
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.0-dev.
|
|
2
|
+
"version": "0.1.0-dev.12",
|
|
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": "^16.0.0-dev.
|
|
9
|
+
"@rxap/utilities": "^16.0.0-dev.18",
|
|
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.
|
|
31
|
+
"version": "16.0.0-dev.18"
|
|
32
32
|
}
|
|
33
33
|
]
|
|
34
34
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"directory": "packages/ts-morph"
|
|
43
43
|
},
|
|
44
44
|
"type": "commonjs",
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "8d7aeb0f4a5ef9c6476b98d06c6f52f5d79d4a95",
|
|
46
46
|
"main": "./src/index.js",
|
|
47
47
|
"types": "./src/index.d.ts"
|
|
48
48
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export * from './lib/nest/is-nest-module-class';
|
|
|
26
26
|
export * from './lib/nest/nest-provider-object';
|
|
27
27
|
export * from './lib/nest/remove-nest-module-provider';
|
|
28
28
|
export * from './lib/nest/remove-nest-provider-to-array';
|
|
29
|
+
export * from './lib/angular/coerce-app-config-provider';
|
|
30
|
+
export * from './lib/add-provider-to-array';
|
|
29
31
|
export * from './lib/coerce-array-element';
|
|
30
32
|
export * from './lib/coerce-class-constructor';
|
|
31
33
|
export * from './lib/coerce-class-method';
|
|
@@ -41,3 +43,4 @@ export * from './lib/find-function';
|
|
|
41
43
|
export * from './lib/get-class-decorator-arguments';
|
|
42
44
|
export * from './lib/get-class';
|
|
43
45
|
export * from './lib/get-coerce-array-literal-form-object-literal';
|
|
46
|
+
export * from './lib/provider-object';
|
package/src/index.js
CHANGED
|
@@ -31,7 +31,11 @@ tslib_1.__exportStar(require("./lib/nest/nest-provider-object"), exports);
|
|
|
31
31
|
tslib_1.__exportStar(require("./lib/nest/remove-nest-module-provider"), exports);
|
|
32
32
|
tslib_1.__exportStar(require("./lib/nest/remove-nest-provider-to-array"), exports);
|
|
33
33
|
// endregion
|
|
34
|
+
// region angular
|
|
35
|
+
tslib_1.__exportStar(require("./lib/angular/coerce-app-config-provider"), exports);
|
|
36
|
+
// endregion
|
|
34
37
|
// region
|
|
38
|
+
tslib_1.__exportStar(require("./lib/add-provider-to-array"), exports);
|
|
35
39
|
tslib_1.__exportStar(require("./lib/coerce-array-element"), exports);
|
|
36
40
|
tslib_1.__exportStar(require("./lib/coerce-class-constructor"), exports);
|
|
37
41
|
tslib_1.__exportStar(require("./lib/coerce-class-method"), exports);
|
|
@@ -47,5 +51,6 @@ tslib_1.__exportStar(require("./lib/find-function"), exports);
|
|
|
47
51
|
tslib_1.__exportStar(require("./lib/get-class-decorator-arguments"), exports);
|
|
48
52
|
tslib_1.__exportStar(require("./lib/get-class"), exports);
|
|
49
53
|
tslib_1.__exportStar(require("./lib/get-coerce-array-literal-form-object-literal"), exports);
|
|
54
|
+
tslib_1.__exportStar(require("./lib/provider-object"), exports);
|
|
50
55
|
// endregion
|
|
51
56
|
//# 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,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,mEAAyC;AACzC,kEAAwC;AACxC,4EAAkD;AAClD,8DAAoC;AACpC,8EAAoD;AACpD,0DAAgC;AAChC,6FAAmE;AACnE,gEAAsC;AACtC,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, compare?: (ole: ObjectLiteralExpression, po: ProviderObject) => boolean): Expression;
|
|
@@ -0,0 +1,69 @@
|
|
|
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.getFullText().trim()) === po.provide;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}) {
|
|
14
|
+
let expression;
|
|
15
|
+
if (typeof providerObject === 'string') {
|
|
16
|
+
const index = providerArray.getElements().findIndex(element => {
|
|
17
|
+
if (element.getFullText().trim() === providerObject) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
const match = providerObject.match(/^[a-zA-Z0-9]+?\(/);
|
|
21
|
+
if (match) {
|
|
22
|
+
return element.getFullText().trim().startsWith(match[0]);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
});
|
|
26
|
+
if (index === -1) {
|
|
27
|
+
expression = providerArray.addElement(providerObject);
|
|
28
|
+
}
|
|
29
|
+
else if (overwrite) {
|
|
30
|
+
providerArray.removeElement(index);
|
|
31
|
+
expression = providerArray.insertElement(index, providerObject);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
expression = providerArray.getElements()[index];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const index = providerArray.getElements().findIndex(element => {
|
|
39
|
+
if (element instanceof ts_morph_1.ObjectLiteralExpression) {
|
|
40
|
+
return compare(element, providerObject);
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
});
|
|
44
|
+
if (overwrite && index !== -1) {
|
|
45
|
+
providerArray.removeElement(index);
|
|
46
|
+
}
|
|
47
|
+
if (overwrite || index === -1) {
|
|
48
|
+
expression = providerArray.addElement(ts_morph_1.Writers.object((0, utilities_1.DeleteUndefinedProperties)({
|
|
49
|
+
provide: providerObject.provide,
|
|
50
|
+
useClass: providerObject.useClass,
|
|
51
|
+
useFactory: providerObject.useFactory,
|
|
52
|
+
useExisting: providerObject.useExisting,
|
|
53
|
+
useValue: providerObject.useValue,
|
|
54
|
+
deps: providerObject.deps ?
|
|
55
|
+
Array.isArray(providerObject.deps) ? `[ ${providerObject.deps.join(',')} ]` : providerObject.deps :
|
|
56
|
+
undefined,
|
|
57
|
+
multi: providerObject.multi === true ?
|
|
58
|
+
w => w.write('true') :
|
|
59
|
+
providerObject.multi === false ? w => w.write('false') : undefined,
|
|
60
|
+
})));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
expression = providerArray.getElements()[index];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return expression;
|
|
67
|
+
}
|
|
68
|
+
exports.AddProviderToArray = AddProviderToArray;
|
|
69
|
+
//# 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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"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"provider-object.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/provider-object.ts"],"names":[],"mappings":""}
|