@angular/compiler-cli 7.2.0-beta.0 → 7.2.0

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 (152) hide show
  1. package/index.js +1 -1
  2. package/ngtools2.js +1 -1
  3. package/package.json +6 -6
  4. package/src/diagnostics/expression_diagnostics.js +1 -1
  5. package/src/diagnostics/expression_type.js +1 -1
  6. package/src/diagnostics/symbols.js +1 -1
  7. package/src/diagnostics/translate_diagnostics.js +1 -1
  8. package/src/diagnostics/typescript_symbols.js +9 -3
  9. package/src/diagnostics/typescript_version.js +1 -1
  10. package/src/extract_i18n.js +1 -1
  11. package/src/language_services.js +1 -1
  12. package/src/main.d.ts +1 -1
  13. package/src/main.js +8 -3
  14. package/src/metadata/bundle_index_host.js +5 -3
  15. package/src/metadata/bundler.js +1 -1
  16. package/src/metadata/collector.js +1 -1
  17. package/src/metadata/evaluator.js +1 -1
  18. package/src/metadata/index.js +1 -1
  19. package/src/metadata/index_writer.js +1 -1
  20. package/src/metadata/schema.js +1 -1
  21. package/src/metadata/symbols.js +1 -1
  22. package/src/ngcc/index.js +1 -1
  23. package/src/ngcc/main-ngcc.js +1 -1
  24. package/src/ngcc/src/analysis/decoration_analyzer.d.ts +4 -3
  25. package/src/ngcc/src/analysis/decoration_analyzer.js +11 -6
  26. package/src/ngcc/src/analysis/module_with_providers_analyzer.d.ts +34 -0
  27. package/src/ngcc/src/analysis/module_with_providers_analyzer.js +105 -0
  28. package/src/ngcc/src/analysis/ngcc_references_registry.d.ts +35 -0
  29. package/src/ngcc/src/analysis/ngcc_references_registry.js +63 -0
  30. package/src/ngcc/src/analysis/private_declarations_analyzer.d.ts +29 -0
  31. package/src/ngcc/src/analysis/private_declarations_analyzer.js +54 -0
  32. package/src/ngcc/src/analysis/switch_marker_analyzer.js +1 -1
  33. package/src/ngcc/src/constants.js +1 -1
  34. package/src/ngcc/src/host/decorated_class.js +1 -1
  35. package/src/ngcc/src/host/esm2015_host.d.ts +42 -10
  36. package/src/ngcc/src/host/esm2015_host.js +128 -55
  37. package/src/ngcc/src/host/esm5_host.d.ts +1 -1
  38. package/src/ngcc/src/host/esm5_host.js +6 -4
  39. package/src/ngcc/src/host/ngcc_host.d.ts +22 -0
  40. package/src/ngcc/src/host/ngcc_host.js +1 -1
  41. package/src/ngcc/src/main.js +22 -4
  42. package/src/ngcc/src/packages/build_marker.d.ts +1 -1
  43. package/src/ngcc/src/packages/build_marker.js +2 -2
  44. package/src/ngcc/src/packages/bundle_program.d.ts +25 -0
  45. package/src/ngcc/src/packages/bundle_program.js +74 -0
  46. package/src/ngcc/src/packages/dependency_host.d.ts +1 -1
  47. package/src/ngcc/src/packages/dependency_host.js +3 -3
  48. package/src/ngcc/src/packages/dependency_resolver.js +1 -1
  49. package/src/ngcc/src/packages/entry_point.d.ts +16 -12
  50. package/src/ngcc/src/packages/entry_point.js +16 -16
  51. package/src/ngcc/src/packages/entry_point_bundle.d.ts +21 -0
  52. package/src/ngcc/src/packages/entry_point_bundle.js +51 -0
  53. package/src/ngcc/src/packages/entry_point_finder.js +1 -1
  54. package/src/ngcc/src/packages/transformer.d.ts +25 -13
  55. package/src/ngcc/src/packages/transformer.js +43 -115
  56. package/src/ngcc/src/rendering/esm5_renderer.d.ts +2 -6
  57. package/src/ngcc/src/rendering/esm5_renderer.js +3 -8
  58. package/src/ngcc/src/rendering/esm_renderer.d.ts +9 -16
  59. package/src/ngcc/src/rendering/esm_renderer.js +14 -9
  60. package/src/ngcc/src/rendering/ngcc_import_manager.js +1 -1
  61. package/src/ngcc/src/rendering/renderer.d.ts +56 -13
  62. package/src/ngcc/src/rendering/renderer.js +158 -37
  63. package/src/ngcc/src/utils.d.ts +8 -0
  64. package/src/ngcc/src/utils.js +10 -1
  65. package/src/ngtools_api.js +1 -1
  66. package/src/ngtools_api2.js +1 -1
  67. package/src/ngtsc/annotations/index.d.ts +1 -0
  68. package/src/ngtsc/annotations/index.js +4 -2
  69. package/src/ngtsc/annotations/src/api.d.ts +2 -2
  70. package/src/ngtsc/annotations/src/api.js +1 -1
  71. package/src/ngtsc/annotations/src/base_def.js +1 -1
  72. package/src/ngtsc/annotations/src/component.d.ts +4 -1
  73. package/src/ngtsc/annotations/src/component.js +106 -18
  74. package/src/ngtsc/annotations/src/directive.js +2 -2
  75. package/src/ngtsc/annotations/src/injectable.js +8 -3
  76. package/src/ngtsc/annotations/src/metadata.js +11 -7
  77. package/src/ngtsc/annotations/src/ng_module.d.ts +17 -1
  78. package/src/ngtsc/annotations/src/ng_module.js +68 -10
  79. package/src/ngtsc/annotations/src/pipe.js +1 -1
  80. package/src/ngtsc/annotations/src/references_registry.d.ts +37 -0
  81. package/src/ngtsc/annotations/src/references_registry.js +38 -0
  82. package/src/ngtsc/annotations/src/selector_scope.d.ts +1 -1
  83. package/src/ngtsc/annotations/src/selector_scope.js +45 -26
  84. package/src/ngtsc/annotations/src/util.js +3 -3
  85. package/src/ngtsc/diagnostics/index.js +1 -1
  86. package/src/ngtsc/diagnostics/src/code.js +1 -1
  87. package/src/ngtsc/diagnostics/src/error.js +1 -1
  88. package/src/ngtsc/diagnostics/src/util.js +1 -1
  89. package/src/ngtsc/host/index.js +1 -1
  90. package/src/ngtsc/host/src/reflection.d.ts +16 -7
  91. package/src/ngtsc/host/src/reflection.js +1 -1
  92. package/src/ngtsc/metadata/index.d.ts +1 -1
  93. package/src/ngtsc/metadata/index.js +2 -1
  94. package/src/ngtsc/metadata/src/reflector.d.ts +3 -2
  95. package/src/ngtsc/metadata/src/reflector.js +25 -9
  96. package/src/ngtsc/metadata/src/resolver.d.ts +7 -1
  97. package/src/ngtsc/metadata/src/resolver.js +39 -6
  98. package/src/ngtsc/program.js +41 -11
  99. package/src/ngtsc/resource_loader.d.ts +10 -5
  100. package/src/ngtsc/resource_loader.js +81 -21
  101. package/src/ngtsc/shims/index.d.ts +2 -1
  102. package/src/ngtsc/shims/index.js +4 -2
  103. package/src/ngtsc/shims/src/factory_generator.d.ts +2 -2
  104. package/src/ngtsc/shims/src/factory_generator.js +93 -40
  105. package/src/ngtsc/shims/src/flat_index_generator.d.ts +19 -0
  106. package/src/ngtsc/shims/src/flat_index_generator.js +82 -0
  107. package/src/ngtsc/shims/src/host.d.ts +9 -6
  108. package/src/ngtsc/shims/src/host.js +12 -13
  109. package/src/ngtsc/shims/src/summary_generator.d.ts +2 -2
  110. package/src/ngtsc/shims/src/summary_generator.js +14 -4
  111. package/src/ngtsc/shims/src/util.d.ts +1 -0
  112. package/src/ngtsc/shims/src/util.js +12 -1
  113. package/src/ngtsc/switch/index.js +1 -1
  114. package/src/ngtsc/switch/src/switch.js +1 -1
  115. package/src/ngtsc/transform/index.js +1 -1
  116. package/src/ngtsc/transform/src/api.js +1 -1
  117. package/src/ngtsc/transform/src/compilation.js +1 -1
  118. package/src/ngtsc/transform/src/declaration.js +1 -1
  119. package/src/ngtsc/transform/src/transform.js +1 -1
  120. package/src/ngtsc/translator/index.js +1 -1
  121. package/src/ngtsc/translator/src/translator.js +2 -2
  122. package/src/ngtsc/typecheck/index.js +1 -1
  123. package/src/ngtsc/typecheck/src/api.js +1 -1
  124. package/src/ngtsc/typecheck/src/context.js +1 -1
  125. package/src/ngtsc/typecheck/src/expression.js +1 -1
  126. package/src/ngtsc/typecheck/src/host.js +1 -1
  127. package/src/ngtsc/typecheck/src/type_check_block.js +1 -1
  128. package/src/ngtsc/typecheck/src/type_constructor.js +1 -1
  129. package/src/ngtsc/util/src/path.js +1 -1
  130. package/src/ngtsc/util/src/visitor.js +1 -1
  131. package/src/perform_compile.js +1 -1
  132. package/src/perform_watch.js +1 -1
  133. package/src/transformers/api.d.ts +1 -0
  134. package/src/transformers/api.js +1 -1
  135. package/src/transformers/compiler_host.js +3 -3
  136. package/src/transformers/entry_points.js +1 -1
  137. package/src/transformers/inline_resources.js +1 -1
  138. package/src/transformers/lower_expressions.js +1 -1
  139. package/src/transformers/metadata_cache.js +1 -1
  140. package/src/transformers/metadata_reader.js +1 -1
  141. package/src/transformers/nocollapse_hack.js +1 -1
  142. package/src/transformers/node_emitter.js +1 -1
  143. package/src/transformers/node_emitter_transform.js +1 -1
  144. package/src/transformers/program.js +4 -3
  145. package/src/transformers/r3_metadata_transform.js +1 -1
  146. package/src/transformers/r3_strip_decorators.js +1 -1
  147. package/src/transformers/r3_transform.js +1 -1
  148. package/src/transformers/tsc_pass_through.js +1 -1
  149. package/src/transformers/util.js +1 -1
  150. package/src/version.js +2 -2
  151. package/src/ngcc/src/packages/bundle.d.ts +0 -20
  152. package/src/ngcc/src/packages/bundle.js +0 -29
