@abp/ng.schematics 5.0.1 → 5.0.2
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/README.md +3 -3
- package/collection.json +29 -29
- package/commands/api/files-enum/proxy/__namespace@dir__/__name@kebab__.enum.ts.template +8 -8
- package/commands/api/files-model/proxy/__namespace@dir__/models.ts.template +9 -9
- package/commands/api/files-service/proxy/__namespace@dir__/__name@kebab__.service.ts.template +25 -25
- package/commands/api/index.d.ts +2 -2
- package/commands/api/index.js +112 -112
- package/commands/api/schema.json +45 -45
- package/commands/proxy-add/index.d.ts +2 -2
- package/commands/proxy-add/index.js +41 -41
- package/commands/proxy-add/schema.json +45 -45
- package/commands/proxy-index/index.d.ts +4 -4
- package/commands/proxy-index/index.js +14 -14
- package/commands/proxy-index/schema.json +18 -18
- package/commands/proxy-refresh/index.d.ts +3 -3
- package/commands/proxy-refresh/index.js +27 -27
- package/commands/proxy-refresh/schema.json +45 -45
- package/commands/proxy-remove/index.d.ts +3 -3
- package/commands/proxy-remove/index.js +33 -33
- package/commands/proxy-remove/schema.json +45 -45
- package/constants/api.d.ts +1 -1
- package/constants/api.js +4 -4
- package/constants/index.d.ts +4 -4
- package/constants/index.js +16 -16
- package/constants/proxy.d.ts +4 -4
- package/constants/proxy.js +24 -24
- package/constants/system-types.d.ts +1 -1
- package/constants/system-types.js +27 -27
- package/constants/volo.d.ts +1 -1
- package/constants/volo.js +4 -4
- package/enums/binding-source-id.d.ts +6 -6
- package/enums/binding-source-id.js +10 -10
- package/enums/exception.d.ts +16 -16
- package/enums/exception.js +2 -2
- package/enums/import-keyword.d.ts +4 -4
- package/enums/import-keyword.js +8 -8
- package/enums/index.d.ts +4 -4
- package/enums/index.js +16 -16
- package/enums/method-modifier.d.ts +6 -6
- package/enums/method-modifier.js +10 -10
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/models/api-definition.d.ts +72 -72
- package/models/api-definition.js +2 -2
- package/models/generate-proxy-schema.d.ts +18 -18
- package/models/generate-proxy-schema.js +2 -2
- package/models/import.d.ts +11 -11
- package/models/import.js +13 -13
- package/models/index.d.ts +10 -10
- package/models/index.js +22 -22
- package/models/method.d.ts +31 -31
- package/models/method.js +61 -61
- package/models/model.d.ts +48 -48
- package/models/model.js +71 -71
- package/models/project.d.ts +5 -5
- package/models/project.js +2 -2
- package/models/proxy-config.d.ts +4 -4
- package/models/proxy-config.js +2 -2
- package/models/service.d.ts +21 -21
- package/models/service.js +11 -11
- package/models/tree.d.ts +1 -1
- package/models/tree.js +2 -2
- package/models/util.d.ts +7 -7
- package/models/util.js +2 -2
- package/package.json +1 -1
- package/test-setup.d.ts +1 -1
- package/test-setup.js +3 -3
- package/utils/angular/ast-utils.d.ts +115 -115
- package/utils/angular/ast-utils.js +598 -598
- package/utils/angular/change.d.ts +66 -66
- package/utils/angular/change.js +96 -96
- package/utils/angular/config.d.ts +455 -455
- package/utils/angular/config.js +70 -70
- package/utils/angular/dependencies.d.ts +23 -23
- package/utils/angular/dependencies.js +58 -58
- package/utils/angular/find-module.d.ts +35 -35
- package/utils/angular/find-module.js +105 -105
- package/utils/angular/index.d.ts +17 -17
- package/utils/angular/index.js +29 -29
- package/utils/angular/json-file.d.ts +23 -23
- package/utils/angular/json-file.js +61 -61
- package/utils/angular/json-utils.d.ts +14 -14
- package/utils/angular/json-utils.js +158 -158
- package/utils/angular/latest-versions.d.ts +18 -18
- package/utils/angular/latest-versions.js +26 -26
- package/utils/angular/lint-fix.d.ts +9 -9
- package/utils/angular/lint-fix.js +41 -41
- package/utils/angular/ng-ast-utils.d.ts +5 -5
- package/utils/angular/ng-ast-utils.js +75 -75
- package/utils/angular/parse-name.d.ts +13 -13
- package/utils/angular/parse-name.js +21 -21
- package/utils/angular/paths.d.ts +8 -8
- package/utils/angular/paths.js +21 -21
- package/utils/angular/project-targets.d.ts +9 -9
- package/utils/angular/project-targets.js +15 -15
- package/utils/angular/tsconfig.d.ts +16 -16
- package/utils/angular/tsconfig.js +62 -62
- package/utils/angular/validation.d.ts +4 -4
- package/utils/angular/validation.js +73 -73
- package/utils/angular/workspace-models.d.ts +159 -159
- package/utils/angular/workspace-models.js +29 -29
- package/utils/angular/workspace.d.ts +18 -18
- package/utils/angular/workspace.js +75 -75
- package/utils/api.d.ts +2 -2
- package/utils/api.js +8 -8
- package/utils/ast.d.ts +4 -4
- package/utils/ast.js +23 -23
- package/utils/barrel.d.ts +4 -4
- package/utils/barrel.js +92 -92
- package/utils/common.d.ts +6 -6
- package/utils/common.js +33 -33
- package/utils/enum.d.ts +18 -18
- package/utils/enum.js +40 -40
- package/utils/file.d.ts +2 -2
- package/utils/file.js +9 -9
- package/utils/generics.d.ts +24 -24
- package/utils/generics.js +87 -87
- package/utils/import.d.ts +3 -3
- package/utils/import.js +11 -11
- package/utils/index.d.ts +19 -19
- package/utils/index.js +31 -31
- package/utils/model.d.ts +11 -11
- package/utils/model.js +141 -141
- package/utils/namespace.d.ts +1 -1
- package/utils/namespace.js +18 -18
- package/utils/path.d.ts +2 -2
- package/utils/path.js +36 -36
- package/utils/rule.d.ts +4 -4
- package/utils/rule.js +27 -27
- package/utils/service.d.ts +6 -6
- package/utils/service.js +82 -82
- package/utils/source.d.ts +13 -13
- package/utils/source.js +162 -162
- package/utils/text.d.ts +9 -9
- package/utils/text.js +46 -46
- package/utils/tree.d.ts +13 -13
- package/utils/tree.js +56 -56
- package/utils/type.d.ts +12 -12
- package/utils/type.js +102 -102
- package/utils/workspace.d.ts +8 -8
- package/utils/workspace.js +66 -66
package/utils/enum.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Type } from '../models';
|
|
2
|
-
export interface EnumGeneratorParams {
|
|
3
|
-
targetPath: string;
|
|
4
|
-
solution: string;
|
|
5
|
-
types: Record<string, Type>;
|
|
6
|
-
serviceImports: Record<string, string[]>;
|
|
7
|
-
modelImports: Record<string, string[]>;
|
|
8
|
-
}
|
|
9
|
-
export declare function isEnumImport(path: string): boolean;
|
|
10
|
-
export declare function getEnumNamesFromImports(serviceImports: Record<string, string[]>): string[];
|
|
11
|
-
export declare function createImportRefToEnumMapper({ solution, types }: EnumGeneratorParams): (ref: string) => {
|
|
12
|
-
namespace: string;
|
|
13
|
-
name: string;
|
|
14
|
-
members: {
|
|
15
|
-
key: string;
|
|
16
|
-
value: number;
|
|
17
|
-
}[];
|
|
18
|
-
};
|
|
1
|
+
import { Type } from '../models';
|
|
2
|
+
export interface EnumGeneratorParams {
|
|
3
|
+
targetPath: string;
|
|
4
|
+
solution: string;
|
|
5
|
+
types: Record<string, Type>;
|
|
6
|
+
serviceImports: Record<string, string[]>;
|
|
7
|
+
modelImports: Record<string, string[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare function isEnumImport(path: string): boolean;
|
|
10
|
+
export declare function getEnumNamesFromImports(serviceImports: Record<string, string[]>): string[];
|
|
11
|
+
export declare function createImportRefToEnumMapper({ solution, types }: EnumGeneratorParams): (ref: string) => {
|
|
12
|
+
namespace: string;
|
|
13
|
+
name: string;
|
|
14
|
+
members: {
|
|
15
|
+
key: string;
|
|
16
|
+
value: number;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
package/utils/enum.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createImportRefToEnumMapper = exports.getEnumNamesFromImports = exports.isEnumImport = void 0;
|
|
4
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
-
const common_1 = require("./common");
|
|
6
|
-
const namespace_1 = require("./namespace");
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
-
const shouldQuote = require('should-quote');
|
|
9
|
-
function isEnumImport(path) {
|
|
10
|
-
return path.endsWith('.enum');
|
|
11
|
-
}
|
|
12
|
-
exports.isEnumImport = isEnumImport;
|
|
13
|
-
function getEnumNamesFromImports(serviceImports) {
|
|
14
|
-
return Object.keys(serviceImports)
|
|
15
|
-
.filter(isEnumImport)
|
|
16
|
-
.reduce((acc, path) => {
|
|
17
|
-
serviceImports[path].forEach(_import => acc.push(_import));
|
|
18
|
-
return acc;
|
|
19
|
-
}, []);
|
|
20
|
-
}
|
|
21
|
-
exports.getEnumNamesFromImports = getEnumNamesFromImports;
|
|
22
|
-
function createImportRefToEnumMapper({ solution, types }) {
|
|
23
|
-
return (ref) => {
|
|
24
|
-
const { enumNames, enumValues } = types[ref];
|
|
25
|
-
if (!enumNames || !enumValues)
|
|
26
|
-
throw new schematics_1.SchematicsException(common_1.interpolate("[Type Definition Not Found] There is no type definition for \"{0}\"." /* NoTypeDefinition */, ref));
|
|
27
|
-
const namespace = namespace_1.parseNamespace(solution, ref);
|
|
28
|
-
const members = enumNames.map((key, i) => ({
|
|
29
|
-
key: shouldQuote(key) ? `'${key}'` : key,
|
|
30
|
-
value: enumValues[i],
|
|
31
|
-
}));
|
|
32
|
-
return {
|
|
33
|
-
namespace,
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
35
|
-
name: ref.split('.').pop(),
|
|
36
|
-
members,
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
exports.createImportRefToEnumMapper = createImportRefToEnumMapper;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createImportRefToEnumMapper = exports.getEnumNamesFromImports = exports.isEnumImport = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const namespace_1 = require("./namespace");
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
+
const shouldQuote = require('should-quote');
|
|
9
|
+
function isEnumImport(path) {
|
|
10
|
+
return path.endsWith('.enum');
|
|
11
|
+
}
|
|
12
|
+
exports.isEnumImport = isEnumImport;
|
|
13
|
+
function getEnumNamesFromImports(serviceImports) {
|
|
14
|
+
return Object.keys(serviceImports)
|
|
15
|
+
.filter(isEnumImport)
|
|
16
|
+
.reduce((acc, path) => {
|
|
17
|
+
serviceImports[path].forEach(_import => acc.push(_import));
|
|
18
|
+
return acc;
|
|
19
|
+
}, []);
|
|
20
|
+
}
|
|
21
|
+
exports.getEnumNamesFromImports = getEnumNamesFromImports;
|
|
22
|
+
function createImportRefToEnumMapper({ solution, types }) {
|
|
23
|
+
return (ref) => {
|
|
24
|
+
const { enumNames, enumValues } = types[ref];
|
|
25
|
+
if (!enumNames || !enumValues)
|
|
26
|
+
throw new schematics_1.SchematicsException(common_1.interpolate("[Type Definition Not Found] There is no type definition for \"{0}\"." /* NoTypeDefinition */, ref));
|
|
27
|
+
const namespace = namespace_1.parseNamespace(solution, ref);
|
|
28
|
+
const members = enumNames.map((key, i) => ({
|
|
29
|
+
key: shouldQuote(key) ? `'${key}'` : key,
|
|
30
|
+
value: enumValues[i],
|
|
31
|
+
}));
|
|
32
|
+
return {
|
|
33
|
+
namespace,
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
35
|
+
name: ref.split('.').pop(),
|
|
36
|
+
members,
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
exports.createImportRefToEnumMapper = createImportRefToEnumMapper;
|
|
41
41
|
//# sourceMappingURL=enum.js.map
|
package/utils/file.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Tree } from '@angular-devkit/schematics';
|
|
2
|
-
export declare function createFileSaver(tree: Tree): (filePath: string, fileContent: string) => void;
|
|
1
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
2
|
+
export declare function createFileSaver(tree: Tree): (filePath: string, fileContent: string) => void;
|
package/utils/file.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFileSaver = void 0;
|
|
4
|
-
function createFileSaver(tree) {
|
|
5
|
-
return (filePath, fileContent) => tree.exists(filePath)
|
|
6
|
-
? tree.overwrite(filePath, fileContent)
|
|
7
|
-
: tree.create(filePath, fileContent);
|
|
8
|
-
}
|
|
9
|
-
exports.createFileSaver = createFileSaver;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createFileSaver = void 0;
|
|
4
|
+
function createFileSaver(tree) {
|
|
5
|
+
return (filePath, fileContent) => tree.exists(filePath)
|
|
6
|
+
? tree.overwrite(filePath, fileContent)
|
|
7
|
+
: tree.create(filePath, fileContent);
|
|
8
|
+
}
|
|
9
|
+
exports.createFileSaver = createFileSaver;
|
|
10
10
|
//# sourceMappingURL=file.js.map
|
package/utils/generics.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { Generic } from '../models';
|
|
2
|
-
export declare class GenericsCollector {
|
|
3
|
-
private getTypeIdentifier;
|
|
4
|
-
private _generics;
|
|
5
|
-
get generics(): Generic[];
|
|
6
|
-
apply: (value: string, index: number) => string;
|
|
7
|
-
constructor(getTypeIdentifier?: (type: string) => string);
|
|
8
|
-
private createGeneric;
|
|
9
|
-
private register;
|
|
10
|
-
collect(generics: string[], genericArguments: string[]): void;
|
|
11
|
-
get(index: number): Generic;
|
|
12
|
-
set(index: number, value: Generic): void;
|
|
13
|
-
reset(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare function generateRefWithPlaceholders(sourceType: string): string;
|
|
16
|
-
export declare function extractSimpleGenerics(sourceType: string): {
|
|
17
|
-
identifier: string;
|
|
18
|
-
generics: string[];
|
|
19
|
-
};
|
|
20
|
-
export declare function extractGenerics(sourceType: string): {
|
|
21
|
-
identifier: string;
|
|
22
|
-
generics: string[];
|
|
23
|
-
};
|
|
24
|
-
export declare function replacePlaceholdersWithGenerics(type: string, generics: string[], genericsCollector: GenericsCollector): string;
|
|
1
|
+
import { Generic } from '../models';
|
|
2
|
+
export declare class GenericsCollector {
|
|
3
|
+
private getTypeIdentifier;
|
|
4
|
+
private _generics;
|
|
5
|
+
get generics(): Generic[];
|
|
6
|
+
apply: (value: string, index: number) => string;
|
|
7
|
+
constructor(getTypeIdentifier?: (type: string) => string);
|
|
8
|
+
private createGeneric;
|
|
9
|
+
private register;
|
|
10
|
+
collect(generics: string[], genericArguments: string[]): void;
|
|
11
|
+
get(index: number): Generic;
|
|
12
|
+
set(index: number, value: Generic): void;
|
|
13
|
+
reset(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function generateRefWithPlaceholders(sourceType: string): string;
|
|
16
|
+
export declare function extractSimpleGenerics(sourceType: string): {
|
|
17
|
+
identifier: string;
|
|
18
|
+
generics: string[];
|
|
19
|
+
};
|
|
20
|
+
export declare function extractGenerics(sourceType: string): {
|
|
21
|
+
identifier: string;
|
|
22
|
+
generics: string[];
|
|
23
|
+
};
|
|
24
|
+
export declare function replacePlaceholdersWithGenerics(type: string, generics: string[], genericsCollector: GenericsCollector): string;
|
package/utils/generics.js
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.replacePlaceholdersWithGenerics = exports.extractGenerics = exports.extractSimpleGenerics = exports.generateRefWithPlaceholders = exports.GenericsCollector = void 0;
|
|
4
|
-
const models_1 = require("../models");
|
|
5
|
-
class GenericsCollector {
|
|
6
|
-
constructor(getTypeIdentifier = (type) => type) {
|
|
7
|
-
this.getTypeIdentifier = getTypeIdentifier;
|
|
8
|
-
this._generics = [];
|
|
9
|
-
this.apply = (value, index) => {
|
|
10
|
-
const generic = this.get(index);
|
|
11
|
-
if (generic) {
|
|
12
|
-
if (!generic.type)
|
|
13
|
-
generic.setType(value);
|
|
14
|
-
return value + generic.default;
|
|
15
|
-
}
|
|
16
|
-
return value;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
get generics() {
|
|
20
|
-
return this._generics;
|
|
21
|
-
}
|
|
22
|
-
createGeneric(type, ref, defaultValue) {
|
|
23
|
-
const _default = this.getTypeIdentifier(defaultValue);
|
|
24
|
-
const refs = [generateRefWithPlaceholders(ref)];
|
|
25
|
-
const generic = new models_1.Generic({ type, default: _default, refs });
|
|
26
|
-
return generic;
|
|
27
|
-
}
|
|
28
|
-
register(index, generic) {
|
|
29
|
-
const existing = this.get(index);
|
|
30
|
-
if (existing) {
|
|
31
|
-
existing.setDefault(generic.default);
|
|
32
|
-
existing.setType(generic.type);
|
|
33
|
-
}
|
|
34
|
-
else
|
|
35
|
-
this.set(index, generic);
|
|
36
|
-
}
|
|
37
|
-
collect(generics, genericArguments) {
|
|
38
|
-
generics.forEach((ref, i) => {
|
|
39
|
-
const generic = this.createGeneric(genericArguments[i], ref, genericArguments.includes(ref) ? '' : ref);
|
|
40
|
-
this.register(i, generic);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
get(index) {
|
|
44
|
-
return this.generics[index];
|
|
45
|
-
}
|
|
46
|
-
set(index, value) {
|
|
47
|
-
this.generics[index] = value;
|
|
48
|
-
}
|
|
49
|
-
reset() {
|
|
50
|
-
this._generics = [];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.GenericsCollector = GenericsCollector;
|
|
54
|
-
function generateRefWithPlaceholders(sourceType) {
|
|
55
|
-
// eslint-disable-next-line prefer-const
|
|
56
|
-
let { identifier, generics } = extractGenerics(sourceType);
|
|
57
|
-
generics = generics.map((_, i) => `T${i}`);
|
|
58
|
-
return generics.length ? `${identifier}<${generics}>` : identifier;
|
|
59
|
-
}
|
|
60
|
-
exports.generateRefWithPlaceholders = generateRefWithPlaceholders;
|
|
61
|
-
function extractSimpleGenerics(sourceType) {
|
|
62
|
-
const { identifier, generics } = extractGenerics(sourceType);
|
|
63
|
-
return {
|
|
64
|
-
identifier: getLastSegment(identifier),
|
|
65
|
-
generics: generics.map(getLastSegment),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
exports.extractSimpleGenerics = extractSimpleGenerics;
|
|
69
|
-
function extractGenerics(sourceType) {
|
|
70
|
-
var _a, _b;
|
|
71
|
-
const regex = /(?<identifier>[^<]+)(<(?<generics>.+)>)?/g;
|
|
72
|
-
const { identifier = '', generics = '' } = (_b = (_a = regex.exec(sourceType)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
|
|
73
|
-
return {
|
|
74
|
-
identifier,
|
|
75
|
-
generics: generics.split(/,\s*/).filter(Boolean),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
exports.extractGenerics = extractGenerics;
|
|
79
|
-
function getLastSegment(str) {
|
|
80
|
-
return str.split('.').pop();
|
|
81
|
-
}
|
|
82
|
-
function replacePlaceholdersWithGenerics(type, generics, genericsCollector) {
|
|
83
|
-
return generics
|
|
84
|
-
.map(genericsCollector.apply)
|
|
85
|
-
.reduce((acc, v, i) => acc.replace(new RegExp(`([<, ])T${i}([,>])`, 'g'), `$1${v}$2`), type);
|
|
86
|
-
}
|
|
87
|
-
exports.replacePlaceholdersWithGenerics = replacePlaceholdersWithGenerics;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replacePlaceholdersWithGenerics = exports.extractGenerics = exports.extractSimpleGenerics = exports.generateRefWithPlaceholders = exports.GenericsCollector = void 0;
|
|
4
|
+
const models_1 = require("../models");
|
|
5
|
+
class GenericsCollector {
|
|
6
|
+
constructor(getTypeIdentifier = (type) => type) {
|
|
7
|
+
this.getTypeIdentifier = getTypeIdentifier;
|
|
8
|
+
this._generics = [];
|
|
9
|
+
this.apply = (value, index) => {
|
|
10
|
+
const generic = this.get(index);
|
|
11
|
+
if (generic) {
|
|
12
|
+
if (!generic.type)
|
|
13
|
+
generic.setType(value);
|
|
14
|
+
return value + generic.default;
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
get generics() {
|
|
20
|
+
return this._generics;
|
|
21
|
+
}
|
|
22
|
+
createGeneric(type, ref, defaultValue) {
|
|
23
|
+
const _default = this.getTypeIdentifier(defaultValue);
|
|
24
|
+
const refs = [generateRefWithPlaceholders(ref)];
|
|
25
|
+
const generic = new models_1.Generic({ type, default: _default, refs });
|
|
26
|
+
return generic;
|
|
27
|
+
}
|
|
28
|
+
register(index, generic) {
|
|
29
|
+
const existing = this.get(index);
|
|
30
|
+
if (existing) {
|
|
31
|
+
existing.setDefault(generic.default);
|
|
32
|
+
existing.setType(generic.type);
|
|
33
|
+
}
|
|
34
|
+
else
|
|
35
|
+
this.set(index, generic);
|
|
36
|
+
}
|
|
37
|
+
collect(generics, genericArguments) {
|
|
38
|
+
generics.forEach((ref, i) => {
|
|
39
|
+
const generic = this.createGeneric(genericArguments[i], ref, genericArguments.includes(ref) ? '' : ref);
|
|
40
|
+
this.register(i, generic);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
get(index) {
|
|
44
|
+
return this.generics[index];
|
|
45
|
+
}
|
|
46
|
+
set(index, value) {
|
|
47
|
+
this.generics[index] = value;
|
|
48
|
+
}
|
|
49
|
+
reset() {
|
|
50
|
+
this._generics = [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.GenericsCollector = GenericsCollector;
|
|
54
|
+
function generateRefWithPlaceholders(sourceType) {
|
|
55
|
+
// eslint-disable-next-line prefer-const
|
|
56
|
+
let { identifier, generics } = extractGenerics(sourceType);
|
|
57
|
+
generics = generics.map((_, i) => `T${i}`);
|
|
58
|
+
return generics.length ? `${identifier}<${generics}>` : identifier;
|
|
59
|
+
}
|
|
60
|
+
exports.generateRefWithPlaceholders = generateRefWithPlaceholders;
|
|
61
|
+
function extractSimpleGenerics(sourceType) {
|
|
62
|
+
const { identifier, generics } = extractGenerics(sourceType);
|
|
63
|
+
return {
|
|
64
|
+
identifier: getLastSegment(identifier),
|
|
65
|
+
generics: generics.map(getLastSegment),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.extractSimpleGenerics = extractSimpleGenerics;
|
|
69
|
+
function extractGenerics(sourceType) {
|
|
70
|
+
var _a, _b;
|
|
71
|
+
const regex = /(?<identifier>[^<]+)(<(?<generics>.+)>)?/g;
|
|
72
|
+
const { identifier = '', generics = '' } = (_b = (_a = regex.exec(sourceType)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
|
|
73
|
+
return {
|
|
74
|
+
identifier,
|
|
75
|
+
generics: generics.split(/,\s*/).filter(Boolean),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
exports.extractGenerics = extractGenerics;
|
|
79
|
+
function getLastSegment(str) {
|
|
80
|
+
return str.split('.').pop();
|
|
81
|
+
}
|
|
82
|
+
function replacePlaceholdersWithGenerics(type, generics, genericsCollector) {
|
|
83
|
+
return generics
|
|
84
|
+
.map(genericsCollector.apply)
|
|
85
|
+
.reduce((acc, v, i) => acc.replace(new RegExp(`([<, ])T${i}([,>])`, 'g'), `$1${v}$2`), type);
|
|
86
|
+
}
|
|
87
|
+
exports.replacePlaceholdersWithGenerics = replacePlaceholdersWithGenerics;
|
|
88
88
|
//# sourceMappingURL=generics.js.map
|
package/utils/import.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Import } from '../models';
|
|
2
|
-
export declare function sortImports(imports: Import[]): void;
|
|
3
|
-
export declare function removeRelative(importDef: Import): string;
|
|
1
|
+
import { Import } from '../models';
|
|
2
|
+
export declare function sortImports(imports: Import[]): void;
|
|
3
|
+
export declare function removeRelative(importDef: Import): string;
|
package/utils/import.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeRelative = exports.sortImports = void 0;
|
|
4
|
-
function sortImports(imports) {
|
|
5
|
-
imports.sort((a, b) => removeRelative(a) > removeRelative(b) ? 1 : a.keyword > b.keyword ? 1 : -1);
|
|
6
|
-
}
|
|
7
|
-
exports.sortImports = sortImports;
|
|
8
|
-
function removeRelative(importDef) {
|
|
9
|
-
return importDef.path.replace(/\.\.\//g, '');
|
|
10
|
-
}
|
|
11
|
-
exports.removeRelative = removeRelative;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeRelative = exports.sortImports = void 0;
|
|
4
|
+
function sortImports(imports) {
|
|
5
|
+
imports.sort((a, b) => removeRelative(a) > removeRelative(b) ? 1 : a.keyword > b.keyword ? 1 : -1);
|
|
6
|
+
}
|
|
7
|
+
exports.sortImports = sortImports;
|
|
8
|
+
function removeRelative(importDef) {
|
|
9
|
+
return importDef.path.replace(/\.\.\//g, '');
|
|
10
|
+
}
|
|
11
|
+
exports.removeRelative = removeRelative;
|
|
12
12
|
//# sourceMappingURL=import.js.map
|
package/utils/index.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export * from './angular';
|
|
2
|
-
export * from './api';
|
|
3
|
-
export * from './ast';
|
|
4
|
-
export * from './barrel';
|
|
5
|
-
export * from './common';
|
|
6
|
-
export * from './enum';
|
|
7
|
-
export * from './file';
|
|
8
|
-
export * from './generics';
|
|
9
|
-
export * from './import';
|
|
10
|
-
export * from './model';
|
|
11
|
-
export * from './namespace';
|
|
12
|
-
export * from './path';
|
|
13
|
-
export * from './rule';
|
|
14
|
-
export * from './service';
|
|
15
|
-
export * from './source';
|
|
16
|
-
export * from './text';
|
|
17
|
-
export * from './tree';
|
|
18
|
-
export * from './type';
|
|
19
|
-
export * from './workspace';
|
|
1
|
+
export * from './angular';
|
|
2
|
+
export * from './api';
|
|
3
|
+
export * from './ast';
|
|
4
|
+
export * from './barrel';
|
|
5
|
+
export * from './common';
|
|
6
|
+
export * from './enum';
|
|
7
|
+
export * from './file';
|
|
8
|
+
export * from './generics';
|
|
9
|
+
export * from './import';
|
|
10
|
+
export * from './model';
|
|
11
|
+
export * from './namespace';
|
|
12
|
+
export * from './path';
|
|
13
|
+
export * from './rule';
|
|
14
|
+
export * from './service';
|
|
15
|
+
export * from './source';
|
|
16
|
+
export * from './text';
|
|
17
|
+
export * from './tree';
|
|
18
|
+
export * from './type';
|
|
19
|
+
export * from './workspace';
|
package/utils/index.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./angular"), exports);
|
|
14
|
-
__exportStar(require("./api"), exports);
|
|
15
|
-
__exportStar(require("./ast"), exports);
|
|
16
|
-
__exportStar(require("./barrel"), exports);
|
|
17
|
-
__exportStar(require("./common"), exports);
|
|
18
|
-
__exportStar(require("./enum"), exports);
|
|
19
|
-
__exportStar(require("./file"), exports);
|
|
20
|
-
__exportStar(require("./generics"), exports);
|
|
21
|
-
__exportStar(require("./import"), exports);
|
|
22
|
-
__exportStar(require("./model"), exports);
|
|
23
|
-
__exportStar(require("./namespace"), exports);
|
|
24
|
-
__exportStar(require("./path"), exports);
|
|
25
|
-
__exportStar(require("./rule"), exports);
|
|
26
|
-
__exportStar(require("./service"), exports);
|
|
27
|
-
__exportStar(require("./source"), exports);
|
|
28
|
-
__exportStar(require("./text"), exports);
|
|
29
|
-
__exportStar(require("./tree"), exports);
|
|
30
|
-
__exportStar(require("./type"), exports);
|
|
31
|
-
__exportStar(require("./workspace"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./angular"), exports);
|
|
14
|
+
__exportStar(require("./api"), exports);
|
|
15
|
+
__exportStar(require("./ast"), exports);
|
|
16
|
+
__exportStar(require("./barrel"), exports);
|
|
17
|
+
__exportStar(require("./common"), exports);
|
|
18
|
+
__exportStar(require("./enum"), exports);
|
|
19
|
+
__exportStar(require("./file"), exports);
|
|
20
|
+
__exportStar(require("./generics"), exports);
|
|
21
|
+
__exportStar(require("./import"), exports);
|
|
22
|
+
__exportStar(require("./model"), exports);
|
|
23
|
+
__exportStar(require("./namespace"), exports);
|
|
24
|
+
__exportStar(require("./path"), exports);
|
|
25
|
+
__exportStar(require("./rule"), exports);
|
|
26
|
+
__exportStar(require("./service"), exports);
|
|
27
|
+
__exportStar(require("./source"), exports);
|
|
28
|
+
__exportStar(require("./text"), exports);
|
|
29
|
+
__exportStar(require("./tree"), exports);
|
|
30
|
+
__exportStar(require("./type"), exports);
|
|
31
|
+
__exportStar(require("./workspace"), exports);
|
|
32
32
|
//# sourceMappingURL=index.js.map
|
package/utils/model.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Interface, Model, Type, TypeWithEnum } from '../models';
|
|
2
|
-
export interface ModelGeneratorParams {
|
|
3
|
-
targetPath: string;
|
|
4
|
-
solution: string;
|
|
5
|
-
types: Record<string, Type>;
|
|
6
|
-
serviceImports: Record<string, string[]>;
|
|
7
|
-
modelImports: Record<string, string[]>;
|
|
8
|
-
}
|
|
9
|
-
export declare function createImportRefsToModelReducer(params: ModelGeneratorParams): (models: Model[], importRefs: string[]) => Model[];
|
|
10
|
-
export declare function createImportRefToInterfaceReducerCreator(params: ModelGeneratorParams): (interfaces: Interface[], ref: string) => Interface[];
|
|
11
|
-
export declare function createRefToImportReducerCreator(params: ModelGeneratorParams): (namespace: string) => (imports: import("../models").Import[], types: TypeWithEnum[]) => import("../models").Import[];
|
|
1
|
+
import { Interface, Model, Type, TypeWithEnum } from '../models';
|
|
2
|
+
export interface ModelGeneratorParams {
|
|
3
|
+
targetPath: string;
|
|
4
|
+
solution: string;
|
|
5
|
+
types: Record<string, Type>;
|
|
6
|
+
serviceImports: Record<string, string[]>;
|
|
7
|
+
modelImports: Record<string, string[]>;
|
|
8
|
+
}
|
|
9
|
+
export declare function createImportRefsToModelReducer(params: ModelGeneratorParams): (models: Model[], importRefs: string[]) => Model[];
|
|
10
|
+
export declare function createImportRefToInterfaceReducerCreator(params: ModelGeneratorParams): (interfaces: Interface[], ref: string) => Interface[];
|
|
11
|
+
export declare function createRefToImportReducerCreator(params: ModelGeneratorParams): (namespace: string) => (imports: import("../models").Import[], types: TypeWithEnum[]) => import("../models").Import[];
|