@o3r/schematics 8.4.0-alpha.10 → 8.4.0-alpha.12

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/schematics",
3
- "version": "8.4.0-alpha.10",
3
+ "version": "8.4.0-alpha.12",
4
4
  "description": "Schematics module of the Otter framework",
5
5
  "main": "./src/index.js",
6
6
  "keywords": [
@@ -58,9 +58,9 @@
58
58
  "@nrwl/jest": "~15.9.0",
59
59
  "@nrwl/js": "~15.9.0",
60
60
  "@nrwl/linter": "~15.9.0",
61
- "@o3r/build-helpers": "^8.4.0-alpha.10",
62
- "@o3r/dev-tools": "^8.4.0-alpha.10",
63
- "@o3r/eslint-plugin": "^8.4.0-alpha.10",
61
+ "@o3r/build-helpers": "^8.4.0-alpha.12",
62
+ "@o3r/dev-tools": "^8.4.0-alpha.12",
63
+ "@o3r/eslint-plugin": "^8.4.0-alpha.12",
64
64
  "@schematics/angular": "~15.2.0",
65
65
  "@types/jest": "~28.1.2",
66
66
  "@types/node": "^17.0.45",
@@ -32,4 +32,59 @@ export declare function parseImportsFromFile(sourceFile: ts.SourceFile): {
32
32
  * @param sourcePath
33
33
  */
34
34
  export declare function getExportedSymbolsFromFile(program: ts.Program, sourcePath: string): ts.Symbol[];
35
+ /**
36
+ * Decorator with arguments
37
+ *
38
+ * @example `@Decorator({ propName: 'value' })`
39
+ */
40
+ export type DecoratorWithArg = ts.Decorator & {
41
+ expression: ts.CallExpression & {
42
+ expression: ts.Identifier;
43
+ };
44
+ };
45
+ /**
46
+ * Returns true if it is a decorator with arguments
47
+ *
48
+ * @param node decorator node
49
+ */
50
+ export declare const isDecoratorWithArg: (node: ts.Node) => node is DecoratorWithArg;
51
+ /**
52
+ * Returns the value of {@link argName} in the first argument
53
+ *
54
+ * @param decorator
55
+ * @param argName
56
+ */
57
+ export declare const getPropertyFromDecoratorFirstArgument: (decorator: DecoratorWithArg, argName: string) => ts.Expression | undefined;
58
+ /**
59
+ * Returns `ExpressionWithTypeArguments[]` of a class that implements {@link str}
60
+ *
61
+ * @param str
62
+ */
63
+ export declare const generateImplementsExpressionWithTypeArguments: (str: string) => ts.ExpressionWithTypeArguments[];
64
+ /**
65
+ * Returns `ClassElement[]` of a class that have {@link str} has body
66
+ *
67
+ * @param str
68
+ */
69
+ export declare const generateClassElementsFromString: (str: string) => ts.ClassElement[];
70
+ /**
71
+ * Returns `Statement[]` of a function that have {@link str} has body
72
+ *
73
+ * @param str
74
+ */
75
+ export declare const generateBlockStatementsFromString: (str: string) => ts.Statement[];
76
+ /**
77
+ * Returns `ParameterDeclaration[]` of a function that have {@link str} has parameters
78
+ *
79
+ * @param str
80
+ */
81
+ export declare const generateParametersDeclarationFromString: (str: string) => ts.ParameterDeclaration[];
82
+ /**
83
+ * Method to sort ClassElement based on the kind of it
84
+ * order will be PropertyDeclaration, Constructor then MethodDeclaration
85
+ *
86
+ * @param classElement1
87
+ * @param classElement2
88
+ */
89
+ export declare const sortClassElement: (classElement1: ts.ClassElement, classElement2: ts.ClassElement) => 1 | -1;
35
90
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAGrG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAa/I;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAc9I;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU;;;;IAc7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,eAajF"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAGrG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAa/I;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAc9I;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU;;;;IAc7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,eAajF;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,GAAG;IAC5C,UAAU,EAAE,EAAE,CAAC,cAAc,GAAG;QAC9B,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAGA,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,qCAAqC,cAAe,gBAAgB,WAAW,MAAM,8BAUjG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,QAAS,MAAM,qCAQxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAS,MAAM,sBAW1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,QAAS,MAAM,mBAU5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,QAAS,MAAM,8BAQlE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,kBAAmB,GAAG,YAAY,iBAAiB,GAAG,YAAY,WAyB9F,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExportedSymbolsFromFile = exports.parseImportsFromFile = exports.findLastNodeOfKind = exports.findFirstNodeOfKind = void 0;
3
+ exports.sortClassElement = exports.generateParametersDeclarationFromString = exports.generateBlockStatementsFromString = exports.generateClassElementsFromString = exports.generateImplementsExpressionWithTypeArguments = exports.getPropertyFromDecoratorFirstArgument = exports.isDecoratorWithArg = exports.getExportedSymbolsFromFile = exports.parseImportsFromFile = exports.findLastNodeOfKind = exports.findFirstNodeOfKind = void 0;
4
4
  const ts = require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript");
5
5
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
6
6
  /**
@@ -87,4 +87,106 @@ function getExportedSymbolsFromFile(program, sourcePath) {
87
87
  return typeChecker.getExportsOfModule(symbol);
88
88
  }
89
89
  exports.getExportedSymbolsFromFile = getExportedSymbolsFromFile;
90
+ /**
91
+ * Returns true if it is a decorator with arguments
92
+ *
93
+ * @param node decorator node
94
+ */
95
+ const isDecoratorWithArg = (node) => ts.isDecorator(node)
96
+ && ts.isCallExpression(node.expression)
97
+ && ts.isIdentifier(node.expression.expression);
98
+ exports.isDecoratorWithArg = isDecoratorWithArg;
99
+ /**
100
+ * Returns the value of {@link argName} in the first argument
101
+ *
102
+ * @param decorator
103
+ * @param argName
104
+ */
105
+ const getPropertyFromDecoratorFirstArgument = (decorator, argName) => {
106
+ const ngClassDecoratorArgument = decorator.expression.arguments[0];
107
+ if (ts.isObjectLiteralExpression(ngClassDecoratorArgument)) {
108
+ return ngClassDecoratorArgument.properties.find((prop) => ts.isPropertyAssignment(prop)
109
+ && ts.isIdentifier(prop.name)
110
+ && prop.name.escapedText.toString() === argName)?.initializer;
111
+ }
112
+ };
113
+ exports.getPropertyFromDecoratorFirstArgument = getPropertyFromDecoratorFirstArgument;
114
+ /**
115
+ * Returns `ExpressionWithTypeArguments[]` of a class that implements {@link str}
116
+ *
117
+ * @param str
118
+ */
119
+ const generateImplementsExpressionWithTypeArguments = (str) => {
120
+ const sourceFile = ts.createSourceFile('index.ts', `class A implements ${str} {}`, ts.ScriptTarget.ES2020, true);
121
+ return [...sourceFile.statements[0].heritageClauses[0].types];
122
+ };
123
+ exports.generateImplementsExpressionWithTypeArguments = generateImplementsExpressionWithTypeArguments;
124
+ /**
125
+ * Returns `ClassElement[]` of a class that have {@link str} has body
126
+ *
127
+ * @param str
128
+ */
129
+ const generateClassElementsFromString = (str) => {
130
+ const sourceFile = ts.createSourceFile('index.ts', `class A {
131
+ ${str}
132
+ }`, ts.ScriptTarget.ES2020, true);
133
+ return [...sourceFile.statements[0].members];
134
+ };
135
+ exports.generateClassElementsFromString = generateClassElementsFromString;
136
+ /**
137
+ * Returns `Statement[]` of a function that have {@link str} has body
138
+ *
139
+ * @param str
140
+ */
141
+ const generateBlockStatementsFromString = (str) => {
142
+ const sourceFile = ts.createSourceFile('index.ts', `function func() {
143
+ ${str}
144
+ }`, ts.ScriptTarget.ES2020, true);
145
+ return [...sourceFile.statements[0].body.statements];
146
+ };
147
+ exports.generateBlockStatementsFromString = generateBlockStatementsFromString;
148
+ /**
149
+ * Returns `ParameterDeclaration[]` of a function that have {@link str} has parameters
150
+ *
151
+ * @param str
152
+ */
153
+ const generateParametersDeclarationFromString = (str) => {
154
+ const sourceFile = ts.createSourceFile('index.ts', `function func(${str}) {}`, ts.ScriptTarget.ES2020, true);
155
+ return [...sourceFile.statements[0].parameters];
156
+ };
157
+ exports.generateParametersDeclarationFromString = generateParametersDeclarationFromString;
158
+ /**
159
+ * Method to sort ClassElement based on the kind of it
160
+ * order will be PropertyDeclaration, Constructor then MethodDeclaration
161
+ *
162
+ * @param classElement1
163
+ * @param classElement2
164
+ */
165
+ const sortClassElement = (classElement1, classElement2) => {
166
+ switch (classElement1.kind) {
167
+ case ts.SyntaxKind.PropertyDeclaration: {
168
+ return -1;
169
+ }
170
+ case ts.SyntaxKind.Constructor: {
171
+ switch (classElement2.kind) {
172
+ case ts.SyntaxKind.PropertyDeclaration: {
173
+ return 1;
174
+ }
175
+ case ts.SyntaxKind.MethodDeclaration: {
176
+ return -1;
177
+ }
178
+ default: {
179
+ return -1;
180
+ }
181
+ }
182
+ }
183
+ case ts.SyntaxKind.MethodDeclaration: {
184
+ return 1;
185
+ }
186
+ default: {
187
+ return 1;
188
+ }
189
+ }
190
+ };
191
+ exports.sortClassElement = sortClassElement;
90
192
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/utility/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import * as ts from 'typescript';
3
+ import { DecoratorWithArg } from './ast';
4
+ /**
5
+ * Returns true if `node` is the decorator of an Angular component
6
+ *
7
+ * @param node
8
+ */
9
+ export declare const isNgClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
10
+ /**
11
+ * Returns true if `node` is the decorator of an Otter component
12
+ *
13
+ * @param node
14
+ */
15
+ export declare const isO3rClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
16
+ /**
17
+ * Returns true if `classDeclaration` is an Otter component
18
+ *
19
+ * @param classDeclaration
20
+ */
21
+ export declare const isNgClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
22
+ /**
23
+ * Returns true if `classDeclaration` is an Otter component
24
+ *
25
+ * @param classDeclaration
26
+ */
27
+ export declare const isO3rClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
28
+ /**
29
+ * Returns Otter component information
30
+ *
31
+ * @param tree
32
+ * @param componentPath
33
+ */
34
+ export declare const getO3rComponentInfo: (tree: Tree, componentPath: string) => {
35
+ name: string;
36
+ selector: string;
37
+ };
38
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAA6D,MAAM,OAAO,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAEsB,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SAAU,OAAO,6BAEwB,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,qBAAsB,GAAG,gBAAgB,YAAwE,CAAC;AAEjJ;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,qBAAsB,GAAG,gBAAgB,YAEA,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,SAAU,IAAI,iBAAiB,MAAM;;;CA0CpE,CAAC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getO3rComponentInfo = exports.isO3rClassComponent = exports.isNgClassComponent = exports.isO3rClassDecorator = exports.isNgClassDecorator = void 0;
4
+ const ts = require("typescript");
5
+ const ast_1 = require("./ast");
6
+ /**
7
+ * Returns true if `node` is the decorator of an Angular component
8
+ *
9
+ * @param node
10
+ */
11
+ const isNgClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
12
+ && node.expression.expression.escapedText.toString() === 'Component';
13
+ exports.isNgClassDecorator = isNgClassDecorator;
14
+ /**
15
+ * Returns true if `node` is the decorator of an Otter component
16
+ *
17
+ * @param node
18
+ */
19
+ const isO3rClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
20
+ && node.expression.expression.escapedText.toString() === 'O3rComponent';
21
+ exports.isO3rClassDecorator = isO3rClassDecorator;
22
+ /**
23
+ * Returns true if `classDeclaration` is an Otter component
24
+ *
25
+ * @param classDeclaration
26
+ */
27
+ const isNgClassComponent = (classDeclaration) => (ts.getDecorators(classDeclaration) || []).some(exports.isNgClassDecorator);
28
+ exports.isNgClassComponent = isNgClassComponent;
29
+ /**
30
+ * Returns true if `classDeclaration` is an Otter component
31
+ *
32
+ * @param classDeclaration
33
+ */
34
+ const isO3rClassComponent = (classDeclaration) => (0, exports.isNgClassComponent)(classDeclaration)
35
+ && (ts.getDecorators(classDeclaration) || []).some(exports.isO3rClassDecorator);
36
+ exports.isO3rClassComponent = isO3rClassComponent;
37
+ /**
38
+ * Returns Otter component information
39
+ *
40
+ * @param tree
41
+ * @param componentPath
42
+ */
43
+ const getO3rComponentInfo = (tree, componentPath) => {
44
+ const sourceFile = ts.createSourceFile(componentPath, tree.readText(componentPath), ts.ScriptTarget.ES2020, true);
45
+ const ngComponentDeclaration = sourceFile.statements.find((s) => ts.isClassDeclaration(s) && (0, exports.isNgClassComponent)(s));
46
+ if (!ngComponentDeclaration) {
47
+ throw new Error(`No Angular component found in ${componentPath}.`);
48
+ }
49
+ if (!(0, exports.isO3rClassComponent)(ngComponentDeclaration)) {
50
+ throw new Error(`No Otter component found in ${componentPath}.`);
51
+ }
52
+ const name = ngComponentDeclaration.name?.escapedText.toString().replace(/Component$/, '');
53
+ if (!name) {
54
+ throw new Error(`The class' name is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
55
+ }
56
+ const selectorExpression = (0, ast_1.getPropertyFromDecoratorFirstArgument)(ts.getDecorators(ngComponentDeclaration)?.find(exports.isNgClassDecorator), 'selector');
57
+ const selector = selectorExpression && ts.isStringLiteral(selectorExpression)
58
+ ? selectorExpression.text
59
+ : selectorExpression?.getText();
60
+ if (!selector) {
61
+ throw new Error(`The component's selector is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
62
+ }
63
+ return {
64
+ name,
65
+ selector
66
+ };
67
+ };
68
+ exports.getO3rComponentInfo = getO3rComponentInfo;
69
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,+BAAoG;AAEpG;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAA4B,EAAE,CAC5E,IAAA,wBAAkB,EAAC,IAAI,CAAC;OACrB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC;AAF1D,QAAA,kBAAkB,sBAEwC;AAEvE;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAA4B,EAAE,CAC7E,IAAA,wBAAkB,EAAC,IAAI,CAAC;OACrB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC;AAF7D,QAAA,mBAAmB,uBAE0C;AAE1E;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,gBAAqC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,CAAC;AAApI,QAAA,kBAAkB,sBAAkH;AAEjJ;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,gBAAqC,EAAE,EAAE,CAC3E,IAAA,0BAAkB,EAAC,gBAAgB,CAAC;OACjC,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;AAF7D,QAAA,mBAAmB,uBAE0C;AAE1E;;;;;GAKG;AACI,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAE,aAAqB,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,aAAa,EACb,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC5B,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IAEF,MAAM,sBAAsB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAA,0BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC;IAE9I,IAAI,CAAC,sBAAsB,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,aAAa,GAAG,CAAC,CAAC;KACpE;IAED,IAAI,CAAC,IAAA,2BAAmB,EAAC,sBAAsB,CAAC,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,GAAG,CAAC,CAAC;KAClE;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE3F,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,2FAA2F,aAAa,GAAG,CAAC,CAAC;KAC9H;IAED,MAAM,kBAAkB,GAAG,IAAA,2CAAqC,EAC9D,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,0BAAkB,CAAE,EACnE,UAAU,CACX,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,IAAI,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAC3E,CAAC,CAAC,kBAAkB,CAAC,IAAI;QACzB,CAAC,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAGlC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oGAAoG,aAAa,GAAG,CAAC,CAAC;KACvI;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,mBAAmB,uBA0C9B"}
@@ -1,4 +1,5 @@
1
1
  export * from './ast';
2
+ export * from './component';
2
3
  export * from './dependencies';
3
4
  export * from './file-info';
4
5
  export * from './generation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./ast"), exports);
5
+ tslib_1.__exportStar(require("./component"), exports);
5
6
  tslib_1.__exportStar(require("./dependencies"), exports);
6
7
  tslib_1.__exportStar(require("./file-info"), exports);
7
8
  tslib_1.__exportStar(require("./generation"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,yDAA+B;AAC/B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,sDAA4B;AAC5B,qEAA2C;AAC3C,2DAAiC;AACjC,mEAAyC;AACzC,4DAAkC;AAClC,qDAA2B;AAC3B,2DAAiC;AACjC,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,sDAA4B;AAC5B,yDAA+B;AAC/B,sDAA4B;AAC5B,uDAA6B;AAC7B,sDAA4B;AAC5B,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,sDAA4B;AAC5B,qEAA2C;AAC3C,2DAAiC;AACjC,mEAAyC;AACzC,4DAAkC;AAClC,qDAA2B;AAC3B,2DAAiC;AACjC,uDAA6B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AACA,4DAA0E;AAC1E,8BAA8B;AAC9B,kCAAkC;AAClC,+BAAqC;AAErC,sFAA2F;AAE3F;;;;;GAKG;AACH,MAAM,UAAW,SAAQ,8BAAsB;IAC7C,kBAAkB;IACX,eAAe;QACpB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACnI,OAAO;YACL,IAAI,EAAE,yBAAe;YACrB,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAY,IAAI,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxF,cAAc,EAAE,cAAc;aAC/B;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,SAAgB,KAAK;IACnB,MAAM,sBAAsB,GAAG,CAAC,2BAA2B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9K,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAgB,CAAC;QACvE,MAAM,kBAAkB,GAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1J,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE;YAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,GAAG,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,eAAe,CAAC,eAAe,GAAG,EAAC,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAC,CAAC;YAC9F,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;gBAC7B,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3D,KAAK,EAAE,KAAK;aACN,CAAC,CAAC,CAAC;YACX,MAAM,IAAA,oBAAa,EAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAtBD,sBAsBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}