@@ -7,20 +7,24 @@
7
7
  */
8
8
  /// <amd-module name="@angular/compiler-cli/src/ngcc/src/packages/entry_point" />
9
9
  /**
10
- * The possible values for the format of an entry-point.
10
+ * An object containing paths to the entry-points for each format.
11
11
  */
12
- export declare type EntryPointFormat = 'esm5' | 'fesm5' | 'esm2015' | 'fesm2015' | 'umd';
12
+ export interface EntryPointPaths {
13
+ esm5?: string;
14
+ fesm5?: string;
15
+ esm2015?: string;
16
+ fesm2015?: string;
17
+ umd?: string;
18
+ }
13
19
  /**
14
- * An object containing paths to the entry-points for each format.
20
+ * The possible values for the format of an entry-point.
15
21
  */
16
- export declare type EntryPointPaths = {
17
- [Format in EntryPointFormat]?: string;
18
- };
22
+ export declare type EntryPointFormat = keyof (EntryPointPaths);
19
23
  /**
20
24
  * An object containing information about an entry-point, including paths
21
25
  * to each of the possible entry-point formats.
22
26
  */
23
- export declare type EntryPoint = EntryPointPaths & {
27
+ export interface EntryPoint extends EntryPointPaths {
24
28
  /** The name of the package (e.g. `@angular/core`). */
25
29
  name: string;
26
30
  /** The path to the package that contains this entry-point. */
@@ -29,11 +33,11 @@ export declare type EntryPoint = EntryPointPaths & {
29
33
  path: string;
30
34
  /** The path to a typings (.d.ts) file for this entry-point. */
31
35
  typings: string;
32
- };
36
+ }
33
37
  /**
34
- * Try to get entry point info from the given path.
35
- * @param pkgPath the absolute path to the containing npm package
36
- * @param entryPoint the absolute path to the potential entry point.
38
+ * Try to get an entry point from the given path.
39
+ * @param packagePath the absolute path to the containing npm package
40
+ * @param entryPointPath the absolute path to the potential entry point.
37
41
  * @returns Info about the entry point if it is valid, `null` otherwise.
38
42
  */
39
- export declare function getEntryPointInfo(pkgPath: string, entryPoint: string): EntryPoint | null;
43
+ export declare function getEntryPointInfo(packagePath: string, entryPointPath: string): EntryPoint | null;
@@ -34,13 +34,13 @@
34
34
  }
35
35
  }
36
36
  /**
37
- * Try to get entry point info from the given path.
38
- * @param pkgPath the absolute path to the containing npm package
39
- * @param entryPoint the absolute path to the potential entry point.
37
+ * Try to get an entry point from the given path.
38
+ * @param packagePath the absolute path to the containing npm package
39
+ * @param entryPointPath the absolute path to the potential entry point.
40
40
  * @returns Info about the entry point if it is valid, `null` otherwise.
41
41
  */
