@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
@@ -4,7 +4,7 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define("@angular/compiler-cli/ngcc/src/execution/create_compile_function", ["require", "exports", "typescript", "@angular/compiler-cli/src/ngtsc/diagnostics", "@angular/compiler-cli/ngcc/src/packages/entry_point", "@angular/compiler-cli/ngcc/src/packages/entry_point_bundle"], factory);
7
+ define("@angular/compiler-cli/ngcc/src/execution/create_compile_function", ["require", "exports", "typescript", "@angular/compiler-cli/src/ngtsc/diagnostics", "@angular/compiler-cli/ngcc/src/packages/entry_point", "@angular/compiler-cli/ngcc/src/packages/entry_point_bundle", "@angular/compiler-cli/ngcc/src/packages/source_file_cache"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
@@ -21,6 +21,7 @@
21
21
  var diagnostics_1 = require("@angular/compiler-cli/src/ngtsc/diagnostics");
22
22
  var entry_point_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point");
23
23
  var entry_point_bundle_1 = require("@angular/compiler-cli/ngcc/src/packages/entry_point_bundle");
24
+ var source_file_cache_1 = require("@angular/compiler-cli/ngcc/src/packages/source_file_cache");
24
25
  /**
25
26
  * The function for creating the `compile()` function.
26
27
  */
@@ -28,6 +29,8 @@
28
29
  return function (beforeWritingFiles, onTaskCompleted) {
29
30
  var Transformer = require('../packages/transformer').Transformer;
30
31
  var transformer = new Transformer(fileSystem, logger, tsConfig);
32
+ var sharedFileCache = new source_file_cache_1.SharedFileCache(fileSystem);
33
+ var moduleResolutionCache = source_file_cache_1.createModuleResolutionCache(fileSystem);
31
34
  return function (task) {
32
35
  var entryPoint = task.entryPoint, formatProperty = task.formatProperty, formatPropertiesToMarkAsProcessed = task.formatPropertiesToMarkAsProcessed, processDts = task.processDts;
33
36
  var isCore = entryPoint.name === '@angular/core'; // Are we compiling the Angular core?
@@ -45,7 +48,7 @@
45
48
  (formatProperty + " (formatPath: " + formatPath + " | format: " + format + ")"));
46
49
  }
47
50
  logger.info("Compiling " + entryPoint.name + " : " + formatProperty + " as " + format);
48
- var bundle = entry_point_bundle_1.makeEntryPointBundle(fileSystem, entryPoint, formatPath, isCore, format, processDts, pathMappings, true, enableI18nLegacyMessageIdFormat);
51
+ var bundle = entry_point_bundle_1.makeEntryPointBundle(fileSystem, entryPoint, sharedFileCache, moduleResolutionCache, formatPath, isCore, format, processDts, pathMappings, true, enableI18nLegacyMessageIdFormat);
49
52
  var result = transformer.transform(bundle);
50
53
  if (result.success) {
51
54
  if (result.diagnostics.length > 0) {
@@ -70,4 +73,4 @@
70
73
  }
71
74
  exports.getCreateCompileFn = getCreateCompileFn;
72
75
  });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2NvbXBpbGVfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2NyZWF0ZV9jb21waWxlX2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILCtCQUFpQztJQUVqQywyRUFBdUU7SUFJdkUsbUZBQTREO0lBQzVELGlHQUFvRTtJQU9wRTs7T0FFRztJQUNILFNBQWdCLGtCQUFrQixDQUM5QixVQUFzQixFQUFFLE1BQWMsRUFBRSxVQUFzQixFQUM5RCwrQkFBd0MsRUFBRSxRQUFrQyxFQUM1RSxZQUFvQztRQUN0QyxPQUFPLFVBQUMsa0JBQWtCLEVBQUUsZUFBZTtZQUNsQyxJQUFBLFdBQVcsR0FBSSxPQUFPLENBQUMseUJBQXlCLENBQUMsWUFBdEMsQ0FBdUM7WUFDekQsSUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUVsRSxPQUFPLFVBQUMsSUFBVTtnQkFDVCxJQUFBLFVBQVUsR0FBbUUsSUFBSSxXQUF2RSxFQUFFLGNBQWMsR0FBbUQsSUFBSSxlQUF2RCxFQUFFLGlDQUFpQyxHQUFnQixJQUFJLGtDQUFwQixFQUFFLFVBQVUsR0FBSSxJQUFJLFdBQVIsQ0FBUztnQkFFekYsSUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBRSxxQ0FBcUM7Z0JBQzFGLElBQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7Z0JBQzNDLElBQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDL0MsSUFBTSxNQUFNLEdBQUcsaUNBQW1CLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFFM0UsMEZBQTBGO2dCQUMxRiw2RkFBNkY7Z0JBQzdGLDZDQUE2QztnQkFDN0Msd0ZBQXdGO2dCQUN4Riw0REFBNEQ7Z0JBQzVELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQzFCLDRCQUE0QjtvQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FDWCxzREFBb0QsVUFBVSxDQUFDLElBQUksUUFBSzt5QkFDckUsY0FBYyxzQkFBaUIsVUFBVSxtQkFBYyxNQUFNLE1BQUcsQ0FBQSxDQUFDLENBQUM7aUJBQzFFO2dCQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBYSxVQUFVLENBQUMsSUFBSSxXQUFNLGNBQWMsWUFBTyxNQUFRLENBQUMsQ0FBQztnQkFFN0UsSUFBTSxNQUFNLEdBQUcseUNBQW9CLENBQy9CLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQ2xGLCtCQUErQixDQUFDLENBQUM7Z0JBRXJDLElBQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzdDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtvQkFDbEIsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXVCLENBQy9CLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNwRjtvQkFFRCxJQUFNLFdBQVcsR0FBRzt3QkFDbEIsVUFBVSxDQUFDLFdBQVcsQ0FDbEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO3dCQUV4RSxNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUEyQixVQUFVLENBQUMsSUFBSSxXQUFNLGNBQWdCLENBQUMsQ0FBQzt3QkFDL0UsZUFBZSxDQUFDLElBQUkscUJBQW1DLElBQUksQ0FBQyxDQUFDO29CQUMvRCxDQUFDLENBQUM7b0JBRUYsSUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFFeEUsT0FBTyxDQUFDLG1CQUFtQixZQUFZLE9BQU8sQ0FBQyxDQUFDLENBQUM7d0JBQzdDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQTBDLENBQUEsQ0FBQzt3QkFDL0UsV0FBVyxFQUFFLENBQUM7aUJBQ25CO3FCQUFNO29CQUNMLElBQU0sTUFBTSxHQUFHLHFDQUF1QixDQUNsQyxFQUFFLENBQUMsb0NBQW9DLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ2xGLGVBQWUsQ0FBQyxJQUFJLGtCQUFnQywwQkFBd0IsTUFBUSxDQUFDLENBQUM7aUJBQ3ZGO1lBQ0gsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQTdERCxnREE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7cmVwbGFjZVRzV2l0aE5nSW5FcnJvcnN9IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9kaWFnbm9zdGljcyc7XG5pbXBvcnQge0ZpbGVTeXN0ZW19IGZyb20gJy4uLy4uLy4uL3NyYy9uZ3RzYy9maWxlX3N5c3RlbSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2xvZ2dpbmcnO1xuaW1wb3J0IHtQYXJzZWRDb25maWd1cmF0aW9ufSBmcm9tICcuLi8uLi8uLi9zcmMvcGVyZm9ybV9jb21waWxlJztcbmltcG9ydCB7Z2V0RW50cnlQb2ludEZvcm1hdH0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnQnO1xuaW1wb3J0IHttYWtlRW50cnlQb2ludEJ1bmRsZX0gZnJvbSAnLi4vcGFja2FnZXMvZW50cnlfcG9pbnRfYnVuZGxlJztcbmltcG9ydCB7UGF0aE1hcHBpbmdzfSBmcm9tICcuLi9wYXRoX21hcHBpbmdzJztcbmltcG9ydCB7RmlsZVdyaXRlcn0gZnJvbSAnLi4vd3JpdGluZy9maWxlX3dyaXRlcic7XG5cbmltcG9ydCB7Q3JlYXRlQ29tcGlsZUZufSBmcm9tICcuL2FwaSc7XG5pbXBvcnQge1Rhc2ssIFRhc2tQcm9jZXNzaW5nT3V0Y29tZX0gZnJvbSAnLi90YXNrcy9hcGknO1xuXG4vKipcbiAqIFRoZSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgdGhlIGBjb21waWxlKClgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3JlYXRlQ29tcGlsZUZuKFxuICAgIGZpbGVTeXN0ZW06IEZpbGVTeXN0ZW0sIGxvZ2dlcjogTG9nZ2VyLCBmaWxlV3JpdGVyOiBGaWxlV3JpdGVyLFxuICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQ6IGJvb2xlYW4sIHRzQ29uZmlnOiBQYXJzZWRDb25maWd1cmF0aW9ufG51bGwsXG4gICAgcGF0aE1hcHBpbmdzOiBQYXRoTWFwcGluZ3N8dW5kZWZpbmVkKTogQ3JlYXRlQ29tcGlsZUZuIHtcbiAgcmV0dXJuIChiZWZvcmVXcml0aW5nRmlsZXMsIG9uVGFza0NvbXBsZXRlZCkgPT4ge1xuICAgIGNvbnN0IHtUcmFuc2Zvcm1lcn0gPSByZXF1aXJlKCcuLi9wYWNrYWdlcy90cmFuc2Zvcm1lcicpO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVyID0gbmV3IFRyYW5zZm9ybWVyKGZpbGVTeXN0ZW0sIGxvZ2dlciwgdHNDb25maWcpO1xuXG4gICAgcmV0dXJuICh0YXNrOiBUYXNrKSA9PiB7XG4gICAgICBjb25zdCB7ZW50cnlQb2ludCwgZm9ybWF0UHJvcGVydHksIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCwgcHJvY2Vzc0R0c30gPSB0YXNrO1xuXG4gICAgICBjb25zdCBpc0NvcmUgPSBlbnRyeVBvaW50Lm5hbWUgPT09ICdAYW5ndWxhci9jb3JlJzsgIC8vIEFyZSB3ZSBjb21waWxpbmcgdGhlIEFuZ3VsYXIgY29yZT9cbiAgICAgIGNvbnN0IHBhY2thZ2VKc29uID0gZW50cnlQb2ludC5wYWNrYWdlSnNvbjtcbiAgICAgIGNvbnN0IGZvcm1hdFBhdGggPSBwYWNrYWdlSnNvbltmb3JtYXRQcm9wZXJ0eV07XG4gICAgICBjb25zdCBmb3JtYXQgPSBnZXRFbnRyeVBvaW50Rm9ybWF0KGZpbGVTeXN0ZW0sIGVudHJ5UG9pbnQsIGZvcm1hdFByb3BlcnR5KTtcblxuICAgICAgLy8gQWxsIHByb3BlcnRpZXMgbGlzdGVkIGluIGBwcm9wZXJ0aWVzVG9Qcm9jZXNzYCBhcmUgZ3VhcmFudGVlZCB0byBwb2ludCB0byBhIGZvcm1hdC1wYXRoXG4gICAgICAvLyAoaS5lLiB0aGV5IGFyZSBkZWZpbmVkIGluIGBlbnRyeVBvaW50LnBhY2thZ2VKc29uYCkuIEZ1cnRoZXJtb3JlLCB0aGV5IGFyZSBhbHNvIGd1YXJhbnRlZWRcbiAgICAgIC8vIHRvIGJlIGFtb25nIGBTVVBQT1JURURfRk9STUFUX1BST1BFUlRJRVNgLlxuICAgICAgLy8gQmFzZWQgb24gdGhlIGFib3ZlLCBgZm9ybWF0UGF0aGAgc2hvdWxkIGFsd2F5cyBiZSBkZWZpbmVkIGFuZCBgZ2V0RW50cnlQb2ludEZvcm1hdCgpYFxuICAgICAgLy8gc2hvdWxkIGFsd2F5cyByZXR1cm4gYSBmb3JtYXQgaGVyZSAoYW5kIG5vdCBgdW5kZWZpbmVkYCkuXG4gICAgICBpZiAoIWZvcm1hdFBhdGggfHwgIWZvcm1hdCkge1xuICAgICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBJbnZhcmlhbnQgdmlvbGF0ZWQ6IE5vIGZvcm1hdC1wYXRoIG9yIGZvcm1hdCBmb3IgJHtlbnRyeVBvaW50LnBhdGh9IDogYCArXG4gICAgICAgICAgICBgJHtmb3JtYXRQcm9wZXJ0eX0gKGZvcm1hdFBhdGg6ICR7Zm9ybWF0UGF0aH0gfCBmb3JtYXQ6ICR7Zm9ybWF0fSlgKTtcbiAgICAgIH1cblxuICAgICAgbG9nZ2VyLmluZm8oYENvbXBpbGluZyAke2VudHJ5UG9pbnQubmFtZX0gOiAke2Zvcm1hdFByb3BlcnR5fSBhcyAke2Zvcm1hdH1gKTtcblxuICAgICAgY29uc3QgYnVuZGxlID0gbWFrZUVudHJ5UG9pbnRCdW5kbGUoXG4gICAgICAgICAgZmlsZVN5c3RlbSwgZW50cnlQb2ludCwgZm9ybWF0UGF0aCwgaXNDb3JlLCBmb3JtYXQsIHByb2Nlc3NEdHMsIHBhdGhNYXBwaW5ncywgdHJ1ZSxcbiAgICAgICAgICBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gdHJhbnNmb3JtZXIudHJhbnNmb3JtKGJ1bmRsZSk7XG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5kaWFnbm9zdGljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4ocmVwbGFjZVRzV2l0aE5nSW5FcnJvcnMoXG4gICAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyaXRlQnVuZGxlID0gKCkgPT4ge1xuICAgICAgICAgIGZpbGVXcml0ZXIud3JpdGVCdW5kbGUoXG4gICAgICAgICAgICAgIGJ1bmRsZSwgcmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMsIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCk7XG5cbiAgICAgICAgICBsb2dnZXIuZGVidWcoYCAgU3VjY2Vzc2Z1bGx5IGNvbXBpbGVkICR7ZW50cnlQb2ludC5uYW1lfSA6ICR7Zm9ybWF0UHJvcGVydHl9YCk7XG4gICAgICAgICAgb25UYXNrQ29tcGxldGVkKHRhc2ssIFRhc2tQcm9jZXNzaW5nT3V0Y29tZS5Qcm9jZXNzZWQsIG51bGwpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGJlZm9yZVdyaXRpbmdSZXN1bHQgPSBiZWZvcmVXcml0aW5nRmlsZXMocmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMpO1xuXG4gICAgICAgIHJldHVybiAoYmVmb3JlV3JpdGluZ1Jlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpID9cbiAgICAgICAgICAgIGJlZm9yZVdyaXRpbmdSZXN1bHQudGhlbih3cml0ZUJ1bmRsZSkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgYmVmb3JlV3JpdGluZ0ZpbGVzPjpcbiAgICAgICAgICAgIHdyaXRlQnVuZGxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSByZXBsYWNlVHNXaXRoTmdJbkVycm9ycyhcbiAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpO1xuICAgICAgICBvblRhc2tDb21wbGV0ZWQodGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lLkZhaWxlZCwgYGNvbXBpbGF0aW9uIGVycm9yczpcXG4ke2Vycm9yc31gKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2NvbXBpbGVfZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9zcmMvZXhlY3V0aW9uL2NyZWF0ZV9jb21waWxlX2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNBOzs7Ozs7T0FNRztJQUNILCtCQUFpQztJQUVqQywyRUFBdUU7SUFJdkUsbUZBQTREO0lBQzVELGlHQUFvRTtJQUNwRSwrRkFBMkY7SUFPM0Y7O09BRUc7SUFDSCxTQUFnQixrQkFBa0IsQ0FDOUIsVUFBc0IsRUFBRSxNQUFjLEVBQUUsVUFBc0IsRUFDOUQsK0JBQXdDLEVBQUUsUUFBa0MsRUFDNUUsWUFBb0M7UUFDdEMsT0FBTyxVQUFDLGtCQUFrQixFQUFFLGVBQWU7WUFDbEMsSUFBQSxXQUFXLEdBQUksT0FBTyxDQUFDLHlCQUF5QixDQUFDLFlBQXRDLENBQXVDO1lBQ3pELElBQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbEUsSUFBTSxlQUFlLEdBQUcsSUFBSSxtQ0FBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELElBQU0scUJBQXFCLEdBQUcsK0NBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEUsT0FBTyxVQUFDLElBQVU7Z0JBQ1QsSUFBQSxVQUFVLEdBQW1FLElBQUksV0FBdkUsRUFBRSxjQUFjLEdBQW1ELElBQUksZUFBdkQsRUFBRSxpQ0FBaUMsR0FBZ0IsSUFBSSxrQ0FBcEIsRUFBRSxVQUFVLEdBQUksSUFBSSxXQUFSLENBQVM7Z0JBRXpGLElBQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLENBQUUscUNBQXFDO2dCQUMxRixJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO2dCQUMzQyxJQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQy9DLElBQU0sTUFBTSxHQUFHLGlDQUFtQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBRTNFLDBGQUEwRjtnQkFDMUYsNkZBQTZGO2dCQUM3Riw2Q0FBNkM7Z0JBQzdDLHdGQUF3RjtnQkFDeEYsNERBQTREO2dCQUM1RCxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUMxQiw0QkFBNEI7b0JBQzVCLE1BQU0sSUFBSSxLQUFLLENBQ1gsc0RBQW9ELFVBQVUsQ0FBQyxJQUFJLFFBQUs7eUJBQ3JFLGNBQWMsc0JBQWlCLFVBQVUsbUJBQWMsTUFBTSxNQUFHLENBQUEsQ0FBQyxDQUFDO2lCQUMxRTtnQkFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWEsVUFBVSxDQUFDLElBQUksV0FBTSxjQUFjLFlBQU8sTUFBUSxDQUFDLENBQUM7Z0JBRTdFLElBQU0sTUFBTSxHQUFHLHlDQUFvQixDQUMvQixVQUFVLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUNsRixNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsK0JBQStCLENBQUMsQ0FBQztnQkFFN0UsSUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO29CQUNsQixJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBdUIsQ0FDL0IsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BGO29CQUVELElBQU0sV0FBVyxHQUFHO3dCQUNsQixVQUFVLENBQUMsV0FBVyxDQUNsQixNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGlDQUFpQyxDQUFDLENBQUM7d0JBRXhFLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTJCLFVBQVUsQ0FBQyxJQUFJLFdBQU0sY0FBZ0IsQ0FBQyxDQUFDO3dCQUMvRSxlQUFlLENBQUMsSUFBSSxxQkFBbUMsSUFBSSxDQUFDLENBQUM7b0JBQy9ELENBQUMsQ0FBQztvQkFFRixJQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUV4RSxPQUFPLENBQUMsbUJBQW1CLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQzt3QkFDN0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBMEMsQ0FBQSxDQUFDO3dCQUMvRSxXQUFXLEVBQUUsQ0FBQztpQkFDbkI7cUJBQU07b0JBQ0wsSUFBTSxNQUFNLEdBQUcscUNBQXVCLENBQ2xDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDbEYsZUFBZSxDQUFDLElBQUksa0JBQWdDLDBCQUF3QixNQUFRLENBQUMsQ0FBQztpQkFDdkY7WUFDSCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBL0RELGdEQStEQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtyZXBsYWNlVHNXaXRoTmdJbkVycm9yc30gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2RpYWdub3N0aWNzJztcbmltcG9ydCB7RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vLi4vc3JjL25ndHNjL2ZpbGVfc3lzdGVtJztcbmltcG9ydCB7TG9nZ2VyfSBmcm9tICcuLi8uLi8uLi9zcmMvbmd0c2MvbG9nZ2luZyc7XG5pbXBvcnQge1BhcnNlZENvbmZpZ3VyYXRpb259IGZyb20gJy4uLy4uLy4uL3NyYy9wZXJmb3JtX2NvbXBpbGUnO1xuaW1wb3J0IHtnZXRFbnRyeVBvaW50Rm9ybWF0fSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludCc7XG5pbXBvcnQge21ha2VFbnRyeVBvaW50QnVuZGxlfSBmcm9tICcuLi9wYWNrYWdlcy9lbnRyeV9wb2ludF9idW5kbGUnO1xuaW1wb3J0IHtjcmVhdGVNb2R1bGVSZXNvbHV0aW9uQ2FjaGUsIFNoYXJlZEZpbGVDYWNoZX0gZnJvbSAnLi4vcGFja2FnZXMvc291cmNlX2ZpbGVfY2FjaGUnO1xuaW1wb3J0IHtQYXRoTWFwcGluZ3N9IGZyb20gJy4uL3BhdGhfbWFwcGluZ3MnO1xuaW1wb3J0IHtGaWxlV3JpdGVyfSBmcm9tICcuLi93cml0aW5nL2ZpbGVfd3JpdGVyJztcblxuaW1wb3J0IHtDcmVhdGVDb21waWxlRm59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7VGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lfSBmcm9tICcuL3Rhc2tzL2FwaSc7XG5cbi8qKlxuICogVGhlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyB0aGUgYGNvbXBpbGUoKWAgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDcmVhdGVDb21waWxlRm4oXG4gICAgZmlsZVN5c3RlbTogRmlsZVN5c3RlbSwgbG9nZ2VyOiBMb2dnZXIsIGZpbGVXcml0ZXI6IEZpbGVXcml0ZXIsXG4gICAgZW5hYmxlSTE4bkxlZ2FjeU1lc3NhZ2VJZEZvcm1hdDogYm9vbGVhbiwgdHNDb25maWc6IFBhcnNlZENvbmZpZ3VyYXRpb258bnVsbCxcbiAgICBwYXRoTWFwcGluZ3M6IFBhdGhNYXBwaW5nc3x1bmRlZmluZWQpOiBDcmVhdGVDb21waWxlRm4ge1xuICByZXR1cm4gKGJlZm9yZVdyaXRpbmdGaWxlcywgb25UYXNrQ29tcGxldGVkKSA9PiB7XG4gICAgY29uc3Qge1RyYW5zZm9ybWVyfSA9IHJlcXVpcmUoJy4uL3BhY2thZ2VzL3RyYW5zZm9ybWVyJyk7XG4gICAgY29uc3QgdHJhbnNmb3JtZXIgPSBuZXcgVHJhbnNmb3JtZXIoZmlsZVN5c3RlbSwgbG9nZ2VyLCB0c0NvbmZpZyk7XG4gICAgY29uc3Qgc2hhcmVkRmlsZUNhY2hlID0gbmV3IFNoYXJlZEZpbGVDYWNoZShmaWxlU3lzdGVtKTtcbiAgICBjb25zdCBtb2R1bGVSZXNvbHV0aW9uQ2FjaGUgPSBjcmVhdGVNb2R1bGVSZXNvbHV0aW9uQ2FjaGUoZmlsZVN5c3RlbSk7XG5cbiAgICByZXR1cm4gKHRhc2s6IFRhc2spID0+IHtcbiAgICAgIGNvbnN0IHtlbnRyeVBvaW50LCBmb3JtYXRQcm9wZXJ0eSwgZm9ybWF0UHJvcGVydGllc1RvTWFya0FzUHJvY2Vzc2VkLCBwcm9jZXNzRHRzfSA9IHRhc2s7XG5cbiAgICAgIGNvbnN0IGlzQ29yZSA9IGVudHJ5UG9pbnQubmFtZSA9PT0gJ0Bhbmd1bGFyL2NvcmUnOyAgLy8gQXJlIHdlIGNvbXBpbGluZyB0aGUgQW5ndWxhciBjb3JlP1xuICAgICAgY29uc3QgcGFja2FnZUpzb24gPSBlbnRyeVBvaW50LnBhY2thZ2VKc29uO1xuICAgICAgY29uc3QgZm9ybWF0UGF0aCA9IHBhY2thZ2VKc29uW2Zvcm1hdFByb3BlcnR5XTtcbiAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEVudHJ5UG9pbnRGb3JtYXQoZmlsZVN5c3RlbSwgZW50cnlQb2ludCwgZm9ybWF0UHJvcGVydHkpO1xuXG4gICAgICAvLyBBbGwgcHJvcGVydGllcyBsaXN0ZWQgaW4gYHByb3BlcnRpZXNUb1Byb2Nlc3NgIGFyZSBndWFyYW50ZWVkIHRvIHBvaW50IHRvIGEgZm9ybWF0LXBhdGhcbiAgICAgIC8vIChpLmUuIHRoZXkgYXJlIGRlZmluZWQgaW4gYGVudHJ5UG9pbnQucGFja2FnZUpzb25gKS4gRnVydGhlcm1vcmUsIHRoZXkgYXJlIGFsc28gZ3VhcmFudGVlZFxuICAgICAgLy8gdG8gYmUgYW1vbmcgYFNVUFBPUlRFRF9GT1JNQVRfUFJPUEVSVElFU2AuXG4gICAgICAvLyBCYXNlZCBvbiB0aGUgYWJvdmUsIGBmb3JtYXRQYXRoYCBzaG91bGQgYWx3YXlzIGJlIGRlZmluZWQgYW5kIGBnZXRFbnRyeVBvaW50Rm9ybWF0KClgXG4gICAgICAvLyBzaG91bGQgYWx3YXlzIHJldHVybiBhIGZvcm1hdCBoZXJlIChhbmQgbm90IGB1bmRlZmluZWRgKS5cbiAgICAgIGlmICghZm9ybWF0UGF0aCB8fCAhZm9ybWF0KSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEludmFyaWFudCB2aW9sYXRlZDogTm8gZm9ybWF0LXBhdGggb3IgZm9ybWF0IGZvciAke2VudHJ5UG9pbnQucGF0aH0gOiBgICtcbiAgICAgICAgICAgIGAke2Zvcm1hdFByb3BlcnR5fSAoZm9ybWF0UGF0aDogJHtmb3JtYXRQYXRofSB8IGZvcm1hdDogJHtmb3JtYXR9KWApO1xuICAgICAgfVxuXG4gICAgICBsb2dnZXIuaW5mbyhgQ29tcGlsaW5nICR7ZW50cnlQb2ludC5uYW1lfSA6ICR7Zm9ybWF0UHJvcGVydHl9IGFzICR7Zm9ybWF0fWApO1xuXG4gICAgICBjb25zdCBidW5kbGUgPSBtYWtlRW50cnlQb2ludEJ1bmRsZShcbiAgICAgICAgICBmaWxlU3lzdGVtLCBlbnRyeVBvaW50LCBzaGFyZWRGaWxlQ2FjaGUsIG1vZHVsZVJlc29sdXRpb25DYWNoZSwgZm9ybWF0UGF0aCwgaXNDb3JlLFxuICAgICAgICAgIGZvcm1hdCwgcHJvY2Vzc0R0cywgcGF0aE1hcHBpbmdzLCB0cnVlLCBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0KTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gdHJhbnNmb3JtZXIudHJhbnNmb3JtKGJ1bmRsZSk7XG4gICAgICBpZiAocmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5kaWFnbm9zdGljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4ocmVwbGFjZVRzV2l0aE5nSW5FcnJvcnMoXG4gICAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdyaXRlQnVuZGxlID0gKCkgPT4ge1xuICAgICAgICAgIGZpbGVXcml0ZXIud3JpdGVCdW5kbGUoXG4gICAgICAgICAgICAgIGJ1bmRsZSwgcmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMsIGZvcm1hdFByb3BlcnRpZXNUb01hcmtBc1Byb2Nlc3NlZCk7XG5cbiAgICAgICAgICBsb2dnZXIuZGVidWcoYCAgU3VjY2Vzc2Z1bGx5IGNvbXBpbGVkICR7ZW50cnlQb2ludC5uYW1lfSA6ICR7Zm9ybWF0UHJvcGVydHl9YCk7XG4gICAgICAgICAgb25UYXNrQ29tcGxldGVkKHRhc2ssIFRhc2tQcm9jZXNzaW5nT3V0Y29tZS5Qcm9jZXNzZWQsIG51bGwpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGJlZm9yZVdyaXRpbmdSZXN1bHQgPSBiZWZvcmVXcml0aW5nRmlsZXMocmVzdWx0LnRyYW5zZm9ybWVkRmlsZXMpO1xuXG4gICAgICAgIHJldHVybiAoYmVmb3JlV3JpdGluZ1Jlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpID9cbiAgICAgICAgICAgIGJlZm9yZVdyaXRpbmdSZXN1bHQudGhlbih3cml0ZUJ1bmRsZSkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgYmVmb3JlV3JpdGluZ0ZpbGVzPjpcbiAgICAgICAgICAgIHdyaXRlQnVuZGxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSByZXBsYWNlVHNXaXRoTmdJbkVycm9ycyhcbiAgICAgICAgICAgIHRzLmZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChyZXN1bHQuZGlhZ25vc3RpY3MsIGJ1bmRsZS5zcmMuaG9zdCkpO1xuICAgICAgICBvblRhc2tDb21wbGV0ZWQodGFzaywgVGFza1Byb2Nlc3NpbmdPdXRjb21lLkZhaWxlZCwgYGNvbXBpbGF0aW9uIGVycm9yczpcXG4ke2Vycm9yc31gKTtcbiAgICAgIH1cbiAgICB9O1xuICB9O1xufVxuIl19
@@ -560,6 +560,24 @@ export declare class Esm2015ReflectionHost extends TypeScriptReflectionHost impl
560
560
  * @returns an array of constructor parameter info objects.
561
561
  */
562
562
  protected getConstructorParamInfo(classSymbol: NgccClassSymbol, parameterNodes: ts.ParameterDeclaration[]): CtorParameter[];
563
+ /**
564
+ * Compute the `TypeValueReference` for the given `typeExpression`.
565
+ *
566
+ * Although `typeExpression` is a valid `ts.Expression` that could be emitted directly into the
567
+ * generated code, ngcc still needs to resolve the declaration and create an `IMPORTED` type
568
+ * value reference as the compiler has specialized handling for some symbols, for example
569
+ * `ChangeDetectorRef` from `@angular/core`. Such an `IMPORTED` type value reference will result
570
+ * in a newly generated namespace import, instead of emitting the original `typeExpression` as is.
571
+ */
572
+ private typeToValue;
573
+ /**
574
+ * Determines where the `expression` is imported from.
575
+ *
576
+ * @param expression the expression to determine the import details for.
577
+ * @returns the `Import` for the expression, or `null` if the expression is not imported or the
578
+ * expression syntax is not supported.
579
+ */
580
+ private getImportOfExpression;
563
581
  /**
564
582
  * Get the parameter type and decorators for the constructor of a class,
565
583
  * where the information is stored on a static property of the class.