@angular/compiler-cli 10.1.0-rc.0 → 10.1.3

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.
Files changed (84) hide show
  1. package/ngcc/src/execution/create_compile_function.js +6 -3
  2. package/ngcc/src/host/esm2015_host.d.ts +18 -0
  3. package/ngcc/src/host/esm2015_host.js +53 -31
  4. package/ngcc/src/main.js +9 -12
  5. package/ngcc/src/ngcc_options.d.ts +8 -7
  6. package/ngcc/src/ngcc_options.js +27 -3
  7. package/ngcc/src/packages/build_marker.d.ts +1 -1
  8. package/ngcc/src/packages/build_marker.js +1 -1
  9. package/ngcc/src/packages/entry_point_bundle.d.ts +12 -1
  10. package/ngcc/src/packages/entry_point_bundle.js +9 -6
  11. package/ngcc/src/packages/ngcc_compiler_host.d.ts +16 -1
  12. package/ngcc/src/packages/ngcc_compiler_host.js +35 -5
  13. package/ngcc/src/packages/source_file_cache.d.ts +97 -0
  14. package/ngcc/src/packages/source_file_cache.js +207 -0
  15. package/ngcc/src/rendering/renderer.js +9 -10
  16. package/package.json +2 -2
  17. package/src/ngtsc/annotations/src/component.d.ts +4 -1
  18. package/src/ngtsc/annotations/src/component.js +94 -122
  19. package/src/ngtsc/annotations/src/directive.d.ts +5 -1
  20. package/src/ngtsc/annotations/src/directive.js +21 -11
  21. package/src/ngtsc/annotations/src/typecheck_scopes.d.ts +56 -0
  22. package/src/ngtsc/annotations/src/typecheck_scopes.js +109 -0
  23. package/src/ngtsc/annotations/src/util.js +4 -2
  24. package/src/ngtsc/core/src/compiler.js +4 -3
  25. package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
  26. package/src/ngtsc/diagnostics/src/error_code.js +5 -1
  27. package/src/ngtsc/file_system/src/invalid_file_system.d.ts +2 -2
  28. package/src/ngtsc/file_system/src/invalid_file_system.js +1 -1
  29. package/src/ngtsc/file_system/src/node_js_file_system.d.ts +2 -2
  30. package/src/ngtsc/file_system/src/node_js_file_system.js +1 -1
  31. package/src/ngtsc/file_system/src/types.d.ts +2 -2
  32. package/src/ngtsc/file_system/src/types.js +1 -1
  33. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +3 -3
  34. package/src/ngtsc/file_system/testing/src/mock_file_system.js +2 -2
  35. package/src/ngtsc/indexer/src/template.js +10 -24
  36. package/src/ngtsc/metadata/index.d.ts +2 -0
  37. package/src/ngtsc/metadata/index.js +7 -3
  38. package/src/ngtsc/metadata/src/api.d.ts +13 -4
  39. package/src/ngtsc/metadata/src/api.js +1 -1
  40. package/src/ngtsc/metadata/src/dts.js +7 -4
  41. package/src/ngtsc/metadata/src/inheritance.d.ts +1 -1
  42. package/src/ngtsc/metadata/src/inheritance.js +10 -6
  43. package/src/ngtsc/metadata/src/property_mapping.d.ts +117 -0
  44. package/src/ngtsc/metadata/src/property_mapping.js +244 -0
  45. package/src/ngtsc/metadata/src/util.d.ts +2 -3
  46. package/src/ngtsc/metadata/src/util.js +9 -9
  47. package/src/ngtsc/modulewithproviders/src/scanner.js +2 -2
  48. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  49. package/src/ngtsc/reflection/src/host.js +1 -1
  50. package/src/ngtsc/reflection/src/type_to_value.js +6 -2
  51. package/src/ngtsc/scope/src/local.d.ts +1 -0
  52. package/src/ngtsc/scope/src/local.js +2 -1
  53. package/src/ngtsc/translator/index.d.ts +1 -1
  54. package/src/ngtsc/translator/index.js +3 -2
  55. package/src/ngtsc/translator/src/translator.d.ts +8 -1
  56. package/src/ngtsc/translator/src/translator.js +185 -111
  57. package/src/ngtsc/typecheck/api/api.d.ts +3 -1
  58. package/src/ngtsc/typecheck/api/api.js +1 -1
  59. package/src/ngtsc/typecheck/diagnostics/index.d.ts +10 -0
  60. package/src/ngtsc/typecheck/diagnostics/index.js +23 -0
  61. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +33 -0
  62. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +114 -0
  63. package/src/ngtsc/typecheck/diagnostics/src/id.d.ts +11 -0
  64. package/src/ngtsc/typecheck/diagnostics/src/id.js +37 -0
  65. package/src/ngtsc/typecheck/index.d.ts +0 -1
  66. package/src/ngtsc/typecheck/index.js +3 -5
  67. package/src/ngtsc/typecheck/src/checker.js +1 -1
  68. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  69. package/src/ngtsc/typecheck/src/context.js +3 -3
  70. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -22
  71. package/src/ngtsc/typecheck/src/diagnostics.js +5 -96
  72. package/src/ngtsc/typecheck/src/dom.d.ts +2 -1
  73. package/src/ngtsc/typecheck/src/dom.js +3 -3
  74. package/src/ngtsc/typecheck/src/environment.js +4 -4
  75. package/src/ngtsc/typecheck/src/oob.d.ts +2 -1
  76. package/src/ngtsc/typecheck/src/oob.js +3 -3
  77. package/src/ngtsc/typecheck/src/source.js +5 -18
  78. package/src/ngtsc/typecheck/src/type_check_block.js +49 -95
  79. package/src/transformers/node_emitter.d.ts +2 -8
  80. package/src/transformers/node_emitter.js +54 -68
  81. package/src/transformers/node_emitter_transform.js +8 -8
  82. package/src/transformers/util.d.ts +6 -0
  83. package/src/transformers/util.js +11 -2
  84. package/src/version.js +1 -1