42
- function getEntryPointInfo(pkgPath, entryPoint) {
43
- var packageJsonPath = path.resolve(entryPoint, 'package.json');
42
+ function getEntryPointInfo(packagePath, entryPointPath) {
43
+ var packageJsonPath = path.resolve(entryPointPath, 'package.json');
44
44
  if (!fs.existsSync(packageJsonPath)) {
45
45
  return null;
46
46
  }
@@ -59,34 +59,34 @@
59
59
  if (!typings || !(fesm2015 || esm2015)) {
60
60
  return null;
61
61
  }
62
- // Also we need to have a metadata.json file
63
- var metadataPath = path.resolve(entryPoint, typings.replace(/\.d\.ts$/, '') + '.metadata.json');
62
+ // Also there must exist a `metadata.json` file next to the typings entry-point.
63
+ var metadataPath = path.resolve(entryPointPath, typings.replace(/\.d\.ts$/, '') + '.metadata.json');
64
64
  if (!fs.existsSync(metadataPath)) {
65
65
  return null;
66
66
  }
67
67
  var entryPointInfo = {
68
68
  name: name,
69
- package: pkgPath,
70
- path: entryPoint,
71
- typings: path.resolve(entryPoint, typings),
69
+ package: packagePath,
70
+ path: entryPointPath,
71
+ typings: path.resolve(entryPointPath, typings),
72
72
  };
73
73
  if (esm2015) {
74
- entryPointInfo.esm2015 = path.resolve(entryPoint, esm2015);
74
+ entryPointInfo.esm2015 = path.resolve(entryPointPath, esm2015);
75
75
  }
76
76
  if (fesm2015) {
77
- entryPointInfo.fesm2015 = path.resolve(entryPoint, fesm2015);
77
+ entryPointInfo.fesm2015 = path.resolve(entryPointPath, fesm2015);
78
78
  }
79
79
  if (fesm5) {
80
- entryPointInfo.fesm5 = path.resolve(entryPoint, fesm5);
80
+ entryPointInfo.fesm5 = path.resolve(entryPointPath, fesm5);
81
81
  }
82
82
  if (esm5) {
83
- entryPointInfo.esm5 = path.resolve(entryPoint, esm5);
83
+ entryPointInfo.esm5 = path.resolve(entryPointPath, esm5);
84
84
  }
85
85
  if (main) {
86
- entryPointInfo.umd = path.resolve(entryPoint, main);
86
+ entryPointInfo.umd = path.resolve(entryPointPath, main);
87
87
  }
88
88
  return entryPointInfo;
89
89
  }
90
90
  exports.getEntryPointInfo = getEntryPointInfo;
91
91
  });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25nY2Mvc3JjL3BhY2thZ2VzL2VudHJ5X3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgscUNBQXVDO0lBQ3ZDLHVCQUF5QjtJQTJDekI7Ozs7T0FJRztJQUNILFNBQVMscUJBQXFCLENBQUMsZUFBdUI7UUFDcEQsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDViw4REFBOEQ7WUFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQywwQ0FBd0MsZUFBZSxvQkFBZSxDQUFDLE1BQUcsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsVUFBa0I7UUFDbkUsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQU0scUJBQXFCLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCwyRUFBMkU7UUFDM0UsNkVBQTZFO1FBRTNFLElBQUEsaUNBQUksRUFDSix5Q0FBa0IsRUFDbEIsbUNBQUssRUFDTCxrQ0FBZSxFQUFmLG9DQUFlLEVBQUcsYUFBYTtRQUMvQixxQ0FBTSxFQUNOLG1DQUFpQixFQUFqQixzQ0FBaUIsRUFBSSxhQUFhO1FBQ2xDLGdDQUFrQixFQURHLGFBQWE7UUFDbEMsdUNBQWtCLEVBQUcsYUFBYTtRQUNsQyx1Q0FBTyxFQUNQLGlDQUFJLEVBQ0osaUNBQUksQ0FDb0I7UUFDMUIsc0ZBQXNGO1FBQ3RGLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsRUFBRTtZQUN0QyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNENBQTRDO1FBQzVDLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDbEcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQU0sY0FBYyxHQUFlO1lBQ2pDLElBQUksTUFBQTtZQUNKLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7U0FDM0MsQ0FBQztRQUVGLElBQUksT0FBTyxFQUFFO1lBQ1gsY0FBYyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RDtRQUNELElBQUksUUFBUSxFQUFFO1lBQ1osY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksS0FBSyxFQUFFO1lBQ1QsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsY0FBYyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUE1REQsOENBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuXG4vKipcbiAqIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBmb3JtYXQgb2YgYW4gZW50cnktcG9pbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEVudHJ5UG9pbnRGb3JtYXQgPSAnZXNtNScgfCAnZmVzbTUnIHwgJ2VzbTIwMTUnIHwgJ2Zlc20yMDE1JyB8ICd1bWQnO1xuXG4vKipcbiAqIEFuIG9iamVjdCBjb250YWluaW5nIHBhdGhzIHRvIHRoZSBlbnRyeS1wb2ludHMgZm9yIGVhY2ggZm9ybWF0LlxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50UGF0aHMgPSB7XG4gIFtGb3JtYXQgaW4gRW50cnlQb2ludEZvcm1hdF0/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEFuIG9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGFuIGVudHJ5LXBvaW50LCBpbmNsdWRpbmcgcGF0aHNcbiAqIHRvIGVhY2ggb2YgdGhlIHBvc3NpYmxlIGVudHJ5LXBvaW50IGZvcm1hdHMuXG4gKi9cbmV4cG9ydCB0eXBlIEVudHJ5UG9pbnQgPSBFbnRyeVBvaW50UGF0aHMgJiB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgcGFja2FnZSAoZS5nLiBgQGFuZ3VsYXIvY29yZWApLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgcGF0aCB0byB0aGUgcGFja2FnZSB0aGF0IGNvbnRhaW5zIHRoaXMgZW50cnktcG9pbnQuICovXG4gIHBhY2thZ2U6IHN0cmluZztcbiAgLyoqIFRoZSBwYXRoIHRvIHRoaXMgZW50cnkgcG9pbnQuICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFRoZSBwYXRoIHRvIGEgdHlwaW5ncyAoLmQudHMpIGZpbGUgZm9yIHRoaXMgZW50cnktcG9pbnQuICovXG4gIHR5cGluZ3M6IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBFbnRyeVBvaW50UGFja2FnZUpzb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGZlc20yMDE1Pzogc3RyaW5nO1xuICBmZXNtNT86IHN0cmluZztcbiAgZXMyMDE1Pzogc3RyaW5nOyAgLy8gaWYgZXhpc3RzIHRoZW4gaXQgaXMgYWN0dWFsbHkgRkVTTTIwMTVcbiAgZXNtMjAxNT86IHN0cmluZztcbiAgZXNtNT86IHN0cmluZztcbiAgbWFpbj86IHN0cmluZzsgICAgIC8vIFVNRFxuICBtb2R1bGU/OiBzdHJpbmc7ICAgLy8gaWYgZXhpc3RzIHRoZW4gaXQgaXMgYWN0dWFsbHkgRkVTTTVcbiAgdHlwZXM/OiBzdHJpbmc7ICAgIC8vIFN5bm9ueW1vdXMgdG8gYHR5cGluZ3NgIHByb3BlcnR5IC0gc2VlIGh0dHBzOi8vYml0Lmx5LzJPZ1dwMkhcbiAgdHlwaW5ncz86IHN0cmluZzsgIC8vIFR5cGVTY3JpcHQgLmQudHMgZmlsZXNcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIEpTT04gZnJvbSBhIHBhY2thZ2UuanNvbiBmaWxlLlxuICogQHBhcmFtIHBhY2thZ2VKc29uUGF0aCB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcGFja2FnZS5qc29uIGZpbGUuXG4gKiBAcmV0dXJucyBKU09OIGZyb20gdGhlIHBhY2thZ2UuanNvbiBmaWxlIGlmIGl0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBsb2FkRW50cnlQb2ludFBhY2thZ2UocGFja2FnZUpzb25QYXRoOiBzdHJpbmcpOiB7W2tleTogc3RyaW5nXTogYW55fXxudWxsIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGFja2FnZUpzb25QYXRoLCAndXRmOCcpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIFdlIG1heSBoYXZlIHJ1biBpbnRvIGEgcGFja2FnZS5qc29uIHdpdGggdW5leHBlY3RlZCBzeW1ib2xzXG4gICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gcmVhZCBlbnRyeSBwb2ludCBpbmZvIGZyb20gJHtwYWNrYWdlSnNvblBhdGh9IHdpdGggZXJyb3IgJHtlfS5gKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIFRyeSB0byBnZXQgZW50cnkgcG9pbnQgaW5mbyBmcm9tIHRoZSBnaXZlbiBwYXRoLlxuICogQHBhcmFtIHBrZ1BhdGggdGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGNvbnRhaW5pbmcgbnBtIHBhY2thZ2VcbiAqIEBwYXJhbSBlbnRyeVBvaW50IHRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBwb3RlbnRpYWwgZW50cnkgcG9pbnQuXG4gKiBAcmV0dXJucyBJbmZvIGFib3V0IHRoZSBlbnRyeSBwb2ludCBpZiBpdCBpcyB2YWxpZCwgYG51bGxgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudHJ5UG9pbnRJbmZvKHBrZ1BhdGg6IHN0cmluZywgZW50cnlQb2ludDogc3RyaW5nKTogRW50cnlQb2ludHxudWxsIHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnQsICdwYWNrYWdlLmpzb24nKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKHBhY2thZ2VKc29uUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVudHJ5UG9pbnRQYWNrYWdlSnNvbiA9IGxvYWRFbnRyeVBvaW50UGFja2FnZShwYWNrYWdlSnNvblBhdGgpO1xuICBpZiAoIWVudHJ5UG9pbnRQYWNrYWdlSnNvbikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gSWYgdGhlcmUgaXMgYGVzbTIwMTVgIHRoZW4gYGVzMjAxNWAgd2lsbCBiZSBGRVNNMjAxNSwgb3RoZXJ3aXNlIEVTTTIwMTUuXG4gIC8vIElmIHRoZXJlIGlzIGBlc201YCB0aGVuIGBtb2R1bGVgIHdpbGwgYmUgRkVTTTUsIG90aGVyd2lzZSBpdCB3aWxsIGJlIEVTTTUuXG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIG1vZHVsZTogbW9kdWxlUGF0aCxcbiAgICB0eXBlcyxcbiAgICB0eXBpbmdzID0gdHlwZXMsICAvLyBzeW5vbnltb3VzXG4gICAgZXMyMDE1LFxuICAgIGZlc20yMDE1ID0gZXMyMDE1LCAgIC8vIHN5bm9ueW1vdXNcbiAgICBmZXNtNSA9IG1vZHVsZVBhdGgsICAvLyBzeW5vbnltb3VzXG4gICAgZXNtMjAxNSxcbiAgICBlc201LFxuICAgIG1haW5cbiAgfSA9IGVudHJ5UG9pbnRQYWNrYWdlSnNvbjtcbiAgLy8gTWluaW11bSByZXF1aXJlbWVudCBpcyB0aGF0IHdlIGhhdmUgdHlwaW5ncyBhbmQgb25lIG9mIGVzbTIwMTUgb3IgZmVzbTIwMTUgZm9ybWF0cy5cbiAgaWYgKCF0eXBpbmdzIHx8ICEoZmVzbTIwMTUgfHwgZXNtMjAxNSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIEFsc28gd2UgbmVlZCB0byBoYXZlIGEgbWV0YWRhdGEuanNvbiBmaWxlXG4gIGNvbnN0IG1ldGFkYXRhUGF0aCA9IHBhdGgucmVzb2x2ZShlbnRyeVBvaW50LCB0eXBpbmdzLnJlcGxhY2UoL1xcLmRcXC50cyQvLCAnJykgKyAnLm1ldGFkYXRhLmpzb24nKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKG1ldGFkYXRhUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVudHJ5UG9pbnRJbmZvOiBFbnRyeVBvaW50ID0ge1xuICAgIG5hbWUsXG4gICAgcGFja2FnZTogcGtnUGF0aCxcbiAgICBwYXRoOiBlbnRyeVBvaW50LFxuICAgIHR5cGluZ3M6IHBhdGgucmVzb2x2ZShlbnRyeVBvaW50LCB0eXBpbmdzKSxcbiAgfTtcblxuICBpZiAoZXNtMjAxNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmVzbTIwMTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludCwgZXNtMjAxNSk7XG4gIH1cbiAgaWYgKGZlc20yMDE1KSB7XG4gICAgZW50cnlQb2ludEluZm8uZmVzbTIwMTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludCwgZmVzbTIwMTUpO1xuICB9XG4gIGlmIChmZXNtNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmZlc201ID0gcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnQsIGZlc201KTtcbiAgfVxuICBpZiAoZXNtNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmVzbTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludCwgZXNtNSk7XG4gIH1cbiAgaWYgKG1haW4pIHtcbiAgICBlbnRyeVBvaW50SW5mby51bWQgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludCwgbWFpbik7XG4gIH1cblxuICByZXR1cm4gZW50cnlQb2ludEluZm87XG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25nY2Mvc3JjL3BhY2thZ2VzL2VudHJ5X3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgscUNBQXVDO0lBQ3ZDLHVCQUF5QjtJQWtEekI7Ozs7T0FJRztJQUNILFNBQVMscUJBQXFCLENBQUMsZUFBdUI7UUFDcEQsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDViw4REFBOEQ7WUFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQywwQ0FBd0MsZUFBZSxvQkFBZSxDQUFDLE1BQUcsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLGNBQXNCO1FBQzNFLElBQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsMkVBQTJFO1FBQzNFLDZFQUE2RTtRQUUzRSxJQUFBLGlDQUFJLEVBQ0oseUNBQWtCLEVBQ2xCLG1DQUFLLEVBQ0wsa0NBQWUsRUFBZixvQ0FBZSxFQUFHLGFBQWE7UUFDL0IscUNBQU0sRUFDTixtQ0FBaUIsRUFBakIsc0NBQWlCLEVBQUksYUFBYTtRQUNsQyxnQ0FBa0IsRUFERyxhQUFhO1FBQ2xDLHVDQUFrQixFQUFHLGFBQWE7UUFDbEMsdUNBQU8sRUFDUCxpQ0FBSSxFQUNKLGlDQUFJLENBQ29CO1FBQzFCLHNGQUFzRjtRQUN0RixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELGdGQUFnRjtRQUNoRixJQUFNLFlBQVksR0FDZCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFNLGNBQWMsR0FBZTtZQUNqQyxJQUFJLE1BQUE7WUFDSixPQUFPLEVBQUUsV0FBVztZQUNwQixJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO1NBQy9DLENBQUM7UUFFRixJQUFJLE9BQU8sRUFBRTtZQUNYLGNBQWMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDaEU7UUFDRCxJQUFJLFFBQVEsRUFBRTtZQUNaLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNULGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNSLGNBQWMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNSLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBN0RELDhDQTZEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdjYW5vbmljYWwtcGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cblxuLyoqXG4gKiBBbiBvYmplY3QgY29udGFpbmluZyBwYXRocyB0byB0aGUgZW50cnktcG9pbnRzIGZvciBlYWNoIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRyeVBvaW50UGF0aHMge1xuICBlc201Pzogc3RyaW5nO1xuICBmZXNtNT86IHN0cmluZztcbiAgZXNtMjAxNT86IHN0cmluZztcbiAgZmVzbTIwMTU/OiBzdHJpbmc7XG4gIHVtZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciB0aGUgZm9ybWF0IG9mIGFuIGVudHJ5LXBvaW50LlxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50Rm9ybWF0ID0ga2V5b2YoRW50cnlQb2ludFBhdGhzKTtcblxuLyoqXG4gKiBBbiBvYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhbiBlbnRyeS1wb2ludCwgaW5jbHVkaW5nIHBhdGhzXG4gKiB0byBlYWNoIG9mIHRoZSBwb3NzaWJsZSBlbnRyeS1wb2ludCBmb3JtYXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudHJ5UG9pbnQgZXh0ZW5kcyBFbnRyeVBvaW50UGF0aHMge1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgKGUuZy4gYEBhbmd1bGFyL2NvcmVgKS4gKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogVGhlIHBhdGggdG8gdGhlIHBhY2thZ2UgdGhhdCBjb250YWlucyB0aGlzIGVudHJ5LXBvaW50LiAqL1xuICBwYWNrYWdlOiBzdHJpbmc7XG4gIC8qKiBUaGUgcGF0aCB0byB0aGlzIGVudHJ5IHBvaW50LiAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBUaGUgcGF0aCB0byBhIHR5cGluZ3MgKC5kLnRzKSBmaWxlIGZvciB0aGlzIGVudHJ5LXBvaW50LiAqL1xuICB0eXBpbmdzOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgdGhhdCBtYXkgYmUgbG9hZGVkIGZyb20gdGhlIGBwYWNrYWdlLmpzb25gIGZpbGUuXG4gKi9cbmludGVyZmFjZSBFbnRyeVBvaW50UGFja2FnZUpzb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGZlc20yMDE1Pzogc3RyaW5nO1xuICBmZXNtNT86IHN0cmluZztcbiAgZXMyMDE1Pzogc3RyaW5nOyAgLy8gaWYgZXhpc3RzIHRoZW4gaXQgaXMgYWN0dWFsbHkgRkVTTTIwMTVcbiAgZXNtMjAxNT86IHN0cmluZztcbiAgZXNtNT86IHN0cmluZztcbiAgbWFpbj86IHN0cmluZzsgICAgIC8vIFVNRFxuICBtb2R1bGU/OiBzdHJpbmc7ICAgLy8gaWYgZXhpc3RzIHRoZW4gaXQgaXMgYWN0dWFsbHkgRkVTTTVcbiAgdHlwZXM/OiBzdHJpbmc7ICAgIC8vIFN5bm9ueW1vdXMgdG8gYHR5cGluZ3NgIHByb3BlcnR5IC0gc2VlIGh0dHBzOi8vYml0Lmx5LzJPZ1dwMkhcbiAgdHlwaW5ncz86IHN0cmluZzsgIC8vIFR5cGVTY3JpcHQgLmQudHMgZmlsZXNcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIEpTT04gZnJvbSBhIHBhY2thZ2UuanNvbiBmaWxlLlxuICogQHBhcmFtIHBhY2thZ2VKc29uUGF0aCB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcGFja2FnZS5qc29uIGZpbGUuXG4gKiBAcmV0dXJucyBKU09OIGZyb20gdGhlIHBhY2thZ2UuanNvbiBmaWxlIGlmIGl0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBsb2FkRW50cnlQb2ludFBhY2thZ2UocGFja2FnZUpzb25QYXRoOiBzdHJpbmcpOiBFbnRyeVBvaW50UGFja2FnZUpzb258bnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0ZjgnKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBXZSBtYXkgaGF2ZSBydW4gaW50byBhIHBhY2thZ2UuanNvbiB3aXRoIHVuZXhwZWN0ZWQgc3ltYm9sc1xuICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHJlYWQgZW50cnkgcG9pbnQgaW5mbyBmcm9tICR7cGFja2FnZUpzb25QYXRofSB3aXRoIGVycm9yICR7ZX0uYCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBUcnkgdG8gZ2V0IGFuIGVudHJ5IHBvaW50IGZyb20gdGhlIGdpdmVuIHBhdGguXG4gKiBAcGFyYW0gcGFja2FnZVBhdGggdGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGNvbnRhaW5pbmcgbnBtIHBhY2thZ2VcbiAqIEBwYXJhbSBlbnRyeVBvaW50UGF0aCB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICogQHJldHVybnMgSW5mbyBhYm91dCB0aGUgZW50cnkgcG9pbnQgaWYgaXQgaXMgdmFsaWQsIGBudWxsYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRyeVBvaW50SW5mbyhwYWNrYWdlUGF0aDogc3RyaW5nLCBlbnRyeVBvaW50UGF0aDogc3RyaW5nKTogRW50cnlQb2ludHxudWxsIHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnRQYXRoLCAncGFja2FnZS5qc29uJyk7XG4gIGlmICghZnMuZXhpc3RzU3luYyhwYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBlbnRyeVBvaW50UGFja2FnZUpzb24gPSBsb2FkRW50cnlQb2ludFBhY2thZ2UocGFja2FnZUpzb25QYXRoKTtcbiAgaWYgKCFlbnRyeVBvaW50UGFja2FnZUpzb24pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIElmIHRoZXJlIGlzIGBlc20yMDE1YCB0aGVuIGBlczIwMTVgIHdpbGwgYmUgRkVTTTIwMTUsIG90aGVyd2lzZSBFU00yMDE1LlxuICAvLyBJZiB0aGVyZSBpcyBgZXNtNWAgdGhlbiBgbW9kdWxlYCB3aWxsIGJlIEZFU001LCBvdGhlcndpc2UgaXQgd2lsbCBiZSBFU001LlxuICBjb25zdCB7XG4gICAgbmFtZSxcbiAgICBtb2R1bGU6IG1vZHVsZVBhdGgsXG4gICAgdHlwZXMsXG4gICAgdHlwaW5ncyA9IHR5cGVzLCAgLy8gc3lub255bW91c1xuICAgIGVzMjAxNSxcbiAgICBmZXNtMjAxNSA9IGVzMjAxNSwgICAvLyBzeW5vbnltb3VzXG4gICAgZmVzbTUgPSBtb2R1bGVQYXRoLCAgLy8gc3lub255bW91c1xuICAgIGVzbTIwMTUsXG4gICAgZXNtNSxcbiAgICBtYWluXG4gIH0gPSBlbnRyeVBvaW50UGFja2FnZUpzb247XG4gIC8vIE1pbmltdW0gcmVxdWlyZW1lbnQgaXMgdGhhdCB3ZSBoYXZlIHR5cGluZ3MgYW5kIG9uZSBvZiBlc20yMDE1IG9yIGZlc20yMDE1IGZvcm1hdHMuXG4gIGlmICghdHlwaW5ncyB8fCAhKGZlc20yMDE1IHx8IGVzbTIwMTUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBBbHNvIHRoZXJlIG11c3QgZXhpc3QgYSBgbWV0YWRhdGEuanNvbmAgZmlsZSBuZXh0IHRvIHRoZSB0eXBpbmdzIGVudHJ5LXBvaW50LlxuICBjb25zdCBtZXRhZGF0YVBhdGggPVxuICAgICAgcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnRQYXRoLCB0eXBpbmdzLnJlcGxhY2UoL1xcLmRcXC50cyQvLCAnJykgKyAnLm1ldGFkYXRhLmpzb24nKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKG1ldGFkYXRhUGF0aCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVudHJ5UG9pbnRJbmZvOiBFbnRyeVBvaW50ID0ge1xuICAgIG5hbWUsXG4gICAgcGFja2FnZTogcGFja2FnZVBhdGgsXG4gICAgcGF0aDogZW50cnlQb2ludFBhdGgsXG4gICAgdHlwaW5nczogcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnRQYXRoLCB0eXBpbmdzKSxcbiAgfTtcblxuICBpZiAoZXNtMjAxNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmVzbTIwMTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludFBhdGgsIGVzbTIwMTUpO1xuICB9XG4gIGlmIChmZXNtMjAxNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmZlc20yMDE1ID0gcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnRQYXRoLCBmZXNtMjAxNSk7XG4gIH1cbiAgaWYgKGZlc201KSB7XG4gICAgZW50cnlQb2ludEluZm8uZmVzbTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludFBhdGgsIGZlc201KTtcbiAgfVxuICBpZiAoZXNtNSkge1xuICAgIGVudHJ5UG9pbnRJbmZvLmVzbTUgPSBwYXRoLnJlc29sdmUoZW50cnlQb2ludFBhdGgsIGVzbTUpO1xuICB9XG4gIGlmIChtYWluKSB7XG4gICAgZW50cnlQb2ludEluZm8udW1kID0gcGF0aC5yZXNvbHZlKGVudHJ5UG9pbnRQYXRoLCBtYWluKTtcbiAgfVxuXG4gIHJldHVybiBlbnRyeVBvaW50SW5mbztcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ /// <amd-module name="@angular/compiler-cli/src/ngcc/src/packages/entry_point_bundle" />
