@angular/compiler-cli 12.2.0-next.3 → 12.2.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.
@@ -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/typecheck/src/completion", ["require", "exports", "tslib", "@angular/compiler", "@angular/compiler/src/compiler", "typescript", "@angular/compiler-cli/src/ngtsc/typecheck/api", "@angular/compiler-cli/src/ngtsc/typecheck/src/comments"], factory);
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck/src/completion", ["require", "exports", "tslib", "@angular/compiler", "@angular/compiler/src/compiler", "@angular/compiler/src/render3/r3_ast", "typescript", "@angular/compiler-cli/src/ngtsc/typecheck/api", "@angular/compiler-cli/src/ngtsc/typecheck/src/comments"], factory);
15
15
  }
16
16
  })(function (require, exports) {
17
17
  "use strict";
@@ -20,6 +20,7 @@
20
20
  var tslib_1 = require("tslib");
21
21
  var compiler_1 = require("@angular/compiler");
22
22
  var compiler_2 = require("@angular/compiler/src/compiler");
23
+ var r3_ast_1 = require("@angular/compiler/src/render3/r3_ast");
23
24
  var ts = require("typescript");
24
25
  var api_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/api");
25
26
  var comments_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/comments");
@@ -87,6 +88,18 @@
87
88
  };
88
89
  }
89
90
  }
91
+ if (node instanceof compiler_2.PropertyRead && node.receiver instanceof compiler_2.ImplicitReceiver) {
92
+ var nodeLocation = comments_1.findFirstMatchingNode(this.tcb, {
93
+ filter: ts.isPropertyAccessExpression,
94
+ withSpan: node.sourceSpan,
95
+ });
96
+ if (nodeLocation) {
97
+ nodeContext = {
98
+ shimPath: this.shimPath,
99
+ positionInShimFile: nodeLocation.getStart(),
100
+ };
101
+ }
102
+ }
90
103
  return {
91
104
  componentContext: this.componentContext,
92
105
  templateContext: templateContext,
@@ -136,6 +149,43 @@
136
149
  this.expressionCompletionCache.set(expr, res);
137
150
  return res;
138
151
  };
