@rxap/ts-morph 1.1.0-dev.9 → 1.2.0-dev.0
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 +170 -0
- package/README.md +1 -1
- package/package.json +8 -6
- package/src/index.d.ts +13 -0
- package/src/index.js +13 -0
- package/src/index.js.map +1 -1
- package/src/lib/angular/add-route.d.ts +12 -0
- package/src/lib/angular/add-route.js +77 -0
- package/src/lib/angular/add-route.js.map +1 -0
- package/src/lib/angular/build-route-object.d.ts +20 -0
- package/src/lib/angular/build-route-object.js +68 -0
- package/src/lib/angular/build-route-object.js.map +1 -0
- package/src/lib/angular/coerce-app-config-provider.js +1 -1
- package/src/lib/angular/coerce-app-config-provider.js.map +1 -1
- package/src/lib/angular/coerce-app-navigation.d.ts +13 -0
- package/src/lib/angular/coerce-app-navigation.js +99 -0
- package/src/lib/angular/coerce-app-navigation.js.map +1 -0
- package/src/lib/angular/coerce-app-routes.d.ts +4 -0
- package/src/lib/angular/coerce-app-routes.js +27 -0
- package/src/lib/angular/coerce-app-routes.js.map +1 -0
- package/src/lib/angular/coerce-component-import.d.ts +1 -1
- package/src/lib/angular/coerce-component-import.js +9 -7
- package/src/lib/angular/coerce-component-import.js.map +1 -1
- package/src/lib/angular/coerce-component-input.js +10 -10
- package/src/lib/angular/coerce-component-input.js.map +1 -1
- package/src/lib/angular/coerce-component.d.ts +1 -1
- package/src/lib/angular/coerce-component.js +15 -2
- package/src/lib/angular/coerce-component.js.map +1 -1
- package/src/lib/angular/coerce-layout-routes.d.ts +4 -0
- package/src/lib/angular/coerce-layout-routes.js +63 -0
- package/src/lib/angular/coerce-layout-routes.js.map +1 -0
- package/src/lib/angular/coerce-route-guard.d.ts +6 -0
- package/src/lib/angular/coerce-route-guard.js +34 -0
- package/src/lib/angular/coerce-route-guard.js.map +1 -0
- package/src/lib/angular/coerce-routes.d.ts +8 -0
- package/src/lib/angular/coerce-routes.js +43 -0
- package/src/lib/angular/coerce-routes.js.map +1 -0
- package/src/lib/angular/find-parent-route.d.ts +6 -0
- package/src/lib/angular/find-parent-route.js +76 -0
- package/src/lib/angular/find-parent-route.js.map +1 -0
- package/src/lib/angular/get-component-decorator-object.js +5 -5
- package/src/lib/angular/get-component-decorator-object.js.map +1 -1
- package/src/lib/angular/remove-component-import.d.ts +3 -0
- package/src/lib/angular/remove-component-import.js +23 -0
- package/src/lib/angular/remove-component-import.js.map +1 -0
- package/src/lib/angular/remove-route.d.ts +13 -0
- package/src/lib/angular/remove-route.js +58 -0
- package/src/lib/angular/remove-route.js.map +1 -0
- package/src/lib/coerce-array-element.js +6 -1
- package/src/lib/coerce-array-element.js.map +1 -1
- package/src/lib/coerce-default-class-export.d.ts +1 -1
- package/src/lib/coerce-default-class-export.js +3 -16
- package/src/lib/coerce-default-class-export.js.map +1 -1
- package/src/lib/coerce-default-export.d.ts +2 -0
- package/src/lib/coerce-default-export.js +14 -0
- package/src/lib/coerce-default-export.js.map +1 -0
- package/src/lib/coerce-dependency-injection.d.ts +1 -1
- package/src/lib/coerce-dependency-injection.js +42 -31
- package/src/lib/coerce-dependency-injection.js.map +1 -1
- package/src/lib/coerce-imports.js +10 -0
- package/src/lib/coerce-imports.js.map +1 -1
- package/src/lib/coerce-statements.d.ts +1 -1
- package/src/lib/coerce-statements.js +8 -3
- package/src/lib/coerce-statements.js.map +1 -1
- package/src/lib/data-property.d.ts +10 -6
- package/src/lib/data-property.js +31 -7
- package/src/lib/data-property.js.map +1 -1
- package/src/lib/get-coerce-array-literal-form-object-literal.d.ts +1 -0
- package/src/lib/get-coerce-array-literal-form-object-literal.js +19 -1
- package/src/lib/get-coerce-array-literal-form-object-literal.js.map +1 -1
- package/src/lib/identifier.d.ts +10 -0
- package/src/lib/identifier.js +16 -0
- package/src/lib/identifier.js.map +1 -0
- package/src/lib/nest/add-health-endpoint.js +1 -0
- package/src/lib/nest/add-health-endpoint.js.map +1 -1
- package/src/lib/nest/coerce-nest-app-config.js +14 -1
- package/src/lib/nest/coerce-nest-app-config.js.map +1 -1
- package/src/lib/nest/coerce-nest-cache-module-import.d.ts +4 -0
- package/src/lib/nest/coerce-nest-cache-module-import.js +26 -0
- package/src/lib/nest/coerce-nest-cache-module-import.js.map +1 -0
- package/src/lib/type-import.d.ts +18 -3
- package/src/lib/type-import.js +28 -8
- package/src/lib/type-import.js.map +1 -1
- package/src/lib/upstream-options.d.ts +49 -7
- package/src/lib/upstream-options.js +69 -15
- package/src/lib/upstream-options.js.map +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GetComponentDecoratorObject = void 0;
|
|
4
|
-
const ts_morph_1 = require("
|
|
5
|
-
const
|
|
4
|
+
const ts_morph_1 = require("ts-morph");
|
|
5
|
+
const get_component_class_1 = require("./get-component-class");
|
|
6
6
|
function GetComponentDecoratorObject(sourceFileOrClassDeclaration) {
|
|
7
|
-
const classDeclaration = sourceFileOrClassDeclaration instanceof
|
|
7
|
+
const classDeclaration = sourceFileOrClassDeclaration instanceof ts_morph_1.ClassDeclaration ? sourceFileOrClassDeclaration : (0, get_component_class_1.GetComponentClass)(sourceFileOrClassDeclaration);
|
|
8
8
|
const componentDecorator = classDeclaration.getDecorator('Component');
|
|
9
9
|
let componentOptions = componentDecorator.getArguments()[0];
|
|
10
10
|
if (!componentOptions) {
|
|
11
|
-
componentOptions = componentDecorator.addArgument(
|
|
11
|
+
componentOptions = componentDecorator.addArgument(ts_morph_1.Writers.object({}));
|
|
12
12
|
}
|
|
13
|
-
if (!(componentOptions instanceof
|
|
13
|
+
if (!(componentOptions instanceof ts_morph_1.ObjectLiteralExpression)) {
|
|
14
14
|
throw new Error('The Component options is not an object literal expression');
|
|
15
15
|
}
|
|
16
16
|
return componentOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-component-decorator-object.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/get-component-decorator-object.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"get-component-decorator-object.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/get-component-decorator-object.ts"],"names":[],"mappings":";;;AAAA,uCAKkB;AAClB,+DAA0D;AAE1D,SAAgB,2BAA2B,CACzC,4BAA2D;IAG3D,MAAM,gBAAgB,GAAG,4BAA4B,YAAY,2BAAgB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAA,uCAAiB,EAAC,4BAA4B,CAAC,CAAC;IAGnK,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAE,CAAC;IACvE,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC,gBAAgB,EAAE;QACrB,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;KACvE;IAED,IAAI,CAAC,CAAC,gBAAgB,YAAY,kCAAuB,CAAC,EAAE;QAC1D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAC9E;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAnBD,kEAmBC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveComponentImport = void 0;
|
|
4
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
5
|
+
const ts_morph_2 = require("ts-morph");
|
|
6
|
+
function RemoveComponentImport(sourceFileOrClassDeclaration, componentImport) {
|
|
7
|
+
var _a, _b, _c;
|
|
8
|
+
const classDeclaration = sourceFileOrClassDeclaration instanceof ts_morph_2.ClassDeclaration ? sourceFileOrClassDeclaration : (0, ts_morph_1.GetComponentClass)(sourceFileOrClassDeclaration);
|
|
9
|
+
const sourceFile = sourceFileOrClassDeclaration instanceof ts_morph_2.SourceFile ? sourceFileOrClassDeclaration : sourceFileOrClassDeclaration.getSourceFile();
|
|
10
|
+
const importName = typeof componentImport === 'string' ? componentImport : (_a = componentImport.namedImport) !== null && _a !== void 0 ? _a : componentImport.name;
|
|
11
|
+
(_b = sourceFile.getImportDeclaration(importDeclaration => importDeclaration.getNamedImports().some(namedImport => namedImport.getName() === importName))) === null || _b === void 0 ? void 0 : _b.remove();
|
|
12
|
+
if ((0, ts_morph_1.IsTypeImport)(componentImport) && componentImport.moduleSpecifier) {
|
|
13
|
+
(_c = sourceFile.getImportDeclaration(componentImport.moduleSpecifier)) === null || _c === void 0 ? void 0 : _c.remove();
|
|
14
|
+
}
|
|
15
|
+
const componentDecoratorObject = (0, ts_morph_1.GetComponentDecoratorObject)(classDeclaration);
|
|
16
|
+
const importsArray = (0, ts_morph_1.GetArrayLiteralFromObjectLiteral)(componentDecoratorObject, 'imports');
|
|
17
|
+
const element = importsArray === null || importsArray === void 0 ? void 0 : importsArray.getElements().find(e => e.getText().includes(importName));
|
|
18
|
+
if (element) {
|
|
19
|
+
importsArray === null || importsArray === void 0 ? void 0 : importsArray.removeElement(element);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.RemoveComponentImport = RemoveComponentImport;
|
|
23
|
+
//# sourceMappingURL=remove-component-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-component-import.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/remove-component-import.ts"],"names":[],"mappings":";;;AAAA,6CAMwB;AACxB,uCAGkB;AAElB,SAAgB,qBAAqB,CACnC,4BAA2D,EAC3D,eAAoC;;IAGpC,MAAM,gBAAgB,GAAG,4BAA4B,YAAY,2BAAgB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAA,4BAAiB,EAAC,4BAA4B,CAAC,CAAC;IACnK,MAAM,UAAU,GAAG,4BAA4B,YAAY,qBAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAAC,aAAa,EAAE,CAAC;IAEpJ,MAAM,UAAU,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAA,eAAe,CAAC,WAAW,mCAAI,eAAe,CAAC,IAAI,CAAC;IAE/H,MAAA,UAAU,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,0CAAE,MAAM,EAAE,CAAC;IAE9J,IAAI,IAAA,uBAAY,EAAC,eAAe,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE;QACpE,MAAA,UAAU,CAAC,oBAAoB,CAAC,eAAe,CAAC,eAAe,CAAC,0CAAE,MAAM,EAAE,CAAC;KAC5E;IAED,MAAM,wBAAwB,GAAG,IAAA,sCAA2B,EAAC,gBAAgB,CAAC,CAAC;IAE/E,MAAM,YAAY,GAAG,IAAA,2CAAgC,EAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IAE3F,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,EAAE;QACX,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAC,OAAO,CAAC,CAAC;KACtC;AAEH,CAAC;AAzBD,sDAyBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SourceFile } from 'ts-morph';
|
|
2
|
+
import 'colors';
|
|
3
|
+
export interface RemoveRouteOptions {
|
|
4
|
+
path?: string[];
|
|
5
|
+
index?: number;
|
|
6
|
+
loadRemoteModule?: string | {
|
|
7
|
+
name: string;
|
|
8
|
+
entry?: string;
|
|
9
|
+
};
|
|
10
|
+
component?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function RemoveRoute(sourceFile: SourceFile, options: RemoveRouteOptions): void;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoveRoute = void 0;
|
|
4
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
5
|
+
const ts_morph_2 = require("ts-morph");
|
|
6
|
+
require("colors");
|
|
7
|
+
function RemoveRoute(sourceFile, options) {
|
|
8
|
+
var _a;
|
|
9
|
+
const { path, component, index, loadRemoteModule, name = 'ROUTES' } = options;
|
|
10
|
+
if (!path && !component && index === undefined && !loadRemoteModule) {
|
|
11
|
+
throw new Error('You must provide a path or a component or a index or a loadRemoteModule to remove a route');
|
|
12
|
+
}
|
|
13
|
+
if (path) {
|
|
14
|
+
throw new Error('Not implemented');
|
|
15
|
+
}
|
|
16
|
+
const variableDeclaration = (0, ts_morph_1.CoerceVariableDeclaration)(sourceFile, name, { initializer: '[]', type: 'Route[]' });
|
|
17
|
+
const arrayLiteralExpression = variableDeclaration.getInitializerIfKindOrThrow(ts_morph_2.SyntaxKind.ArrayLiteralExpression);
|
|
18
|
+
if (index !== undefined) {
|
|
19
|
+
arrayLiteralExpression.removeElement(index);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const items = arrayLiteralExpression.getElements();
|
|
23
|
+
for (const item of items) {
|
|
24
|
+
if (item.isKind(ts_morph_2.SyntaxKind.ObjectLiteralExpression)) {
|
|
25
|
+
const obj = item.asKindOrThrow(ts_morph_2.SyntaxKind.ObjectLiteralExpression);
|
|
26
|
+
if (component) {
|
|
27
|
+
const componentProperty = obj.getProperty('component');
|
|
28
|
+
if (componentProperty) {
|
|
29
|
+
const value = componentProperty.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment).getInitializer();
|
|
30
|
+
if (value.getText() === component) {
|
|
31
|
+
arrayLiteralExpression.removeElement(item);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (loadRemoteModule) {
|
|
37
|
+
const loadChildrenProperty = obj.getProperty('loadChildren');
|
|
38
|
+
if (loadChildrenProperty) {
|
|
39
|
+
const value = loadChildrenProperty.asKindOrThrow(ts_morph_2.SyntaxKind.PropertyAssignment).getInitializer();
|
|
40
|
+
let regex;
|
|
41
|
+
if (typeof loadRemoteModule === 'string') {
|
|
42
|
+
regex = new RegExp(`^\\(\\) =>[\\s\\S]+loadRemoteModule\\('${loadRemoteModule}'`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
regex = new RegExp(`^\\(\\) =>[\\s\\S]+loadRemoteModule\\('${loadRemoteModule.name}',\\s*'${(_a = loadRemoteModule.entry) !== null && _a !== void 0 ? _a : './routes'}'\\)`);
|
|
46
|
+
}
|
|
47
|
+
if (value.getText().match(regex)) {
|
|
48
|
+
arrayLiteralExpression.removeElement(item);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
console.log('No route found to remove'.yellow);
|
|
56
|
+
}
|
|
57
|
+
exports.RemoveRoute = RemoveRoute;
|
|
58
|
+
//# sourceMappingURL=remove-route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-route.js","sourceRoot":"","sources":["../../../../../../packages/ts-morph/src/lib/angular/remove-route.ts"],"names":[],"mappings":";;;AAAA,6CAA2D;AAC3D,uCAGkB;AAClB,kBAAgB;AAUhB,SAAgB,WAAW,CAAC,UAAsB,EAAE,OAA2B;;IAE7E,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,IAAI,GAAG,QAAQ,EAChB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE;QACnE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;KAC9G;IAED,IAAI,IAAI,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACpC;IAED,MAAM,mBAAmB,GAAG,IAAA,oCAAyB,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhH,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;IAElH,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO;KACR;IAED,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAEnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAU,CAAC,uBAAuB,CAAC,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC;YACnE,IAAI,SAAS,EAAE;gBACb,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,iBAAiB,EAAE;oBACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,EAAG,CAAC;oBAC/F,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;wBACjC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC3C,OAAO;qBACR;iBACF;aACF;YACD,IAAI,gBAAgB,EAAE;gBACpB,MAAM,oBAAoB,GAAG,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC7D,IAAI,oBAAoB,EAAE;oBACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,qBAAU,CAAC,kBAAkB,CAAC,CAAC,cAAc,EAAG,CAAC;oBAClG,IAAI,KAAa,CAAC;oBAClB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;wBACxC,KAAK,GAAG,IAAI,MAAM,CAAC,0CAA0C,gBAAgB,GAAG,CAAC,CAAC;qBACnF;yBAAM;wBACL,KAAK,GAAG,IAAI,MAAM,CAAC,0CAA0C,gBAAgB,CAAC,IAAI,UAAU,MAAA,gBAAgB,CAAC,KAAK,mCAAI,UAAU,MAAM,CAAC,CAAC;qBACzI;oBACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBAChC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC3C,OAAO;qBACR;iBACF;aACF;SACF;KACF;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAGjD,CAAC;AAhED,kCAgEC"}
|
|
@@ -36,7 +36,12 @@ function CoerceArrayElement(array, element, findExisting, insertAt) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
if (insertAt) {
|
|
39
|
-
|
|
39
|
+
const index = insertAt(array);
|
|
40
|
+
if (index < 0) {
|
|
41
|
+
console.warn('The insertAt function returned a negative index - normalizing to 0');
|
|
42
|
+
return array.insertElement(0, element);
|
|
43
|
+
}
|
|
44
|
+
return array.insertElement(index, element);
|
|
40
45
|
}
|
|
41
46
|
return array.addElement(element);
|
|
42
47
|
}
|
|
@@ -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,0BAA0B,CAAC,OAAe;IACxD,OAAO,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AAC3D,CAAC;AAFD,gEAEC;AAED,SAAgB,kBAAkB,CAChC,KAA6B,EAC7B,OAAgC,EAChC,YAAyC,EACzC,QAAoD;IAGpD,IAAI,CAAC,YAAY,EAAE;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;SAC3F;KACF;IAED,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,
|
|
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,0BAA0B,CAAC,OAAe;IACxD,OAAO,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;AAC3D,CAAC;AAFD,gEAEC;AAED,SAAgB,kBAAkB,CAChC,KAA6B,EAC7B,OAAgC,EAChC,YAAyC,EACzC,QAAoD;IAGpD,IAAI,CAAC,YAAY,EAAE;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;SAC3F;KACF;IAED,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,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACxC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAC5C;IAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnC,CAAC;AAhCD,gDAgCC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ClassDeclaration, SourceFile } from 'ts-morph';
|
|
2
|
-
export declare function CoerceDefaultClassExport(sourceFileOrClassDeclaration: SourceFile | ClassDeclaration
|
|
2
|
+
export declare function CoerceDefaultClassExport(sourceFileOrClassDeclaration: SourceFile | ClassDeclaration): void;
|
|
@@ -2,26 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceDefaultClassExport = void 0;
|
|
4
4
|
const ts_morph_1 = require("ts-morph");
|
|
5
|
-
|
|
5
|
+
const coerce_default_export_1 = require("./coerce-default-export");
|
|
6
|
+
function CoerceDefaultClassExport(sourceFileOrClassDeclaration) {
|
|
6
7
|
const classDeclaration = sourceFileOrClassDeclaration instanceof ts_morph_1.SourceFile ? sourceFileOrClassDeclaration.getClasses().filter(cd => !cd.isDefaultExport())[0] : sourceFileOrClassDeclaration;
|
|
7
|
-
const sourceFile = sourceFileOrClassDeclaration instanceof ts_morph_1.SourceFile ? sourceFileOrClassDeclaration : sourceFileOrClassDeclaration.getSourceFile();
|
|
8
8
|
if (!ts_morph_1.ClassDeclaration) {
|
|
9
9
|
throw new Error('No class declaration');
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
console.log('standalone', sourceFile.getExportAssignments().map(ed => ed.getExpression().getText()));
|
|
13
|
-
if (!sourceFile.getExportAssignments().some(ed => ed.getExpression().getText() === classDeclaration.getName())) {
|
|
14
|
-
sourceFile.addExportAssignment({
|
|
15
|
-
isExportEquals: false,
|
|
16
|
-
expression: classDeclaration.getName(),
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
if (!sourceFile.getClasses().some(cd => cd.isDefaultExport() && cd.getName() === classDeclaration.getName())) {
|
|
22
|
-
classDeclaration.setIsDefaultExport(true);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
11
|
+
(0, coerce_default_export_1.CoerceDefaultExport)(classDeclaration);
|
|
25
12
|
}
|
|
26
13
|
exports.CoerceDefaultClassExport = CoerceDefaultClassExport;
|
|
27
14
|
//# sourceMappingURL=coerce-default-class-export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-default-class-export.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-default-class-export.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;
|
|
1
|
+
{"version":3,"file":"coerce-default-class-export.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-default-class-export.ts"],"names":[],"mappings":";;;AAAA,uCAGkB;AAClB,mEAA8D;AAE9D,SAAgB,wBAAwB,CAAC,4BAA2D;IAElG,MAAM,gBAAgB,GAAG,4BAA4B,YAAY,qBAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAE9L,IAAI,CAAC,2BAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,IAAA,2CAAmB,EAAC,gBAAgB,CAAC,CAAC;AAExC,CAAC;AAVD,4DAUC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceDefaultExport = void 0;
|
|
4
|
+
function CoerceDefaultExport(node) {
|
|
5
|
+
const sourceFile = node.getSourceFile();
|
|
6
|
+
if (!sourceFile.getExportAssignments().some(ed => ed.getExpression().getText() === node.getName())) {
|
|
7
|
+
sourceFile.addExportAssignment({
|
|
8
|
+
isExportEquals: false,
|
|
9
|
+
expression: node.getName(),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.CoerceDefaultExport = CoerceDefaultExport;
|
|
14
|
+
//# sourceMappingURL=coerce-default-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-default-export.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-default-export.ts"],"names":[],"mappings":";;;AAMA,SAAgB,mBAAmB,CAAC,IAAgE;IAElG,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;QAClG,UAAU,CAAC,mBAAmB,CAAC;YAC7B,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,IAAI,CAAC,OAAO,EAAG;SAC5B,CAAC,CAAC;KACJ;AAEH,CAAC;AAXD,kDAWC"}
|
|
@@ -9,6 +9,6 @@ export interface InjectionDefinition {
|
|
|
9
9
|
optional?: boolean;
|
|
10
10
|
type?: string;
|
|
11
11
|
scope?: Scope;
|
|
12
|
-
module
|
|
12
|
+
module: Module;
|
|
13
13
|
}
|
|
14
14
|
export declare function CoerceDependencyInjection(sourceFile: SourceFile, definition: InjectionDefinition, structures?: Array<OptionalKind<ImportDeclarationStructure>>): void;
|
|
@@ -2,55 +2,66 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceDependencyInjection = exports.Module = void 0;
|
|
4
4
|
const ts_morph_1 = require("ts-morph");
|
|
5
|
-
const
|
|
5
|
+
const coerce_decorator_1 = require("./coerce-decorator");
|
|
6
6
|
const coerce_imports_1 = require("./coerce-imports");
|
|
7
|
+
const coerce_property_declaration_1 = require("./coerce-property-declaration");
|
|
7
8
|
var Module;
|
|
8
9
|
(function (Module) {
|
|
9
10
|
Module["ANGULAR"] = "@angular/core";
|
|
10
11
|
Module["NEST"] = "@nestjs/common";
|
|
11
12
|
})(Module || (exports.Module = Module = {}));
|
|
12
13
|
function CoerceDependencyInjection(sourceFile, definition, structures = []) {
|
|
13
|
-
var _a, _b
|
|
14
|
-
if (!definition.module) {
|
|
15
|
-
definition.module = Module.ANGULAR;
|
|
16
|
-
}
|
|
14
|
+
var _a, _b;
|
|
17
15
|
const classDeclaration = sourceFile.getClasses()[0];
|
|
18
16
|
if (!classDeclaration) {
|
|
19
17
|
throw new Error('Could not find class declaration');
|
|
20
18
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const constructorDeclaration = classDeclaration.getConstructors()[0];
|
|
20
|
+
if (constructorDeclaration) {
|
|
21
|
+
if (constructorDeclaration.getParameters().some((parameter) => parameter.getName() === definition.parameterName)) {
|
|
22
|
+
console.warn(`Parameter ${definition.parameterName} already exists in constructor`);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
25
|
}
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
type: (_a = definition.type) !== null && _a !== void 0 ? _a : definition.injectionToken,
|
|
29
|
-
scope: (_b = definition.scope) !== null && _b !== void 0 ? _b : ts_morph_1.Scope.Public,
|
|
26
|
+
const propertyDeclaration = (0, coerce_property_declaration_1.CoercePropertyDeclaration)(classDeclaration, definition.parameterName, {
|
|
27
|
+
scope: (_a = definition.scope) !== null && _a !== void 0 ? _a : ts_morph_1.Scope.Public,
|
|
30
28
|
isReadonly: true,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
(
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
});
|
|
30
|
+
if (definition.module === Module.ANGULAR) {
|
|
31
|
+
if (definition.optional) {
|
|
32
|
+
propertyDeclaration.setInitializer(`inject(${definition.injectionToken}, { optional: true })`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
propertyDeclaration.setInitializer(`inject(${definition.injectionToken})`);
|
|
36
|
+
}
|
|
37
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
38
|
+
namedImports: ['inject'],
|
|
39
|
+
moduleSpecifier: definition.module,
|
|
42
40
|
});
|
|
43
|
-
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
(0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'Inject', {
|
|
44
|
+
arguments: [definition.injectionToken],
|
|
45
|
+
});
|
|
46
|
+
if (definition.optional) {
|
|
47
|
+
(0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'Optional', {
|
|
48
|
+
arguments: [],
|
|
49
|
+
});
|
|
50
|
+
propertyDeclaration.setType(`${definition.type} | null`);
|
|
51
|
+
propertyDeclaration.setInitializer('null');
|
|
52
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
53
|
+
namedImports: ['Optional'],
|
|
54
|
+
moduleSpecifier: definition.module,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
propertyDeclaration.setType((_b = definition.type) !== null && _b !== void 0 ? _b : definition.injectionToken);
|
|
59
|
+
}
|
|
44
60
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
45
|
-
namedImports: ['
|
|
61
|
+
namedImports: ['Inject'],
|
|
46
62
|
moduleSpecifier: definition.module,
|
|
47
63
|
});
|
|
48
64
|
}
|
|
49
|
-
constructorDeclaration.addParameter(constructorParameter);
|
|
50
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
51
|
-
namedImports: ['Inject'],
|
|
52
|
-
moduleSpecifier: definition.module,
|
|
53
|
-
});
|
|
54
65
|
(0, coerce_imports_1.CoerceImports)(sourceFile, structures);
|
|
55
66
|
}
|
|
56
67
|
exports.CoerceDependencyInjection = CoerceDependencyInjection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-dependency-injection.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-dependency-injection.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"coerce-dependency-injection.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-dependency-injection.ts"],"names":[],"mappings":";;;AAAA,uCAKkB;AAClB,yDAAqD;AACrD,qDAAiD;AACjD,+EAA0E;AAE1E,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,mCAAyB,CAAA;IACzB,iCAAuB,CAAA;AACzB,CAAC,EAHW,MAAM,sBAAN,MAAM,QAGjB;AAWD,SAAgB,yBAAyB,CACvC,UAAsB,EACtB,UAA+B,EAC/B,aAA8D,EAAE;;IAGhE,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,sBAAsB,EAAE;QAC1B,IAAI,sBAAsB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,EAAE;YAChH,OAAO,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,aAAa,gCAAgC,CAAC,CAAC;YACpF,OAAO;SACR;KACF;IAED,MAAM,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,EAAE;QAChG,KAAK,EAAE,MAAA,UAAU,CAAC,KAAK,mCAAI,gBAAK,CAAC,MAAM;QACvC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE;QACxC,IAAI,UAAU,CAAC,QAAQ,EAAE;YACvB,mBAAmB,CAAC,cAAc,CAAC,UAAU,UAAU,CAAC,cAAc,uBAAuB,CAAC,CAAC;SAChG;aAAM;YACL,mBAAmB,CAAC,cAAc,CAAC,UAAU,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC;SAC5E;QACD,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;YAC1B,eAAe,EAAE,UAAU,CAAC,MAAM;SACnC,CAAC,CAAC;KACJ;SAAM;QACL,IAAA,kCAAe,EAAC,mBAAmB,EAAE,QAAQ,EAAC;YAC5C,SAAS,EAAE,CAAE,UAAU,CAAC,cAAc,CAAE;SACzC,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,EAAE;YACvB,IAAA,kCAAe,EAAC,mBAAmB,EAAE,UAAU,EAAC;gBAC9C,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;YACH,mBAAmB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC;YACzD,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAA,8BAAa,EAAC,UAAU,EAAE;gBACxB,YAAY,EAAE,CAAE,UAAU,CAAE;gBAC5B,eAAe,EAAE,UAAU,CAAC,MAAM;aACnC,CAAC,CAAC;SACJ;aAAM;YACL,mBAAmB,CAAC,OAAO,CAAC,MAAA,UAAU,CAAC,IAAI,mCAAI,UAAU,CAAC,cAAc,CAAC,CAAC;SAC3E;QACD,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,QAAQ,CAAE;YAC1B,eAAe,EAAE,UAAU,CAAC,MAAM;SACnC,CAAC,CAAC;KACJ;IAED,IAAA,8BAAa,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AA3DD,8DA2DC"}
|
|
@@ -33,9 +33,19 @@ function CoerceImports(sourceFile, structures) {
|
|
|
33
33
|
if (defaultImport) {
|
|
34
34
|
coerceDefaultImport(sourceFile, moduleSpecifier, defaultImport);
|
|
35
35
|
}
|
|
36
|
+
if (!namedImports && !namespaceImport && !defaultImport) {
|
|
37
|
+
coerceModuleSpecifierImport(sourceFile, moduleSpecifier);
|
|
38
|
+
}
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
exports.CoerceImports = CoerceImports;
|
|
42
|
+
function coerceModuleSpecifierImport(sourceFile, moduleSpecifier) {
|
|
43
|
+
if (!sourceFile.getImportDeclaration(moduleSpecifier)) {
|
|
44
|
+
sourceFile.addImportDeclaration({
|
|
45
|
+
moduleSpecifier,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
39
49
|
/**
|
|
40
50
|
* This method is used to coerce the default import of a module in a source file. If the import declaration for the specified module exists, it checks for the existence of a default import. If a default import does not exist, it sets the default import to the provided value. If a default import exists and it does not match the provided value, it removes the existing default import and sets it to the provided value. If the import declaration for the specified module does not exist, it adds a new import declaration with the provided module specifier and default import.
|
|
41
51
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-imports.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-imports.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAS9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAC3B,UAAsB,EACtB,UAAsG;IAGtG,KAAK,MAAM,SAAS,IAAI,IAAA,uBAAW,EAAC,UAAU,CAAC,EAAE;QAE/C,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,EACV,aAAa,GACd,GAAG,SAAS,CAAC;QAEd,IAAI,YAAY,EAAE;YAChB,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;SAC3E;QAED,IAAI,eAAe,EAAE;YACnB,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;SACrE;QAED,IAAI,aAAa,EAAE;YACjB,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;SACjE;KAEF;AAEH,CAAC;
|
|
1
|
+
{"version":3,"file":"coerce-imports.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { StatementedNode, StatementStructures, WriterFunction } from 'ts-morph';
|
|
2
|
-
export declare function CoerceStatements(node: StatementedNode, statements: (string | WriterFunction | StatementStructures)[] | string | WriterFunction): void;
|
|
2
|
+
export declare function CoerceStatements(node: StatementedNode, statements: (string | WriterFunction | StatementStructures)[] | string | WriterFunction, overwrite?: boolean): void;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceStatements = void 0;
|
|
4
|
-
function CoerceStatements(node, statements) {
|
|
5
|
-
if (
|
|
6
|
-
|
|
4
|
+
function CoerceStatements(node, statements, overwrite = false) {
|
|
5
|
+
if (overwrite) {
|
|
6
|
+
const length = node.getStatements().length;
|
|
7
|
+
if (length > 0) {
|
|
8
|
+
node.removeStatements([0, length - 1]);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
if (node.getStatements().length === 0) {
|
|
7
12
|
node.addStatements(statements);
|
|
8
13
|
}
|
|
9
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-statements.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-statements.ts"],"names":[],"mappings":";;;AAMA,SAAgB,gBAAgB,CAC9B,IAAqB,EACrB,UAAuF;
|
|
1
|
+
{"version":3,"file":"coerce-statements.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/coerce-statements.ts"],"names":[],"mappings":";;;AAMA,SAAgB,gBAAgB,CAC9B,IAAqB,EACrB,UAAuF,EACvF,SAAS,GAAG,KAAK;IAEjB,IAAI,SAAS,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAC3C,IAAI,MAAM,GAAG,CAAC,EAAE;YACd,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACxC;KACF;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACrC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KAChC;AACH,CAAC;AAdD,4CAcC"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import { TypeImport } from '@rxap/ts-morph';
|
|
2
1
|
import { Normalized } from '@rxap/utilities';
|
|
3
2
|
import { OptionalKind, PropertySignatureStructure, SourceFile } from 'ts-morph';
|
|
4
|
-
import { NormalizedTypeImport } from './type-import';
|
|
3
|
+
import { NormalizedTypeImport, TypeImport, TypeName } from './type-import';
|
|
5
4
|
export interface DataProperty {
|
|
6
5
|
name: string;
|
|
7
|
-
type?:
|
|
6
|
+
type?: TypeImport | TypeName;
|
|
8
7
|
isArray?: boolean;
|
|
9
8
|
isOptional?: boolean;
|
|
10
9
|
source?: string | null;
|
|
10
|
+
/**
|
|
11
|
+
* If set the property is an object with the given members
|
|
12
|
+
*/
|
|
13
|
+
memberList?: Array<string | DataProperty>;
|
|
11
14
|
}
|
|
12
|
-
export interface NormalizedDataProperty extends Readonly<Normalized<DataProperty
|
|
15
|
+
export interface NormalizedDataProperty extends Readonly<Normalized<Omit<DataProperty, 'memberList'>>> {
|
|
13
16
|
type: NormalizedTypeImport;
|
|
14
17
|
source: string | null;
|
|
18
|
+
memberList: Array<NormalizedDataProperty>;
|
|
15
19
|
}
|
|
16
|
-
export declare function NormalizeDataProperty(property:
|
|
17
|
-
export declare function NormalizeDataPropertyList(propertyList?: Array<string | DataProperty>, defaultType?:
|
|
20
|
+
export declare function NormalizeDataProperty(property: TypeName | Readonly<DataProperty>, defaultType?: TypeImport | TypeName, isArray?: boolean): NormalizedDataProperty;
|
|
21
|
+
export declare function NormalizeDataPropertyList(propertyList?: Array<string | DataProperty>, defaultType?: TypeImport | TypeName): Array<NormalizedDataProperty>;
|
|
18
22
|
export declare function NormalizeDataPropertyToPropertySignatureStructure(property: DataProperty, sourceFile: SourceFile): OptionalKind<PropertySignatureStructure>;
|
package/src/lib/data-property.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NormalizeDataPropertyToPropertySignatureStructure = exports.NormalizeDataPropertyList = exports.NormalizeDataProperty = void 0;
|
|
4
|
+
const utilities_1 = require("@rxap/utilities");
|
|
4
5
|
const type_import_1 = require("./type-import");
|
|
5
6
|
const write_type_1 = require("./write-type");
|
|
6
7
|
function guessType(name) {
|
|
@@ -25,26 +26,31 @@ function guessType(name) {
|
|
|
25
26
|
}
|
|
26
27
|
return 'unknown';
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
const notAllowedInVariableNames = [
|
|
30
|
+
" ", "!", "\"", "#", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/",
|
|
31
|
+
":", ";", "<", "=", ">", "?", "@", "[", "\\", "]", "^", "`", "{", "|", "}", "~"
|
|
32
|
+
];
|
|
33
|
+
function NormalizeDataProperty(property, defaultType = 'unknown', isArray = false) {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f;
|
|
30
35
|
let name;
|
|
31
36
|
let type = 'unknown';
|
|
32
|
-
let isArray = false;
|
|
33
37
|
let isOptional = false;
|
|
34
38
|
let source = null;
|
|
39
|
+
let memberList = [];
|
|
35
40
|
if (typeof property === 'string') {
|
|
36
41
|
// name:type
|
|
37
42
|
// username:string
|
|
38
43
|
const fragments = property.split(':');
|
|
39
44
|
name = fragments[0];
|
|
40
|
-
type = fragments[1] ||
|
|
45
|
+
type = fragments[1] || type; // convert an empty string to undefined
|
|
41
46
|
}
|
|
42
47
|
else {
|
|
43
48
|
name = property.name;
|
|
44
|
-
type = (_a = property.type) !== null && _a !== void 0 ? _a :
|
|
49
|
+
type = (_a = property.type) !== null && _a !== void 0 ? _a : type;
|
|
45
50
|
isArray = (_b = property.isArray) !== null && _b !== void 0 ? _b : isArray;
|
|
46
51
|
isOptional = (_c = property.isOptional) !== null && _c !== void 0 ? _c : isOptional;
|
|
47
52
|
source = (_d = property.source) !== null && _d !== void 0 ? _d : source;
|
|
53
|
+
memberList = NormalizeDataPropertyList(property.memberList, defaultType);
|
|
48
54
|
}
|
|
49
55
|
if (name.endsWith('[]')) {
|
|
50
56
|
isArray = true;
|
|
@@ -55,16 +61,34 @@ function NormalizeDataProperty(property, defaultType = 'unknown') {
|
|
|
55
61
|
name = name.slice(6, -1);
|
|
56
62
|
}
|
|
57
63
|
type !== null && type !== void 0 ? type : (type = defaultType);
|
|
58
|
-
if (type === 'unknown') {
|
|
59
|
-
|
|
64
|
+
if (type === 'unknown' || (typeof type === 'object' && type.name === 'unknown')) {
|
|
65
|
+
if (defaultType === 'unknown') {
|
|
66
|
+
type = guessType(name);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
type = defaultType;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (memberList.length) {
|
|
73
|
+
type = type_import_1.TypeNames.Deferred;
|
|
60
74
|
}
|
|
61
75
|
name = name.replace(/\.\?/g, '.').split('.').join('.?');
|
|
76
|
+
if (!isNaN(Number(name[0]))) {
|
|
77
|
+
name = `_${name}`;
|
|
78
|
+
}
|
|
79
|
+
if (notAllowedInVariableNames.some(c => name.includes(c))) {
|
|
80
|
+
const leadingUnderscoreCount = (_f = (_e = name.match(/^_*/)) === null || _e === void 0 ? void 0 : _e[0].length) !== null && _f !== void 0 ? _f : 0;
|
|
81
|
+
const nameWithoutLeadingUnderscores = name.slice(leadingUnderscoreCount);
|
|
82
|
+
name = (0, utilities_1.camelize)(nameWithoutLeadingUnderscores);
|
|
83
|
+
name = '_'.repeat(leadingUnderscoreCount) + name;
|
|
84
|
+
}
|
|
62
85
|
return Object.freeze({
|
|
63
86
|
name,
|
|
64
87
|
type: (0, type_import_1.NormalizeTypeImport)(type),
|
|
65
88
|
isArray,
|
|
66
89
|
isOptional,
|
|
67
90
|
source,
|
|
91
|
+
memberList,
|
|
68
92
|
});
|
|
69
93
|
}
|
|
70
94
|
exports.NormalizeDataProperty = NormalizeDataProperty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-property.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/data-property.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"data-property.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/data-property.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { ArrayLiteralExpression, ObjectLiteralExpression } from 'ts-morph';
|
|
2
|
+
export declare function GetArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression | null;
|
|
2
3
|
export declare function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral: ObjectLiteralExpression, propertyKey: string): ArrayLiteralExpression;
|
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetCoerceArrayLiteralFromObjectLiteral = void 0;
|
|
3
|
+
exports.GetCoerceArrayLiteralFromObjectLiteral = exports.GetArrayLiteralFromObjectLiteral = void 0;
|
|
4
4
|
const ts_morph_1 = require("ts-morph");
|
|
5
|
+
function GetArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
|
|
6
|
+
const arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
|
|
7
|
+
if (!arrayLiteralAssignment) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
if (!(arrayLiteralAssignment instanceof ts_morph_1.PropertyAssignment)) {
|
|
11
|
+
throw new Error('The imports property is not type of Property Assignment!');
|
|
12
|
+
}
|
|
13
|
+
const arrayLiteral = arrayLiteralAssignment.getInitializer();
|
|
14
|
+
if (!arrayLiteral) {
|
|
15
|
+
throw new Error('The imports property a not a initializer');
|
|
16
|
+
}
|
|
17
|
+
if (!(arrayLiteral instanceof ts_morph_1.ArrayLiteralExpression)) {
|
|
18
|
+
throw new Error('The imports property initializer is not an array');
|
|
19
|
+
}
|
|
20
|
+
return arrayLiteral;
|
|
21
|
+
}
|
|
22
|
+
exports.GetArrayLiteralFromObjectLiteral = GetArrayLiteralFromObjectLiteral;
|
|
5
23
|
function GetCoerceArrayLiteralFromObjectLiteral(objectLiteral, propertyKey) {
|
|
6
24
|
let arrayLiteralAssignment = objectLiteral.getProperty(propertyKey);
|
|
7
25
|
if (!arrayLiteralAssignment) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}
|
|
1
|
+
{"version":3,"file":"get-coerce-array-literal-form-object-literal.js","sourceRoot":"","sources":["../../../../../packages/ts-morph/src/lib/get-coerce-array-literal-form-object-literal.ts"],"names":[],"mappings":";;;AAAA,uCAIkB;AAElB,SAAgB,gCAAgC,CAC9C,aAAsC,EACtC,WAAmB;IAGnB,MAAM,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA3BD,4EA2BC;AAED,SAAgB,sCAAsC,CACpD,aAAsC,EACtC,WAAmB;IAGnB,IAAI,sBAAsB,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpE,IAAI,CAAC,sBAAsB,EAAE;QAC3B,sBAAsB,GAAG,aAAa,CAAC,qBAAqB,CAAC;YAC3D,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,sBAAsB,YAAY,6BAAkB,CAAC,EAAE;QAC3D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IAED,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,EAAE,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,CAAC,YAAY,YAAY,iCAAsB,CAAC,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,OAAO,YAAY,CAAC;AAEtB,CAAC;AA9BD,wFA8BC"}
|