2
+ import { BundleProgram } from './bundle_program';
3
+ import { EntryPoint, EntryPointFormat } from './entry_point';
4
+ /**
5
+ * A bundle of files and paths (and TS programs) that correspond to a particular
6
+ * format of a package entry-point.
7
+ */
8
+ export interface EntryPointBundle {
9
+ format: EntryPointFormat;
10
+ isFlat: boolean;
11
+ rootDirs: string[];
12
+ src: BundleProgram;
13
+ dts: BundleProgram | null;
14
+ }
15
+ /**
16
+ * Get an object that describes a formatted bundle for an entry-point.
17
+ * @param entryPoint The entry-point that contains the bundle.
18
+ * @param format The format of the bundle.
19
+ * @param transformDts True if processing this bundle should also process its `.d.ts` files.
20
+ */
21
+ export declare function makeEntryPointBundle(entryPoint: EntryPoint, isCore: boolean, format: EntryPointFormat, transformDts: boolean): EntryPointBundle | null;
@@ -0,0 +1,51 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define("@angular/compiler-cli/src/ngcc/src/packages/entry_point_bundle", ["require", "exports", "typescript", "@angular/compiler-cli/src/ngcc/src/packages/bundle_program"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ /**
13
+ * @license
14
+ * Copyright Google Inc. All Rights Reserved.
15
+ *
16
+ * Use of this source code is governed by an MIT-style license that can be
17
+ * found in the LICENSE file at https://angular.io/license
18
+ */
19
+ var ts = require("typescript");
20
+ var bundle_program_1 = require("@angular/compiler-cli/src/ngcc/src/packages/bundle_program");
21
+ /**
22
+ * Get an object that describes a formatted bundle for an entry-point.
23
+ * @param entryPoint The entry-point that contains the bundle.
24
+ * @param format The format of the bundle.
25
+ * @param transformDts True if processing this bundle should also process its `.d.ts` files.
26
+ */
27
+ function makeEntryPointBundle(entryPoint, isCore, format, transformDts) {
28
+ // Bail out if the entry-point does not have this format.
29
+ var path = entryPoint[format];
30
+ if (!path) {
31
+ return null;
32
+ }
33
+ // Create the TS program and necessary helpers.
34
+ var options = {
35
+ allowJs: true,
36
+ maxNodeModuleJsDepth: Infinity,
37
+ rootDir: entryPoint.path,
38
+ };
39
+ var host = ts.createCompilerHost(options);
40
+ var rootDirs = [entryPoint.path];
41
+ // Create the bundle programs, as necessary.
42
+ var src = bundle_program_1.makeBundleProgram(isCore, path, 'r3_symbols.js', options, host);
43
+ var dts = transformDts ?
44
+ bundle_program_1.makeBundleProgram(isCore, entryPoint.typings, 'r3_symbols.d.ts', options, host) :
45
+ null;
46
+ var isFlat = src.r3SymbolsFile === null;
47
+ return { format: format, rootDirs: rootDirs, isFlat: isFlat, src: src, dts: dts };
48
+ }
49
+ exports.makeEntryPointBundle = makeEntryPointBundle;
50
+ });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnRfYnVuZGxlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ2NjL3NyYy9wYWNrYWdlcy9lbnRyeV9wb2ludF9idW5kbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBQTs7Ozs7O09BTUc7SUFDSCwrQkFBaUM7SUFFakMsNkZBQWtFO0lBZ0JsRTs7Ozs7T0FLRztJQUNILFNBQWdCLG9CQUFvQixDQUNoQyxVQUFzQixFQUFFLE1BQWUsRUFBRSxNQUF3QixFQUNqRSxZQUFxQjtRQUN2Qix5REFBeUQ7UUFDekQsSUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsK0NBQStDO1FBQy9DLElBQU0sT0FBTyxHQUF1QjtZQUNsQyxPQUFPLEVBQUUsSUFBSTtZQUNiLG9CQUFvQixFQUFFLFFBQVE7WUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJO1NBQ3pCLENBQUM7UUFDRixJQUFNLElBQUksR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBTSxRQUFRLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsNENBQTRDO1FBQzVDLElBQU0sR0FBRyxHQUFHLGtDQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUN0QixrQ0FBaUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUM7UUFDVCxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQztRQUUxQyxPQUFPLEVBQUMsTUFBTSxRQUFBLEVBQUUsUUFBUSxVQUFBLEVBQUUsTUFBTSxRQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUMsQ0FBQztJQUM5QyxDQUFDO0lBMUJELG9EQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0J1bmRsZVByb2dyYW0sIG1ha2VCdW5kbGVQcm9ncmFtfSBmcm9tICcuL2J1bmRsZV9wcm9ncmFtJztcbmltcG9ydCB7RW50cnlQb2ludCwgRW50cnlQb2ludEZvcm1hdH0gZnJvbSAnLi9lbnRyeV9wb2ludCc7XG5cblxuLyoqXG4gKiBBIGJ1bmRsZSBvZiBmaWxlcyBhbmQgcGF0aHMgKGFuZCBUUyBwcm9ncmFtcykgdGhhdCBjb3JyZXNwb25kIHRvIGEgcGFydGljdWxhclxuICogZm9ybWF0IG9mIGEgcGFja2FnZSBlbnRyeS1wb2ludC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRyeVBvaW50QnVuZGxlIHtcbiAgZm9ybWF0OiBFbnRyeVBvaW50Rm9ybWF0O1xuICBpc0ZsYXQ6IGJvb2xlYW47XG4gIHJvb3REaXJzOiBzdHJpbmdbXTtcbiAgc3JjOiBCdW5kbGVQcm9ncmFtO1xuICBkdHM6IEJ1bmRsZVByb2dyYW18bnVsbDtcbn1cblxuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IHRoYXQgZGVzY3JpYmVzIGEgZm9ybWF0dGVkIGJ1bmRsZSBmb3IgYW4gZW50cnktcG9pbnQuXG4gKiBAcGFyYW0gZW50cnlQb2ludCBUaGUgZW50cnktcG9pbnQgdGhhdCBjb250YWlucyB0aGUgYnVuZGxlLlxuICogQHBhcmFtIGZvcm1hdCBUaGUgZm9ybWF0IG9mIHRoZSBidW5kbGUuXG4gKiBAcGFyYW0gdHJhbnNmb3JtRHRzIFRydWUgaWYgcHJvY2Vzc2luZyB0aGlzIGJ1bmRsZSBzaG91bGQgYWxzbyBwcm9jZXNzIGl0cyBgLmQudHNgIGZpbGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUVudHJ5UG9pbnRCdW5kbGUoXG4gICAgZW50cnlQb2ludDogRW50cnlQb2ludCwgaXNDb3JlOiBib29sZWFuLCBmb3JtYXQ6IEVudHJ5UG9pbnRGb3JtYXQsXG4gICAgdHJhbnNmb3JtRHRzOiBib29sZWFuKTogRW50cnlQb2ludEJ1bmRsZXxudWxsIHtcbiAgLy8gQmFpbCBvdXQgaWYgdGhlIGVudHJ5LXBvaW50IGRvZXMgbm90IGhhdmUgdGhpcyBmb3JtYXQuXG4gIGNvbnN0IHBhdGggPSBlbnRyeVBvaW50W2Zvcm1hdF07XG4gIGlmICghcGF0aCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBUUyBwcm9ncmFtIGFuZCBuZWNlc3NhcnkgaGVscGVycy5cbiAgY29uc3Qgb3B0aW9uczogdHMuQ29tcGlsZXJPcHRpb25zID0ge1xuICAgIGFsbG93SnM6IHRydWUsXG4gICAgbWF4Tm9kZU1vZHVsZUpzRGVwdGg6IEluZmluaXR5LFxuICAgIHJvb3REaXI6IGVudHJ5UG9pbnQucGF0aCxcbiAgfTtcbiAgY29uc3QgaG9zdCA9IHRzLmNyZWF0ZUNvbXBpbGVySG9zdChvcHRpb25zKTtcbiAgY29uc3Qgcm9vdERpcnMgPSBbZW50cnlQb2ludC5wYXRoXTtcblxuICAvLyBDcmVhdGUgdGhlIGJ1bmRsZSBwcm9ncmFtcywgYXMgbmVjZXNzYXJ5LlxuICBjb25zdCBzcmMgPSBtYWtlQnVuZGxlUHJvZ3JhbShpc0NvcmUsIHBhdGgsICdyM19zeW1ib2xzLmpzJywgb3B0aW9ucywgaG9zdCk7XG4gIGNvbnN0IGR0cyA9IHRyYW5zZm9ybUR0cyA/XG4gICAgICBtYWtlQnVuZGxlUHJvZ3JhbShpc0NvcmUsIGVudHJ5UG9pbnQudHlwaW5ncywgJ3IzX3N5bWJvbHMuZC50cycsIG9wdGlvbnMsIGhvc3QpIDpcbiAgICAgIG51bGw7XG4gIGNvbnN0IGlzRmxhdCA9IHNyYy5yM1N5bWJvbHNGaWxlID09PSBudWxsO1xuXG4gIHJldHVybiB7Zm9ybWF0LCByb290RGlycywgaXNGbGF0LCBzcmMsIGR0c307XG59XG4iXX0=
@@ -116,4 +116,4 @@
116
116
  });