@@ -11,13 +11,14 @@
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/source", ["require", "exports", "@angular/compiler", "@angular/compiler-cli/src/ngtsc/typecheck/src/line_mappings"], factory);
14
+ define("@angular/compiler-cli/src/ngtsc/typecheck/src/source", ["require", "exports", "@angular/compiler", "@angular/compiler-cli/src/ngtsc/typecheck/diagnostics", "@angular/compiler-cli/src/ngtsc/typecheck/src/line_mappings"], factory);
15
15
  }
16
16
  })(function (require, exports) {
17
17
  "use strict";
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.TemplateSourceManager = exports.TemplateSource = void 0;
20
20
  var compiler_1 = require("@angular/compiler");
21
+ var diagnostics_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/diagnostics");
21
22
  var line_mappings_1 = require("@angular/compiler-cli/src/ngtsc/typecheck/src/line_mappings");
22
23
  /**
23
24
  * Represents the source of a template that was processed during type-checking. This information is
@@ -63,10 +64,10 @@
63
64
  this.templateSources = new Map();
64
65
  }
65
66
  TemplateSourceManager.prototype.getTemplateId = function (node) {
66
- return getTemplateId(node);
67
+ return diagnostics_1.getTemplateId(node);
67
68
  };
68
69
  TemplateSourceManager.prototype.captureSource = function (node, mapping, file) {
69
- var id = getTemplateId(node);
70
+ var id = diagnostics_1.getTemplateId(node);
70
71
  this.templateSources.set(id, new TemplateSource(mapping, file));
71
72
  return id;
72
73
  };
@@ -86,19 +87,5 @@
86
87
  return TemplateSourceManager;
87
88
  }());
88
89
  exports.TemplateSourceManager = TemplateSourceManager;
89
- var TEMPLATE_ID = Symbol('ngTemplateId');
90
- var NEXT_TEMPLATE_ID = Symbol('ngNextTemplateId');
91
- function getTemplateId(node) {
92
- if (node[TEMPLATE_ID] === undefined) {
93
- node[TEMPLATE_ID] = allocateTemplateId(node.getSourceFile());
94
- }
95
- return node[TEMPLATE_ID];
96
- }
97
- function allocateTemplateId(sf) {
98
- if (sf[NEXT_TEMPLATE_ID] === undefined) {
99
- sf[NEXT_TEMPLATE_ID] = 1;
100
- }
101
- return ("tcb" + sf[NEXT_TEMPLATE_ID]++);
102
- }
103
90
  });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy90eXBlY2hlY2svc3JjL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCw4Q0FBc0c7SUFLdEcsNkZBQXNGO0lBRXRGOzs7T0FHRztJQUNIO1FBR0Usd0JBQXFCLE9BQThCLEVBQVUsSUFBcUI7WUFBN0QsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7WUFBVSxTQUFJLEdBQUosSUFBSSxDQUFpQjtZQUYxRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUU0QyxDQUFDO1FBRXRGLDBDQUFpQixHQUFqQixVQUFrQixLQUFhLEVBQUUsR0FBVztZQUMxQyxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsT0FBTyxJQUFJLDBCQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFTyx3Q0FBZSxHQUF2QixVQUF3QixRQUFnQjtZQUN0QyxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN0QyxJQUFBLEtBQW9CLCtDQUErQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBeEUsSUFBSSxVQUFBLEVBQUUsU0FBUyxlQUF5RCxDQUFDO1lBQ2hGLE9BQU8sSUFBSSx3QkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRU8sMENBQWlCLEdBQXpCO1lBQ0UsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxvQ0FBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzNEO1lBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFDSCxxQkFBQztJQUFELENBQUMsQUF2QkQsSUF1QkM7SUF2Qlksd0NBQWM7SUF5QjNCOzs7O09BSUc7SUFDSDtRQUFBO1lBQ0U7Ozs7ZUFJRztZQUNLLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUEyQmxFLENBQUM7UUF6QkMsNkNBQWEsR0FBYixVQUFjLElBQXlCO1lBQ3JDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCw2Q0FBYSxHQUFiLFVBQWMsSUFBeUIsRUFBRSxPQUE4QixFQUFFLElBQXFCO1lBRTVGLElBQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEUsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsZ0RBQWdCLEdBQWhCLFVBQWlCLEVBQWM7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFtQyxFQUFJLENBQUMsQ0FBQzthQUMxRDtZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUMsT0FBTyxDQUFDO1FBQy9DLENBQUM7UUFFRCxpREFBaUIsR0FBakIsVUFBa0IsRUFBYyxFQUFFLElBQXdCO1lBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakMsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDSCw0QkFBQztJQUFELENBQUMsQUFqQ0QsSUFpQ0M7SUFqQ1ksc0RBQXFCO0lBbUNsQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0MsSUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQVVwRCxTQUFTLGFBQWEsQ0FBQyxJQUFnRDtRQUNyRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsa0JBQWtCLENBQUMsRUFBNEM7UUFDdEUsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDdEMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxDQUFDLFFBQU0sRUFBRSxDQUFDLGdCQUFnQixDQUFFLEVBQUksQ0FBZSxDQUFDO0lBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtBYnNvbHV0ZVNvdXJjZVNwYW4sIFBhcnNlTG9jYXRpb24sIFBhcnNlU291cmNlRmlsZSwgUGFyc2VTb3VyY2VTcGFufSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7VGVtcGxhdGVJZCwgVGVtcGxhdGVTb3VyY2VNYXBwaW5nfSBmcm9tICcuLi9hcGknO1xuXG5pbXBvcnQge1RlbXBsYXRlU291cmNlUmVzb2x2ZXJ9IGZyb20gJy4vZGlhZ25vc3RpY3MnO1xuaW1wb3J0IHtjb21wdXRlTGluZVN0YXJ0c01hcCwgZ2V0TGluZUFuZENoYXJhY3RlckZyb21Qb3NpdGlvbn0gZnJvbSAnLi9saW5lX21hcHBpbmdzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzb3VyY2Ugb2YgYSB0ZW1wbGF0ZSB0aGF0IHdhcyBwcm9jZXNzZWQgZHVyaW5nIHR5cGUtY2hlY2tpbmcuIFRoaXMgaW5mb3JtYXRpb24gaXNcbiAqIHVzZWQgd2hlbiB0cmFuc2xhdGluZyBwYXJzZSBvZmZzZXRzIGluIGRpYWdub3N0aWNzIGJhY2sgdG8gdGhlaXIgb3JpZ2luYWwgbGluZS9jb2x1bW4gbG9jYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVNvdXJjZSB7XG4gIHByaXZhdGUgbGluZVN0YXJ0czogbnVtYmVyW118bnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgbWFwcGluZzogVGVtcGxhdGVTb3VyY2VNYXBwaW5nLCBwcml2YXRlIGZpbGU6IFBhcnNlU291cmNlRmlsZSkge31cblxuICB0b1BhcnNlU291cmNlU3BhbihzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IFBhcnNlU291cmNlU3BhbiB7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnRvUGFyc2VMb2NhdGlvbihzdGFydCk7XG4gICAgY29uc3QgZW5kTG9jID0gdGhpcy50b1BhcnNlTG9jYXRpb24oZW5kKTtcbiAgICByZXR1cm4gbmV3IFBhcnNlU291cmNlU3BhbihzdGFydExvYywgZW5kTG9jKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9QYXJzZUxvY2F0aW9uKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBsaW5lU3RhcnRzID0gdGhpcy5hY3F1aXJlTGluZVN0YXJ0cygpO1xuICAgIGNvbnN0IHtsaW5lLCBjaGFyYWN0ZXJ9ID0gZ2V0TGluZUFuZENoYXJhY3RlckZyb21Qb3NpdGlvbihsaW5lU3RhcnRzLCBwb3NpdGlvbik7XG4gICAgcmV0dXJuIG5ldyBQYXJzZUxvY2F0aW9uKHRoaXMuZmlsZSwgcG9zaXRpb24sIGxpbmUsIGNoYXJhY3Rlcik7XG4gIH1cblxuICBwcml2YXRlIGFjcXVpcmVMaW5lU3RhcnRzKCk6IG51bWJlcltdIHtcbiAgICBpZiAodGhpcy5saW5lU3RhcnRzID09PSBudWxsKSB7XG4gICAgICB0aGlzLmxpbmVTdGFydHMgPSBjb21wdXRlTGluZVN0YXJ0c01hcCh0aGlzLmZpbGUuY29udGVudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxpbmVTdGFydHM7XG4gIH1cbn1cblxuLyoqXG4gKiBBc3NpZ25zIElEcyB0byB0ZW1wbGF0ZXMgYW5kIGtlZXBzIHRyYWNrIG9mIHRoZWlyIG9yaWdpbnMuXG4gKlxuICogSW1wbGVtZW50cyBgVGVtcGxhdGVTb3VyY2VSZXNvbHZlcmAgdG8gcmVzb2x2ZSB0aGUgc291cmNlIG9mIGEgdGVtcGxhdGUgYmFzZWQgb24gdGhlc2UgSURzLlxuICovXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVTb3VyY2VNYW5hZ2VyIGltcGxlbWVudHMgVGVtcGxhdGVTb3VyY2VSZXNvbHZlciB7XG4gIC8qKlxuICAgKiBUaGlzIG1hcCBrZWVwcyB0cmFjayBvZiBhbGwgdGVtcGxhdGUgc291cmNlcyB0aGF0IGhhdmUgYmVlbiB0eXBlLWNoZWNrZWQgYnkgdGhlIGlkIHRoYXQgaXNcbiAgICogYXR0YWNoZWQgdG8gYSBUQ0IncyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBhcyBsZWFkaW5nIHRyaXZpYS4gVGhpcyBlbmFibGVzIHRyYW5zbGF0aW9uIG9mXG4gICAqIGRpYWdub3N0aWNzIHByb2R1Y2VkIGZvciBUQ0IgY29kZSB0byB0aGVpciBzb3VyY2UgbG9jYXRpb24gaW4gdGhlIHRlbXBsYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSB0ZW1wbGF0ZVNvdXJjZXMgPSBuZXcgTWFwPFRlbXBsYXRlSWQsIFRlbXBsYXRlU291cmNlPigpO1xuXG4gIGdldFRlbXBsYXRlSWQobm9kZTogdHMuQ2xhc3NEZWNsYXJhdGlvbik6IFRlbXBsYXRlSWQge1xuICAgIHJldHVybiBnZXRUZW1wbGF0ZUlkKG5vZGUpO1xuICB9XG5cbiAgY2FwdHVyZVNvdXJjZShub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uLCBtYXBwaW5nOiBUZW1wbGF0ZVNvdXJjZU1hcHBpbmcsIGZpbGU6IFBhcnNlU291cmNlRmlsZSk6XG4gICAgICBUZW1wbGF0ZUlkIHtcbiAgICBjb25zdCBpZCA9IGdldFRlbXBsYXRlSWQobm9kZSk7XG4gICAgdGhpcy50ZW1wbGF0ZVNvdXJjZXMuc2V0KGlkLCBuZXcgVGVtcGxhdGVTb3VyY2UobWFwcGluZywgZmlsZSkpO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdldFNvdXJjZU1hcHBpbmcoaWQ6IFRlbXBsYXRlSWQpOiBUZW1wbGF0ZVNvdXJjZU1hcHBpbmcge1xuICAgIGlmICghdGhpcy50ZW1wbGF0ZVNvdXJjZXMuaGFzKGlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHVua25vd24gdGVtcGxhdGUgSUQ6ICR7aWR9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU291cmNlcy5nZXQoaWQpIS5tYXBwaW5nO1xuICB9XG5cbiAgdG9QYXJzZVNvdXJjZVNwYW4oaWQ6IFRlbXBsYXRlSWQsIHNwYW46IEFic29sdXRlU291cmNlU3Bhbik6IFBhcnNlU291cmNlU3BhbnxudWxsIHtcbiAgICBpZiAoIXRoaXMudGVtcGxhdGVTb3VyY2VzLmhhcyhpZCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZSA9IHRoaXMudGVtcGxhdGVTb3VyY2VzLmdldChpZCkhO1xuICAgIHJldHVybiB0ZW1wbGF0ZVNvdXJjZS50b1BhcnNlU291cmNlU3BhbihzcGFuLnN0YXJ0LCBzcGFuLmVuZCk7XG4gIH1cbn1cblxuY29uc3QgVEVNUExBVEVfSUQgPSBTeW1ib2woJ25nVGVtcGxhdGVJZCcpO1xuY29uc3QgTkVYVF9URU1QTEFURV9JRCA9IFN5bWJvbCgnbmdOZXh0VGVtcGxhdGVJZCcpO1xuXG5pbnRlcmZhY2UgSGFzVGVtcGxhdGVJZCB7XG4gIFtURU1QTEFURV9JRF06IFRlbXBsYXRlSWQ7XG59XG5cbmludGVyZmFjZSBIYXNOZXh0VGVtcGxhdGVJZCB7XG4gIFtORVhUX1RFTVBMQVRFX0lEXTogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBnZXRUZW1wbGF0ZUlkKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24mUGFydGlhbDxIYXNUZW1wbGF0ZUlkPik6IFRlbXBsYXRlSWQge1xuICBpZiAobm9kZVtURU1QTEFURV9JRF0gPT09IHVuZGVmaW5lZCkge1xuICAgIG5vZGVbVEVNUExBVEVfSURdID0gYWxsb2NhdGVUZW1wbGF0ZUlkKG5vZGUuZ2V0U291cmNlRmlsZSgpKTtcbiAgfVxuICByZXR1cm4gbm9kZVtURU1QTEFURV9JRF0hO1xufVxuXG5mdW5jdGlvbiBhbGxvY2F0ZVRlbXBsYXRlSWQoc2Y6IHRzLlNvdXJjZUZpbGUmUGFydGlhbDxIYXNOZXh0VGVtcGxhdGVJZD4pOiBUZW1wbGF0ZUlkIHtcbiAgaWYgKHNmW05FWFRfVEVNUExBVEVfSURdID09PSB1bmRlZmluZWQpIHtcbiAgICBzZltORVhUX1RFTVBMQVRFX0lEXSA9IDE7XG4gIH1cbiAgcmV0dXJuIChgdGNiJHtzZltORVhUX1RFTVBMQVRFX0lEXSErK31gKSBhcyBUZW1wbGF0ZUlkO1xufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy90eXBlY2hlY2svc3JjL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCw4Q0FBc0c7SUFJdEcscUZBQTZDO0lBRzdDLDZGQUFzRjtJQUV0Rjs7O09BR0c7SUFDSDtRQUdFLHdCQUFxQixPQUE4QixFQUFVLElBQXFCO1lBQTdELFlBQU8sR0FBUCxPQUFPLENBQXVCO1lBQVUsU0FBSSxHQUFKLElBQUksQ0FBaUI7WUFGMUUsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFFNEMsQ0FBQztRQUV0RiwwQ0FBaUIsR0FBakIsVUFBa0IsS0FBYSxFQUFFLEdBQVc7WUFDMUMsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sSUFBSSwwQkFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRU8sd0NBQWUsR0FBdkIsVUFBd0IsUUFBZ0I7WUFDdEMsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdEMsSUFBQSxLQUFvQiwrQ0FBK0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQXhFLElBQUksVUFBQSxFQUFFLFNBQVMsZUFBeUQsQ0FBQztZQUNoRixPQUFPLElBQUksd0JBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVPLDBDQUFpQixHQUF6QjtZQUNFLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsb0NBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO1FBQ0gscUJBQUM7SUFBRCxDQUFDLEFBdkJELElBdUJDO0lBdkJZLHdDQUFjO0lBeUIzQjs7OztPQUlHO0lBQ0g7UUFBQTtZQUNFOzs7O2VBSUc7WUFDSyxvQkFBZSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBMkJsRSxDQUFDO1FBekJDLDZDQUFhLEdBQWIsVUFBYyxJQUF5QjtZQUNyQyxPQUFPLDJCQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELDZDQUFhLEdBQWIsVUFBYyxJQUF5QixFQUFFLE9BQThCLEVBQUUsSUFBcUI7WUFFNUYsSUFBTSxFQUFFLEdBQUcsMkJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEUsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsZ0RBQWdCLEdBQWhCLFVBQWlCLEVBQWM7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFtQyxFQUFJLENBQUMsQ0FBQzthQUMxRDtZQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUMsT0FBTyxDQUFDO1FBQy9DLENBQUM7UUFFRCxpREFBaUIsR0FBakIsVUFBa0IsRUFBYyxFQUFFLElBQXdCO1lBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakMsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDSCw0QkFBQztJQUFELENBQUMsQUFqQ0QsSUFpQ0M7SUFqQ1ksc0RBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7QWJzb2x1dGVTb3VyY2VTcGFuLCBQYXJzZUxvY2F0aW9uLCBQYXJzZVNvdXJjZUZpbGUsIFBhcnNlU291cmNlU3Bhbn0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7VGVtcGxhdGVJZCwgVGVtcGxhdGVTb3VyY2VNYXBwaW5nfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHtnZXRUZW1wbGF0ZUlkfSBmcm9tICcuLi9kaWFnbm9zdGljcyc7XG5cbmltcG9ydCB7VGVtcGxhdGVTb3VyY2VSZXNvbHZlcn0gZnJvbSAnLi9kaWFnbm9zdGljcyc7XG5pbXBvcnQge2NvbXB1dGVMaW5lU3RhcnRzTWFwLCBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9ufSBmcm9tICcuL2xpbmVfbWFwcGluZ3MnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHNvdXJjZSBvZiBhIHRlbXBsYXRlIHRoYXQgd2FzIHByb2Nlc3NlZCBkdXJpbmcgdHlwZS1jaGVja2luZy4gVGhpcyBpbmZvcm1hdGlvbiBpc1xuICogdXNlZCB3aGVuIHRyYW5zbGF0aW5nIHBhcnNlIG9mZnNldHMgaW4gZGlhZ25vc3RpY3MgYmFjayB0byB0aGVpciBvcmlnaW5hbCBsaW5lL2NvbHVtbiBsb2NhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlU291cmNlIHtcbiAgcHJpdmF0ZSBsaW5lU3RhcnRzOiBudW1iZXJbXXxudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtYXBwaW5nOiBUZW1wbGF0ZVNvdXJjZU1hcHBpbmcsIHByaXZhdGUgZmlsZTogUGFyc2VTb3VyY2VGaWxlKSB7fVxuXG4gIHRvUGFyc2VTb3VyY2VTcGFuKHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogUGFyc2VTb3VyY2VTcGFuIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMudG9QYXJzZUxvY2F0aW9uKHN0YXJ0KTtcbiAgICBjb25zdCBlbmRMb2MgPSB0aGlzLnRvUGFyc2VMb2NhdGlvbihlbmQpO1xuICAgIHJldHVybiBuZXcgUGFyc2VTb3VyY2VTcGFuKHN0YXJ0TG9jLCBlbmRMb2MpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b1BhcnNlTG9jYXRpb24ocG9zaXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IGxpbmVTdGFydHMgPSB0aGlzLmFjcXVpcmVMaW5lU3RhcnRzKCk7XG4gICAgY29uc3Qge2xpbmUsIGNoYXJhY3Rlcn0gPSBnZXRMaW5lQW5kQ2hhcmFjdGVyRnJvbVBvc2l0aW9uKGxpbmVTdGFydHMsIHBvc2l0aW9uKTtcbiAgICByZXR1cm4gbmV3IFBhcnNlTG9jYXRpb24odGhpcy5maWxlLCBwb3NpdGlvbiwgbGluZSwgY2hhcmFjdGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYWNxdWlyZUxpbmVTdGFydHMoKTogbnVtYmVyW10ge1xuICAgIGlmICh0aGlzLmxpbmVTdGFydHMgPT09IG51bGwpIHtcbiAgICAgIHRoaXMubGluZVN0YXJ0cyA9IGNvbXB1dGVMaW5lU3RhcnRzTWFwKHRoaXMuZmlsZS5jb250ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubGluZVN0YXJ0cztcbiAgfVxufVxuXG4vKipcbiAqIEFzc2lnbnMgSURzIHRvIHRlbXBsYXRlcyBhbmQga2VlcHMgdHJhY2sgb2YgdGhlaXIgb3JpZ2lucy5cbiAqXG4gKiBJbXBsZW1lbnRzIGBUZW1wbGF0ZVNvdXJjZVJlc29sdmVyYCB0byByZXNvbHZlIHRoZSBzb3VyY2Ugb2YgYSB0ZW1wbGF0ZSBiYXNlZCBvbiB0aGVzZSBJRHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVNvdXJjZU1hbmFnZXIgaW1wbGVtZW50cyBUZW1wbGF0ZVNvdXJjZVJlc29sdmVyIHtcbiAgLyoqXG4gICAqIFRoaXMgbWFwIGtlZXBzIHRyYWNrIG9mIGFsbCB0ZW1wbGF0ZSBzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIHR5cGUtY2hlY2tlZCBieSB0aGUgaWQgdGhhdCBpc1xuICAgKiBhdHRhY2hlZCB0byBhIFRDQidzIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGxlYWRpbmcgdHJpdmlhLiBUaGlzIGVuYWJsZXMgdHJhbnNsYXRpb24gb2ZcbiAgICogZGlhZ25vc3RpY3MgcHJvZHVjZWQgZm9yIFRDQiBjb2RlIHRvIHRoZWlyIHNvdXJjZSBsb2NhdGlvbiBpbiB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBwcml2YXRlIHRlbXBsYXRlU291cmNlcyA9IG5ldyBNYXA8VGVtcGxhdGVJZCwgVGVtcGxhdGVTb3VyY2U+KCk7XG5cbiAgZ2V0VGVtcGxhdGVJZChub2RlOiB0cy5DbGFzc0RlY2xhcmF0aW9uKTogVGVtcGxhdGVJZCB7XG4gICAgcmV0dXJuIGdldFRlbXBsYXRlSWQobm9kZSk7XG4gIH1cblxuICBjYXB0dXJlU291cmNlKG5vZGU6IHRzLkNsYXNzRGVjbGFyYXRpb24sIG1hcHBpbmc6IFRlbXBsYXRlU291cmNlTWFwcGluZywgZmlsZTogUGFyc2VTb3VyY2VGaWxlKTpcbiAgICAgIFRlbXBsYXRlSWQge1xuICAgIGNvbnN0IGlkID0gZ2V0VGVtcGxhdGVJZChub2RlKTtcbiAgICB0aGlzLnRlbXBsYXRlU291cmNlcy5zZXQoaWQsIG5ldyBUZW1wbGF0ZVNvdXJjZShtYXBwaW5nLCBmaWxlKSk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgZ2V0U291cmNlTWFwcGluZyhpZDogVGVtcGxhdGVJZCk6IFRlbXBsYXRlU291cmNlTWFwcGluZyB7XG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlU291cmNlcy5oYXMoaWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdW5rbm93biB0ZW1wbGF0ZSBJRDogJHtpZH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVTb3VyY2VzLmdldChpZCkhLm1hcHBpbmc7XG4gIH1cblxuICB0b1BhcnNlU291cmNlU3BhbihpZDogVGVtcGxhdGVJZCwgc3BhbjogQWJzb2x1dGVTb3VyY2VTcGFuKTogUGFyc2VTb3VyY2VTcGFufG51bGwge1xuICAgIGlmICghdGhpcy50ZW1wbGF0ZVNvdXJjZXMuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRlbXBsYXRlU291cmNlID0gdGhpcy50ZW1wbGF0ZVNvdXJjZXMuZ2V0KGlkKSE7XG4gICAgcmV0dXJuIHRlbXBsYXRlU291cmNlLnRvUGFyc2VTb3VyY2VTcGFuKHNwYW4uc3RhcnQsIHNwYW4uZW5kKTtcbiAgfVxufVxuIl19