152
+ CompletionEngine.prototype.getLiteralCompletionLocation = function (expr) {
153
+ if (this.expressionCompletionCache.has(expr)) {
154
+ return this.expressionCompletionCache.get(expr);
155
+ }
156
+ var tsExpr = null;
157
+ if (expr instanceof r3_ast_1.TextAttribute) {
158
+ var strNode = comments_1.findFirstMatchingNode(this.tcb, {
159
+ filter: ts.isParenthesizedExpression,
160
+ withSpan: expr.sourceSpan,
161
+ });
162
+ if (strNode !== null && ts.isStringLiteral(strNode.expression)) {
163
+ tsExpr = strNode.expression;
164
+ }
165
+ }
166
+ else {
167
+ tsExpr = comments_1.findFirstMatchingNode(this.tcb, {
168
+ filter: function (n) {
169
+ return ts.isStringLiteral(n) || ts.isNumericLiteral(n);
170
+ },
171
+ withSpan: expr.sourceSpan,
172
+ });
173
+ }
174
+ if (tsExpr === null) {
175
+ return null;
176
+ }
177
+ var positionInShimFile = tsExpr.getEnd();
178
+ if (ts.isStringLiteral(tsExpr)) {
179
+ // In the shimFile, if `tsExpr` is a string, the position should be in the quotes.
180
+ positionInShimFile -= 1;
181
+ }
182
+ var res = {
183
+ shimPath: this.shimPath,
184
+ positionInShimFile: positionInShimFile,
185
+ };
186
+ this.expressionCompletionCache.set(expr, res);
187
+ return res;
188
+ };
139
189
  /**
140
190
  * Get global completions within the given template context - either a `TmplAstTemplate` embedded
141
191
  * view, or `null` for the root context.
@@ -179,4 +229,4 @@
179
229
  }());
180
230
  exports.CompletionEngine = CompletionEngine;
181
231
  });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvdHlwZWNoZWNrL3NyYy9jb21wbGV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7SUFFSCw4Q0FBb0U7SUFDcEUsMkRBQXNKO0lBQ3RKLCtCQUFpQztJQUdqQyxxRUFBK0c7SUFFL0csbUZBQXVFO0lBR3ZFOzs7OztPQUtHO0lBQ0g7UUFjRSwwQkFBb0IsR0FBWSxFQUFVLElBQWtCLEVBQVUsUUFBd0I7WUFBMUUsUUFBRyxHQUFILEdBQUcsQ0FBUztZQUFVLFNBQUksR0FBSixJQUFJLENBQWM7WUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtZQVg5Rjs7O2VBR0c7WUFDSyx5QkFBb0IsR0FDeEIsSUFBSSxHQUFHLEVBQTZFLENBQUM7WUFFakYsOEJBQXlCLEdBQzdCLElBQUksR0FBRyxFQUF5RSxDQUFDO1lBSW5GLDhGQUE4RjtZQUM5RixJQUFNLFVBQVUsR0FBRyxnQ0FBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNqRCxNQUFNLEVBQUUsRUFBRSxDQUFDLDBCQUEwQjtnQkFDckMsd0JBQXdCLEVBQUUsK0JBQW9CLENBQUMsb0JBQW9CO2FBQ3BFLENBQUMsQ0FBQztZQUVILElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHO29CQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7b0JBQ3ZCLDJGQUEyRjtvQkFDM0YsMEZBQTBGO29CQUMxRiw2QkFBNkI7b0JBQzdCLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2lCQUMvQyxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQzthQUM5QjtR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LEdBQUcsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDeEQsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztRQUNILHVCQUFDO0lBQUQsQ0FBQyxBQXpKRCxJQXlKQztJQXpKWSw0Q0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtUbXBsQXN0UmVmZXJlbmNlLCBUbXBsQXN0VGVtcGxhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCB7QVNULCBFbXB0eUV4cHIsIE1ldGhvZENhbGwsIFByb3BlcnR5UmVhZCwgUHJvcGVydHlXcml0ZSwgU2FmZU1ldGhvZENhbGwsIFNhZmVQcm9wZXJ0eVJlYWQsIFRtcGxBc3ROb2RlfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGh9IGZyb20gJy4uLy4uL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7Q29tcGxldGlvbktpbmQsIEdsb2JhbENvbXBsZXRpb24sIFJlZmVyZW5jZUNvbXBsZXRpb24sIFNoaW1Mb2NhdGlvbiwgVmFyaWFibGVDb21wbGV0aW9ufSBmcm9tICcuLi9hcGknO1xuXG5pbXBvcnQge0V4cHJlc3Npb25JZGVudGlmaWVyLCBmaW5kRmlyc3RNYXRjaGluZ05vZGV9IGZyb20gJy4vY29tbWVudHMnO1xuaW1wb3J0IHtUZW1wbGF0ZURhdGF9IGZyb20gJy4vY29udGV4dCc7XG5cbi8qKlxuICogUG93ZXJzIGF1dG9jb21wbGV0aW9uIGZvciBhIHNwZWNpZmljIGNvbXBvbmVudC5cbiAqXG4gKiBJbnRlcm5hbGx5IGNhY2hlcyBhdXRvY29tcGxldGlvbiByZXN1bHRzLCBhbmQgbXVzdCBiZSBkaXNjYXJkZWQgaWYgdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZSBvclxuICogc3Vycm91bmRpbmcgVFMgcHJvZ3JhbSBoYXZlIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wbGV0aW9uRW5naW5lIHtcbiAgcHJpdmF0ZSBjb21wb25lbnRDb250ZXh0OiBTaGltTG9jYXRpb258bnVsbDtcblxuICAvKipcbiAgICogQ2FjaGUgb2YgY29tcGxldGlvbnMgZm9yIHZhcmlvdXMgbGV2ZWxzIG9mIHRoZSB0ZW1wbGF0ZSwgaW5jbHVkaW5nIHRoZSByb290IHRlbXBsYXRlIChgbnVsbGApLlxuICAgKiBNZW1vaXplcyBgZ2V0VGVtcGxhdGVDb250ZXh0Q29tcGxldGlvbnNgLlxuICAgKi9cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUNvbnRleHRDYWNoZSA9XG4gICAgICBuZXcgTWFwPFRtcGxBc3RUZW1wbGF0ZXxudWxsLCBNYXA8c3RyaW5nLCBSZWZlcmVuY2VDb21wbGV0aW9ufFZhcmlhYmxlQ29tcGxldGlvbj4+KCk7XG5cbiAgcHJpdmF0ZSBleHByZXNzaW9uQ29tcGxldGlvbkNhY2hlID1cbiAgICAgIG5ldyBNYXA8UHJvcGVydHlSZWFkfFNhZmVQcm9wZXJ0eVJlYWR8TWV0aG9kQ2FsbHxTYWZlTWV0aG9kQ2FsbCwgU2hpbUxvY2F0aW9uPigpO1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0Y2I6IHRzLk5vZGUsIHByaXZhdGUgZGF0YTogVGVtcGxhdGVEYXRhLCBwcml2YXRlIHNoaW1QYXRoOiBBYnNvbHV0ZUZzUGF0aCkge1xuICAgIC8vIEZpbmQgdGhlIGNvbXBvbmVudCBjb21wbGV0aW9uIGV4cHJlc3Npb24gd2l0aGluIHRoZSBUQ0IuIFRoaXMgbG9va3MgbGlrZTogYGN0eC4gLyogLi4uICovO2BcbiAgICBjb25zdCBnbG9iYWxSZWFkID0gZmluZEZpcnN0TWF0Y2hpbmdOb2RlKHRoaXMudGNiLCB7XG4gICAgICBmaWx0ZXI6IHRzLmlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLFxuICAgICAgd2l0aEV4cHJlc3Npb25JZGVudGlmaWVyOiBFeHByZXNzaW9uSWRlbnRpZmllci5DT01QT05FTlRfQ09NUExFVElPTlxuICAgIH0pO1xuXG4gICAgaWYgKGdsb2JhbFJlYWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGV4dCA9IHtcbiAgICAgICAgc2hpbVBhdGg6IHRoaXMuc2hpbVBhdGgsXG4gICAgICAgIC8vIGBnbG9iYWxSZWFkLm5hbWVgIGlzIGFuIGVtcHR5IGB0cy5JZGVudGlmaWVyYCwgc28gaXRzIHN0YXJ0IHBvc2l0aW9uIGltbWVkaWF0ZWx5IGZvbGxvd3NcbiAgICAgICAgLy8gdGhlIGAuYCBpbiBgY3R4LmAuIFRTIGF1dG9jb21wbGV0aW9uIEFQSXMgY2FuIHRoZW4gYmUgdXNlZCB0byBhY2Nlc3MgY29tcGxldGlvbiByZXN1bHRzXG4gICAgICAgIC8vIGZvciB0aGUgY29tcG9uZW50IGNvbnRleHQuXG4gICAgICAgIHBvc2l0aW9uSW5TaGltRmlsZTogZ2xvYmFsUmVhZC5uYW1lLmdldFN0YXJ0KCksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbXBvbmVudENvbnRleHQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZ2xvYmFsIGNvbXBsZXRpb25zIHdpdGhpbiB0aGUgZ2l2ZW4gdGVtcGxhdGUgY29udGV4dCBhbmQgQVNUIG5vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb250ZXh0IHRoZSBnaXZlbiB0ZW1wbGF0ZSBjb250ZXh0IC0gZWl0aGVyIGEgYFRtcGxBc3RUZW1wbGF0ZWAgZW1iZWRkZWQgdmlldywgb3IgYG51bGxgXG4gICAqICAgICBmb3IgdGhlIHJvb3RcbiAgICogdGVtcGxhdGUgY29udGV4dC5cbiAgICogQHBhcmFtIG5vZGUgdGhlIGdpdmVuIEFTVCBub2RlXG4gICAqL1xuICBnZXRHbG9iYWxDb21wbGV0aW9ucyhjb250ZXh0OiBUbXBsQXN0VGVtcGxhdGV8bnVsbCwgbm9kZTogQVNUfFRtcGxBc3ROb2RlKTogR2xvYmFsQ29tcGxldGlvblxuICAgICAgfG51bGwge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudENvbnRleHQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBsYXRlQ29udGV4dCA9IHRoaXMuZ2V0VGVtcGxhdGVDb250ZXh0Q29tcGxldGlvbnMoY29udGV4dCk7XG4gICAgaWYgKHRlbXBsYXRlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IG5vZGVDb250ZXh0OiBTaGltTG9jYXRpb258bnVsbCA9IG51bGw7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBFbXB0eUV4cHIpIHtcbiAgICAgIGNvbnN0IG5vZGVMb2NhdGlvbiA9IGZpbmRGaXJzdE1hdGNoaW5nTm9kZSh0aGlzLnRjYiwge1xuICAgICAgICBmaWx0ZXI6IHRzLmlzSWRlbnRpZmllcixcbiAgICAgICAgd2l0aFNwYW46IG5vZGUuc291cmNlU3BhbixcbiAgICAgIH0pO1xuICAgICAgaWYgKG5vZGVMb2NhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICBub2RlQ29udGV4dCA9IHtcbiAgICAgICAgICBzaGltUGF0aDogdGhpcy5zaGltUGF0aCxcbiAgICAgICAgICBwb3NpdGlvbkluU2hpbUZpbGU6IG5vZGVMb2NhdGlvbi5nZXRTdGFydCgpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnRDb250ZXh0OiB0aGlzLmNvbXBvbmVudENvbnRleHQsXG4gICAgICB0ZW1wbGF0ZUNvbnRleHQsXG4gICAgICBub2RlQ29udGV4dCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RXhwcmVzc2lvbkNvbXBsZXRpb25Mb2NhdGlvbihleHByOiBQcm9wZXJ0eVJlYWR8UHJvcGVydHlXcml0ZXxNZXRob2RDYWxsfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhZmVNZXRob2RDYWxsKTogU2hpbUxvY2F0aW9ufG51bGwge1xuICAgIGlmICh0aGlzLmV4cHJlc3Npb25Db21wbGV0aW9uQ2FjaGUuaGFzKGV4cHIpKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHByZXNzaW9uQ29tcGxldGlvbkNhY2hlLmdldChleHByKSE7XG4gICAgfVxuXG4gICAgLy8gQ29tcGxldGlvbiB3b3JrcyBpbnNpZGUgcHJvcGVydHkgcmVhZHMgYW5kIG1ldGhvZCBjYWxscy5cbiAgICBsZXQgdHNFeHByOiB0cy5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb258bnVsbCA9IG51bGw7XG4gICAgaWYgKGV4cHIgaW5zdGFuY2VvZiBQcm9wZXJ0eVJlYWQgfHwgZXhwciBpbnN0YW5jZW9mIE1ldGhvZENhbGwgfHxcbiAgICAgICAgZXhwciBpbnN0YW5jZW9mIFByb3BlcnR5V3JpdGUpIHtcbiAgICAgIC8vIE5vbi1zYWZlIG5hdmlnYXRpb24gb3BlcmF0aW9ucyBhcmUgdHJpdmlhbDogYGZvby5iYXJgIG9yIGBmb28uYmFyKClgXG4gICAgICB0c0V4cHIgPSBmaW5kRmlyc3RNYXRjaGluZ05vZGUodGhpcy50Y2IsIHtcbiAgICAgICAgZmlsdGVyOiB0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbixcbiAgICAgICAgd2l0aFNwYW46IGV4cHIubmFtZVNwYW4sXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGV4cHIgaW5zdGFuY2VvZiBTYWZlUHJvcGVydHlSZWFkIHx8IGV4cHIgaW5zdGFuY2VvZiBTYWZlTWV0aG9kQ2FsbCkge1xuICAgICAgLy8gU2FmZSBuYXZpZ2F0aW9uIG9wZXJhdGlvbnMgYXJlIGEgbGl0dGxlIG1vcmUgY29tcGxleCwgYW5kIGludm9sdmUgYSB0ZXJuYXJ5LiBDb21wbGV0aW9uXG4gICAgICAvLyBoYXBwZW5zIGluIHRoZSBcInRydWVcIiBjYXNlIG9mIHRoZSB0ZXJuYXJ5LlxuICAgICAgY29uc3QgdGVybmFyeUV4cHIgPSBmaW5kRmlyc3RNYXRjaGluZ05vZGUodGhpcy50Y2IsIHtcbiAgICAgICAgZmlsdGVyOiB0cy5pc1BhcmVudGhlc2l6ZWRFeHByZXNzaW9uLFxuICAgICAgICB3aXRoU3BhbjogZXhwci5zb3VyY2VTcGFuLFxuICAgICAgfSk7XG4gICAgICBpZiAodGVybmFyeUV4cHIgPT09IG51bGwgfHwgIXRzLmlzQ29uZGl0aW9uYWxFeHByZXNzaW9uKHRlcm5hcnlFeHByLmV4cHJlc3Npb24pKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3Qgd2hlblRydWUgPSB0ZXJuYXJ5RXhwci5leHByZXNzaW9uLndoZW5UcnVlO1xuXG4gICAgICBpZiAoZXhwciBpbnN0YW5jZW9mIFNhZmVQcm9wZXJ0eVJlYWQgJiYgdHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24od2hlblRydWUpKSB7XG4gICAgICAgIHRzRXhwciA9IHdoZW5UcnVlO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBleHByIGluc3RhbmNlb2YgU2FmZU1ldGhvZENhbGwgJiYgdHMuaXNDYWxsRXhwcmVzc2lvbih3aGVuVHJ1ZSkgJiZcbiAgICAgICAgICB0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbih3aGVuVHJ1ZS5leHByZXNzaW9uKSkge1xuICAgICAgICB0c0V4cHIgPSB3aGVuVHJ1ZS5leHByZXNzaW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0c0V4cHIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHJlczogU2hpbUxvY2F0aW9uID0ge1xuICAgICAgc2hpbVBhdGg6IHRoaXMuc2hpbVBhdGgsXG4gICAgICBwb3NpdGlvbkluU2hpbUZpbGU6IHRzRXhwci5uYW1lLmdldEVuZCgpLFxuICAgIH07XG4gICAgdGhpcy5leHByZXNzaW9uQ29tcGxldGlvbkNhY2hlLnNldChleHByLCByZXMpO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGdsb2JhbCBjb21wbGV0aW9ucyB3aXRoaW4gdGhlIGdpdmVuIHRlbXBsYXRlIGNvbnRleHQgLSBlaXRoZXIgYSBgVG1wbEFzdFRlbXBsYXRlYCBlbWJlZGRlZFxuICAgKiB2aWV3LCBvciBgbnVsbGAgZm9yIHRoZSByb290IGNvbnRleHQuXG4gICAqL1xuICBwcml2YXRlIGdldFRlbXBsYXRlQ29udGV4dENvbXBsZXRpb25zKGNvbnRleHQ6IFRtcGxBc3RUZW1wbGF0ZXxudWxsKTpcbiAgICAgIE1hcDxzdHJpbmcsIFJlZmVyZW5jZUNvbXBsZXRpb258VmFyaWFibGVDb21wbGV0aW9uPnxudWxsIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZUNvbnRleHRDYWNoZS5oYXMoY29udGV4dCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlQ29udGV4dENhY2hlLmdldChjb250ZXh0KSE7XG4gICAgfVxuXG4gICAgY29uc3QgdGVtcGxhdGVDb250ZXh0ID0gbmV3IE1hcDxzdHJpbmcsIFJlZmVyZW5jZUNvbXBsZXRpb258VmFyaWFibGVDb21wbGV0aW9uPigpO1xuXG4gICAgLy8gVGhlIGJvdW5kIHRlbXBsYXRlIGFscmVhZHkgaGFzIGRldGFpbHMgYWJvdXQgdGhlIHJlZmVyZW5jZXMgYW5kIHZhcmlhYmxlcyBpbiBzY29wZSBpbiB0aGVcbiAgICAvLyBgY29udGV4dGAgdGVtcGxhdGUgLSB0aGV5IGp1c3QgbmVlZCB0byBiZSBjb252ZXJ0ZWQgdG8gYENvbXBsZXRpb25gcy5cbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5kYXRhLmJvdW5kVGFyZ2V0LmdldEVudGl0aWVzSW5UZW1wbGF0ZVNjb3BlKGNvbnRleHQpKSB7XG4gICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIFRtcGxBc3RSZWZlcmVuY2UpIHtcbiAgICAgICAgdGVtcGxhdGVDb250ZXh0LnNldChub2RlLm5hbWUsIHtcbiAgICAgICAgICBraW5kOiBDb21wbGV0aW9uS2luZC5SZWZlcmVuY2UsXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZW1wbGF0ZUNvbnRleHQuc2V0KG5vZGUubmFtZSwge1xuICAgICAgICAgIGtpbmQ6IENvbXBsZXRpb25LaW5kLlZhcmlhYmxlLFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudGVtcGxhdGVDb250ZXh0Q2FjaGUuc2V0KGNvbnRleHQsIHRlbXBsYXRlQ29udGV4dCk7XG4gICAgcmV0dXJuIHRlbXBsYXRlQ29udGV4dDtcbiAgfVxufVxuIl19
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvdHlwZWNoZWNrL3NyYy9jb21wbGV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7SUFFSCw4Q0FBb0U7SUFDcEUsMkRBQTBMO0lBQzFMLCtEQUFtRTtJQUNuRSwrQkFBaUM7SUFHakMscUVBQStHO0lBRS9HLG1GQUF1RTtJQUd2RTs7Ozs7T0FLRztJQUNIO1FBZUUsMEJBQW9CLEdBQVksRUFBVSxJQUFrQixFQUFVLFFBQXdCO1lBQTFFLFFBQUcsR0FBSCxHQUFHLENBQVM7WUFBVSxTQUFJLEdBQUosSUFBSSxDQUFjO1lBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7WUFaOUY7OztlQUdHO1lBQ0sseUJBQW9CLEdBQ3hCLElBQUksR0FBRyxFQUE2RSxDQUFDO1lBRWpGLDhCQUF5QixHQUFHLElBQUksR0FBRyxFQUV4QixDQUFDO1lBSWxCLDhGQUE4RjtZQUM5RixJQUFNLFVBQVUsR0FBRyxnQ0FBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNqRCxNQUFNLEVBQUUsRUFBRSxDQUFDLDBCQUEwQjtnQkFDckMsd0JBQXdCLEVBQUUsK0JBQW9CLENBQUMsb0JBQW9CO2FBQ3BFLENBQUMsQ0FBQztZQUVILElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHO29CQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7b0JBQ3ZCLDJGQUEyRjtvQkFDM0YsMEZBQTBGO29CQUMxRiw2QkFBNkI7b0JBQzdCLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2lCQUMvQyxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUks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LENBQUUsQ0FBQzthQUNoRDtZQUVELElBQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFrRCxDQUFDOztnQkFFbEYsNEZBQTRGO2dCQUM1Rix3RUFBd0U7Z0JBQ3hFLEtBQW1CLElBQUEsS0FBQSxpQkFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBekUsSUFBTSxJQUFJLFdBQUE7b0JBQ2IsSUFBSSxJQUFJLFlBQVksMkJBQWdCLEVBQUU7d0JBQ3BDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTs0QkFDN0IsSUFBSSxFQUFFLG9CQUFjLENBQUMsU0FBUzs0QkFDOUIsSUFBSSxNQUFBO3lCQUNMLENBQUMsQ0FBQztxQkFDSjt5QkFBTTt3QkFDTCxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7NEJBQzdCLElBQUksRUFBRSxvQkFBYyxDQUFDLFFBQVE7NEJBQzdCLElBQUksTUFBQTt5QkFDTCxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7Ozs7Ozs7OztZQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFDSCx1QkFBQztJQUFELENBQUMsQUEvTUQsSUErTUM7SUEvTVksNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7VG1wbEFzdFJlZmVyZW5jZSwgVG1wbEFzdFRlbXBsYXRlfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQge0FTVCwgRW1wdHlFeHByLCBJbXBsaWNpdFJlY2VpdmVyLCBMaXRlcmFsUHJpbWl0aXZlLCBNZXRob2RDYWxsLCBQcm9wZXJ0eVJlYWQsIFByb3BlcnR5V3JpdGUsIFNhZmVNZXRob2RDYWxsLCBTYWZlUHJvcGVydHlSZWFkLCBUbXBsQXN0Tm9kZX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL2NvbXBpbGVyJztcbmltcG9ydCB7VGV4dEF0dHJpYnV0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3JlbmRlcjMvcjNfYXN0JztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0NvbXBsZXRpb25LaW5kLCBHbG9iYWxDb21wbGV0aW9uLCBSZWZlcmVuY2VDb21wbGV0aW9uLCBTaGltTG9jYXRpb24sIFZhcmlhYmxlQ29tcGxldGlvbn0gZnJvbSAnLi4vYXBpJztcblxuaW1wb3J0IHtFeHByZXNzaW9uSWRlbnRpZmllciwgZmluZEZpcnN0TWF0Y2hpbmdOb2RlfSBmcm9tICcuL2NvbW1lbnRzJztcbmltcG9ydCB7VGVtcGxhdGVEYXRhfSBmcm9tICcuL2NvbnRleHQnO1xuXG4vKipcbiAqIFBvd2VycyBhdXRvY29tcGxldGlvbiBmb3IgYSBzcGVjaWZpYyBjb21wb25lbnQuXG4gKlxuICogSW50ZXJuYWxseSBjYWNoZXMgYXV0b2NvbXBsZXRpb24gcmVzdWx0cywgYW5kIG11c3QgYmUgZGlzY2FyZGVkIGlmIHRoZSBjb21wb25lbnQgdGVtcGxhdGUgb3JcbiAqIHN1cnJvdW5kaW5nIFRTIHByb2dyYW0gaGF2ZSBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcGxldGlvbkVuZ2luZSB7XG4gIHByaXZhdGUgY29tcG9uZW50Q29udGV4dDogU2hpbUxvY2F0aW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIENhY2hlIG9mIGNvbXBsZXRpb25zIGZvciB2YXJpb3VzIGxldmVscyBvZiB0aGUgdGVtcGxhdGUsIGluY2x1ZGluZyB0aGUgcm9vdCB0ZW1wbGF0ZSAoYG51bGxgKS5cbiAgICogTWVtb2l6ZXMgYGdldFRlbXBsYXRlQ29udGV4dENvbXBsZXRpb25zYC5cbiAgICovXG4gIHByaXZhdGUgdGVtcGxhdGVDb250ZXh0Q2FjaGUgPVxuICAgICAgbmV3IE1hcDxUbXBsQXN0VGVtcGxhdGV8bnVsbCwgTWFwPHN0cmluZywgUmVmZXJlbmNlQ29tcGxldGlvbnxWYXJpYWJsZUNvbXBsZXRpb24+PigpO1xuXG4gIHByaXZhdGUgZXhwcmVzc2lvbkNvbXBsZXRpb25DYWNoZSA9IG5ldyBNYXA8XG4gICAgICBQcm9wZXJ0eVJlYWR8U2FmZVByb3BlcnR5UmVhZHxNZXRob2RDYWxsfFNhZmVNZXRob2RDYWxsfExpdGVyYWxQcmltaXRpdmV8VGV4dEF0dHJpYnV0ZSxcbiAgICAgIFNoaW1Mb2NhdGlvbj4oKTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGNiOiB0cy5Ob2RlLCBwcml2YXRlIGRhdGE6IFRlbXBsYXRlRGF0YSwgcHJpdmF0ZSBzaGltUGF0aDogQWJzb2x1dGVGc1BhdGgpIHtcbiAgICAvLyBGaW5kIHRoZSBjb21wb25lbnQgY29tcGxldGlvbiBleHByZXNzaW9uIHdpdGhpbiB0aGUgVENCLiBUaGlzIGxvb2tzIGxpa2U6IGBjdHguIC8qIC4uLiAqLztgXG4gICAgY29uc3QgZ2xvYmFsUmVhZCA9IGZpbmRGaXJzdE1hdGNoaW5nTm9kZSh0aGlzLnRjYiwge1xuICAgICAgZmlsdGVyOiB0cy5pc1Byb3BlcnR5QWNjZXNzRXhwcmVzc2lvbixcbiAgICAgIHdpdGhFeHByZXNzaW9uSWRlbnRpZmllcjogRXhwcmVzc2lvbklkZW50aWZpZXIuQ09NUE9ORU5UX0NPTVBMRVRJT05cbiAgICB9KTtcblxuICAgIGlmIChnbG9iYWxSZWFkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudENvbnRleHQgPSB7XG4gICAgICAgIHNoaW1QYXRoOiB0aGlzLnNoaW1QYXRoLFxuICAgICAgICAvLyBgZ2xvYmFsUmVhZC5uYW1lYCBpcyBhbiBlbXB0eSBgdHMuSWRlbnRpZmllcmAsIHNvIGl0cyBzdGFydCBwb3NpdGlvbiBpbW1lZGlhdGVseSBmb2xsb3dzXG4gICAgICAgIC8vIHRoZSBgLmAgaW4gYGN0eC5gLiBUUyBhdXRvY29tcGxldGlvbiBBUElzIGNhbiB0aGVuIGJlIHVzZWQgdG8gYWNjZXNzIGNvbXBsZXRpb24gcmVzdWx0c1xuICAgICAgICAvLyBmb3IgdGhlIGNvbXBvbmVudCBjb250ZXh0LlxuICAgICAgICBwb3NpdGlvbkluU2hpbUZpbGU6IGdsb2JhbFJlYWQubmFtZS5nZXRTdGFydCgpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wb25lbnRDb250ZXh0ID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGdsb2JhbCBjb21wbGV0aW9ucyB3aXRoaW4gdGhlIGdpdmVuIHRlbXBsYXRlIGNvbnRleHQgYW5kIEFTVCBub2RlLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCB0aGUgZ2l2ZW4gdGVtcGxhdGUgY29udGV4dCAtIGVpdGhlciBhIGBUbXBsQXN0VGVtcGxhdGVgIGVtYmVkZGVkIHZpZXcsIG9yIGBudWxsYFxuICAgKiAgICAgZm9yIHRoZSByb290XG4gICAqIHRlbXBsYXRlIGNvbnRleHQuXG4gICAqIEBwYXJhbSBub2RlIHRoZSBnaXZlbiBBU1Qgbm9kZVxuICAgKi9cbiAgZ2V0R2xvYmFsQ29tcGxldGlvbnMoY29udGV4dDogVG1wbEFzdFRlbXBsYXRlfG51bGwsIG5vZGU6IEFTVHxUbXBsQXN0Tm9kZSk6IEdsb2JhbENvbXBsZXRpb25cbiAgICAgIHxudWxsIHtcbiAgICBpZiAodGhpcy5jb21wb25lbnRDb250ZXh0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUNvbnRleHQgPSB0aGlzLmdldFRlbXBsYXRlQ29udGV4dENvbXBsZXRpb25zKGNvbnRleHQpO1xuICAgIGlmICh0ZW1wbGF0ZUNvbnRleHQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBub2RlQ29udGV4dDogU2hpbUxvY2F0aW9ufG51bGwgPSBudWxsO1xuICAgIGlmIChub2RlIGluc3RhbmNlb2YgRW1wdHlFeHByKSB7XG4gICAgICBjb25zdCBub2RlTG9jYXRpb24gPSBmaW5kRmlyc3RNYXRjaGluZ05vZGUodGhpcy50Y2IsIHtcbiAgICAgICAgZmlsdGVyOiB0cy5pc0lkZW50aWZpZXIsXG4gICAgICAgIHdpdGhTcGFuOiBub2RlLnNvdXJjZVNwYW4sXG4gICAgICB9KTtcbiAgICAgIGlmIChub2RlTG9jYXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgbm9kZUNvbnRleHQgPSB7XG4gICAgICAgICAgc2hpbVBhdGg6IHRoaXMuc2hpbVBhdGgsXG4gICAgICAgICAgcG9zaXRpb25JblNoaW1GaWxlOiBub2RlTG9jYXRpb24uZ2V0U3RhcnQoKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIFByb3BlcnR5UmVhZCAmJiBub2RlLnJlY2VpdmVyIGluc3RhbmNlb2YgSW1wbGljaXRSZWNlaXZlcikge1xuICAgICAgY29uc3Qgbm9kZUxvY2F0aW9uID0gZmluZEZpcnN0TWF0Y2hpbmdOb2RlKHRoaXMudGNiLCB7XG4gICAgICAgIGZpbHRlcjogdHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sXG4gICAgICAgIHdpdGhTcGFuOiBub2RlLnNvdXJjZVNwYW4sXG4gICAgICB9KTtcbiAgICAgIGlmIChub2RlTG9jYXRpb24pIHtcbiAgICAgICAgbm9kZUNvbnRleHQgPSB7XG4gICAgICAgICAgc2hpbVBhdGg6IHRoaXMuc2hpbVBhdGgsXG4gICAgICAgICAgcG9zaXRpb25JblNoaW1GaWxlOiBub2RlTG9jYXRpb24uZ2V0U3RhcnQoKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50Q29udGV4dDogdGhpcy5jb21wb25lbnRDb250ZXh0LFxuICAgICAgdGVtcGxhdGVDb250ZXh0LFxuICAgICAgbm9kZUNvbnRleHQsXG4gICAgfTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb25Db21wbGV0aW9uTG9jYXRpb24oZXhwcjogUHJvcGVydHlSZWFkfFByb3BlcnR5V3JpdGV8TWV0aG9kQ2FsbHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYWZlTWV0aG9kQ2FsbCk6IFNoaW1Mb2NhdGlvbnxudWxsIHtcbiAgICBpZiAodGhpcy5leHByZXNzaW9uQ29tcGxldGlvbkNhY2hlLmhhcyhleHByKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbkNvbXBsZXRpb25DYWNoZS5nZXQoZXhwcikhO1xuICAgIH1cblxuICAgIC8vIENvbXBsZXRpb24gd29ya3MgaW5zaWRlIHByb3BlcnR5IHJlYWRzIGFuZCBtZXRob2QgY2FsbHMuXG4gICAgbGV0IHRzRXhwcjogdHMuUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9ufG51bGwgPSBudWxsO1xuICAgIGlmIChleHByIGluc3RhbmNlb2YgUHJvcGVydHlSZWFkIHx8IGV4cHIgaW5zdGFuY2VvZiBNZXRob2RDYWxsIHx8XG4gICAgICAgIGV4cHIgaW5zdGFuY2VvZiBQcm9wZXJ0eVdyaXRlKSB7XG4gICAgICAvLyBOb24tc2FmZSBuYXZpZ2F0aW9uIG9wZXJhdGlvbnMgYXJlIHRyaXZpYWw6IGBmb28uYmFyYCBvciBgZm9vLmJhcigpYFxuICAgICAgdHNFeHByID0gZmluZEZpcnN0TWF0Y2hpbmdOb2RlKHRoaXMudGNiLCB7XG4gICAgICAgIGZpbHRlcjogdHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24sXG4gICAgICAgIHdpdGhTcGFuOiBleHByLm5hbWVTcGFuLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChleHByIGluc3RhbmNlb2YgU2FmZVByb3BlcnR5UmVhZCB8fCBleHByIGluc3RhbmNlb2YgU2FmZU1ldGhvZENhbGwpIHtcbiAgICAgIC8vIFNhZmUgbmF2aWdhdGlvbiBvcGVyYXRpb25zIGFyZSBhIGxpdHRsZSBtb3JlIGNvbXBsZXgsIGFuZCBpbnZvbHZlIGEgdGVybmFyeS4gQ29tcGxldGlvblxuICAgICAgLy8gaGFwcGVucyBpbiB0aGUgXCJ0cnVlXCIgY2FzZSBvZiB0aGUgdGVybmFyeS5cbiAgICAgIGNvbnN0IHRlcm5hcnlFeHByID0gZmluZEZpcnN0TWF0Y2hpbmdOb2RlKHRoaXMudGNiLCB7XG4gICAgICAgIGZpbHRlcjogdHMuaXNQYXJlbnRoZXNpemVkRXhwcmVzc2lvbixcbiAgICAgICAgd2l0aFNwYW46IGV4cHIuc291cmNlU3BhbixcbiAgICAgIH0pO1xuICAgICAgaWYgKHRlcm5hcnlFeHByID09PSBudWxsIHx8ICF0cy5pc0NvbmRpdGlvbmFsRXhwcmVzc2lvbih0ZXJuYXJ5RXhwci5leHByZXNzaW9uKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHdoZW5UcnVlID0gdGVybmFyeUV4cHIuZXhwcmVzc2lvbi53aGVuVHJ1ZTtcblxuICAgICAgaWYgKGV4cHIgaW5zdGFuY2VvZiBTYWZlUHJvcGVydHlSZWFkICYmIHRzLmlzUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uKHdoZW5UcnVlKSkge1xuICAgICAgICB0c0V4cHIgPSB3aGVuVHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgZXhwciBpbnN0YW5jZW9mIFNhZmVNZXRob2RDYWxsICYmIHRzLmlzQ2FsbEV4cHJlc3Npb24od2hlblRydWUpICYmXG4gICAgICAgICAgdHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24od2hlblRydWUuZXhwcmVzc2lvbikpIHtcbiAgICAgICAgdHNFeHByID0gd2hlblRydWUuZXhwcmVzc2lvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHNFeHByID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByZXM6IFNoaW1Mb2NhdGlvbiA9IHtcbiAgICAgIHNoaW1QYXRoOiB0aGlzLnNoaW1QYXRoLFxuICAgICAgcG9zaXRpb25JblNoaW1GaWxlOiB0c0V4cHIubmFtZS5nZXRFbmQoKSxcbiAgICB9O1xuICAgIHRoaXMuZXhwcmVzc2lvbkNvbXBsZXRpb25DYWNoZS5zZXQoZXhwciwgcmVzKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgZ2V0TGl0ZXJhbENvbXBsZXRpb25Mb2NhdGlvbihleHByOiBMaXRlcmFsUHJpbWl0aXZlfFRleHRBdHRyaWJ1dGUpOiBTaGltTG9jYXRpb258bnVsbCB7XG4gICAgaWYgKHRoaXMuZXhwcmVzc2lvbkNvbXBsZXRpb25DYWNoZS5oYXMoZXhwcikpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb25Db21wbGV0aW9uQ2FjaGUuZ2V0KGV4cHIpITtcbiAgICB9XG5cbiAgICBsZXQgdHNFeHByOiB0cy5TdHJpbmdMaXRlcmFsfHRzLk51bWVyaWNMaXRlcmFsfG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGV4cHIgaW5zdGFuY2VvZiBUZXh0QXR0cmlidXRlKSB7XG4gICAgICBjb25zdCBzdHJOb2RlID0gZmluZEZpcnN0TWF0Y2hpbmdOb2RlKHRoaXMudGNiLCB7XG4gICAgICAgIGZpbHRlcjogdHMuaXNQYXJlbnRoZXNpemVkRXhwcmVzc2lvbixcbiAgICAgICAgd2l0aFNwYW46IGV4cHIuc291cmNlU3BhbixcbiAgICAgIH0pO1xuICAgICAgaWYgKHN0ck5vZGUgIT09IG51bGwgJiYgdHMuaXNTdHJpbmdMaXRlcmFsKHN0ck5vZGUuZXhwcmVzc2lvbikpIHtcbiAgICAgICAgdHNFeHByID0gc3RyTm9kZS5leHByZXNzaW9uO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0c0V4cHIgPSBmaW5kRmlyc3RNYXRjaGluZ05vZGUodGhpcy50Y2IsIHtcbiAgICAgICAgZmlsdGVyOiAobjogdHMuTm9kZSk6IG4gaXMgdHMuTnVtZXJpY0xpdGVyYWwgfCB0cy5TdHJpbmdMaXRlcmFsID0+XG4gICAgICAgICAgICB0cy5pc1N0cmluZ0xpdGVyYWwobikgfHwgdHMuaXNOdW1lcmljTGl0ZXJhbChuKSxcbiAgICAgICAgd2l0aFNwYW46IGV4cHIuc291cmNlU3BhbixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0c0V4cHIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBwb3NpdGlvbkluU2hpbUZpbGUgPSB0c0V4cHIuZ2V0RW5kKCk7XG4gICAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbCh0c0V4cHIpKSB7XG4gICAgICAvLyBJbiB0aGUgc2hpbUZpbGUsIGlmIGB0c0V4cHJgIGlzIGEgc3RyaW5nLCB0aGUgcG9zaXRpb24gc2hvdWxkIGJlIGluIHRoZSBxdW90ZXMuXG4gICAgICBwb3NpdGlvbkluU2hpbUZpbGUgLT0gMTtcbiAgICB9XG4gICAgY29uc3QgcmVzOiBTaGltTG9jYXRpb24gPSB7XG4gICAgICBzaGltUGF0aDogdGhpcy5zaGltUGF0aCxcbiAgICAgIHBvc2l0aW9uSW5TaGltRmlsZSxcbiAgICB9O1xuICAgIHRoaXMuZXhwcmVzc2lvbkNvbXBsZXRpb25DYWNoZS5zZXQoZXhwciwgcmVzKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBnbG9iYWwgY29tcGxldGlvbnMgd2l0aGluIHRoZSBnaXZlbiB0ZW1wbGF0ZSBjb250ZXh0IC0gZWl0aGVyIGEgYFRtcGxBc3RUZW1wbGF0ZWAgZW1iZWRkZWRcbiAgICogdmlldywgb3IgYG51bGxgIGZvciB0aGUgcm9vdCBjb250ZXh0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRUZW1wbGF0ZUNvbnRleHRDb21wbGV0aW9ucyhjb250ZXh0OiBUbXBsQXN0VGVtcGxhdGV8bnVsbCk6XG4gICAgICBNYXA8c3RyaW5nLCBSZWZlcmVuY2VDb21wbGV0aW9ufFZhcmlhYmxlQ29tcGxldGlvbj58bnVsbCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVDb250ZXh0Q2FjaGUuaGFzKGNvbnRleHQpKSB7XG4gICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZUNvbnRleHRDYWNoZS5nZXQoY29udGV4dCkhO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBsYXRlQ29udGV4dCA9IG5ldyBNYXA8c3RyaW5nLCBSZWZlcmVuY2VDb21wbGV0aW9ufFZhcmlhYmxlQ29tcGxldGlvbj4oKTtcblxuICAgIC8vIFRoZSBib3VuZCB0ZW1wbGF0ZSBhbHJlYWR5IGhhcyBkZXRhaWxzIGFib3V0IHRoZSByZWZlcmVuY2VzIGFuZCB2YXJpYWJsZXMgaW4gc2NvcGUgaW4gdGhlXG4gICAgLy8gYGNvbnRleHRgIHRlbXBsYXRlIC0gdGhleSBqdXN0IG5lZWQgdG8gYmUgY29udmVydGVkIHRvIGBDb21wbGV0aW9uYHMuXG4gICAgZm9yIChjb25zdCBub2RlIG9mIHRoaXMuZGF0YS5ib3VuZFRhcmdldC5nZXRFbnRpdGllc0luVGVtcGxhdGVTY29wZShjb250ZXh0KSkge1xuICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBUbXBsQXN0UmVmZXJlbmNlKSB7XG4gICAgICAgIHRlbXBsYXRlQ29udGV4dC5zZXQobm9kZS5uYW1lLCB7XG4gICAgICAgICAga2luZDogQ29tcGxldGlvbktpbmQuUmVmZXJlbmNlLFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGVtcGxhdGVDb250ZXh0LnNldChub2RlLm5hbWUsIHtcbiAgICAgICAgICBraW5kOiBDb21wbGV0aW9uS2luZC5WYXJpYWJsZSxcbiAgICAgICAgICBub2RlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbXBsYXRlQ29udGV4dENhY2hlLnNldChjb250ZXh0LCB0ZW1wbGF0ZUNvbnRleHQpO1xuICAgIHJldHVybiB0ZW1wbGF0ZUNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
package/src/version.js CHANGED
@@ -23,6 +23,6 @@
23
23
  * Entry point for all public APIs of the compiler-cli package.
24
24
  */