117
117
  }
118
118
  });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnRfZmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ2NjL3NyYy9wYWNrYWdlcy9lbnRyeV9wb2ludF9maW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gscUNBQXVDO0lBQ3ZDLHVCQUF5QjtJQUd6Qix1RkFBNEQ7SUFHNUQ7UUFDRSwwQkFBb0IsUUFBNEI7WUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFBRyxDQUFDO1FBQ3BEOzs7V0FHRztRQUNILDBDQUFlLEdBQWYsVUFBZ0IsZUFBdUI7WUFDckMsSUFBTSxtQkFBbUIsR0FBRywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0gsdUJBQUM7SUFBRCxDQUFDLEFBVkQsSUFVQztJQVZZLDRDQUFnQjtJQVk3Qjs7OztPQUlHO0lBQ0gsU0FBUywyQkFBMkIsQ0FBQyxlQUF1QjtRQUMxRCxJQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQ3JDLEVBQUUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzNCLGlDQUFpQzthQUNoQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQWxCLENBQWtCLENBQUM7WUFDaEMsc0JBQXNCO2FBQ3JCLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsS0FBSyxjQUFjLEVBQXBCLENBQW9CLENBQUM7WUFDbEMsd0VBQXdFO2FBQ3ZFLE1BQU0sQ0FBQyxVQUFBLENBQUM7WUFDUCxJQUFNLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FB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QUFDLENBQUMsQ0FBQztJQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuaW1wb3J0IHtEZXBlbmRlbmN5UmVzb2x2ZXIsIFNvcnRlZEVudHJ5UG9pbnRzSW5mb30gZnJvbSAnLi9kZXBlbmRlbmN5X3Jlc29sdmVyJztcbmltcG9ydCB7RW50cnlQb2ludCwgZ2V0RW50cnlQb2ludEluZm99IGZyb20gJy4vZW50cnlfcG9pbnQnO1xuXG5cbmV4cG9ydCBjbGFzcyBFbnRyeVBvaW50RmluZGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogRGVwZW5kZW5jeVJlc29sdmVyKSB7fVxuICAvKipcbiAgICogU2VhcmNoIHRoZSBnaXZlbiBkaXJlY3RvcnksIGFuZCBzdWItZGlyZWN0b3JpZXMsIGZvciBBbmd1bGFyIHBhY2thZ2UgZW50cnkgcG9pbnRzLlxuICAgKiBAcGFyYW0gc291cmNlRGlyZWN0b3J5IEFuIGFic29sdXRlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGVudHJ5IHBvaW50cy5cbiAgICovXG4gIGZpbmRFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZyk6IFNvcnRlZEVudHJ5UG9pbnRzSW5mbyB7XG4gICAgY29uc3QgdW5zb3J0ZWRFbnRyeVBvaW50cyA9IHdhbGtEaXJlY3RvcnlGb3JFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3RvcnkpO1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVyLnNvcnRFbnRyeVBvaW50c0J5RGVwZW5kZW5jeSh1bnNvcnRlZEVudHJ5UG9pbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIExvb2sgZm9yIGVudHJ5IHBvaW50cyB0aGF0IG5lZWQgdG8gYmUgY29tcGlsZWQsIHN0YXJ0aW5nIGF0IHRoZSBzb3VyY2UgZGlyZWN0b3J5LlxuICogVGhlIGZ1bmN0aW9uIHdpbGwgcmVjdXJzZSBpbnRvIGRpcmVjdG9yaWVzIHRoYXQgc3RhcnQgd2l0aCBgQC4uLmAsIGUuZy4gYEBhbmd1bGFyLy4uLmAuXG4gKiBAcGFyYW0gc291cmNlRGlyZWN0b3J5IEFuIGFic29sdXRlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHdoZXJlIHNlYXJjaGluZyBiZWdpbnMuXG4gKi9cbmZ1bmN0aW9uIHdhbGtEaXJlY3RvcnlGb3JFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZyk6IEVudHJ5UG9pbnRbXSB7XG4gIGNvbnN0IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W10gPSBbXTtcbiAgZnMucmVhZGRpclN5bmMoc291cmNlRGlyZWN0b3J5KVxuICAgICAgLy8gTm90IGludGVyZXN0ZWQgaW4gaGlkZGVuIGZpbGVzXG4gICAgICAuZmlsdGVyKHAgPT4gIXAuc3RhcnRzV2l0aCgnLicpKVxuICAgICAgLy8gSWdub3JlIG5vZGVfbW9kdWxlc1xuICAgICAgLmZpbHRlcihwID0+IHAgIT09ICdub2RlX21vZHVsZXMnKVxuICAgICAgLy8gT25seSBpbnRlcmVzdGVkIGluIGRpcmVjdG9yaWVzIChhbmQgb25seSB0aG9zZSB0aGF0IGFyZSBub3Qgc3ltbGlua3MpXG4gICAgICAuZmlsdGVyKHAgPT4ge1xuICAgICAgICBjb25zdCBzdGF0ID0gZnMubHN0YXRTeW5jKHBhdGgucmVzb2x2ZShzb3VyY2VEaXJlY3RvcnksIHApKTtcbiAgICAgICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKSAmJiAhc3RhdC5pc1N5bWJvbGljTGluaygpO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAvLyBFaXRoZXIgdGhlIGRpcmVjdG9yeSBpcyBhIHBvdGVudGlhbCBwYWNrYWdlIG9yIGEgbmFtZXNwYWNlIGNvbnRhaW5pbmcgcGFja2FnZXMgKGUuZ1xuICAgICAgICAvLyBgQGFuZ3VsYXJgKS5cbiAgICAgICAgY29uc3QgcGFja2FnZVBhdGggPSBwYXRoLmpvaW4oc291cmNlRGlyZWN0b3J5LCBwKTtcbiAgICAgICAgaWYgKHAuc3RhcnRzV2l0aCgnQCcpKSB7XG4gICAgICAgICAgZW50cnlQb2ludHMucHVzaCguLi53YWxrRGlyZWN0b3J5Rm9yRW50cnlQb2ludHMocGFja2FnZVBhdGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbnRyeVBvaW50cy5wdXNoKC4uLmdldEVudHJ5UG9pbnRzRm9yUGFja2FnZShwYWNrYWdlUGF0aCkpO1xuXG4gICAgICAgICAgLy8gQWxzbyBjaGVjayBmb3IgYW55IG5lc3RlZCBub2RlX21vZHVsZXMgaW4gdGhpcyBwYWNrYWdlXG4gICAgICAgICAgY29uc3QgbmVzdGVkTm9kZU1vZHVsZXNQYXRoID0gcGF0aC5yZXNvbHZlKHBhY2thZ2VQYXRoLCAnbm9kZV9tb2R1bGVzJyk7XG4gICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMobmVzdGVkTm9kZU1vZHVsZXNQYXRoKSkge1xuICAgICAgICAgICAgZW50cnlQb2ludHMucHVzaCguLi53YWxrRGlyZWN0b3J5Rm9yRW50cnlQb2ludHMobmVzdGVkTm9kZU1vZHVsZXNQYXRoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgcmV0dXJuIGVudHJ5UG9pbnRzO1xufVxuXG4vKipcbiAqIFJlY3Vyc2UgdGhlIGZvbGRlciBzdHJ1Y3R1cmUgbG9va2luZyBmb3IgYWxsIHRoZSBlbnRyeSBwb2ludHNcbiAqIEBwYXJhbSBwYWNrYWdlUGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byBhbiBucG0gcGFja2FnZSB0aGF0IG1heSBjb250YWluIGVudHJ5IHBvaW50c1xuICogQHJldHVybnMgQW4gYXJyYXkgb2YgZW50cnkgcG9pbnRzIHRoYXQgd2VyZSBkaXNjb3ZlcmVkLlxuICovXG5mdW5jdGlvbiBnZXRFbnRyeVBvaW50c0ZvclBhY2thZ2UocGFja2FnZVBhdGg6IHN0cmluZyk6IEVudHJ5UG9pbnRbXSB7XG4gIGNvbnN0IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W10gPSBbXTtcblxuICAvLyBUcnkgdG8gZ2V0IGFuIGVudHJ5IHBvaW50IGZyb20gdGhlIHRvcCBsZXZlbCBwYWNrYWdlIGRpcmVjdG9yeVxuICBjb25zdCB0b3BMZXZlbEVudHJ5UG9pbnQgPSBnZXRFbnRyeVBvaW50SW5mbyhwYWNrYWdlUGF0aCwgcGFja2FnZVBhdGgpO1xuICBpZiAodG9wTGV2ZWxFbnRyeVBvaW50ICE9PSBudWxsKSB7XG4gICAgZW50cnlQb2ludHMucHVzaCh0b3BMZXZlbEVudHJ5UG9pbnQpO1xuICB9XG5cbiAgLy8gTm93IHNlYXJjaCBhbGwgdGhlIGRpcmVjdG9yaWVzIG9mIHRoaXMgcGFja2FnZSBmb3IgcG9zc2libGUgZW50cnkgcG9pbnRzXG4gIHdhbGtEaXJlY3RvcnkocGFja2FnZVBhdGgsIHN1YmRpciA9PiB7XG4gICAgY29uc3Qgc3ViRW50cnlQb2ludCA9IGdldEVudHJ5UG9pbnRJbmZvKHBhY2thZ2VQYXRoLCBzdWJkaXIpO1xuICAgIGlmIChzdWJFbnRyeVBvaW50ICE9PSBudWxsKSB7XG4gICAgICBlbnRyeVBvaW50cy5wdXNoKHN1YkVudHJ5UG9pbnQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVudHJ5UG9pbnRzO1xufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHdhbGsgYSBkaXJlY3RvcnkgYW5kIGl0cyBzdWItZGlyZWN0b3JpZXMsIGFwcGx5aW5nIGEgZ2l2ZW5cbiAqIGZ1bmN0aW9uIHRvIGVhY2ggZGlyZWN0b3J5LlxuICogQHBhcmFtIGRpciB0aGUgZGlyZWN0b3J5IHRvIHJlY3Vyc2l2ZWx5IHdhbGsuXG4gKiBAcGFyYW0gZm4gdGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZGlyZWN0b3J5LlxuICovXG5mdW5jdGlvbiB3YWxrRGlyZWN0b3J5KGRpcjogc3RyaW5nLCBmbjogKGRpcjogc3RyaW5nKSA9PiB2b2lkKSB7XG4gIHJldHVybiBmc1xuICAgICAgLnJlYWRkaXJTeW5jKGRpcilcbiAgICAgIC8vIE5vdCBpbnRlcmVzdGVkIGluIGhpZGRlbiBmaWxlc1xuICAgICAgLmZpbHRlcihwID0+ICFwLnN0YXJ0c1dpdGgoJy4nKSlcbiAgICAgIC8vIElnbm9yZSBub2RlX21vZHVsZXNcbiAgICAgIC5maWx0ZXIocCA9PiBwICE9PSAnbm9kZV9tb2R1bGVzJylcbiAgICAgIC8vIE9ubHkgaW50ZXJlc3RlZCBpbiBkaXJlY3RvcmllcyAoYW5kIG9ubHkgdGhvc2UgdGhhdCBhcmUgbm90IHN5bWxpbmtzKVxuICAgICAgLmZpbHRlcihwID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdCA9IGZzLmxzdGF0U3luYyhwYXRoLnJlc29sdmUoZGlyLCBwKSk7XG4gICAgICAgIHJldHVybiBzdGF0LmlzRGlyZWN0b3J5KCkgJiYgIXN0YXQuaXNTeW1ib2xpY0xpbmsoKTtcbiAgICAgIH0pXG4gICAgICAuZm9yRWFjaChzdWJkaXIgPT4ge1xuICAgICAgICBzdWJkaXIgPSBwYXRoLnJlc29sdmUoZGlyLCBzdWJkaXIpO1xuICAgICAgICBmbihzdWJkaXIpO1xuICAgICAgICB3YWxrRGlyZWN0b3J5KHN1YmRpciwgZm4pO1xuICAgICAgfSk7XG59XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlfcG9pbnRfZmluZGVyLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ2NjL3NyYy9wYWNrYWdlcy9lbnRyeV9wb2ludF9maW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQUE7Ozs7OztPQU1HO0lBQ0gscUNBQXVDO0lBQ3ZDLHVCQUF5QjtJQUd6Qix1RkFBNEQ7SUFHNUQ7UUFDRSwwQkFBb0IsUUFBNEI7WUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFBRyxDQUFDO1FBQ3BEOzs7V0FHRztRQUNILDBDQUFlLEdBQWYsVUFBZ0IsZUFBdUI7WUFDckMsSUFBTSxtQkFBbUIsR0FBRywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0gsdUJBQUM7SUFBRCxDQUFDLEFBVkQsSUFVQztJQVZZLDRDQUFnQjtJQVk3Qjs7OztPQUlHO0lBQ0gsU0FBUywyQkFBMkIsQ0FBQyxlQUF1QjtRQUMxRCxJQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1FBQ3JDLEVBQUUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzNCLGlDQUFpQzthQUNoQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQWxCLENBQWtCLENBQUM7WUFDaEMsc0JBQXNCO2FBQ3JCLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsS0FBSyxjQUFjLEVBQXBCLENBQW9CLENBQUM7WUFDbEMsd0VBQXdFO2FBQ3ZFLE1BQU0sQ0FBQyxVQUFBLENBQUM7WUFDUCxJQUFNLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFB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QUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ2Nhbm9uaWNhbC1wYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuaW1wb3J0IHtEZXBlbmRlbmN5UmVzb2x2ZXIsIFNvcnRlZEVudHJ5UG9pbnRzSW5mb30gZnJvbSAnLi9kZXBlbmRlbmN5X3Jlc29sdmVyJztcbmltcG9ydCB7RW50cnlQb2ludCwgZ2V0RW50cnlQb2ludEluZm99IGZyb20gJy4vZW50cnlfcG9pbnQnO1xuXG5cbmV4cG9ydCBjbGFzcyBFbnRyeVBvaW50RmluZGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogRGVwZW5kZW5jeVJlc29sdmVyKSB7fVxuICAvKipcbiAgICogU2VhcmNoIHRoZSBnaXZlbiBkaXJlY3RvcnksIGFuZCBzdWItZGlyZWN0b3JpZXMsIGZvciBBbmd1bGFyIHBhY2thZ2UgZW50cnkgcG9pbnRzLlxuICAgKiBAcGFyYW0gc291cmNlRGlyZWN0b3J5IEFuIGFic29sdXRlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGVudHJ5IHBvaW50cy5cbiAgICovXG4gIGZpbmRFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZyk6IFNvcnRlZEVudHJ5UG9pbnRzSW5mbyB7XG4gICAgY29uc3QgdW5zb3J0ZWRFbnRyeVBvaW50cyA9IHdhbGtEaXJlY3RvcnlGb3JFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3RvcnkpO1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVyLnNvcnRFbnRyeVBvaW50c0J5RGVwZW5kZW5jeSh1bnNvcnRlZEVudHJ5UG9pbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIExvb2sgZm9yIGVudHJ5IHBvaW50cyB0aGF0IG5lZWQgdG8gYmUgY29tcGlsZWQsIHN0YXJ0aW5nIGF0IHRoZSBzb3VyY2UgZGlyZWN0b3J5LlxuICogVGhlIGZ1bmN0aW9uIHdpbGwgcmVjdXJzZSBpbnRvIGRpcmVjdG9yaWVzIHRoYXQgc3RhcnQgd2l0aCBgQC4uLmAsIGUuZy4gYEBhbmd1bGFyLy4uLmAuXG4gKiBAcGFyYW0gc291cmNlRGlyZWN0b3J5IEFuIGFic29sdXRlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IHdoZXJlIHNlYXJjaGluZyBiZWdpbnMuXG4gKi9cbmZ1bmN0aW9uIHdhbGtEaXJlY3RvcnlGb3JFbnRyeVBvaW50cyhzb3VyY2VEaXJlY3Rvcnk6IHN0cmluZyk6IEVudHJ5UG9pbnRbXSB7XG4gIGNvbnN0IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W10gPSBbXTtcbiAgZnMucmVhZGRpclN5bmMoc291cmNlRGlyZWN0b3J5KVxuICAgICAgLy8gTm90IGludGVyZXN0ZWQgaW4gaGlkZGVuIGZpbGVzXG4gICAgICAuZmlsdGVyKHAgPT4gIXAuc3RhcnRzV2l0aCgnLicpKVxuICAgICAgLy8gSWdub3JlIG5vZGVfbW9kdWxlc1xuICAgICAgLmZpbHRlcihwID0+IHAgIT09ICdub2RlX21vZHVsZXMnKVxuICAgICAgLy8gT25seSBpbnRlcmVzdGVkIGluIGRpcmVjdG9yaWVzIChhbmQgb25seSB0aG9zZSB0aGF0IGFyZSBub3Qgc3ltbGlua3MpXG4gICAgICAuZmlsdGVyKHAgPT4ge1xuICAgICAgICBjb25zdCBzdGF0ID0gZnMubHN0YXRTeW5jKHBhdGgucmVzb2x2ZShzb3VyY2VEaXJlY3RvcnksIHApKTtcbiAgICAgICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKSAmJiAhc3RhdC5pc1N5bWJvbGljTGluaygpO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAvLyBFaXRoZXIgdGhlIGRpcmVjdG9yeSBpcyBhIHBvdGVudGlhbCBwYWNrYWdlIG9yIGEgbmFtZXNwYWNlIGNvbnRhaW5pbmcgcGFja2FnZXMgKGUuZ1xuICAgICAgICAvLyBgQGFuZ3VsYXJgKS5cbiAgICAgICAgY29uc3QgcGFja2FnZVBhdGggPSBwYXRoLmpvaW4oc291cmNlRGlyZWN0b3J5LCBwKTtcbiAgICAgICAgaWYgKHAuc3RhcnRzV2l0aCgnQCcpKSB7XG4gICAgICAgICAgZW50cnlQb2ludHMucHVzaCguLi53YWxrRGlyZWN0b3J5Rm9yRW50cnlQb2ludHMocGFja2FnZVBhdGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlbnRyeVBvaW50cy5wdXNoKC4uLmdldEVudHJ5UG9pbnRzRm9yUGFja2FnZShwYWNrYWdlUGF0aCkpO1xuXG4gICAgICAgICAgLy8gQWxzbyBjaGVjayBmb3IgYW55IG5lc3RlZCBub2RlX21vZHVsZXMgaW4gdGhpcyBwYWNrYWdlXG4gICAgICAgICAgY29uc3QgbmVzdGVkTm9kZU1vZHVsZXNQYXRoID0gcGF0aC5yZXNvbHZlKHBhY2thZ2VQYXRoLCAnbm9kZV9tb2R1bGVzJyk7XG4gICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMobmVzdGVkTm9kZU1vZHVsZXNQYXRoKSkge1xuICAgICAgICAgICAgZW50cnlQb2ludHMucHVzaCguLi53YWxrRGlyZWN0b3J5Rm9yRW50cnlQb2ludHMobmVzdGVkTm9kZU1vZHVsZXNQYXRoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgcmV0dXJuIGVudHJ5UG9pbnRzO1xufVxuXG4vKipcbiAqIFJlY3Vyc2UgdGhlIGZvbGRlciBzdHJ1Y3R1cmUgbG9va2luZyBmb3IgYWxsIHRoZSBlbnRyeSBwb2ludHNcbiAqIEBwYXJhbSBwYWNrYWdlUGF0aCBUaGUgYWJzb2x1dGUgcGF0aCB0byBhbiBucG0gcGFja2FnZSB0aGF0IG1heSBjb250YWluIGVudHJ5IHBvaW50c1xuICogQHJldHVybnMgQW4gYXJyYXkgb2YgZW50cnkgcG9pbnRzIHRoYXQgd2VyZSBkaXNjb3ZlcmVkLlxuICovXG5mdW5jdGlvbiBnZXRFbnRyeVBvaW50c0ZvclBhY2thZ2UocGFja2FnZVBhdGg6IHN0cmluZyk6IEVudHJ5UG9pbnRbXSB7XG4gIGNvbnN0IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50W10gPSBbXTtcblxuICAvLyBUcnkgdG8gZ2V0IGFuIGVudHJ5IHBvaW50IGZyb20gdGhlIHRvcCBsZXZlbCBwYWNrYWdlIGRpcmVjdG9yeVxuICBjb25zdCB0b3BMZXZlbEVudHJ5UG9pbnQgPSBnZXRFbnRyeVBvaW50SW5mbyhwYWNrYWdlUGF0aCwgcGFja2FnZVBhdGgpO1xuICBpZiAodG9wTGV2ZWxFbnRyeVBvaW50ICE9PSBudWxsKSB7XG4gICAgZW50cnlQb2ludHMucHVzaCh0b3BMZXZlbEVudHJ5UG9pbnQpO1xuICB9XG5cbiAgLy8gTm93IHNlYXJjaCBhbGwgdGhlIGRpcmVjdG9yaWVzIG9mIHRoaXMgcGFja2FnZSBmb3IgcG9zc2libGUgZW50cnkgcG9pbnRzXG4gIHdhbGtEaXJlY3RvcnkocGFja2FnZVBhdGgsIHN1YmRpciA9PiB7XG4gICAgY29uc3Qgc3ViRW50cnlQb2ludCA9IGdldEVudHJ5UG9pbnRJbmZvKHBhY2thZ2VQYXRoLCBzdWJkaXIpO1xuICAgIGlmIChzdWJFbnRyeVBvaW50ICE9PSBudWxsKSB7XG4gICAgICBlbnRyeVBvaW50cy5wdXNoKHN1YkVudHJ5UG9pbnQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVudHJ5UG9pbnRzO1xufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHdhbGsgYSBkaXJlY3RvcnkgYW5kIGl0cyBzdWItZGlyZWN0b3JpZXMsIGFwcGx5aW5nIGEgZ2l2ZW5cbiAqIGZ1bmN0aW9uIHRvIGVhY2ggZGlyZWN0b3J5LlxuICogQHBhcmFtIGRpciB0aGUgZGlyZWN0b3J5IHRvIHJlY3Vyc2l2ZWx5IHdhbGsuXG4gKiBAcGFyYW0gZm4gdGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggZGlyZWN0b3J5LlxuICovXG5mdW5jdGlvbiB3YWxrRGlyZWN0b3J5KGRpcjogc3RyaW5nLCBmbjogKGRpcjogc3RyaW5nKSA9PiB2b2lkKSB7XG4gIHJldHVybiBmc1xuICAgICAgLnJlYWRkaXJTeW5jKGRpcilcbiAgICAgIC8vIE5vdCBpbnRlcmVzdGVkIGluIGhpZGRlbiBmaWxlc1xuICAgICAgLmZpbHRlcihwID0+ICFwLnN0YXJ0c1dpdGgoJy4nKSlcbiAgICAgIC8vIElnbm9yZSBub2RlX21vZHVsZXNcbiAgICAgIC5maWx0ZXIocCA9PiBwICE9PSAnbm9kZV9tb2R1bGVzJylcbiAgICAgIC8vIE9ubHkgaW50ZXJlc3RlZCBpbiBkaXJlY3RvcmllcyAoYW5kIG9ubHkgdGhvc2UgdGhhdCBhcmUgbm90IHN5bWxpbmtzKVxuICAgICAgLmZpbHRlcihwID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdCA9IGZzLmxzdGF0U3luYyhwYXRoLnJlc29sdmUoZGlyLCBwKSk7XG4gICAgICAgIHJldHVybiBzdGF0LmlzRGlyZWN0b3J5KCkgJiYgIXN0YXQuaXNTeW1ib2xpY0xpbmsoKTtcbiAgICAgIH0pXG4gICAgICAuZm9yRWFjaChzdWJkaXIgPT4ge1xuICAgICAgICBzdWJkaXIgPSBwYXRoLnJlc29sdmUoZGlyLCBzdWJkaXIpO1xuICAgICAgICBmbihzdWJkaXIpO1xuICAgICAgICB3YWxrRGlyZWN0b3J5KHN1YmRpciwgZm4pO1xuICAgICAgfSk7XG59XG4iXX0=
