@angular/compiler-cli 8.1.0-next.3 → 8.1.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/index.d.ts +0 -7
- package/index.js +4 -2
- package/ngcc/index.js +5 -2
- package/ngcc/main-ngcc.js +5 -4
- package/ngcc/src/analysis/decoration_analyzer.d.ts +7 -5
- package/ngcc/src/analysis/decoration_analyzer.js +17 -13
- package/ngcc/src/analysis/private_declarations_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/private_declarations_analyzer.js +5 -5
- package/ngcc/src/analysis/switch_marker_analyzer.d.ts +3 -1
- package/ngcc/src/analysis/switch_marker_analyzer.js +8 -4
- package/ngcc/src/analysis/util.d.ts +11 -0
- package/ngcc/src/analysis/util.js +18 -0
- package/ngcc/src/dependencies/commonjs_dependency_host.d.ts +1 -2
- package/ngcc/src/dependencies/commonjs_dependency_host.js +1 -1
- package/ngcc/src/dependencies/dependency_host.d.ts +1 -1
- package/ngcc/src/dependencies/dependency_host.js +1 -1
- package/ngcc/src/dependencies/dependency_resolver.d.ts +1 -1
- package/ngcc/src/dependencies/dependency_resolver.js +12 -10
- package/ngcc/src/dependencies/esm_dependency_host.d.ts +1 -2
- package/ngcc/src/dependencies/esm_dependency_host.js +1 -1
- package/ngcc/src/dependencies/module_resolver.d.ts +1 -2
- package/ngcc/src/dependencies/module_resolver.js +15 -17
- package/ngcc/src/dependencies/umd_dependency_host.d.ts +1 -2
- package/ngcc/src/dependencies/umd_dependency_host.js +1 -1
- package/ngcc/src/host/commonjs_host.d.ts +26 -1
- package/ngcc/src/host/commonjs_host.js +52 -8
- package/ngcc/src/host/esm2015_host.d.ts +20 -7
- package/ngcc/src/host/esm2015_host.js +28 -10
- package/ngcc/src/host/esm5_host.js +7 -2
- package/ngcc/src/host/umd_host.js +5 -4
- package/ngcc/src/main.d.ts +12 -0
- package/ngcc/src/main.js +83 -67
- package/ngcc/src/packages/build_marker.d.ts +3 -4
- package/ngcc/src/packages/build_marker.js +14 -10
- package/ngcc/src/packages/bundle_program.d.ts +1 -2
- package/ngcc/src/packages/bundle_program.js +10 -7
- package/ngcc/src/packages/configuration.d.ts +51 -0
- package/ngcc/src/packages/configuration.js +97 -0
- package/ngcc/src/packages/entry_point.d.ts +4 -5
- package/ngcc/src/packages/entry_point.js +75 -17
- package/ngcc/src/packages/entry_point_bundle.d.ts +4 -4
- package/ngcc/src/packages/entry_point_bundle.js +12 -11
- package/ngcc/src/packages/entry_point_finder.d.ts +4 -3
- package/ngcc/src/packages/entry_point_finder.js +32 -24
- package/ngcc/src/packages/ngcc_compiler_host.d.ts +10 -18
- package/ngcc/src/packages/ngcc_compiler_host.js +4 -52
- package/ngcc/src/packages/transformer.d.ts +4 -4
- package/ngcc/src/packages/transformer.js +20 -22
- package/ngcc/src/rendering/dts_renderer.d.ts +3 -4
- package/ngcc/src/rendering/dts_renderer.js +3 -4
- package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/esm_rendering_formatter.js +7 -7
- package/ngcc/src/rendering/renderer.d.ts +2 -5
- package/ngcc/src/rendering/renderer.js +3 -5
- package/ngcc/src/rendering/source_maps.d.ts +1 -1
- package/ngcc/src/rendering/source_maps.js +10 -10
- package/ngcc/src/rendering/utils.d.ts +1 -1
- package/ngcc/src/rendering/utils.js +1 -1
- package/ngcc/src/writing/file_writer.js +1 -1
- package/ngcc/src/writing/in_place_file_writer.d.ts +8 -1
- package/ngcc/src/writing/in_place_file_writer.js +5 -5
- package/ngcc/src/writing/new_entry_point_file_writer.d.ts +1 -1
- package/ngcc/src/writing/new_entry_point_file_writer.js +15 -16
- package/package.json +2 -3
- package/src/diagnostics/typescript_symbols.js +5 -5
- package/src/extract_i18n.js +6 -3
- package/src/main.d.ts +1 -1
- package/src/main.js +7 -4
- package/src/metadata/collector.js +7 -4
- package/src/metadata/evaluator.js +3 -3
- package/src/ngtools_api2.js +1 -1
- package/src/ngtsc/annotations/src/component.d.ts +17 -2
- package/src/ngtsc/annotations/src/component.js +94 -39
- package/src/ngtsc/annotations/src/directive.js +6 -5
- package/src/ngtsc/annotations/src/ng_module.js +4 -4
- package/src/ngtsc/annotations/src/references_registry.js +1 -1
- package/src/ngtsc/annotations/src/util.js +4 -2
- package/src/ngtsc/diagnostics/src/code.d.ts +1 -1
- package/src/ngtsc/diagnostics/src/code.js +2 -2
- package/src/ngtsc/entry_point/src/generator.d.ts +3 -2
- package/src/ngtsc/entry_point/src/generator.js +5 -6
- package/src/ngtsc/entry_point/src/logic.d.ts +2 -2
- package/src/ngtsc/entry_point/src/logic.js +4 -3
- package/src/ngtsc/file_system/index.d.ts +14 -0
- package/src/ngtsc/file_system/index.js +41 -0
- package/src/ngtsc/file_system/src/compiler_host.d.ts +25 -0
- package/src/ngtsc/file_system/src/compiler_host.js +73 -0
- package/src/ngtsc/file_system/src/helpers.d.ts +46 -0
- package/src/ngtsc/file_system/src/helpers.js +101 -0
- package/src/ngtsc/file_system/src/invalid_file_system.d.ts +43 -0
- package/src/ngtsc/file_system/src/invalid_file_system.js +66 -0
- package/src/ngtsc/{path → file_system}/src/logical.d.ts +2 -2
- package/src/ngtsc/file_system/src/logical.js +98 -0
- package/src/ngtsc/file_system/src/node_js_file_system.d.ts +32 -0
- package/src/ngtsc/file_system/src/node_js_file_system.js +102 -0
- package/src/ngtsc/file_system/src/types.d.ts +69 -0
- package/src/ngtsc/file_system/src/types.js +20 -0
- package/src/ngtsc/{path → file_system}/src/util.d.ts +4 -5
- package/src/ngtsc/file_system/src/util.js +37 -0
- package/src/ngtsc/imports/src/emitter.d.ts +2 -2
- package/src/ngtsc/imports/src/emitter.js +13 -13
- package/src/ngtsc/imports/src/resolver.d.ts +1 -1
- package/src/ngtsc/imports/src/resolver.js +4 -10
- package/src/ngtsc/incremental/src/state.d.ts +7 -3
- package/src/ngtsc/incremental/src/state.js +23 -6
- package/src/ngtsc/indexer/src/api.d.ts +5 -16
- package/src/ngtsc/indexer/src/api.js +1 -1
- package/src/ngtsc/indexer/src/context.d.ts +40 -2
- package/src/ngtsc/indexer/src/context.js +10 -3
- package/src/ngtsc/indexer/src/template.d.ts +5 -5
- package/src/ngtsc/indexer/src/template.js +72 -99
- package/src/ngtsc/indexer/src/transform.js +38 -3
- package/src/ngtsc/partial_evaluator/src/interpreter.js +9 -5
- package/src/ngtsc/perf/src/tracking.d.ts +0 -7
- package/src/ngtsc/perf/src/tracking.js +12 -12
- package/src/ngtsc/program.d.ts +3 -2
- package/src/ngtsc/program.js +26 -19
- package/src/ngtsc/reflection/src/typescript.js +9 -28
- package/src/ngtsc/resource_loader.js +5 -6
- package/src/ngtsc/shims/src/factory_generator.d.ts +2 -2
- package/src/ngtsc/shims/src/factory_generator.js +14 -13
- package/src/ngtsc/shims/src/host.d.ts +2 -2
- package/src/ngtsc/shims/src/host.js +5 -12
- package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
- package/src/ngtsc/shims/src/summary_generator.js +6 -4
- package/src/ngtsc/shims/src/typecheck_shim.d.ts +1 -1
- package/src/ngtsc/shims/src/typecheck_shim.js +1 -1
- package/src/ngtsc/transform/src/api.d.ts +1 -1
- package/src/ngtsc/transform/src/api.js +1 -1
- package/src/ngtsc/transform/src/compilation.js +36 -16
- package/src/ngtsc/typecheck/src/context.d.ts +1 -1
- package/src/ngtsc/typecheck/src/context.js +1 -1
- package/src/ngtsc/typecheck/src/host.js +9 -1
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +2 -2
- package/src/ngtsc/typecheck/src/type_check_file.js +11 -13
- package/src/ngtsc/util/src/path.d.ts +0 -7
- package/src/ngtsc/util/src/path.js +15 -16
- package/src/ngtsc/util/src/resource_recorder.d.ts +18 -0
- package/src/ngtsc/util/src/resource_recorder.js +20 -0
- package/src/ngtsc/util/src/typescript.d.ts +2 -1
- package/src/ngtsc/util/src/typescript.js +8 -4
- package/src/perform_compile.d.ts +5 -3
- package/src/perform_compile.js +23 -18
- package/src/perform_watch.js +19 -9
- package/src/transformers/api.d.ts +5 -0
- package/src/transformers/api.js +1 -1
- package/src/transformers/compiler_host.js +10 -3
- package/src/version.js +1 -1
- package/ngcc/src/file_system/file_system.d.ts +0 -36
- package/ngcc/src/file_system/file_system.js +0 -20
- package/ngcc/src/file_system/node_js_file_system.d.ts +0 -27
- package/ngcc/src/file_system/node_js_file_system.js +0 -44
- package/src/ngtsc/path/index.d.ts +0 -10
- package/src/ngtsc/path/index.js +0 -26
- package/src/ngtsc/path/src/logical.js +0 -107
- package/src/ngtsc/path/src/types.d.ts +0 -73
- package/src/ngtsc/path/src/types.js +0 -108
- package/src/ngtsc/path/src/util.js +0 -46
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
if (v !== undefined) module.exports = v;
|
|
12
12
|
}
|
|
13
13
|
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/indexer/src/template", ["require", "exports", "tslib", "@angular/compiler", "@angular/compiler/src/render3/r3_ast", "@angular/compiler
|
|
14
|
+
define("@angular/compiler-cli/src/ngtsc/indexer/src/template", ["require", "exports", "tslib", "@angular/compiler", "@angular/compiler/src/render3/r3_ast", "@angular/compiler-cli/src/ngtsc/indexer/src/api"], factory);
|
|
15
15
|
}
|
|
16
16
|
})(function (require, exports) {
|
|
17
17
|
"use strict";
|
|
@@ -19,44 +19,7 @@
|
|
|
19
19
|
var tslib_1 = require("tslib");
|
|
20
20
|
var compiler_1 = require("@angular/compiler");
|
|
21
21
|
var r3_ast_1 = require("@angular/compiler/src/render3/r3_ast");
|
|
22
|
-
var r3_template_transform_1 = require("@angular/compiler/src/render3/r3_template_transform");
|
|
23
|
-
var meta_1 = require("@angular/compiler/src/render3/view/i18n/meta");
|
|
24
|
-
var template_1 = require("@angular/compiler/src/render3/view/template");
|
|
25
22
|
var api_1 = require("@angular/compiler-cli/src/ngtsc/indexer/src/api");
|
|
26
|
-
/**
|
|
27
|
-
* Updates the location of an identifier to its real anchor in a source code.
|
|
28
|
-
*
|
|
29
|
-
* The compiler's expression parser records the location of some expressions in a manner not
|
|
30
|
-
* useful to the indexer. For example, a `MethodCall` `foo(a, b)` will record the span of the
|
|
31
|
-
* entire method call, but the indexer is interested only in the method identifier.
|
|
32
|
-
*
|
|
33
|
-
* To remedy all this, the visitor tokenizes the template node the expression was discovered in,
|
|
34
|
-
* and updates the locations of entities found during expression traversal with those of the
|
|
35
|
-
* tokens.
|
|
36
|
-
*
|
|
37
|
-
* TODO(ayazhafiz): Think about how to handle `PropertyRead`s in `BoundAttribute`s. The Lexer
|
|
38
|
-
* tokenizes the attribute as a string and ignores quotes.
|
|
39
|
-
*
|
|
40
|
-
* @param entities entities to update
|
|
41
|
-
* @param currentNode node expression was in
|
|
42
|
-
*/
|
|
43
|
-
function updateIdentifierSpans(identifiers, currentNode) {
|
|
44
|
-
var localSpan = currentNode.sourceSpan;
|
|
45
|
-
var localExpression = localSpan.toString();
|
|
46
|
-
var lexedIdentifiers = new compiler_1.Lexer().tokenize(localExpression).filter(function (token) { return token.type === compiler_1.TokenType.Identifier; });
|
|
47
|
-
// Join the relative position of the expression within a node with the absolute position of the
|
|
48
|
-
// node to get the absolute position of the expression in the source code.
|
|
49
|
-
var absoluteOffset = currentNode.sourceSpan.start.offset;
|
|
50
|
-
identifiers.forEach(function (id, index) {
|
|
51
|
-
var lexedId = lexedIdentifiers[index];
|
|
52
|
-
if (id.name !== lexedId.strValue) {
|
|
53
|
-
throw new Error('Impossible state: lexed and parsed expression should contain the same tokens.');
|
|
54
|
-
}
|
|
55
|
-
var start = absoluteOffset + lexedId.index;
|
|
56
|
-
var absoluteSpan = new api_1.AbsoluteSourceSpan(start, start + lexedId.strValue.length);
|
|
57
|
-
id.span = absoluteSpan;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
23
|
/**
|
|
61
24
|
* Visits the AST of an Angular template syntax expression, finding interesting
|
|
62
25
|
* entities (variable references, etc.). Creates an array of Entities found in
|
|
@@ -68,34 +31,67 @@
|
|
|
68
31
|
*/
|
|
69
32
|
var ExpressionVisitor = /** @class */ (function (_super) {
|
|
70
33
|
tslib_1.__extends(ExpressionVisitor, _super);
|
|
71
|
-
function ExpressionVisitor(context,
|
|
72
|
-
if (
|
|
34
|
+
function ExpressionVisitor(context, boundTemplate, expressionStr, absoluteOffset) {
|
|
35
|
+
if (expressionStr === void 0) { expressionStr = context.sourceSpan.toString(); }
|
|
36
|
+
if (absoluteOffset === void 0) { absoluteOffset = context.sourceSpan.start.offset; }
|
|
73
37
|
var _this = _super.call(this) || this;
|
|
74
|
-
_this.
|
|
75
|
-
_this.
|
|
38
|
+
_this.boundTemplate = boundTemplate;
|
|
39
|
+
_this.expressionStr = expressionStr;
|
|
40
|
+
_this.absoluteOffset = absoluteOffset;
|
|
41
|
+
_this.identifiers = [];
|
|
76
42
|
return _this;
|
|
77
43
|
}
|
|
78
|
-
|
|
79
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Returns identifiers discovered in an expression.
|
|
46
|
+
*
|
|
47
|
+
* @param ast expression AST to visit
|
|
48
|
+
* @param context HTML node expression is defined in
|
|
49
|
+
* @param boundTemplate bound target of the entire template, which can be used to query for the
|
|
50
|
+
* entities expressions target.
|
|
51
|
+
*/
|
|
52
|
+
ExpressionVisitor.getIdentifiers = function (ast, context, boundTemplate) {
|
|
53
|
+
var visitor = new ExpressionVisitor(context, boundTemplate);
|
|
80
54
|
visitor.visit(ast);
|
|
81
|
-
|
|
82
|
-
updateIdentifierSpans(identifiers, context);
|
|
83
|
-
return identifiers;
|
|
55
|
+
return visitor.identifiers;
|
|
84
56
|
};
|
|
85
57
|
ExpressionVisitor.prototype.visit = function (ast) { ast.visit(this); };
|
|
86
58
|
ExpressionVisitor.prototype.visitMethodCall = function (ast, context) {
|
|
87
|
-
this.
|
|
59
|
+
this.visitIdentifier(ast, api_1.IdentifierKind.Method);
|
|
88
60
|
_super.prototype.visitMethodCall.call(this, ast, context);
|
|
89
61
|
};
|
|
90
62
|
ExpressionVisitor.prototype.visitPropertyRead = function (ast, context) {
|
|
91
|
-
this.
|
|
63
|
+
this.visitIdentifier(ast, api_1.IdentifierKind.Property);
|
|
92
64
|
_super.prototype.visitPropertyRead.call(this, ast, context);
|
|
93
65
|
};
|
|
94
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Visits an identifier, adding it to the identifier store if it is useful for indexing.
|
|
68
|
+
*
|
|
69
|
+
* @param ast expression AST the identifier is in
|
|
70
|
+
* @param kind identifier kind
|
|
71
|
+
*/
|
|
72
|
+
ExpressionVisitor.prototype.visitIdentifier = function (ast, kind) {
|
|
73
|
+
// The definition of a non-top-level property such as `bar` in `{{foo.bar}}` is currently
|
|
74
|
+
// impossible to determine by an indexer and unsupported by the indexing module.
|
|
75
|
+
// The indexing module also does not currently support references to identifiers declared in the
|
|
76
|
+
// template itself, which have a non-null expression target.
|
|
77
|
+
if (!(ast.receiver instanceof compiler_1.ImplicitReceiver) ||
|
|
78
|
+
this.boundTemplate.getExpressionTarget(ast) !== null) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Get the location of the identifier of real interest.
|
|
82
|
+
// The compiler's expression parser records the location of some expressions in a manner not
|
|
83
|
+
// useful to the indexer. For example, a `MethodCall` `foo(a, b)` will record the span of the
|
|
84
|
+
// entire method call, but the indexer is interested only in the method identifier.
|
|
85
|
+
var localExpression = this.expressionStr.substr(ast.span.start, ast.span.end);
|
|
86
|
+
var identifierStart = ast.span.start + localExpression.indexOf(ast.name);
|
|
87
|
+
// Join the relative position of the expression within a node with the absolute position
|
|
88
|
+
// of the node to get the absolute position of the expression in the source code.
|
|
89
|
+
var absoluteStart = this.absoluteOffset + identifierStart;
|
|
90
|
+
var span = new api_1.AbsoluteSourceSpan(absoluteStart, absoluteStart + ast.name.length);
|
|
95
91
|
this.identifiers.push({
|
|
96
92
|
name: ast.name,
|
|
97
|
-
span:
|
|
98
|
-
|
|
93
|
+
span: span,
|
|
94
|
+
kind: kind,
|
|
99
95
|
});
|
|
100
96
|
};
|
|
101
97
|
return ExpressionVisitor;
|
|
@@ -106,14 +102,22 @@
|
|
|
106
102
|
*/
|
|
107
103
|
var TemplateVisitor = /** @class */ (function (_super) {
|
|
108
104
|
tslib_1.__extends(TemplateVisitor, _super);
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Creates a template visitor for a bound template target. The bound target can be used when
|
|
107
|
+
* deferred to the expression visitor to get information about the target of an expression.
|
|
108
|
+
*
|
|
109
|
+
* @param boundTemplate bound template target
|
|
110
|
+
*/
|
|
111
|
+
function TemplateVisitor(boundTemplate) {
|
|
112
|
+
var _this = _super.call(this) || this;
|
|
113
|
+
_this.boundTemplate = boundTemplate;
|
|
111
114
|
// identifiers of interest found in the template
|
|
112
115
|
_this.identifiers = new Set();
|
|
113
116
|
return _this;
|
|
114
117
|
}
|
|
115
118
|
/**
|
|
116
119
|
* Visits a node in the template.
|
|
120
|
+
*
|
|
117
121
|
* @param node node to visit
|
|
118
122
|
*/
|
|
119
123
|
TemplateVisitor.prototype.visit = function (node) { node.visit(this); };
|
|
@@ -132,63 +136,32 @@
|
|
|
132
136
|
this.visitAll(template.references);
|
|
133
137
|
this.visitAll(template.variables);
|
|
134
138
|
};
|
|
135
|
-
TemplateVisitor.prototype.visitBoundText = function (text) { this.
|
|
139
|
+
TemplateVisitor.prototype.visitBoundText = function (text) { this.visitExpression(text); };
|
|
136
140
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* @param curretNode node
|
|
141
|
+
* Visits a node's expression and adds its identifiers, if any, to the visitor's state.
|
|
142
|
+
*
|
|
143
|
+
* @param curretNode node whose expression to visit
|
|
140
144
|
*/
|
|
141
|
-
TemplateVisitor.prototype.
|
|
145
|
+
TemplateVisitor.prototype.visitExpression = function (node) {
|
|
142
146
|
var _this = this;
|
|
143
|
-
var identifiers = ExpressionVisitor.getIdentifiers(node.value, node);
|
|
147
|
+
var identifiers = ExpressionVisitor.getIdentifiers(node.value, node, this.boundTemplate);
|
|
144
148
|
identifiers.forEach(function (id) { return _this.identifiers.add(id); });
|
|
145
149
|
};
|
|
146
150
|
return TemplateVisitor;
|
|
147
151
|
}(r3_ast_1.RecursiveVisitor));
|
|
148
|
-
/**
|
|
149
|
-
* Unwraps and reparses a template, preserving whitespace and with no leading trivial characters.
|
|
150
|
-
*
|
|
151
|
-
* A template may previously have been parsed without preserving whitespace, and was definitely
|
|
152
|
-
* parsed with leading trivial characters (see `parseTemplate` from the compiler package API).
|
|
153
|
-
* Both of these are detrimental for indexing as they result in a manipulated AST not representing
|
|
154
|
-
* the template source code.
|
|
155
|
-
*
|
|
156
|
-
* TODO(ayazhafiz): Remove once issues with `leadingTriviaChars` and `parseTemplate` are resolved.
|
|
157
|
-
*/
|
|
158
|
-
function restoreTemplate(template, options) {
|
|
159
|
-
// try to recapture the template content and URL
|
|
160
|
-
// if there was nothing in the template to begin with, this is just a no-op
|
|
161
|
-
if (template.length === 0) {
|
|
162
|
-
return [];
|
|
163
|
-
}
|
|
164
|
-
var _a = template[0].sourceSpan.start.file, templateStr = _a.content, templateUrl = _a.url;
|
|
165
|
-
options.preserveWhitespaces = true;
|
|
166
|
-
var interpolationConfig = options.interpolationConfig, preserveWhitespaces = options.preserveWhitespaces;
|
|
167
|
-
var bindingParser = template_1.makeBindingParser(interpolationConfig);
|
|
168
|
-
var htmlParser = new compiler_1.HtmlParser();
|
|
169
|
-
var parseResult = htmlParser.parse(templateStr, templateUrl, tslib_1.__assign({}, options, { tokenizeExpansionForms: true }));
|
|
170
|
-
if (parseResult.errors && parseResult.errors.length > 0) {
|
|
171
|
-
throw new Error('Impossible state: template must have been successfully parsed previously.');
|
|
172
|
-
}
|
|
173
|
-
var rootNodes = compiler_1.visitAll(new meta_1.I18nMetaVisitor(interpolationConfig, !preserveWhitespaces), parseResult.rootNodes);
|
|
174
|
-
var _b = r3_template_transform_1.htmlAstToRender3Ast(rootNodes, bindingParser), nodes = _b.nodes, errors = _b.errors;
|
|
175
|
-
if (errors && errors.length > 0) {
|
|
176
|
-
throw new Error('Impossible state: template must have been successfully parsed previously.');
|
|
177
|
-
}
|
|
178
|
-
return nodes;
|
|
179
|
-
}
|
|
180
152
|
/**
|
|
181
153
|
* Traverses a template AST and builds identifiers discovered in it.
|
|
182
|
-
*
|
|
183
|
-
* @param
|
|
154
|
+
*
|
|
155
|
+
* @param boundTemplate bound template target, which can be used for querying expression targets.
|
|
184
156
|
* @return identifiers in template
|
|
185
157
|
*/
|
|
186
|
-
function getTemplateIdentifiers(
|
|
187
|
-
var
|
|
188
|
-
|
|
189
|
-
|
|
158
|
+
function getTemplateIdentifiers(boundTemplate) {
|
|
159
|
+
var visitor = new TemplateVisitor(boundTemplate);
|
|
160
|
+
if (boundTemplate.target.template !== undefined) {
|
|
161
|
+
visitor.visitAll(boundTemplate.target.template);
|
|
162
|
+
}
|
|
190
163
|
return visitor.identifiers;
|
|
191
164
|
}
|
|
192
165
|
exports.getTemplateIdentifiers = getTemplateIdentifiers;
|
|
193
166
|
});
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL2luZGV4ZXIvc3JjL3RlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILDhDQUEySjtJQUMzSiwrREFBc0k7SUFDdEksNkZBQXdGO0lBQ3hGLHFFQUE2RTtJQUM3RSx3RUFBOEU7SUFDOUUsdUVBQXFHO0lBV3JHOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsU0FBUyxxQkFBcUIsQ0FBQyxXQUFpQyxFQUFFLFdBQWlCO1FBQ2pGLElBQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDekMsSUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTdDLElBQU0sZ0JBQWdCLEdBQ2xCLElBQUksZ0JBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLENBQUMsSUFBSSxLQUFLLG9CQUFTLENBQUMsVUFBVSxFQUFuQyxDQUFtQyxDQUFDLENBQUM7UUFFL0YsK0ZBQStGO1FBQy9GLDBFQUEwRTtRQUMxRSxJQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0QsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQUUsRUFBRSxLQUFLO1lBQzVCLElBQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUNYLCtFQUErRSxDQUFDLENBQUM7YUFDdEY7WUFFRCxJQUFNLEtBQUssR0FBRyxjQUFjLEdBQUcsT0FB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bnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7QVNULCBIdG1sUGFyc2VyLCBMZXhlciwgTWV0aG9kQ2FsbCwgUGFyc2VTb3VyY2VGaWxlLCBQcm9wZXJ0eVJlYWQsIFJlY3Vyc2l2ZUFzdFZpc2l0b3IsIFRtcGxBc3ROb2RlLCBUb2tlblR5cGUsIHZpc2l0QWxsfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge0JvdW5kVGV4dCwgRWxlbWVudCwgTm9kZSwgUmVjdXJzaXZlVmlzaXRvciBhcyBSZWN1cnNpdmVUZW1wbGF0ZVZpc2l0b3IsIFRlbXBsYXRlfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvcmVuZGVyMy9yM19hc3QnO1xuaW1wb3J0IHtodG1sQXN0VG9SZW5kZXIzQXN0fSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvcmVuZGVyMy9yM190ZW1wbGF0ZV90cmFuc2Zvcm0nO1xuaW1wb3J0IHtJMThuTWV0YVZpc2l0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3ZpZXcvaTE4bi9tZXRhJztcbmltcG9ydCB7bWFrZUJpbmRpbmdQYXJzZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3ZpZXcvdGVtcGxhdGUnO1xuaW1wb3J0IHtBYnNvbHV0ZVNvdXJjZVNwYW4sIElkZW50aWZpZXJLaW5kLCBSZXN0b3JlVGVtcGxhdGVPcHRpb25zLCBUZW1wbGF0ZUlkZW50aWZpZXJ9IGZyb20gJy4vYXBpJztcblxuLyoqXG4gKiBBIHBhcnNlZCBub2RlIGluIGEgdGVtcGxhdGUsIHdoaWNoIG1heSBoYXZlIGEgbmFtZSAoaWYgaXQgaXMgYSBzZWxlY3Rvcikgb3JcbiAqIGJlIGFub255bW91cyAobGlrZSBhIHRleHQgc3BhbikuXG4gKi9cbmludGVyZmFjZSBIVE1MTm9kZSBleHRlbmRzIE5vZGUge1xuICB0YWdOYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGxvY2F0aW9uIG9mIGFuIGlkZW50aWZpZXIgdG8gaXRzIHJlYWwgYW5jaG9yIGluIGEgc291cmNlIGNvZGUuXG4gKlxuICogVGhlIGNvbXBpbGVyJ3MgZXhwcmVzc2lvbiBwYXJzZXIgcmVjb3JkcyB0aGUgbG9jYXRpb24gb2Ygc29tZSBleHByZXNzaW9ucyBpbiBhIG1hbm5lciBub3RcbiAqIHVzZWZ1bCB0byB0aGUgaW5kZXhlci4gRm9yIGV4YW1wbGUsIGEgYE1ldGhvZENhbGxgIGBmb28oYSwgYilgIHdpbGwgcmVjb3JkIHRoZSBzcGFuIG9mIHRoZVxuICogZW50aXJlIG1ldGhvZCBjYWxsLCBidXQgdGhlIGluZGV4ZXIgaXMgaW50ZXJlc3RlZCBvbmx5IGluIHRoZSBtZXRob2QgaWRlbnRpZmllci5cbiAqXG4gKiBUbyByZW1lZHkgYWxsIHRoaXMsIHRoZSB2aXNpdG9yIHRva2VuaXplcyB0aGUgdGVtcGxhdGUgbm9kZSB0aGUgZXhwcmVzc2lvbiB3YXMgZGlzY292ZXJlZCBpbixcbiAqIGFuZCB1cGRhdGVzIHRoZSBsb2NhdGlvbnMgb2YgZW50aXRpZXMgZm91bmQgZHVyaW5nIGV4cHJlc3Npb24gdHJhdmVyc2FsIHdpdGggdGhvc2Ugb2YgdGhlXG4gKiB0b2tlbnMuXG4gKlxuICogVE9ETyhheWF6aGFmaXopOiBUaGluayBhYm91dCBob3cgdG8gaGFuZGxlIGBQcm9wZXJ0eVJlYWRgcyBpbiBgQm91bmRBdHRyaWJ1dGVgcy4gVGhlIExleGVyXG4gKiB0b2tlbml6ZXMgdGhlIGF0dHJpYnV0ZSBhcyBhIHN0cmluZyBhbmQgaWdub3JlcyBxdW90ZXMuXG4gKlxuICogQHBhcmFtIGVudGl0aWVzIGVudGl0aWVzIHRvIHVwZGF0ZVxuICogQHBhcmFtIGN1cnJlbnROb2RlIG5vZGUgZXhwcmVzc2lvbiB3YXMgaW5cbiAqL1xuZnVuY3Rpb24gdXBkYXRlSWRlbnRpZmllclNwYW5zKGlkZW50aWZpZXJzOiBUZW1wbGF0ZUlkZW50aWZpZXJbXSwgY3VycmVudE5vZGU6IE5vZGUpIHtcbiAgY29uc3QgbG9jYWxTcGFuID0gY3VycmVudE5vZGUuc291cmNlU3BhbjtcbiAgY29uc3QgbG9jYWxFeHByZXNzaW9uID0gbG9jYWxTcGFuLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgbGV4ZWRJZGVudGlmaWVycyA9XG4gICAgICBuZXcgTGV4ZXIoKS50b2tlbml6ZShsb2NhbEV4cHJlc3Npb24pLmZpbHRlcih0b2tlbiA9PiB0b2tlbi50eXBlID09PSBUb2tlblR5cGUuSWRlbnRpZmllcik7XG5cbiAgLy8gSm9pbiB0aGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGV4cHJlc3Npb24gd2l0aGluIGEgbm9kZSB3aXRoIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGVcbiAgLy8gbm9kZSB0byBnZXQgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBleHByZXNzaW9uIGluIHRoZSBzb3VyY2UgY29kZS5cbiAgY29uc3QgYWJzb2x1dGVPZmZzZXQgPSBjdXJyZW50Tm9kZS5zb3VyY2VTcGFuLnN0YXJ0Lm9mZnNldDtcbiAgaWRlbnRpZmllcnMuZm9yRWFjaCgoaWQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgbGV4ZWRJZCA9IGxleGVkSWRlbnRpZmllcnNbaW5kZXhdO1xuICAgIGlmIChpZC5uYW1lICE9PSBsZXhlZElkLnN0clZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ0ltcG9zc2libGUgc3RhdGU6IGxleGVkIGFuZCBwYXJzZWQgZXhwcmVzc2lvbiBzaG91bGQgY29udGFpbiB0aGUgc2FtZSB0b2tlbnMuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBhYnNvbHV0ZU9mZnNldCArIGxleGVkSWQuaW5kZXg7XG4gICAgY29uc3QgYWJzb2x1dGVTcGFuID0gbmV3IEFic29sdXRlU291cmNlU3BhbihzdGFydCwgc3RhcnQgKyBsZXhlZElkLnN0clZhbHVlLmxlbmd0aCk7XG4gICAgaWQuc3BhbiA9IGFic29sdXRlU3BhbjtcbiAgfSk7XG59XG5cbi8qKlxuICogVmlzaXRzIHRoZSBBU1Qgb2YgYW4gQW5ndWxhciB0ZW1wbGF0ZSBzeW50YXggZXhwcmVzc2lvbiwgZmluZGluZyBpbnRlcmVzdGluZ1xuICogZW50aXRpZXMgKHZhcmlhYmxlIHJlZmVyZW5jZXMsIGV0Yy4pLiBDcmVhdGVzIGFuIGFycmF5IG9mIEVudGl0aWVzIGZvdW5kIGluXG4gKiB0aGUgZXhwcmVzc2lvbiwgd2l0aCB0aGUgbG9jYXRpb24gb2YgdGhlIEVudGl0aWVzIGJlaW5nIHJlbGF0aXZlIHRvIHRoZVxuICogZXhwcmVzc2lvbi5cbiAqXG4gKiBWaXNpdGluZyBgdGV4dCB7e3Byb3B9fWAgd2lsbCByZXR1cm4gYFtUZW1wbGF0ZUlkZW50aWZpZXIge25hbWU6ICdwcm9wJywgc3Bhbjoge3N0YXJ0OiA3LCBlbmQ6XG4gKiAxMX19XWAuXG4gKi9cbmNsYXNzIEV4cHJlc3Npb25WaXNpdG9yIGV4dGVuZHMgUmVjdXJzaXZlQXN0VmlzaXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZTogUGFyc2VTb3VyY2VGaWxlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoY29udGV4dDogTm9kZSwgcmVhZG9ubHkgaWRlbnRpZmllcnM6IFRlbXBsYXRlSWRlbnRpZmllcltdID0gW10pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5maWxlID0gY29udGV4dC5zb3VyY2VTcGFuLnN0YXJ0LmZpbGU7XG4gIH1cblxuICBzdGF0aWMgZ2V0SWRlbnRpZmllcnMoYXN0OiBBU1QsIGNvbnRleHQ6IE5vZGUpOiBUZW1wbGF0ZUlkZW50aWZpZXJbXSB7XG4gICAgY29uc3QgdmlzaXRvciA9IG5ldyBFeHByZXNzaW9uVmlzaXRvcihjb250ZXh0KTtcbiAgICB2aXNpdG9yLnZpc2l0KGFzdCk7XG4gICAgY29uc3QgaWRlbnRpZmllcnMgPSB2aXNpdG9yLmlkZW50aWZpZXJzO1xuXG4gICAgdXBkYXRlSWRlbnRpZmllclNwYW5zKGlkZW50aWZpZXJzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBpZGVudGlmaWVycztcbiAgfVxuXG4gIHZpc2l0KGFzdDogQVNUKSB7IGFzdC52aXNpdCh0aGlzKTsgfVxuXG4gIHZpc2l0TWV0aG9kQ2FsbChhc3Q6IE1ldGhvZENhbGwsIGNvbnRleHQ6IHt9KSB7XG4gICAgdGhpcy5hZGRJZGVudGlmaWVyKGFzdCwgSWRlbnRpZmllcktpbmQuTWV0aG9kKTtcbiAgICBzdXBlci52aXNpdE1ldGhvZENhbGwoYXN0LCBjb250ZXh0KTtcbiAgfVxuXG4gIHZpc2l0UHJvcGVydHlSZWFkKGFzdDogUHJvcGVydHlSZWFkLCBjb250ZXh0OiB7fSkge1xuICAgIHRoaXMuYWRkSWRlbnRpZmllcihhc3QsIElkZW50aWZpZXJLaW5kLlByb3BlcnR5KTtcbiAgICBzdXBlci52aXNpdFByb3BlcnR5UmVhZChhc3QsIGNvbnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJZGVudGlmaWVyKGFzdDogQVNUJntuYW1lOiBzdHJpbmd9LCBraW5kOiBJZGVudGlmaWVyS2luZCkge1xuICAgIHRoaXMuaWRlbnRpZmllcnMucHVzaCh7XG4gICAgICBuYW1lOiBhc3QubmFtZSxcbiAgICAgIHNwYW46IGFzdC5zcGFuLCBraW5kLFxuICAgICAgZmlsZTogdGhpcy5maWxlLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVmlzaXRzIHRoZSBBU1Qgb2YgYSBwYXJzZWQgQW5ndWxhciB0ZW1wbGF0ZS4gRGlzY292ZXJzIGFuZCBzdG9yZXNcbiAqIGlkZW50aWZpZXJzIG9mIGludGVyZXN0LCBkZWZlcnJpbmcgdG8gYW4gYEV4cHJlc3Npb25WaXNpdG9yYCBhcyBuZWVkZWQuXG4gKi9cbmNsYXNzIFRlbXBsYXRlVmlzaXRvciBleHRlbmRzIFJlY3Vyc2l2ZVRlbXBsYXRlVmlzaXRvciB7XG4gIC8vIGlkZW50aWZpZXJzIG9mIGludGVyZXN0IGZvdW5kIGluIHRoZSB0ZW1wbGF0ZVxuICByZWFkb25seSBpZGVudGlmaWVycyA9IG5ldyBTZXQ8VGVtcGxhdGVJZGVudGlmaWVyPigpO1xuXG4gIC8qKlxuICAgKiBWaXNpdHMgYSBub2RlIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICogQHBhcmFtIG5vZGUgbm9kZSB0byB2aXNpdFxuICAgKi9cbiAgdmlzaXQobm9kZTogSFRNTE5vZGUpIHsgbm9kZS52aXNpdCh0aGlzKTsgfVxuXG4gIHZpc2l0QWxsKG5vZGVzOiBOb2RlW10pIHsgbm9kZXMuZm9yRWFjaChub2RlID0+IHRoaXMudmlzaXQobm9kZSkpOyB9XG5cbiAgdmlzaXRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICB0aGlzLnZpc2l0QWxsKGVsZW1lbnQuYXR0cmlidXRlcyk7XG4gICAgdGhpcy52aXNpdEFsbChlbGVtZW50LmNoaWxkcmVuKTtcbiAgICB0aGlzLnZpc2l0QWxsKGVsZW1lbnQucmVmZXJlbmNlcyk7XG4gIH1cbiAgdmlzaXRUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGUpIHtcbiAgICB0aGlzLnZpc2l0QWxsKHRlbXBsYXRlLmF0dHJpYnV0ZXMpO1xuICAgIHRoaXMudmlzaXRBbGwodGVtcGxhdGUuY2hpbGRyZW4pO1xuICAgIHRoaXMudmlzaXRBbGwodGVtcGxhdGUucmVmZXJlbmNlcyk7XG4gICAgdGhpcy52aXNpdEFsbCh0ZW1wbGF0ZS52YXJpYWJsZXMpO1xuICB9XG4gIHZpc2l0Qm91bmRUZXh0KHRleHQ6IEJvdW5kVGV4dCkgeyB0aGlzLmFkZElkZW50aWZpZXJzKHRleHQpOyB9XG5cbiAgLyoqXG4gICAqIEFkZHMgaWRlbnRpZmllcnMgdG8gdGhlIHZpc2l0b3IncyBzdGF0ZS5cbiAgICogQHBhcmFtIHZpc2l0ZWRFbnRpdGllcyBpbnRlcmVzdGluZyBlbnRpdGllcyB0byBhZGQgYXMgaWRlbnRpZmllcnNcbiAgICogQHBhcmFtIGN1cnJldE5vZGUgbm9kZSBlbnRpdGllcyB3ZXJlIGRpc2NvdmVyZWQgaW5cbiAgICovXG4gIHByaXZhdGUgYWRkSWRlbnRpZmllcnMobm9kZTogTm9kZSZ7dmFsdWU6IEFTVH0pIHtcbiAgICBjb25zdCBpZGVudGlmaWVycyA9IEV4cHJlc3Npb25WaXNpdG9yLmdldElkZW50aWZpZXJzKG5vZGUudmFsdWUsIG5vZGUpO1xuICAgIGlkZW50aWZpZXJzLmZvckVhY2goaWQgPT4gdGhpcy5pZGVudGlmaWVycy5hZGQoaWQpKTtcbiAgfVxufVxuXG4vKipcbiAqIFVud3JhcHMgYW5kIHJlcGFyc2VzIGEgdGVtcGxhdGUsIHByZXNlcnZpbmcgd2hpdGVzcGFjZSBhbmQgd2l0aCBubyBsZWFkaW5nIHRyaXZpYWwgY2hhcmFjdGVycy5cbiAqXG4gKiBBIHRlbXBsYXRlIG1heSBwcmV2aW91c2x5IGhhdmUgYmVlbiBwYXJzZWQgd2l0aG91dCBwcmVzZXJ2aW5nIHdoaXRlc3BhY2UsIGFuZCB3YXMgZGVmaW5pdGVseVxuICogcGFyc2VkIHdpdGggbGVhZGluZyB0cml2aWFsIGNoYXJhY3RlcnMgKHNlZSBgcGFyc2VUZW1wbGF0ZWAgZnJvbSB0aGUgY29tcGlsZXIgcGFja2FnZSBBUEkpLlxuICogQm90aCBvZiB0aGVzZSBhcmUgZGV0cmltZW50YWwgZm9yIGluZGV4aW5nIGFzIHRoZXkgcmVzdWx0IGluIGEgbWFuaXB1bGF0ZWQgQVNUIG5vdCByZXByZXNlbnRpbmdcbiAqIHRoZSB0ZW1wbGF0ZSBzb3VyY2UgY29kZS5cbiAqXG4gKiBUT0RPKGF5YXpoYWZpeik6IFJlbW92ZSBvbmNlIGlzc3VlcyB3aXRoIGBsZWFkaW5nVHJpdmlhQ2hhcnNgIGFuZCBgcGFyc2VUZW1wbGF0ZWAgYXJlIHJlc29sdmVkLlxuICovXG5mdW5jdGlvbiByZXN0b3JlVGVtcGxhdGUodGVtcGxhdGU6IFRtcGxBc3ROb2RlW10sIG9wdGlvbnM6IFJlc3RvcmVUZW1wbGF0ZU9wdGlvbnMpOiBUbXBsQXN0Tm9kZVtdIHtcbiAgLy8gdHJ5IHRvIHJlY2FwdHVyZSB0aGUgdGVtcGxhdGUgY29udGVudCBhbmQgVVJMXG4gIC8vIGlmIHRoZXJlIHdhcyBub3RoaW5nIGluIHRoZSB0ZW1wbGF0ZSB0byBiZWdpbiB3aXRoLCB0aGlzIGlzIGp1c3QgYSBuby1vcFxuICBpZiAodGVtcGxhdGUubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHtjb250ZW50OiB0ZW1wbGF0ZVN0ciwgdXJsOiB0ZW1wbGF0ZVVybH0gPSB0ZW1wbGF0ZVswXS5zb3VyY2VTcGFuLnN0YXJ0LmZpbGU7XG5cbiAgb3B0aW9ucy5wcmVzZXJ2ZVdoaXRlc3BhY2VzID0gdHJ1ZTtcbiAgY29uc3Qge2ludGVycG9sYXRpb25Db25maWcsIHByZXNlcnZlV2hpdGVzcGFjZXN9ID0gb3B0aW9ucztcblxuICBjb25zdCBiaW5kaW5nUGFyc2VyID0gbWFrZUJpbmRpbmdQYXJzZXIoaW50ZXJwb2xhdGlvbkNvbmZpZyk7XG4gIGNvbnN0IGh0bWxQYXJzZXIgPSBuZXcgSHRtbFBhcnNlcigpO1xuICBjb25zdCBwYXJzZVJlc3VsdCA9IGh0bWxQYXJzZXIucGFyc2UodGVtcGxhdGVTdHIsIHRlbXBsYXRlVXJsLCB7XG4gICAgLi4ub3B0aW9ucyxcbiAgICB0b2tlbml6ZUV4cGFuc2lvbkZvcm1zOiB0cnVlLFxuICB9KTtcblxuICBpZiAocGFyc2VSZXN1bHQuZXJyb3JzICYmIHBhcnNlUmVzdWx0LmVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbXBvc3NpYmxlIHN0YXRlOiB0ZW1wbGF0ZSBtdXN0IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcGFyc2VkIHByZXZpb3VzbHkuJyk7XG4gIH1cblxuICBjb25zdCByb290Tm9kZXMgPSB2aXNpdEFsbChcbiAgICAgIG5ldyBJMThuTWV0YVZpc2l0b3IoaW50ZXJwb2xhdGlvbkNvbmZpZywgIXByZXNlcnZlV2hpdGVzcGFjZXMpLCBwYXJzZVJlc3VsdC5yb290Tm9kZXMpO1xuXG4gIGNvbnN0IHtub2RlcywgZXJyb3JzfSA9IGh0bWxBc3RUb1JlbmRlcjNBc3Qocm9vdE5vZGVzLCBiaW5kaW5nUGFyc2VyKTtcbiAgaWYgKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW1wb3NzaWJsZSBzdGF0ZTogdGVtcGxhdGUgbXVzdCBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHBhcnNlZCBwcmV2aW91c2x5LicpO1xuICB9XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG4vKipcbiAqIFRyYXZlcnNlcyBhIHRlbXBsYXRlIEFTVCBhbmQgYnVpbGRzIGlkZW50aWZpZXJzIGRpc2NvdmVyZWQgaW4gaXQuXG4gKiBAcGFyYW0gdGVtcGxhdGUgdGVtcGxhdGUgdG8gZXh0cmFjdCBpbmRlbnRpZmllcnMgZnJvbVxuICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3IgcmVzdG9yaW5nIHRoZSBwYXJzZWQgdGVtcGxhdGUgdG8gYSBpbmRleGFibGUgc3RhdGVcbiAqIEByZXR1cm4gaWRlbnRpZmllcnMgaW4gdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBsYXRlSWRlbnRpZmllcnMoXG4gICAgdGVtcGxhdGU6IFRtcGxBc3ROb2RlW10sIG9wdGlvbnM6IFJlc3RvcmVUZW1wbGF0ZU9wdGlvbnMpOiBTZXQ8VGVtcGxhdGVJZGVudGlmaWVyPiB7XG4gIGNvbnN0IHJlc3RvcmVkVGVtcGxhdGUgPSByZXN0b3JlVGVtcGxhdGUodGVtcGxhdGUsIG9wdGlvbnMpO1xuICBjb25zdCB2aXNpdG9yID0gbmV3IFRlbXBsYXRlVmlzaXRvcigpO1xuICB2aXNpdG9yLnZpc2l0QWxsKHJlc3RvcmVkVGVtcGxhdGUpO1xuICByZXR1cm4gdmlzaXRvci5pZGVudGlmaWVycztcbn1cbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL2luZGV4ZXIvc3JjL3RlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7OztJQUVILDhDQUFtSTtJQUNuSSwrREFBc0k7SUFDdEksdUVBQTZFO0lBVzdFOzs7Ozs7OztPQVFHO0lBQ0g7UUFBZ0MsNkNBQW1CO1FBR2pELDJCQUNJLE9BQWEsRUFBbUIsYUFBeUMsRUFDeEQsYUFBNkMsRUFDN0MsY0FBZ0Q7WUFEaEQsOEJBQUEsRUFBQSxnQkFBZ0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDN0MsK0JBQUEsRUFBQSxpQkFBaUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUhyRSxZQUlFLGlCQUFPLFNBQ1I7WUFKbUMsbUJBQWEsR0FBYixhQUFhLENBQTRCO1lBQ3hELG1CQUFhLEdBQWIsYUFBYSxDQUFnQztZQUM3QyxvQkFBYyxHQUFkLGNBQWMsQ0FBa0M7WUFMNUQsaUJBQVcsR0FBeUIsRUFBRSxDQUFDOztRQU9oRCxDQUFDO1FBRUQ7Ozs7Ozs7V0FPRztRQUNJLGdDQUFjLEdBQXJCLFVBQXNCLEdBQVEsRUFBRSxPQUFhLEVBQUUsYUFBeUM7WUFFdEYsSUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDOUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDN0IsQ0FBQztRQUVELGlDQUFLLEdBQUwsVUFBTSxHQUFRLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEMsMkNBQWUsR0FBZixVQUFnQixHQUFlLEVB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SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtBU1QsIEJvdW5kVGFyZ2V0LCBEaXJlY3RpdmVNZXRhLCBJbXBsaWNpdFJlY2VpdmVyLCBNZXRob2RDYWxsLCBQcm9wZXJ0eVJlYWQsIFJlY3Vyc2l2ZUFzdFZpc2l0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7Qm91bmRUZXh0LCBFbGVtZW50LCBOb2RlLCBSZWN1cnNpdmVWaXNpdG9yIGFzIFJlY3Vyc2l2ZVRlbXBsYXRlVmlzaXRvciwgVGVtcGxhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3IzX2FzdCc7XG5pbXBvcnQge0Fic29sdXRlU291cmNlU3BhbiwgSWRlbnRpZmllcktpbmQsIFRlbXBsYXRlSWRlbnRpZmllcn0gZnJvbSAnLi9hcGknO1xuXG4vKipcbiAqIEEgcGFyc2VkIG5vZGUgaW4gYSB0ZW1wbGF0ZSwgd2hpY2ggbWF5IGhhdmUgYSBuYW1lIChpZiBpdCBpcyBhIHNlbGVjdG9yKSBvclxuICogYmUgYW5vbnltb3VzIChsaWtlIGEgdGV4dCBzcGFuKS5cbiAqL1xuaW50ZXJmYWNlIEhUTUxOb2RlIGV4dGVuZHMgTm9kZSB7XG4gIHRhZ05hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVmlzaXRzIHRoZSBBU1Qgb2YgYW4gQW5ndWxhciB0ZW1wbGF0ZSBzeW50YXggZXhwcmVzc2lvbiwgZmluZGluZyBpbnRlcmVzdGluZ1xuICogZW50aXRpZXMgKHZhcmlhYmxlIHJlZmVyZW5jZXMsIGV0Yy4pLiBDcmVhdGVzIGFuIGFycmF5IG9mIEVudGl0aWVzIGZvdW5kIGluXG4gKiB0aGUgZXhwcmVzc2lvbiwgd2l0aCB0aGUgbG9jYXRpb24gb2YgdGhlIEVudGl0aWVzIGJlaW5nIHJlbGF0aXZlIHRvIHRoZVxuICogZXhwcmVzc2lvbi5cbiAqXG4gKiBWaXNpdGluZyBgdGV4dCB7e3Byb3B9fWAgd2lsbCByZXR1cm4gYFtUZW1wbGF0ZUlkZW50aWZpZXIge25hbWU6ICdwcm9wJywgc3Bhbjoge3N0YXJ0OiA3LCBlbmQ6XG4gKiAxMX19XWAuXG4gKi9cbmNsYXNzIEV4cHJlc3Npb25WaXNpdG9yIGV4dGVuZHMgUmVjdXJzaXZlQXN0VmlzaXRvciB7XG4gIHJlYWRvbmx5IGlkZW50aWZpZXJzOiBUZW1wbGF0ZUlkZW50aWZpZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgICBjb250ZXh0OiBOb2RlLCBwcml2YXRlIHJlYWRvbmx5IGJvdW5kVGVtcGxhdGU6IEJvdW5kVGFyZ2V0PERpcmVjdGl2ZU1ldGE+LFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBleHByZXNzaW9uU3RyID0gY29udGV4dC5zb3VyY2VTcGFuLnRvU3RyaW5nKCksXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGFic29sdXRlT2Zmc2V0ID0gY29udGV4dC5zb3VyY2VTcGFuLnN0YXJ0Lm9mZnNldCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpZGVudGlmaWVycyBkaXNjb3ZlcmVkIGluIGFuIGV4cHJlc3Npb24uXG4gICAqXG4gICAqIEBwYXJhbSBhc3QgZXhwcmVzc2lvbiBBU1QgdG8gdmlzaXRcbiAgICogQHBhcmFtIGNvbnRleHQgSFRNTCBub2RlIGV4cHJlc3Npb24gaXMgZGVmaW5lZCBpblxuICAgKiBAcGFyYW0gYm91bmRUZW1wbGF0ZSBib3VuZCB0YXJnZXQgb2YgdGhlIGVudGlyZSB0ZW1wbGF0ZSwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gcXVlcnkgZm9yIHRoZVxuICAgKiBlbnRpdGllcyBleHByZXNzaW9ucyB0YXJnZXQuXG4gICAqL1xuICBzdGF0aWMgZ2V0SWRlbnRpZmllcnMoYXN0OiBBU1QsIGNvbnRleHQ6IE5vZGUsIGJvdW5kVGVtcGxhdGU6IEJvdW5kVGFyZ2V0PERpcmVjdGl2ZU1ldGE+KTpcbiAgICAgIFRlbXBsYXRlSWRlbnRpZmllcltdIHtcbiAgICBjb25zdCB2aXNpdG9yID0gbmV3IEV4cHJlc3Npb25WaXNpdG9yKGNvbnRleHQsIGJvdW5kVGVtcGxhdGUpO1xuICAgIHZpc2l0b3IudmlzaXQoYXN0KTtcbiAgICByZXR1cm4gdmlzaXRvci5pZGVudGlmaWVycztcbiAgfVxuXG4gIHZpc2l0KGFzdDogQVNUKSB7IGFzdC52aXNpdCh0aGlzKTsgfVxuXG4gIHZpc2l0TWV0aG9kQ2FsbChhc3Q6IE1ldGhvZENhbGwsIGNvbnRleHQ6IHt9KSB7XG4gICAgdGhpcy52aXNpdElkZW50aWZpZXIoYXN0LCBJZGVudGlmaWVyS2luZC5NZXRob2QpO1xuICAgIHN1cGVyLnZpc2l0TWV0aG9kQ2FsbChhc3QsIGNvbnRleHQpO1xuICB9XG5cbiAgdmlzaXRQcm9wZXJ0eVJlYWQoYXN0OiBQcm9wZXJ0eVJlYWQsIGNvbnRleHQ6IHt9KSB7XG4gICAgdGhpcy52aXNpdElkZW50aWZpZXIoYXN0LCBJZGVudGlmaWVyS2luZC5Qcm9wZXJ0eSk7XG4gICAgc3VwZXIudmlzaXRQcm9wZXJ0eVJlYWQoYXN0LCBjb250ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaXNpdHMgYW4gaWRlbnRpZmllciwgYWRkaW5nIGl0IHRvIHRoZSBpZGVudGlmaWVyIHN0b3JlIGlmIGl0IGlzIHVzZWZ1bCBmb3IgaW5kZXhpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBhc3QgZXhwcmVzc2lvbiBBU1QgdGhlIGlkZW50aWZpZXIgaXMgaW5cbiAgICogQHBhcmFtIGtpbmQgaWRlbnRpZmllciBraW5kXG4gICAqL1xuICBwcml2YXRlIHZpc2l0SWRlbnRpZmllcihhc3Q6IEFTVCZ7bmFtZTogc3RyaW5nLCByZWNlaXZlcjogQVNUfSwga2luZDogSWRlbnRpZmllcktpbmQpIHtcbiAgICAvLyBUaGUgZGVmaW5pdGlvbiBvZiBhIG5vbi10b3AtbGV2ZWwgcHJvcGVydHkgc3VjaCBhcyBgYmFyYCBpbiBge3tmb28uYmFyfX1gIGlzIGN1cnJlbnRseVxuICAgIC8vIGltcG9zc2libGUgdG8gZGV0ZXJtaW5lIGJ5IGFuIGluZGV4ZXIgYW5kIHVuc3VwcG9ydGVkIGJ5IHRoZSBpbmRleGluZyBtb2R1bGUuXG4gICAgLy8gVGhlIGluZGV4aW5nIG1vZHVsZSBhbHNvIGRvZXMgbm90IGN1cnJlbnRseSBzdXBwb3J0IHJlZmVyZW5jZXMgdG8gaWRlbnRpZmllcnMgZGVjbGFyZWQgaW4gdGhlXG4gICAgLy8gdGVtcGxhdGUgaXRzZWxmLCB3aGljaCBoYXZlIGEgbm9uLW51bGwgZXhwcmVzc2lvbiB0YXJnZXQuXG4gICAgaWYgKCEoYXN0LnJlY2VpdmVyIGluc3RhbmNlb2YgSW1wbGljaXRSZWNlaXZlcikgfHxcbiAgICAgICAgdGhpcy5ib3VuZFRlbXBsYXRlLmdldEV4cHJlc3Npb25UYXJnZXQoYXN0KSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEdldCB0aGUgbG9jYXRpb24gb2YgdGhlIGlkZW50aWZpZXIgb2YgcmVhbCBpbnRlcmVzdC5cbiAgICAvLyBUaGUgY29tcGlsZXIncyBleHByZXNzaW9uIHBhcnNlciByZWNvcmRzIHRoZSBsb2NhdGlvbiBvZiBzb21lIGV4cHJlc3Npb25zIGluIGEgbWFubmVyIG5vdFxuICAgIC8vIHVzZWZ1bCB0byB0aGUgaW5kZXhlci4gRm9yIGV4YW1wbGUsIGEgYE1ldGhvZENhbGxgIGBmb28oYSwgYilgIHdpbGwgcmVjb3JkIHRoZSBzcGFuIG9mIHRoZVxuICAgIC8vIGVudGlyZSBtZXRob2QgY2FsbCwgYnV0IHRoZSBpbmRleGVyIGlzIGludGVyZXN0ZWQgb25seSBpbiB0aGUgbWV0aG9kIGlkZW50aWZpZXIuXG4gICAgY29uc3QgbG9jYWxFeHByZXNzaW9uID0gdGhpcy5leHByZXNzaW9uU3RyLnN1YnN0cihhc3Quc3Bhbi5zdGFydCwgYXN0LnNwYW4uZW5kKTtcbiAgICBjb25zdCBpZGVudGlmaWVyU3RhcnQgPSBhc3Quc3Bhbi5zdGFydCArIGxvY2FsRXhwcmVzc2lvbi5pbmRleE9mKGFzdC5uYW1lKTtcblxuICAgIC8vIEpvaW4gdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBleHByZXNzaW9uIHdpdGhpbiBhIG5vZGUgd2l0aCB0aGUgYWJzb2x1dGUgcG9zaXRpb25cbiAgICAvLyBvZiB0aGUgbm9kZSB0byBnZXQgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBleHByZXNzaW9uIGluIHRoZSBzb3VyY2UgY29kZS5cbiAgICBjb25zdCBhYnNvbHV0ZVN0YXJ0ID0gdGhpcy5hYnNvbHV0ZU9mZnNldCArIGlkZW50aWZpZXJTdGFydDtcbiAgICBjb25zdCBzcGFuID0gbmV3IEFic29sdXRlU291cmNlU3BhbihhYnNvbHV0ZVN0YXJ0LCBhYnNvbHV0ZVN0YXJ0ICsgYXN0Lm5hbWUubGVuZ3RoKTtcblxuICAgIHRoaXMuaWRlbnRpZmllcnMucHVzaCh7XG4gICAgICBuYW1lOiBhc3QubmFtZSxcbiAgICAgIHNwYW4sXG4gICAgICBraW5kLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVmlzaXRzIHRoZSBBU1Qgb2YgYSBwYXJzZWQgQW5ndWxhciB0ZW1wbGF0ZS4gRGlzY292ZXJzIGFuZCBzdG9yZXNcbiAqIGlkZW50aWZpZXJzIG9mIGludGVyZXN0LCBkZWZlcnJpbmcgdG8gYW4gYEV4cHJlc3Npb25WaXNpdG9yYCBhcyBuZWVkZWQuXG4gKi9cbmNsYXNzIFRlbXBsYXRlVmlzaXRvciBleHRlbmRzIFJlY3Vyc2l2ZVRlbXBsYXRlVmlzaXRvciB7XG4gIC8vIGlkZW50aWZpZXJzIG9mIGludGVyZXN0IGZvdW5kIGluIHRoZSB0ZW1wbGF0ZVxuICByZWFkb25seSBpZGVudGlmaWVycyA9IG5ldyBTZXQ8VGVtcGxhdGVJZGVudGlmaWVyPigpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdGVtcGxhdGUgdmlzaXRvciBmb3IgYSBib3VuZCB0ZW1wbGF0ZSB0YXJnZXQuIFRoZSBib3VuZCB0YXJnZXQgY2FuIGJlIHVzZWQgd2hlblxuICAgKiBkZWZlcnJlZCB0byB0aGUgZXhwcmVzc2lvbiB2aXNpdG9yIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFyZ2V0IG9mIGFuIGV4cHJlc3Npb24uXG4gICAqXG4gICAqIEBwYXJhbSBib3VuZFRlbXBsYXRlIGJvdW5kIHRlbXBsYXRlIHRhcmdldFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBib3VuZFRlbXBsYXRlOiBCb3VuZFRhcmdldDxEaXJlY3RpdmVNZXRhPikgeyBzdXBlcigpOyB9XG5cbiAgLyoqXG4gICAqIFZpc2l0cyBhIG5vZGUgaW4gdGhlIHRlbXBsYXRlLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSBub2RlIHRvIHZpc2l0XG4gICAqL1xuICB2aXNpdChub2RlOiBIVE1MTm9kZSkgeyBub2RlLnZpc2l0KHRoaXMpOyB9XG5cbiAgdmlzaXRBbGwobm9kZXM6IE5vZGVbXSkgeyBub2Rlcy5mb3JFYWNoKG5vZGUgPT4gdGhpcy52aXNpdChub2RlKSk7IH1cblxuICB2aXNpdEVsZW1lbnQoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHRoaXMudmlzaXRBbGwoZWxlbWVudC5hdHRyaWJ1dGVzKTtcbiAgICB0aGlzLnZpc2l0QWxsKGVsZW1lbnQuY2hpbGRyZW4pO1xuICAgIHRoaXMudmlzaXRBbGwoZWxlbWVudC5yZWZlcmVuY2VzKTtcbiAgfVxuICB2aXNpdFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSkge1xuICAgIHRoaXMudmlzaXRBbGwodGVtcGxhdGUuYXR0cmlidXRlcyk7XG4gICAgdGhpcy52aXNpdEFsbCh0ZW1wbGF0ZS5jaGlsZHJlbik7XG4gICAgdGhpcy52aXNpdEFsbCh0ZW1wbGF0ZS5yZWZlcmVuY2VzKTtcbiAgICB0aGlzLnZpc2l0QWxsKHRlbXBsYXRlLnZhcmlhYmxlcyk7XG4gIH1cbiAgdmlzaXRCb3VuZFRleHQodGV4dDogQm91bmRUZXh0KSB7IHRoaXMudmlzaXRFeHByZXNzaW9uKHRleHQpOyB9XG5cbiAgLyoqXG4gICAqIFZpc2l0cyBhIG5vZGUncyBleHByZXNzaW9uIGFuZCBhZGRzIGl0cyBpZGVudGlmaWVycywgaWYgYW55LCB0byB0aGUgdmlzaXRvcidzIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gY3VycmV0Tm9kZSBub2RlIHdob3NlIGV4cHJlc3Npb24gdG8gdmlzaXRcbiAgICovXG4gIHByaXZhdGUgdmlzaXRFeHByZXNzaW9uKG5vZGU6IE5vZGUme3ZhbHVlOiBBU1R9KSB7XG4gICAgY29uc3QgaWRlbnRpZmllcnMgPSBFeHByZXNzaW9uVmlzaXRvci5nZXRJZGVudGlmaWVycyhub2RlLnZhbHVlLCBub2RlLCB0aGlzLmJvdW5kVGVtcGxhdGUpO1xuICAgIGlkZW50aWZpZXJzLmZvckVhY2goaWQgPT4gdGhpcy5pZGVudGlmaWVycy5hZGQoaWQpKTtcbiAgfVxufVxuXG4vKipcbiAqIFRyYXZlcnNlcyBhIHRlbXBsYXRlIEFTVCBhbmQgYnVpbGRzIGlkZW50aWZpZXJzIGRpc2NvdmVyZWQgaW4gaXQuXG4gKlxuICogQHBhcmFtIGJvdW5kVGVtcGxhdGUgYm91bmQgdGVtcGxhdGUgdGFyZ2V0LCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgcXVlcnlpbmcgZXhwcmVzc2lvbiB0YXJnZXRzLlxuICogQHJldHVybiBpZGVudGlmaWVycyBpbiB0ZW1wbGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVtcGxhdGVJZGVudGlmaWVycyhib3VuZFRlbXBsYXRlOiBCb3VuZFRhcmdldDxEaXJlY3RpdmVNZXRhPik6XG4gICAgU2V0PFRlbXBsYXRlSWRlbnRpZmllcj4ge1xuICBjb25zdCB2aXNpdG9yID0gbmV3IFRlbXBsYXRlVmlzaXRvcihib3VuZFRlbXBsYXRlKTtcbiAgaWYgKGJvdW5kVGVtcGxhdGUudGFyZ2V0LnRlbXBsYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICB2aXNpdG9yLnZpc2l0QWxsKGJvdW5kVGVtcGxhdGUudGFyZ2V0LnRlbXBsYXRlKTtcbiAgfVxuICByZXR1cm4gdmlzaXRvci5pZGVudGlmaWVycztcbn1cbiJdfQ==
|
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
if (v !== undefined) module.exports = v;
|
|
12
12
|
}
|
|
13
13
|
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/indexer/src/transform", ["require", "exports"], factory);
|
|
14
|
+
define("@angular/compiler-cli/src/ngtsc/indexer/src/transform", ["require", "exports", "@angular/compiler/src/compiler", "@angular/compiler-cli/src/ngtsc/indexer/src/template"], factory);
|
|
15
15
|
}
|
|
16
16
|
})(function (require, exports) {
|
|
17
17
|
"use strict";
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
var compiler_1 = require("@angular/compiler/src/compiler");
|
|
20
|
+
var template_1 = require("@angular/compiler-cli/src/ngtsc/indexer/src/template");
|
|
19
21
|
/**
|
|
20
22
|
* Generates `IndexedComponent` entries from a `IndexingContext`, which has information
|
|
21
23
|
* about components discovered in the program registered in it.
|
|
@@ -23,8 +25,41 @@
|
|
|
23
25
|
* The context must be populated before `generateAnalysis` is called.
|
|
24
26
|
*/
|
|
25
27
|
function generateAnalysis(context) {
|
|
26
|
-
|
|
28
|
+
var analysis = new Map();
|
|
29
|
+
context.components.forEach(function (_a) {
|
|
30
|
+
var declaration = _a.declaration, selector = _a.selector, boundTemplate = _a.boundTemplate, templateMeta = _a.templateMeta;
|
|
31
|
+
var name = declaration.name.getText();
|
|
32
|
+
var usedComponents = new Set();
|
|
33
|
+
var usedDirs = boundTemplate.getUsedDirectives();
|
|
34
|
+
usedDirs.forEach(function (dir) {
|
|
35
|
+
if (dir.isComponent) {
|
|
36
|
+
usedComponents.add(dir.ref.node);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// Get source files for the component and the template. If the template is inline, its source
|
|
40
|
+
// file is the component's.
|
|
41
|
+
var componentFile = new compiler_1.ParseSourceFile(declaration.getSourceFile().getFullText(), declaration.getSourceFile().fileName);
|
|
42
|
+
var templateFile;
|
|
43
|
+
if (templateMeta.isInline) {
|
|
44
|
+
templateFile = componentFile;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
templateFile = templateMeta.file;
|
|
48
|
+
}
|
|
49
|
+
analysis.set(declaration, {
|
|
50
|
+
name: name,
|
|
51
|
+
selector: selector,
|
|
52
|
+
file: componentFile,
|
|
53
|
+
template: {
|
|
54
|
+
identifiers: template_1.getTemplateIdentifiers(boundTemplate),
|
|
55
|
+
usedComponents: usedComponents,
|
|
56
|
+
isInline: templateMeta.isInline,
|
|
57
|
+
file: templateFile,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
return analysis;
|
|
27
62
|
}
|
|
28
63
|
exports.generateAnalysis = generateAnalysis;
|
|
29
64
|
});
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9pbmRleGVyL3NyYy90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFFSCwyREFBK0Q7SUFJL0QsaUZBQWtEO0lBRWxEOzs7OztPQUtHO0lBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FBd0I7UUFDdkQsSUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQW9DLENBQUM7UUFFN0QsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUFvRDtnQkFBbkQsNEJBQVcsRUFBRSxzQkFBUSxFQUFFLGdDQUFhLEVBQUUsOEJBQVk7WUFDN0UsSUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUV4QyxJQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztZQUNqRCxJQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztnQkFDbEIsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO29CQUNuQixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCw2RkFBNkY7WUFDN0YsMkJBQTJCO1lBQzNCLElBQU0sYUFBYSxHQUFHLElBQUksMEJBQWUsQ0FDckMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixJQUFJLFlBQTZCLENBQUM7WUFDbEMsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUN6QixZQUFZLEdBQUcsYUFBYSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO2FBQ2xDO1lBRUQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLElBQUksTUFBQTtnQkFDSixRQUFRLFVBQUE7Z0JBQ1IsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFFBQVEsRUFBRTtvQkFDUixXQUFXLEVBQUUsaUNBQXNCLENBQUMsYUFBYSxDQUFDO29CQUNsRCxjQUFjLGdCQUFBO29CQUNkLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtvQkFDL0IsSUFBSSxFQUFFLFlBQVk7aUJBQ25CO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBdkNELDRDQXVDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtQYXJzZVNvdXJjZUZpbGV9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9jb21waWxlcic7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7SW5kZXhlZENvbXBvbmVudH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHtJbmRleGluZ0NvbnRleHR9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQge2dldFRlbXBsYXRlSWRlbnRpZmllcnN9IGZyb20gJy4vdGVtcGxhdGUnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBgSW5kZXhlZENvbXBvbmVudGAgZW50cmllcyBmcm9tIGEgYEluZGV4aW5nQ29udGV4dGAsIHdoaWNoIGhhcyBpbmZvcm1hdGlvblxuICogYWJvdXQgY29tcG9uZW50cyBkaXNjb3ZlcmVkIGluIHRoZSBwcm9ncmFtIHJlZ2lzdGVyZWQgaW4gaXQuXG4gKlxuICogVGhlIGNvbnRleHQgbXVzdCBiZSBwb3B1bGF0ZWQgYmVmb3JlIGBnZW5lcmF0ZUFuYWx5c2lzYCBpcyBjYWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFuYWx5c2lzKGNvbnRleHQ6IEluZGV4aW5nQ29udGV4dCk6IE1hcDx0cy5EZWNsYXJhdGlvbiwgSW5kZXhlZENvbXBvbmVudD4ge1xuICBjb25zdCBhbmFseXNpcyA9IG5ldyBNYXA8dHMuRGVjbGFyYXRpb24sIEluZGV4ZWRDb21wb25lbnQ+KCk7XG5cbiAgY29udGV4dC5jb21wb25lbnRzLmZvckVhY2goKHtkZWNsYXJhdGlvbiwgc2VsZWN0b3IsIGJvdW5kVGVtcGxhdGUsIHRlbXBsYXRlTWV0YX0pID0+IHtcbiAgICBjb25zdCBuYW1lID0gZGVjbGFyYXRpb24ubmFtZS5nZXRUZXh0KCk7XG5cbiAgICBjb25zdCB1c2VkQ29tcG9uZW50cyA9IG5ldyBTZXQ8dHMuRGVjbGFyYXRpb24+KCk7XG4gICAgY29uc3QgdXNlZERpcnMgPSBib3VuZFRlbXBsYXRlLmdldFVzZWREaXJlY3RpdmVzKCk7XG4gICAgdXNlZERpcnMuZm9yRWFjaChkaXIgPT4ge1xuICAgICAgaWYgKGRpci5pc0NvbXBvbmVudCkge1xuICAgICAgICB1c2VkQ29tcG9uZW50cy5hZGQoZGlyLnJlZi5ub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIEdldCBzb3VyY2UgZmlsZXMgZm9yIHRoZSBjb21wb25lbnQgYW5kIHRoZSB0ZW1wbGF0ZS4gSWYgdGhlIHRlbXBsYXRlIGlzIGlubGluZSwgaXRzIHNvdXJjZVxuICAgIC8vIGZpbGUgaXMgdGhlIGNvbXBvbmVudCdzLlxuICAgIGNvbnN0IGNvbXBvbmVudEZpbGUgPSBuZXcgUGFyc2VTb3VyY2VGaWxlKFxuICAgICAgICBkZWNsYXJhdGlvbi5nZXRTb3VyY2VGaWxlKCkuZ2V0RnVsbFRleHQoKSwgZGVjbGFyYXRpb24uZ2V0U291cmNlRmlsZSgpLmZpbGVOYW1lKTtcbiAgICBsZXQgdGVtcGxhdGVGaWxlOiBQYXJzZVNvdXJjZUZpbGU7XG4gICAgaWYgKHRlbXBsYXRlTWV0YS5pc0lubGluZSkge1xuICAgICAgdGVtcGxhdGVGaWxlID0gY29tcG9uZW50RmlsZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGVtcGxhdGVGaWxlID0gdGVtcGxhdGVNZXRhLmZpbGU7XG4gICAgfVxuXG4gICAgYW5hbHlzaXMuc2V0KGRlY2xhcmF0aW9uLCB7XG4gICAgICBuYW1lLFxuICAgICAgc2VsZWN0b3IsXG4gICAgICBmaWxlOiBjb21wb25lbnRGaWxlLFxuICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgaWRlbnRpZmllcnM6IGdldFRlbXBsYXRlSWRlbnRpZmllcnMoYm91bmRUZW1wbGF0ZSksXG4gICAgICAgIHVzZWRDb21wb25lbnRzLFxuICAgICAgICBpc0lubGluZTogdGVtcGxhdGVNZXRhLmlzSW5saW5lLFxuICAgICAgICBmaWxlOiB0ZW1wbGF0ZUZpbGUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gYW5hbHlzaXM7XG59XG4iXX0=
|