25
25
  var compiler_1 = require("@angular/compiler");
26
- exports.VERSION = new compiler_1.Version('12.2.0-next.3');
26
+ exports.VERSION = new compiler_1.Version('12.2.2');
27
27
  });
28
28
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSDs7OztPQUlHO0lBRUgsOENBQTBDO0lBRTdCLFFBQUEsT0FBTyxHQUFHLElBQUksa0JBQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoZSBjb21waWxlci1jbGkgcGFja2FnZS5cbiAqL1xuXG5pbXBvcnQge1ZlcnNpb259IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /// <amd-module name="@angular/compiler-cli/src/ngtsc/core/src/config" />
9
- export declare const compileUndecoratedClassesWithAngularFeatures = false;
@@ -1,28 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/compiler-cli/src/ngtsc/core/src/config", ["require", "exports"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.compileUndecoratedClassesWithAngularFeatures = void 0;
20
- // This file exists as a target for g3 patches which change the Angular compiler's behavior.
21
- // Separating the patched code in a separate file eliminates the possibility of conflicts with the
22
- // patch diffs when making changes to the rest of the compiler codebase.
23
- // In ngtsc we no longer want to compile undecorated classes with Angular features.
24
- // Migrations for these patterns ran as part of `ng update` and we want to ensure
25
- // that projects do not regress. See https://hackmd.io/@alx/ryfYYuvzH for more details.
26
- exports.compileUndecoratedClassesWithAngularFeatures = false;
27
- });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9jb3JlL3NyYy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7O0lBRUgsNEZBQTRGO0lBQzVGLGtHQUFrRztJQUNsRyx3RUFBd0U7SUFFeEUsbUZBQW1GO0lBQ25GLGlGQUFpRjtJQUNqRix1RkFBdUY7SUFDMUUsUUFBQSw0Q0FBNEMsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gVGhpcyBmaWxlIGV4aXN0cyBhcyBhIHRhcmdldCBmb3IgZzMgcGF0Y2hlcyB3aGljaCBjaGFuZ2UgdGhlIEFuZ3VsYXIgY29tcGlsZXIncyBiZWhhdmlvci5cbi8vIFNlcGFyYXRpbmcgdGhlIHBhdGNoZWQgY29kZSBpbiBhIHNlcGFyYXRlIGZpbGUgZWxpbWluYXRlcyB0aGUgcG9zc2liaWxpdHkgb2YgY29uZmxpY3RzIHdpdGggdGhlXG4vLyBwYXRjaCBkaWZmcyB3aGVuIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSByZXN0IG9mIHRoZSBjb21waWxlciBjb2RlYmFzZS5cblxuLy8gSW4gbmd0c2Mgd2Ugbm8gbG9uZ2VyIHdhbnQgdG8gY29tcGlsZSB1bmRlY29yYXRlZCBjbGFzc2VzIHdpdGggQW5ndWxhciBmZWF0dXJlcy5cbi8vIE1pZ3JhdGlvbnMgZm9yIHRoZXNlIHBhdHRlcm5zIHJhbiBhcyBwYXJ0IG9mIGBuZyB1cGRhdGVgIGFuZCB3ZSB3YW50IHRvIGVuc3VyZVxuLy8gdGhhdCBwcm9qZWN0cyBkbyBub3QgcmVncmVzcy4gU2VlIGh0dHBzOi8vaGFja21kLmlvL0BhbHgvcnlmWVl1dnpIIGZvciBtb3JlIGRldGFpbHMuXG5leHBvcnQgY29uc3QgY29tcGlsZVVuZGVjb3JhdGVkQ2xhc3Nlc1dpdGhBbmd1bGFyRmVhdHVyZXMgPSBmYWxzZTtcbiJdfQ==