@@ -1,9 +1,13 @@
1
1
  /// <amd-module name="@angular/compiler-cli/src/ngcc/src/packages/transformer" />
2
2
  import * as ts from 'typescript';
3
+ import { CompiledFile } from '../analysis/decoration_analyzer';
4
+ import { ModuleWithProvidersAnalyses } from '../analysis/module_with_providers_analyzer';
5
+ import { ExportInfo } from '../analysis/private_declarations_analyzer';
6
+ import { SwitchMarkerAnalyses } from '../analysis/switch_marker_analyzer';
3
7
  import { NgccReflectionHost } from '../host/ngcc_host';
4
8
  import { FileInfo, Renderer } from '../rendering/renderer';
5
- import { BundleInfo } from './bundle';
6
- import { EntryPoint, EntryPointFormat } from './entry_point';
9
+ import { EntryPoint } from './entry_point';
10
+ import { EntryPointBundle } from './entry_point_bundle';
7
11
  /**
8
12
  * A Package is stored in a directory on disk and that directory can contain one or more package
9
13
  * formats - e.g. fesm2015, UMD, etc. Additionally, each package provides typings (`.d.ts` files).
@@ -12,9 +16,11 @@ import { EntryPoint, EntryPointFormat } from './entry_point';
12
16
  * parsed to identify the decorated exported classes that need to be analyzed and compiled by one or
13
17
  * more `DecoratorHandler` objects.
14
18
  *
15
- * Each entry point to a package is identified by a `SourceFile` that can be parsed and analyzed to
19
+ * Each entry point to a package is identified by a `package.json` which contains properties that
20
+ * indicate what formatted bundles are accessible via this end-point.
21
+ *
22
+ * Each bundle is identified by a root `SourceFile` that can be parsed and analyzed to
16
23
  * identify classes that need to be transformed; and then finally rendered and written to disk.
17
- * The actual file which needs to be transformed depends upon the package format.
18
24
  *
19
25
  * Along with the source files, the corresponding source maps (either inline or external) and
20
26
  * `.d.ts` files are transformed accordingly.
@@ -27,14 +33,20 @@ export declare class Transformer {
27
33
  private sourcePath;
28
34
  private targetPath;
29
35
  constructor(sourcePath: string, targetPath: string);
30
- transform(entryPoint: EntryPoint, format: EntryPointFormat, transformDts: boolean): void;
31
- getRootDirs(host: ts.CompilerHost, options: ts.CompilerOptions): string[];
32
- getHost(isCore: boolean, format: string, program: ts.Program, dtsFilePath: string, dtsProgram: ts.Program | null): NgccReflectionHost;
33
- getRenderer(format: string, program: ts.Program, host: NgccReflectionHost, bundle: BundleInfo, transformDts: boolean): Renderer;
34
- analyzeProgram(program: ts.Program, reflectionHost: NgccReflectionHost, rootDirs: string[], isCore: boolean): {
35
- decorationAnalyses: Map<ts.SourceFile, import("@angular/compiler-cli/src/ngcc/src/analysis/decoration_analyzer").CompiledFile>;
36
- switchMarkerAnalyses: Map<ts.SourceFile, import("@angular/compiler-cli/src/ngcc/src/analysis/switch_marker_analyzer").SwitchMarkerAnalysis>;
37
- };
36
+ /**
37
+ * Transform the source (and typings) files of a bundle.
38
+ * @param bundle the bundle to transform.
39
+ */
40
+ transform(entryPoint: EntryPoint, isCore: boolean, bundle: EntryPointBundle): void;
41
+ getHost(isCore: boolean, bundle: EntryPointBundle): NgccReflectionHost;
42
+ getRenderer(host: NgccReflectionHost, isCore: boolean, bundle: EntryPointBundle): Renderer;
43
+ analyzeProgram(reflectionHost: NgccReflectionHost, isCore: boolean, bundle: EntryPointBundle): ProgramAnalyses;
38
44
  writeFile(file: FileInfo): void;
39
- findR3SymbolsPath(directory: string, fileName: string): string | null;
40
45
  }
46
+ interface ProgramAnalyses {
47
+ decorationAnalyses: Map<ts.SourceFile, CompiledFile>;
48
+ switchMarkerAnalyses: SwitchMarkerAnalyses;
49
+ privateDeclarationsAnalyses: ExportInfo[];
50
+ moduleWithProvidersAnalyses: ModuleWithProvidersAnalyses | null;
51
+ }
52
+ export {};