@angular/compiler-cli 13.0.0-next.9 → 13.0.0-rc.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 (596) hide show
  1. package/bundles/index.js +20413 -0
  2. package/bundles/index.js.map +6 -0
  3. package/bundles/linker/babel/index.js +2384 -0
  4. package/bundles/linker/babel/index.js.map +6 -0
  5. package/bundles/linker/index.js +1849 -0
  6. package/bundles/linker/index.js.map +6 -0
  7. package/bundles/ngcc/index.js +16038 -0
  8. package/bundles/ngcc/index.js.map +6 -0
  9. package/bundles/ngcc/main-ngcc.js +16126 -0
  10. package/bundles/ngcc/main-ngcc.js.map +6 -0
  11. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13850 -0
  12. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +6 -0
  13. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +334 -0
  14. package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js.map +6 -0
  15. package/bundles/private/bazel.js +97 -0
  16. package/bundles/private/bazel.js.map +6 -0
  17. package/bundles/private/localize.js +911 -0
  18. package/bundles/private/localize.js.map +6 -0
  19. package/bundles/private/migrations.js +2183 -0
  20. package/bundles/private/migrations.js.map +6 -0
  21. package/bundles/private/tooling.js +942 -0
  22. package/bundles/private/tooling.js.map +6 -0
  23. package/bundles/src/bin/ng_xi18n.js +20463 -0
  24. package/bundles/src/bin/ng_xi18n.js.map +6 -0
  25. package/bundles/src/bin/ngc.js +20465 -0
  26. package/bundles/src/bin/ngc.js.map +6 -0
  27. package/bundles_metadata.json +1 -0
  28. package/import_meta_url.d.ts +14 -0
  29. package/index.d.ts +4 -1
  30. package/linker/babel/src/ast/babel_ast_factory.d.ts +1 -8
  31. package/linker/babel/src/ast/babel_ast_host.d.ts +1 -1
  32. package/linker/babel/src/babel_core.d.ts +36 -0
  33. package/linker/babel/src/babel_declaration_scope.d.ts +1 -1
  34. package/linker/babel/src/babel_plugin.d.ts +1 -8
  35. package/linker/babel/src/es2015_linker_plugin.d.ts +2 -2
  36. package/linker/src/ast/typescript/typescript_ast_host.d.ts +1 -1
  37. package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +1 -2
  38. package/linker/src/file_linker/emit_scopes/iife_emit_scope.d.ts +1 -1
  39. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.d.ts +1 -2
  40. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -2
  41. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.d.ts +1 -2
  42. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.d.ts +1 -2
  43. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.d.ts +1 -2
  44. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.d.ts +1 -2
  45. package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +1 -2
  46. package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +2 -2
  47. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.d.ts +1 -2
  48. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +1 -2
  49. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -2
  50. package/ngcc/index.d.ts +15 -0
  51. package/ngcc/src/analysis/decoration_analyzer.d.ts +1 -1
  52. package/ngcc/src/analysis/module_with_providers_analyzer.d.ts +1 -1
  53. package/ngcc/src/analysis/ngcc_references_registry.d.ts +1 -1
  54. package/ngcc/src/analysis/ngcc_trait_compiler.d.ts +1 -1
  55. package/ngcc/src/analysis/private_declarations_analyzer.d.ts +1 -1
  56. package/ngcc/src/analysis/switch_marker_analyzer.d.ts +1 -1
  57. package/ngcc/src/analysis/types.d.ts +1 -1
  58. package/ngcc/src/dependencies/esm_dependency_host.d.ts +1 -1
  59. package/ngcc/src/execution/cluster/api.d.ts +5 -1
  60. package/ngcc/src/execution/cluster/master.d.ts +5 -3
  61. package/{src/ngtsc/logging/testing/index.d.ts → ngcc/src/execution/cluster/ngcc_cluster_worker.d.ts} +2 -2
  62. package/ngcc/src/host/commonjs_host.d.ts +1 -1
  63. package/ngcc/src/host/commonjs_umd_utils.d.ts +1 -1
  64. package/ngcc/src/host/delegating_host.d.ts +1 -1
  65. package/ngcc/src/host/esm2015_host.d.ts +1 -1
  66. package/ngcc/src/host/esm5_host.d.ts +1 -1
  67. package/ngcc/src/host/ngcc_host.d.ts +1 -1
  68. package/ngcc/src/host/umd_host.d.ts +1 -1
  69. package/ngcc/src/host/utils.d.ts +1 -1
  70. package/ngcc/src/locking/lock_file.d.ts +1 -1
  71. package/ngcc/src/locking/lock_file_with_child_process/index.d.ts +2 -0
  72. package/ngcc/src/locking/lock_file_with_child_process/{unlocker.d.ts → ngcc_lock_unlocker.d.ts} +1 -1
  73. package/ngcc/src/migrations/migration.d.ts +1 -1
  74. package/ngcc/src/migrations/missing_injectable_migration.d.ts +1 -1
  75. package/ngcc/src/migrations/undecorated_child_migration.d.ts +1 -1
  76. package/ngcc/src/migrations/undecorated_parent_migration.d.ts +1 -1
  77. package/ngcc/src/migrations/utils.d.ts +1 -1
  78. package/ngcc/src/packages/build_marker.d.ts +1 -1
  79. package/ngcc/src/packages/bundle_program.d.ts +1 -1
  80. package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
  81. package/ngcc/src/packages/ngcc_compiler_host.d.ts +1 -1
  82. package/ngcc/src/packages/source_file_cache.d.ts +1 -1
  83. package/ngcc/src/packages/transformer.d.ts +1 -1
  84. package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
  85. package/ngcc/src/rendering/dts_renderer.d.ts +1 -1
  86. package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +1 -1
  87. package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
  88. package/ngcc/src/rendering/renderer.d.ts +1 -1
  89. package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
  90. package/ngcc/src/rendering/source_maps.d.ts +3 -3
  91. package/ngcc/src/rendering/umd_rendering_formatter.d.ts +1 -1
  92. package/ngcc/src/rendering/utils.d.ts +1 -1
  93. package/ngcc/src/utils.d.ts +1 -1
  94. package/package.json +52 -13
  95. package/private/bazel.d.ts +13 -0
  96. package/private/localize.d.ts +15 -0
  97. package/private/migrations.d.ts +16 -0
  98. package/{src → private}/tooling.d.ts +2 -2
  99. package/src/bin/ng_xi18n.d.ts +10 -0
  100. package/{ngcc/main-ivy-ngcc.d.ts → src/bin/ngc.d.ts} +2 -1
  101. package/src/diagnostics/translate_diagnostics.d.ts +1 -1
  102. package/src/extract_i18n.d.ts +0 -5
  103. package/src/main.d.ts +9 -6
  104. package/src/metadata/bundle_index_host.d.ts +1 -1
  105. package/src/metadata/bundler.d.ts +1 -1
  106. package/src/metadata/collector.d.ts +1 -1
  107. package/src/metadata/evaluator.d.ts +1 -1
  108. package/src/metadata/symbols.d.ts +1 -1
  109. package/src/ngtsc/annotations/src/component.d.ts +1 -1
  110. package/src/ngtsc/annotations/src/diagnostics.d.ts +1 -1
  111. package/src/ngtsc/annotations/src/directive.d.ts +1 -1
  112. package/src/ngtsc/annotations/src/ng_module.d.ts +2 -3
  113. package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
  114. package/src/ngtsc/annotations/src/util.d.ts +2 -4
  115. package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
  116. package/src/ngtsc/core/api/src/interfaces.d.ts +1 -1
  117. package/src/ngtsc/core/api/src/options.d.ts +1 -1
  118. package/src/ngtsc/core/api/src/public_options.d.ts +5 -1
  119. package/src/ngtsc/core/src/compiler.d.ts +1 -1
  120. package/src/ngtsc/core/src/host.d.ts +1 -1
  121. package/src/ngtsc/cycles/src/analyzer.d.ts +1 -1
  122. package/src/ngtsc/cycles/src/imports.d.ts +1 -1
  123. package/src/ngtsc/diagnostics/index.d.ts +4 -2
  124. package/src/ngtsc/diagnostics/src/docs.d.ts +14 -0
  125. package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
  126. package/src/ngtsc/diagnostics/src/error_details_base_url.d.ts +16 -0
  127. package/src/ngtsc/diagnostics/src/util.d.ts +2 -0
  128. package/src/ngtsc/entry_point/src/generator.d.ts +1 -1
  129. package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
  130. package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
  131. package/src/ngtsc/file_system/src/logical.d.ts +1 -1
  132. package/src/ngtsc/file_system/src/util.d.ts +1 -1
  133. package/src/ngtsc/imports/src/alias.d.ts +1 -1
  134. package/src/ngtsc/imports/src/default.d.ts +1 -1
  135. package/src/ngtsc/imports/src/emitter.d.ts +1 -1
  136. package/src/ngtsc/imports/src/find_export.d.ts +1 -1
  137. package/src/ngtsc/imports/src/references.d.ts +1 -1
  138. package/src/ngtsc/imports/src/resolver.d.ts +1 -1
  139. package/src/ngtsc/incremental/api.d.ts +1 -1
  140. package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
  141. package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
  142. package/src/ngtsc/incremental/src/state.d.ts +1 -1
  143. package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
  144. package/src/ngtsc/metadata/src/api.d.ts +1 -1
  145. package/src/ngtsc/metadata/src/dts.d.ts +1 -1
  146. package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
  147. package/src/ngtsc/metadata/src/util.d.ts +1 -1
  148. package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
  149. package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
  150. package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
  151. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
  152. package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
  153. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
  154. package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
  155. package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
  156. package/src/ngtsc/program.d.ts +1 -1
  157. package/src/ngtsc/program_driver/src/api.d.ts +1 -1
  158. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
  159. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  160. package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
  161. package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
  162. package/src/ngtsc/reflection/src/util.d.ts +1 -1
  163. package/src/ngtsc/resource/src/loader.d.ts +1 -1
  164. package/src/ngtsc/scope/src/local.d.ts +1 -1
  165. package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
  166. package/src/ngtsc/shims/api.d.ts +1 -1
  167. package/src/ngtsc/shims/src/adapter.d.ts +1 -1
  168. package/src/ngtsc/shims/src/expando.d.ts +1 -1
  169. package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
  170. package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
  171. package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
  172. package/src/ngtsc/switch/src/switch.d.ts +1 -1
  173. package/src/ngtsc/transform/src/alias.d.ts +1 -1
  174. package/src/ngtsc/transform/src/api.d.ts +1 -1
  175. package/src/ngtsc/transform/src/compilation.d.ts +1 -1
  176. package/src/ngtsc/transform/src/declaration.d.ts +1 -1
  177. package/src/ngtsc/transform/src/trait.d.ts +1 -1
  178. package/src/ngtsc/transform/src/transform.d.ts +1 -1
  179. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  180. package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
  181. package/src/ngtsc/translator/src/type_translator.d.ts +1 -1
  182. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
  183. package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
  184. package/src/ngtsc/tsc_plugin.d.ts +1 -1
  185. package/src/ngtsc/typecheck/api/api.d.ts +1 -1
  186. package/src/ngtsc/typecheck/api/checker.d.ts +3 -4
  187. package/src/ngtsc/typecheck/api/context.d.ts +1 -1
  188. package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
  189. package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
  190. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
  191. package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
  192. package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
  193. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
  194. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
  195. package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
  196. package/src/ngtsc/typecheck/src/checker.d.ts +3 -4
  197. package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
  198. package/src/ngtsc/typecheck/src/completion.d.ts +3 -5
  199. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  200. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
  201. package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
  202. package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
  203. package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
  204. package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
  205. package/src/ngtsc/typecheck/src/source.d.ts +1 -1
  206. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  207. package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
  208. package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
  209. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  210. package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
  211. package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
  212. package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
  213. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
  214. package/src/ngtsc/util/src/typescript.d.ts +1 -1
  215. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  216. package/src/perform_compile.d.ts +1 -2
  217. package/src/perform_watch.d.ts +1 -1
  218. package/src/transformers/api.d.ts +1 -1
  219. package/src/transformers/compiler_host.d.ts +1 -1
  220. package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
  221. package/src/transformers/downlevel_decorators_transform/index.d.ts +9 -0
  222. package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
  223. package/src/transformers/i18n.d.ts +1 -1
  224. package/src/transformers/inline_resources.d.ts +1 -1
  225. package/src/transformers/lower_expressions.d.ts +1 -1
  226. package/src/transformers/metadata_cache.d.ts +1 -1
  227. package/src/transformers/node_emitter.d.ts +1 -1
  228. package/src/transformers/node_emitter_transform.d.ts +1 -1
  229. package/src/transformers/program.d.ts +1 -1
  230. package/src/transformers/r3_metadata_transform.d.ts +1 -1
  231. package/src/transformers/r3_transform.d.ts +1 -1
  232. package/src/transformers/util.d.ts +1 -1
  233. package/index.js +0 -40
  234. package/linker/babel/index.js +0 -25
  235. package/linker/babel/src/ast/babel_ast_factory.js +0 -153
  236. package/linker/babel/src/ast/babel_ast_host.js +0 -181
  237. package/linker/babel/src/babel_declaration_scope.js +0 -67
  238. package/linker/babel/src/babel_plugin.js +0 -38
  239. package/linker/babel/src/es2015_linker_plugin.js +0 -183
  240. package/linker/babel/src/linker_plugin_options.js +0 -13
  241. package/linker/index.js +0 -27
  242. package/linker/src/ast/ast_host.js +0 -20
  243. package/linker/src/ast/ast_value.js +0 -299
  244. package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
  245. package/linker/src/ast/utils.js +0 -31
  246. package/linker/src/fatal_linker_error.js +0 -49
  247. package/linker/src/file_linker/declaration_scope.js +0 -20
  248. package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
  249. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
  250. package/linker/src/file_linker/file_linker.js +0 -97
  251. package/linker/src/file_linker/get_source_file.js +0 -42
  252. package/linker/src/file_linker/linker_environment.js +0 -38
  253. package/linker/src/file_linker/linker_options.js +0 -29
  254. package/linker/src/file_linker/needs_linking.js +0 -41
  255. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
  256. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
  257. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
  258. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
  259. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
  260. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
  261. package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
  262. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
  263. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
  264. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
  265. package/linker/src/file_linker/partial_linkers/util.js +0 -95
  266. package/linker/src/file_linker/translator.js +0 -40
  267. package/linker/src/linker_import_generator.js +0 -43
  268. package/ngcc/index.js +0 -33
  269. package/ngcc/main-ivy-ngcc.js +0 -12
  270. package/ngcc/main-ngcc.js +0 -54
  271. package/ngcc/src/analysis/decoration_analyzer.js +0 -268
  272. package/ngcc/src/analysis/migration_host.js +0 -108
  273. package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
  274. package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
  275. package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
  276. package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
  277. package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
  278. package/ngcc/src/analysis/types.js +0 -15
  279. package/ngcc/src/analysis/util.js +0 -36
  280. package/ngcc/src/command_line_options.js +0 -156
  281. package/ngcc/src/constants.js +0 -23
  282. package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
  283. package/ngcc/src/dependencies/dependency_host.js +0 -143
  284. package/ngcc/src/dependencies/dependency_resolver.js +0 -180
  285. package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
  286. package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
  287. package/ngcc/src/dependencies/module_resolver.js +0 -269
  288. package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
  289. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
  290. package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
  291. package/ngcc/src/entry_point_finder/interface.js +0 -13
  292. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
  293. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
  294. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
  295. package/ngcc/src/entry_point_finder/utils.js +0 -234
  296. package/ngcc/src/execution/analyze_entry_points.js +0 -197
  297. package/ngcc/src/execution/api.js +0 -13
  298. package/ngcc/src/execution/cluster/api.js +0 -20
  299. package/ngcc/src/execution/cluster/executor.js +0 -52
  300. package/ngcc/src/execution/cluster/master.js +0 -311
  301. package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
  302. package/ngcc/src/execution/cluster/utils.js +0 -77
  303. package/ngcc/src/execution/cluster/worker.js +0 -123
  304. package/ngcc/src/execution/create_compile_function.js +0 -76
  305. package/ngcc/src/execution/single_process_executor.js +0 -91
  306. package/ngcc/src/execution/tasks/api.js +0 -35
  307. package/ngcc/src/execution/tasks/completion.js +0 -79
  308. package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
  309. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
  310. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
  311. package/ngcc/src/execution/tasks/utils.js +0 -167
  312. package/ngcc/src/host/commonjs_host.js +0 -261
  313. package/ngcc/src/host/commonjs_umd_utils.js +0 -210
  314. package/ngcc/src/host/delegating_host.js +0 -156
  315. package/ngcc/src/host/esm2015_host.js +0 -2441
  316. package/ngcc/src/host/esm5_host.js +0 -745
  317. package/ngcc/src/host/ngcc_host.js +0 -29
  318. package/ngcc/src/host/umd_host.js +0 -539
  319. package/ngcc/src/host/utils.js +0 -26
  320. package/ngcc/src/locking/async_locker.js +0 -121
  321. package/ngcc/src/locking/lock_file.js +0 -18
  322. package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
  323. package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
  324. package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
  325. package/ngcc/src/locking/sync_locker.js +0 -67
  326. package/ngcc/src/main.js +0 -163
  327. package/ngcc/src/migrations/migration.js +0 -13
  328. package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
  329. package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
  330. package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
  331. package/ngcc/src/migrations/utils.js +0 -137
  332. package/ngcc/src/ngcc_options.js +0 -135
  333. package/ngcc/src/packages/build_marker.js +0 -124
  334. package/ngcc/src/packages/bundle_program.js +0 -80
  335. package/ngcc/src/packages/configuration.js +0 -334
  336. package/ngcc/src/packages/entry_point.js +0 -267
  337. package/ngcc/src/packages/entry_point_bundle.js +0 -96
  338. package/ngcc/src/packages/entry_point_manifest.js +0 -207
  339. package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
  340. package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
  341. package/ngcc/src/packages/source_file_cache.js +0 -207
  342. package/ngcc/src/packages/transformer.js +0 -157
  343. package/ngcc/src/path_mappings.js +0 -27
  344. package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
  345. package/ngcc/src/rendering/dts_renderer.js +0 -170
  346. package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
  347. package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
  348. package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
  349. package/ngcc/src/rendering/renderer.js +0 -204
  350. package/ngcc/src/rendering/rendering_formatter.js +0 -15
  351. package/ngcc/src/rendering/source_maps.js +0 -68
  352. package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
  353. package/ngcc/src/rendering/utils.js +0 -35
  354. package/ngcc/src/utils.js +0 -182
  355. package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
  356. package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
  357. package/ngcc/src/writing/cleaning/utils.js +0 -30
  358. package/ngcc/src/writing/file_writer.js +0 -13
  359. package/ngcc/src/writing/in_place_file_writer.js +0 -90
  360. package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
  361. package/ngcc/src/writing/package_json_updater.js +0 -182
  362. package/src/diagnostics/translate_diagnostics.js +0 -61
  363. package/src/diagnostics/typescript_version.js +0 -96
  364. package/src/extract_i18n.js +0 -62
  365. package/src/language_services.js +0 -34
  366. package/src/main.js +0 -210
  367. package/src/metadata/bundle_index_host.js +0 -133
  368. package/src/metadata/bundler.js +0 -624
  369. package/src/metadata/collector.js +0 -799
  370. package/src/metadata/evaluator.js +0 -677
  371. package/src/metadata/index.js +0 -24
  372. package/src/metadata/index_writer.js +0 -80
  373. package/src/metadata/schema.js +0 -136
  374. package/src/metadata/symbols.js +0 -149
  375. package/src/ngtsc/annotations/index.js +0 -35
  376. package/src/ngtsc/annotations/src/api.js +0 -20
  377. package/src/ngtsc/annotations/src/component.js +0 -1338
  378. package/src/ngtsc/annotations/src/diagnostics.js +0 -174
  379. package/src/ngtsc/annotations/src/directive.js +0 -724
  380. package/src/ngtsc/annotations/src/factory.js +0 -32
  381. package/src/ngtsc/annotations/src/injectable.js +0 -284
  382. package/src/ngtsc/annotations/src/metadata.js +0 -160
  383. package/src/ngtsc/annotations/src/ng_module.js +0 -671
  384. package/src/ngtsc/annotations/src/pipe.js +0 -171
  385. package/src/ngtsc/annotations/src/references_registry.js +0 -38
  386. package/src/ngtsc/annotations/src/util.js +0 -566
  387. package/src/ngtsc/core/api/index.js +0 -25
  388. package/src/ngtsc/core/api/src/adapter.js +0 -20
  389. package/src/ngtsc/core/api/src/interfaces.js +0 -20
  390. package/src/ngtsc/core/api/src/options.js +0 -20
  391. package/src/ngtsc/core/api/src/public_options.js +0 -20
  392. package/src/ngtsc/core/index.js +0 -25
  393. package/src/ngtsc/core/src/compiler.js +0 -1105
  394. package/src/ngtsc/core/src/host.js +0 -273
  395. package/src/ngtsc/cycles/index.js +0 -26
  396. package/src/ngtsc/cycles/src/analyzer.js +0 -163
  397. package/src/ngtsc/cycles/src/imports.js +0 -175
  398. package/src/ngtsc/diagnostics/index.js +0 -33
  399. package/src/ngtsc/diagnostics/src/error.js +0 -69
  400. package/src/ngtsc/diagnostics/src/error_code.js +0 -235
  401. package/src/ngtsc/diagnostics/src/util.js +0 -35
  402. package/src/ngtsc/entry_point/index.js +0 -29
  403. package/src/ngtsc/entry_point/src/generator.js +0 -45
  404. package/src/ngtsc/entry_point/src/logic.js +0 -61
  405. package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
  406. package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
  407. package/src/ngtsc/file_system/index.js +0 -45
  408. package/src/ngtsc/file_system/src/compiler_host.js +0 -80
  409. package/src/ngtsc/file_system/src/helpers.js +0 -135
  410. package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
  411. package/src/ngtsc/file_system/src/logical.js +0 -100
  412. package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
  413. package/src/ngtsc/file_system/src/types.js +0 -20
  414. package/src/ngtsc/file_system/src/util.js +0 -38
  415. package/src/ngtsc/file_system/testing/index.d.ts +0 -13
  416. package/src/ngtsc/file_system/testing/index.js +0 -32
  417. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
  418. package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
  419. package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
  420. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
  421. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
  422. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
  423. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
  424. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
  425. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
  426. package/src/ngtsc/file_system/testing/src/test_helper.js +0 -143
  427. package/src/ngtsc/imports/index.js +0 -43
  428. package/src/ngtsc/imports/src/alias.js +0 -158
  429. package/src/ngtsc/imports/src/core.js +0 -98
  430. package/src/ngtsc/imports/src/default.js +0 -153
  431. package/src/ngtsc/imports/src/emitter.js +0 -317
  432. package/src/ngtsc/imports/src/find_export.js +0 -82
  433. package/src/ngtsc/imports/src/reexport.js +0 -20
  434. package/src/ngtsc/imports/src/references.js +0 -171
  435. package/src/ngtsc/imports/src/resolver.js +0 -39
  436. package/src/ngtsc/incremental/api.js +0 -20
  437. package/src/ngtsc/incremental/index.js +0 -29
  438. package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
  439. package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
  440. package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
  441. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
  442. package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
  443. package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
  444. package/src/ngtsc/incremental/src/incremental.js +0 -393
  445. package/src/ngtsc/incremental/src/noop.js +0 -26
  446. package/src/ngtsc/incremental/src/state.js +0 -30
  447. package/src/ngtsc/incremental/src/strategy.js +0 -99
  448. package/src/ngtsc/indexer/index.js +0 -27
  449. package/src/ngtsc/indexer/src/api.js +0 -45
  450. package/src/ngtsc/indexer/src/context.js +0 -40
  451. package/src/ngtsc/indexer/src/template.js +0 -324
  452. package/src/ngtsc/indexer/src/transform.js +0 -66
  453. package/src/ngtsc/logging/index.js +0 -25
  454. package/src/ngtsc/logging/src/console_logger.js +0 -75
  455. package/src/ngtsc/logging/src/logger.js +0 -28
  456. package/src/ngtsc/logging/testing/index.js +0 -23
  457. package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
  458. package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
  459. package/src/ngtsc/metadata/index.js +0 -39
  460. package/src/ngtsc/metadata/src/api.js +0 -26
  461. package/src/ngtsc/metadata/src/dts.js +0 -168
  462. package/src/ngtsc/metadata/src/inheritance.js +0 -122
  463. package/src/ngtsc/metadata/src/property_mapping.js +0 -244
  464. package/src/ngtsc/metadata/src/registry.js +0 -133
  465. package/src/ngtsc/metadata/src/resource_registry.js +0 -109
  466. package/src/ngtsc/metadata/src/util.js +0 -275
  467. package/src/ngtsc/partial_evaluator/index.js +0 -31
  468. package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
  469. package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
  470. package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
  471. package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
  472. package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
  473. package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
  474. package/src/ngtsc/partial_evaluator/src/result.js +0 -72
  475. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
  476. package/src/ngtsc/perf/index.js +0 -28
  477. package/src/ngtsc/perf/src/api.js +0 -291
  478. package/src/ngtsc/perf/src/clock.js +0 -31
  479. package/src/ngtsc/perf/src/noop.js +0 -37
  480. package/src/ngtsc/perf/src/recorder.js +0 -143
  481. package/src/ngtsc/program.js +0 -360
  482. package/src/ngtsc/program_driver/index.js +0 -25
  483. package/src/ngtsc/program_driver/src/api.js +0 -36
  484. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
  485. package/src/ngtsc/reflection/index.js +0 -36
  486. package/src/ngtsc/reflection/src/host.js +0 -88
  487. package/src/ngtsc/reflection/src/type_to_value.js +0 -259
  488. package/src/ngtsc/reflection/src/typescript.js +0 -640
  489. package/src/ngtsc/reflection/src/util.js +0 -37
  490. package/src/ngtsc/resource/index.js +0 -23
  491. package/src/ngtsc/resource/src/loader.js +0 -285
  492. package/src/ngtsc/scope/index.js +0 -29
  493. package/src/ngtsc/scope/src/api.js +0 -20
  494. package/src/ngtsc/scope/src/component_scope.js +0 -69
  495. package/src/ngtsc/scope/src/dependency.js +0 -201
  496. package/src/ngtsc/scope/src/local.js +0 -665
  497. package/src/ngtsc/scope/src/typecheck.js +0 -120
  498. package/src/ngtsc/shims/api.js +0 -13
  499. package/src/ngtsc/shims/index.js +0 -39
  500. package/src/ngtsc/shims/src/adapter.js +0 -266
  501. package/src/ngtsc/shims/src/expando.js +0 -147
  502. package/src/ngtsc/shims/src/factory_generator.js +0 -292
  503. package/src/ngtsc/shims/src/reference_tagger.js +0 -94
  504. package/src/ngtsc/shims/src/summary_generator.js +0 -101
  505. package/src/ngtsc/shims/src/util.js +0 -41
  506. package/src/ngtsc/sourcemaps/index.js +0 -27
  507. package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
  508. package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
  509. package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
  510. package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
  511. package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
  512. package/src/ngtsc/switch/index.js +0 -23
  513. package/src/ngtsc/switch/src/switch.js +0 -141
  514. package/src/ngtsc/transform/index.js +0 -36
  515. package/src/ngtsc/transform/src/alias.js +0 -46
  516. package/src/ngtsc/transform/src/api.js +0 -76
  517. package/src/ngtsc/transform/src/compilation.js +0 -862
  518. package/src/ngtsc/transform/src/declaration.js +0 -234
  519. package/src/ngtsc/transform/src/trait.js +0 -111
  520. package/src/ngtsc/transform/src/transform.js +0 -333
  521. package/src/ngtsc/transform/src/utils.js +0 -73
  522. package/src/ngtsc/translator/index.js +0 -37
  523. package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
  524. package/src/ngtsc/translator/src/api/import_generator.js +0 -20
  525. package/src/ngtsc/translator/src/context.js +0 -47
  526. package/src/ngtsc/translator/src/import_manager.js +0 -77
  527. package/src/ngtsc/translator/src/translator.js +0 -347
  528. package/src/ngtsc/translator/src/type_translator.js +0 -220
  529. package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
  530. package/src/ngtsc/translator/src/typescript_translator.js +0 -34
  531. package/src/ngtsc/tsc_plugin.js +0 -129
  532. package/src/ngtsc/typecheck/api/api.js +0 -20
  533. package/src/ngtsc/typecheck/api/checker.js +0 -44
  534. package/src/ngtsc/typecheck/api/completion.js +0 -29
  535. package/src/ngtsc/typecheck/api/context.js +0 -20
  536. package/src/ngtsc/typecheck/api/index.js +0 -27
  537. package/src/ngtsc/typecheck/api/scope.js +0 -20
  538. package/src/ngtsc/typecheck/api/symbols.js +0 -35
  539. package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
  540. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
  541. package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
  542. package/src/ngtsc/typecheck/extended/api/api.js +0 -124
  543. package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
  544. package/src/ngtsc/typecheck/extended/api/index.js +0 -23
  545. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
  546. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
  547. package/src/ngtsc/typecheck/extended/index.js +0 -23
  548. package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
  549. package/src/ngtsc/typecheck/index.js +0 -29
  550. package/src/ngtsc/typecheck/src/checker.js +0 -767
  551. package/src/ngtsc/typecheck/src/comments.js +0 -181
  552. package/src/ngtsc/typecheck/src/completion.js +0 -230
  553. package/src/ngtsc/typecheck/src/context.js +0 -424
  554. package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
  555. package/src/ngtsc/typecheck/src/dom.js +0 -87
  556. package/src/ngtsc/typecheck/src/environment.js +0 -160
  557. package/src/ngtsc/typecheck/src/expression.js +0 -417
  558. package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
  559. package/src/ngtsc/typecheck/src/oob.js +0 -181
  560. package/src/ngtsc/typecheck/src/shim.js +0 -52
  561. package/src/ngtsc/typecheck/src/source.js +0 -91
  562. package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
  563. package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
  564. package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -551
  565. package/src/ngtsc/typecheck/src/ts_util.js +0 -202
  566. package/src/ngtsc/typecheck/src/type_check_block.js +0 -2212
  567. package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
  568. package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
  569. package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
  570. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
  571. package/src/ngtsc/util/src/path.js +0 -33
  572. package/src/ngtsc/util/src/typescript.js +0 -176
  573. package/src/ngtsc/util/src/visitor.js +0 -119
  574. package/src/ngtsc/xi18n/index.js +0 -22
  575. package/src/ngtsc/xi18n/src/context.js +0 -20
  576. package/src/perform_compile.js +0 -322
  577. package/src/perform_watch.js +0 -263
  578. package/src/tooling.js +0 -47
  579. package/src/transformers/api.js +0 -42
  580. package/src/transformers/compiler_host.js +0 -623
  581. package/src/transformers/downlevel_decorators_transform.js +0 -611
  582. package/src/transformers/entry_points.js +0 -25
  583. package/src/transformers/i18n.js +0 -76
  584. package/src/transformers/inline_resources.js +0 -287
  585. package/src/transformers/lower_expressions.js +0 -365
  586. package/src/transformers/metadata_cache.js +0 -96
  587. package/src/transformers/metadata_reader.js +0 -120
  588. package/src/transformers/node_emitter.js +0 -637
  589. package/src/transformers/node_emitter_transform.js +0 -88
  590. package/src/transformers/patch_alias_reference_resolution.js +0 -129
  591. package/src/transformers/program.js +0 -998
  592. package/src/transformers/r3_metadata_transform.js +0 -73
  593. package/src/transformers/r3_transform.js +0 -44
  594. package/src/transformers/util.js +0 -122
  595. package/src/typescript_support.js +0 -74
  596. package/src/version.js +0 -28
@@ -1,88 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/compiler-cli/src/transformers/node_emitter_transform", ["require", "exports", "tslib", "typescript", "@angular/compiler-cli/src/transformers/node_emitter", "@angular/compiler-cli/src/transformers/util"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.getAngularEmitterTransformFactory = void 0;
20
- var tslib_1 = require("tslib");
21
- var ts = require("typescript");
22
- var node_emitter_1 = require("@angular/compiler-cli/src/transformers/node_emitter");
23
- var util_1 = require("@angular/compiler-cli/src/transformers/util");
24
- function getPreamble(original) {
25
- return "*\n * @fileoverview This file was generated by the Angular template compiler. Do not edit.\n * " + original + "\n * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}\n * tslint:disable\n ";
26
- }
27
- /**
28
- * Returns a transformer that does two things for generated files (ngfactory etc):
29
- * - adds a fileoverview JSDoc comment containing Closure Compiler specific "suppress"ions in JSDoc.
30
- * The new comment will contain any fileoverview comment text from the original source file this
31
- * file was generated from.
32
- * - updates generated files that are not in the given map of generatedFiles to have an empty
33
- * list of statements as their body.
34
- */
35
- function getAngularEmitterTransformFactory(generatedFiles, program, annotateForClosureCompiler) {
36
- return function () {
37
- var emitter = new node_emitter_1.TypeScriptNodeEmitter(annotateForClosureCompiler);
38
- return function (sourceFile) {
39
- var g = generatedFiles.get(sourceFile.fileName);
40
- var orig = g && program.getSourceFile(g.srcFileUrl);
41
- var originalComment = '';
42
- if (orig)
43
- originalComment = getFileoverviewComment(orig);
44
- var preamble = getPreamble(originalComment);
45
- if (g && g.stmts) {
46
- var _a = (0, tslib_1.__read)(emitter.updateSourceFile(sourceFile, g.stmts, preamble), 1), newSourceFile = _a[0];
47
- return newSourceFile;
48
- }
49
- else if (util_1.GENERATED_FILES.test(sourceFile.fileName)) {
50
- // The file should be empty, but emitter.updateSourceFile would still add imports
51
- // and various minutiae.
52
- // Clear out the source file entirely, only including the preamble comment, so that
53
- // ngc produces an empty .js file.
54
- var commentStmt = ts.createNotEmittedStatement(sourceFile);
55
- ts.addSyntheticLeadingComment(commentStmt, ts.SyntaxKind.MultiLineCommentTrivia, preamble,
56
- /* hasTrailingNewline */ true);
57
- return ts.updateSourceFileNode(sourceFile, [commentStmt]);
58
- }
59
- return sourceFile;
60
- };
61
- };
62
- }
63
- exports.getAngularEmitterTransformFactory = getAngularEmitterTransformFactory;
64
- /**
65
- * Parses and returns the comment text (without start and end markers) of a \@fileoverview comment
66
- * in the given source file. Returns the empty string if no such comment can be found.
67
- */
68
- function getFileoverviewComment(sourceFile) {
69
- var trivia = sourceFile.getFullText().substring(0, sourceFile.getStart());
70
- var leadingComments = ts.getLeadingCommentRanges(trivia, 0);
71
- if (!leadingComments || leadingComments.length === 0)
72
- return '';
73
- var comment = leadingComments[0];
74
- if (comment.kind !== ts.SyntaxKind.MultiLineCommentTrivia)
75
- return '';
76
- // Only comments separated with a \n\n from the file contents are considered file-level comments
77
- // in TypeScript.
78
- if (sourceFile.getFullText().substring(comment.end, comment.end + 2) !== '\n\n')
79
- return '';
80
- var commentText = sourceFile.getFullText().substring(comment.pos, comment.end);
81
- // Closure Compiler ignores @suppress and similar if the comment contains @license.
82
- if (commentText.indexOf('@license') !== -1)
83
- return '';
84
- // Also remove any leading `* ` from the first line in case it was a JSDOC comment
85
- return (0, util_1.stripComment)(commentText).replace(/^\*\s+/, '');
86
- }
87
- });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9lbWl0dGVyX3RyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvdHJhbnNmb3JtZXJzL25vZGVfZW1pdHRlcl90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQUdILCtCQUFpQztJQUVqQyxvRkFBcUQ7SUFDckQsb0VBQXFEO0lBRXJELFNBQVMsV0FBVyxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sb0dBRUosUUFBUSxnSUFHWCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxTQUFnQixpQ0FBaUMsQ0FDN0MsY0FBMEMsRUFBRSxPQUFtQixFQUMvRCwwQkFBbUM7UUFDckMsT0FBTztZQUNMLElBQU0sT0FBTyxHQUFHLElBQUksb0NBQXFCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN0RSxPQUFPLFVBQVMsVUFBeUI7Z0JBQ3ZDLElBQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRCxJQUFNLElBQUksR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3RELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxJQUFJO29CQUFFLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekQsSUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO29CQUNWLElBQUEsS0FBQSxvQkFBa0IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFBLEVBQXhFLGFBQWEsUUFBMkQsQ0FBQztvQkFDaEYsT0FBTyxhQUFhLENBQUM7aUJBQ3RCO3FCQUFNLElBQUksc0JBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNwRCxpRkFBaUY7b0JBQ2pGLHdCQUF3QjtvQkFDeEIsbUZBQW1GO29CQUNuRixrQ0FBa0M7b0JBQ2xDLElBQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDN0QsRUFBRSxDQUFDLDBCQUEwQixDQUN6QixXQUFXLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxRQUFRO29CQUMzRCx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztpQkFDM0Q7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQTVCRCw4RUE0QkM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLHNCQUFzQixDQUFDLFVBQXlCO1FBQ3ZELElBQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLElBQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNoRSxJQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsc0JBQXNCO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckUsZ0dBQWdHO1FBQ2hHLGlCQUFpQjtRQUNqQixJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMzRixJQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pGLG1GQUFtRjtRQUNuRixJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEQsa0ZBQWtGO1FBQ2xGLE9BQU8sSUFBQSxtQkFBWSxFQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0dlbmVyYXRlZEZpbGV9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge1R5cGVTY3JpcHROb2RlRW1pdHRlcn0gZnJvbSAnLi9ub2RlX2VtaXR0ZXInO1xuaW1wb3J0IHtHRU5FUkFURURfRklMRVMsIHN0cmlwQ29tbWVudH0gZnJvbSAnLi91dGlsJztcblxuZnVuY3Rpb24gZ2V0UHJlYW1ibGUob3JpZ2luYWw6IHN0cmluZykge1xuICByZXR1cm4gYCpcbiAqIEBmaWxlb3ZlcnZpZXcgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIEFuZ3VsYXIgdGVtcGxhdGUgY29tcGlsZXIuIERvIG5vdCBlZGl0LlxuICogJHtvcmlnaW5hbH1cbiAqIEBzdXBwcmVzcyB7c3VzcGljaW91c0NvZGUsdXNlbGVzc0NvZGUsbWlzc2luZ1Byb3BlcnRpZXMsbWlzc2luZ092ZXJyaWRlLGNoZWNrVHlwZXMsZXh0cmFSZXF1aXJlfVxuICogdHNsaW50OmRpc2FibGVcbiBgO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSB0cmFuc2Zvcm1lciB0aGF0IGRvZXMgdHdvIHRoaW5ncyBmb3IgZ2VuZXJhdGVkIGZpbGVzIChuZ2ZhY3RvcnkgZXRjKTpcbiAqIC0gYWRkcyBhIGZpbGVvdmVydmlldyBKU0RvYyBjb21tZW50IGNvbnRhaW5pbmcgQ2xvc3VyZSBDb21waWxlciBzcGVjaWZpYyBcInN1cHByZXNzXCJpb25zIGluIEpTRG9jLlxuICogICBUaGUgbmV3IGNvbW1lbnQgd2lsbCBjb250YWluIGFueSBmaWxlb3ZlcnZpZXcgY29tbWVudCB0ZXh0IGZyb20gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoaXNcbiAqICAgZmlsZSB3YXMgZ2VuZXJhdGVkIGZyb20uXG4gKiAtIHVwZGF0ZXMgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgYXJlIG5vdCBpbiB0aGUgZ2l2ZW4gbWFwIG9mIGdlbmVyYXRlZEZpbGVzIHRvIGhhdmUgYW4gZW1wdHlcbiAqICAgbGlzdCBvZiBzdGF0ZW1lbnRzIGFzIHRoZWlyIGJvZHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmd1bGFyRW1pdHRlclRyYW5zZm9ybUZhY3RvcnkoXG4gICAgZ2VuZXJhdGVkRmlsZXM6IE1hcDxzdHJpbmcsIEdlbmVyYXRlZEZpbGU+LCBwcm9ncmFtOiB0cy5Qcm9ncmFtLFxuICAgIGFubm90YXRlRm9yQ2xvc3VyZUNvbXBpbGVyOiBib29sZWFuKTogKCkgPT4gKHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpID0+IHRzLlNvdXJjZUZpbGUge1xuICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgZW1pdHRlciA9IG5ldyBUeXBlU2NyaXB0Tm9kZUVtaXR0ZXIoYW5ub3RhdGVGb3JDbG9zdXJlQ29tcGlsZXIpO1xuICAgIHJldHVybiBmdW5jdGlvbihzb3VyY2VGaWxlOiB0cy5Tb3VyY2VGaWxlKTogdHMuU291cmNlRmlsZSB7XG4gICAgICBjb25zdCBnID0gZ2VuZXJhdGVkRmlsZXMuZ2V0KHNvdXJjZUZpbGUuZmlsZU5hbWUpO1xuICAgICAgY29uc3Qgb3JpZyA9IGcgJiYgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlKGcuc3JjRmlsZVVybCk7XG4gICAgICBsZXQgb3JpZ2luYWxDb21tZW50ID0gJyc7XG4gICAgICBpZiAob3JpZykgb3JpZ2luYWxDb21tZW50ID0gZ2V0RmlsZW92ZXJ2aWV3Q29tbWVudChvcmlnKTtcbiAgICAgIGNvbnN0IHByZWFtYmxlID0gZ2V0UHJlYW1ibGUob3JpZ2luYWxDb21tZW50KTtcbiAgICAgIGlmIChnICYmIGcuc3RtdHMpIHtcbiAgICAgICAgY29uc3QgW25ld1NvdXJjZUZpbGVdID0gZW1pdHRlci51cGRhdGVTb3VyY2VGaWxlKHNvdXJjZUZpbGUsIGcuc3RtdHMsIHByZWFtYmxlKTtcbiAgICAgICAgcmV0dXJuIG5ld1NvdXJjZUZpbGU7XG4gICAgICB9IGVsc2UgaWYgKEdFTkVSQVRFRF9GSUxFUy50ZXN0KHNvdXJjZUZpbGUuZmlsZU5hbWUpKSB7XG4gICAgICAgIC8vIFRoZSBmaWxlIHNob3VsZCBiZSBlbXB0eSwgYnV0IGVtaXR0ZXIudXBkYXRlU291cmNlRmlsZSB3b3VsZCBzdGlsbCBhZGQgaW1wb3J0c1xuICAgICAgICAvLyBhbmQgdmFyaW91cyBtaW51dGlhZS5cbiAgICAgICAgLy8gQ2xlYXIgb3V0IHRoZSBzb3VyY2UgZmlsZSBlbnRpcmVseSwgb25seSBpbmNsdWRpbmcgdGhlIHByZWFtYmxlIGNvbW1lbnQsIHNvIHRoYXRcbiAgICAgICAgLy8gbmdjIHByb2R1Y2VzIGFuIGVtcHR5IC5qcyBmaWxlLlxuICAgICAgICBjb25zdCBjb21tZW50U3RtdCA9IHRzLmNyZWF0ZU5vdEVtaXR0ZWRTdGF0ZW1lbnQoc291cmNlRmlsZSk7XG4gICAgICAgIHRzLmFkZFN5bnRoZXRpY0xlYWRpbmdDb21tZW50KFxuICAgICAgICAgICAgY29tbWVudFN0bXQsIHRzLlN5bnRheEtpbmQuTXVsdGlMaW5lQ29tbWVudFRyaXZpYSwgcHJlYW1ibGUsXG4gICAgICAgICAgICAvKiBoYXNUcmFpbGluZ05ld2xpbmUgKi8gdHJ1ZSk7XG4gICAgICAgIHJldHVybiB0cy51cGRhdGVTb3VyY2VGaWxlTm9kZShzb3VyY2VGaWxlLCBbY29tbWVudFN0bXRdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzb3VyY2VGaWxlO1xuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogUGFyc2VzIGFuZCByZXR1cm5zIHRoZSBjb21tZW50IHRleHQgKHdpdGhvdXQgc3RhcnQgYW5kIGVuZCBtYXJrZXJzKSBvZiBhIFxcQGZpbGVvdmVydmlldyBjb21tZW50XG4gKiBpbiB0aGUgZ2l2ZW4gc291cmNlIGZpbGUuIFJldHVybnMgdGhlIGVtcHR5IHN0cmluZyBpZiBubyBzdWNoIGNvbW1lbnQgY2FuIGJlIGZvdW5kLlxuICovXG5mdW5jdGlvbiBnZXRGaWxlb3ZlcnZpZXdDb21tZW50KHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUpOiBzdHJpbmcge1xuICBjb25zdCB0cml2aWEgPSBzb3VyY2VGaWxlLmdldEZ1bGxUZXh0KCkuc3Vic3RyaW5nKDAsIHNvdXJjZUZpbGUuZ2V0U3RhcnQoKSk7XG4gIGNvbnN0IGxlYWRpbmdDb21tZW50cyA9IHRzLmdldExlYWRpbmdDb21tZW50UmFuZ2VzKHRyaXZpYSwgMCk7XG4gIGlmICghbGVhZGluZ0NvbW1lbnRzIHx8IGxlYWRpbmdDb21tZW50cy5sZW5ndGggPT09IDApIHJldHVybiAnJztcbiAgY29uc3QgY29tbWVudCA9IGxlYWRpbmdDb21tZW50c1swXTtcbiAgaWYgKGNvbW1lbnQua2luZCAhPT0gdHMuU3ludGF4S2luZC5NdWx0aUxpbmVDb21tZW50VHJpdmlhKSByZXR1cm4gJyc7XG4gIC8vIE9ubHkgY29tbWVudHMgc2VwYXJhdGVkIHdpdGggYSBcXG5cXG4gZnJvbSB0aGUgZmlsZSBjb250ZW50cyBhcmUgY29uc2lkZXJlZCBmaWxlLWxldmVsIGNvbW1lbnRzXG4gIC8vIGluIFR5cGVTY3JpcHQuXG4gIGlmIChzb3VyY2VGaWxlLmdldEZ1bGxUZXh0KCkuc3Vic3RyaW5nKGNvbW1lbnQuZW5kLCBjb21tZW50LmVuZCArIDIpICE9PSAnXFxuXFxuJykgcmV0dXJuICcnO1xuICBjb25zdCBjb21tZW50VGV4dCA9IHNvdXJjZUZpbGUuZ2V0RnVsbFRleHQoKS5zdWJzdHJpbmcoY29tbWVudC5wb3MsIGNvbW1lbnQuZW5kKTtcbiAgLy8gQ2xvc3VyZSBDb21waWxlciBpZ25vcmVzIEBzdXBwcmVzcyBhbmQgc2ltaWxhciBpZiB0aGUgY29tbWVudCBjb250YWlucyBAbGljZW5zZS5cbiAgaWYgKGNvbW1lbnRUZXh0LmluZGV4T2YoJ0BsaWNlbnNlJykgIT09IC0xKSByZXR1cm4gJyc7XG4gIC8vIEFsc28gcmVtb3ZlIGFueSBsZWFkaW5nIGAqIGAgZnJvbSB0aGUgZmlyc3QgbGluZSBpbiBjYXNlIGl0IHdhcyBhIEpTRE9DIGNvbW1lbnRcbiAgcmV0dXJuIHN0cmlwQ29tbWVudChjb21tZW50VGV4dCkucmVwbGFjZSgvXlxcKlxccysvLCAnJyk7XG59XG4iXX0=
@@ -1,129 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/compiler-cli/src/transformers/patch_alias_reference_resolution", ["require", "exports", "tslib", "typescript"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.isAliasImportDeclaration = exports.loadIsReferencedAliasDeclarationPatch = void 0;
20
- var tslib_1 = require("tslib");
21
- var ts = require("typescript");
22
- var patchedReferencedAliasesSymbol = Symbol('patchedReferencedAliases');
23
- /**
24
- * Patches the alias declaration reference resolution for a given transformation context
25
- * so that TypeScript knows about the specified alias declarations being referenced.
26
- *
27
- * This exists because TypeScript performs analysis of import usage before transformers
28
- * run and doesn't refresh its state after transformations. This means that imports
29
- * for symbols used as constructor types are elided due to their original type-only usage.
30
- *
31
- * In reality though, since we downlevel decorators and constructor parameters, we want
32
- * these symbols to be retained in the JavaScript output as they will be used as values
33
- * at runtime. We can instruct TypeScript to preserve imports for such identifiers by
34
- * creating a mutable clone of a given import specifier/clause or namespace, but that
35
- * has the downside of preserving the full import in the JS output. See:
36
- * https://github.com/microsoft/TypeScript/blob/3eaa7c65f6f076a08a5f7f1946fd0df7c7430259/src/compiler/transformers/ts.ts#L242-L250.
37
- *
38
- * This is a trick the CLI used in the past for constructor parameter downleveling in JIT:
39
- * https://github.com/angular/angular-cli/blob/b3f84cc5184337666ce61c07b7b9df418030106f/packages/ngtools/webpack/src/transformers/ctor-parameters.ts#L323-L325
40
- * The trick is not ideal though as it preserves the full import (as outlined before), and it
41
- * results in a slow-down due to the type checker being involved multiple times. The CLI worked
42
- * around this import preserving issue by having another complex post-process step that detects and
43
- * elides unused imports. Note that these unused imports could cause unused chunks being generated
44
- * by Webpack if the application or library is not marked as side-effect free.
45
- *
46
- * This is not ideal though, as we basically re-implement the complex import usage resolution
47
- * from TypeScript. We can do better by letting TypeScript do the import eliding, but providing
48
- * information about the alias declarations (e.g. import specifiers) that should not be elided
49
- * because they are actually referenced (as they will now appear in static properties).
50
- *
51
- * More information about these limitations with transformers can be found in:
52
- * 1. https://github.com/Microsoft/TypeScript/issues/17552.
53
- * 2. https://github.com/microsoft/TypeScript/issues/17516.
54
- * 3. https://github.com/angular/tsickle/issues/635.
55
- *
56
- * The patch we apply to tell TypeScript about actual referenced aliases (i.e. imported symbols),
57
- * matches conceptually with the logic that runs internally in TypeScript when the
58
- * `emitDecoratorMetadata` flag is enabled. TypeScript basically surfaces the same problem and
59
- * solves it conceptually the same way, but obviously doesn't need to access an `@internal` API.
60
- *
61
- * The set that is returned by this function is meant to be filled with import declaration nodes
62
- * that have been referenced in a value-position by the transform, such the installed patch can
63
- * ensure that those import declarations are not elided.
64
- *
65
- * See below. Note that this uses sourcegraph as the TypeScript checker file doesn't display on
66
- * Github.
67
- * https://sourcegraph.com/github.com/microsoft/TypeScript@3eaa7c65f6f076a08a5f7f1946fd0df7c7430259/-/blob/src/compiler/checker.ts#L31219-31257
68
- */
69
- function loadIsReferencedAliasDeclarationPatch(context) {
70
- // If the `getEmitResolver` method is not available, TS most likely changed the
71
- // internal structure of the transformation context. We will abort gracefully.
72
- if (!isTransformationContextWithEmitResolver(context)) {
73
- throwIncompatibleTransformationContextError();
74
- }
75
- var emitResolver = context.getEmitResolver();
76
- // The emit resolver may have been patched already, in which case we return the set of referenced
77
- // aliases that was created when the patch was first applied.
78
- // See https://github.com/angular/angular/issues/40276.
79
- var existingReferencedAliases = emitResolver[patchedReferencedAliasesSymbol];
80
- if (existingReferencedAliases !== undefined) {
81
- return existingReferencedAliases;
82
- }
83
- var originalIsReferencedAliasDeclaration = emitResolver.isReferencedAliasDeclaration;
84
- // If the emit resolver does not have a function called `isReferencedAliasDeclaration`, then
85
- // we abort gracefully as most likely TS changed the internal structure of the emit resolver.
86
- if (originalIsReferencedAliasDeclaration === undefined) {
87
- throwIncompatibleTransformationContextError();
88
- }
89
- var referencedAliases = new Set();
90
- emitResolver.isReferencedAliasDeclaration = function (node) {
91
- var args = [];
92
- for (var _i = 1; _i < arguments.length; _i++) {
93
- args[_i - 1] = arguments[_i];
94
- }
95
- if (isAliasImportDeclaration(node) && referencedAliases.has(node)) {
96
- return true;
97
- }
98
- return originalIsReferencedAliasDeclaration.call.apply(originalIsReferencedAliasDeclaration, (0, tslib_1.__spreadArray)([emitResolver, node], (0, tslib_1.__read)(args), false));
99
- };
100
- return emitResolver[patchedReferencedAliasesSymbol] = referencedAliases;
101
- }
102
- exports.loadIsReferencedAliasDeclarationPatch = loadIsReferencedAliasDeclarationPatch;
103
- /**
104
- * Gets whether a given node corresponds to an import alias declaration. Alias
105
- * declarations can be import specifiers, namespace imports or import clauses
106
- * as these do not declare an actual symbol but just point to a target declaration.
107
- */
108
- function isAliasImportDeclaration(node) {
109
- return ts.isImportSpecifier(node) || ts.isNamespaceImport(node) || ts.isImportClause(node);
110
- }
111
- exports.isAliasImportDeclaration = isAliasImportDeclaration;
112
- /** Whether the transformation context exposes its emit resolver. */
113
- function isTransformationContextWithEmitResolver(context) {
114
- return context.getEmitResolver !== undefined;
115
- }
116
- /**
117
- * Throws an error about an incompatible TypeScript version for which the alias
118
- * declaration reference resolution could not be monkey-patched. The error will
119
- * also propose potential solutions that can be applied by developers.
120
- */
121
- function throwIncompatibleTransformationContextError() {
122
- throw Error('Unable to downlevel Angular decorators due to an incompatible TypeScript ' +
123
- 'version.\nIf you recently updated TypeScript and this issue surfaces now, consider ' +
124
- 'downgrading.\n\n' +
125
- 'Please report an issue on the Angular repositories when this issue ' +
126
- 'surfaces and you are using a supposedly compatible TypeScript version.');
127
- }
128
- });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hfYWxpYXNfcmVmZXJlbmNlX3Jlc29sdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL3RyYW5zZm9ybWVycy9wYXRjaF9hbGlhc19yZWZlcmVuY2VfcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7O0lBRUgsK0JBQWlDO0lBV2pDLElBQU0sOEJBQThCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFRMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZDRztJQUNILFNBQWdCLHFDQUFxQyxDQUFDLE9BQWlDO1FBRXJGLCtFQUErRTtRQUMvRSw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JELDJDQUEyQyxFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFL0MsaUdBQWlHO1FBQ2pHLDZEQUE2RDtRQUM3RCx1REFBdUQ7UUFDdkQsSUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvRSxJQUFJLHlCQUF5QixLQUFLLFNBQVMsRUFBRTtZQUMzQyxPQUFPLHlCQUF5QixDQUFDO1NBQ2xDO1FBRUQsSUFBTSxvQ0FBb0MsR0FBRyxZQUFZLENBQUMsNEJBQTRCLENBQUM7UUFDdkYsNEZBQTRGO1FBQzVGLDZGQUE2RjtRQUM3RixJQUFJLG9DQUFvQyxLQUFLLFNBQVMsRUFBRTtZQUN0RCwyQ0FBMkMsRUFBRSxDQUFDO1NBQy9DO1FBRUQsSUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUNwRCxZQUFZLENBQUMsNEJBQTRCLEdBQUcsVUFBUyxJQUFJO1lBQUUsY0FBTztpQkFBUCxVQUFPLEVBQVAscUJBQU8sRUFBUCxJQUFPO2dCQUFQLDZCQUFPOztZQUNoRSxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakUsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sb0NBQW9DLENBQUMsSUFBSSxPQUF6QyxvQ0FBb0MsOEJBQU0sWUFBWSxFQUFFLElBQUksdUJBQUssSUFBSSxXQUFFO1FBQ2hGLENBQUMsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsaUJBQWlCLENBQUM7SUFDMUUsQ0FBQztJQWhDRCxzRkFnQ0M7SUFFRDs7OztPQUlHO0lBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsSUFBYTtRQUVwRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBSEQsNERBR0M7SUFFRCxvRUFBb0U7SUFDcEUsU0FBUyx1Q0FBdUMsQ0FBQyxPQUFpQztRQUVoRixPQUFRLE9BQXNELENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztJQUMvRixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILFNBQVMsMkNBQTJDO1FBQ2xELE1BQU0sS0FBSyxDQUNQLDJFQUEyRTtZQUMzRSxxRkFBcUY7WUFDckYsa0JBQWtCO1lBQ2xCLHFFQUFxRTtZQUNyRSx3RUFBd0UsQ0FBQyxDQUFDO0lBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgVHlwZVNjcmlwdCB0cmFuc2Zvcm1hdGlvbiBjb250ZXh0IHdpdGggdGhlIGludGVybmFsIGVtaXRcbiAqIHJlc29sdmVyIGV4cG9zZWQuIFRoZXJlIGFyZSByZXF1ZXN0cyB1cHN0cmVhbSBpbiBUeXBlU2NyaXB0IHRvIGV4cG9zZVxuICogdGhhdCBhcyBwdWJsaWMgQVBJOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTE2Li5cbiAqL1xuaW50ZXJmYWNlIFRyYW5zZm9ybWF0aW9uQ29udGV4dFdpdGhSZXNvbHZlciBleHRlbmRzIHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCB7XG4gIGdldEVtaXRSZXNvbHZlcjogKCkgPT4gRW1pdFJlc29sdmVyO1xufVxuXG5jb25zdCBwYXRjaGVkUmVmZXJlbmNlZEFsaWFzZXNTeW1ib2wgPSBTeW1ib2woJ3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlcycpO1xuXG4vKiogRGVzY3JpYmVzIGEgc3Vic2V0IG9mIHRoZSBUeXBlU2NyaXB0IGludGVybmFsIGVtaXQgcmVzb2x2ZXIuICovXG5pbnRlcmZhY2UgRW1pdFJlc29sdmVyIHtcbiAgaXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbj8obm9kZTogdHMuTm9kZSwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbiAgW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF0/OiBTZXQ8dHMuRGVjbGFyYXRpb24+O1xufVxuXG4vKipcbiAqIFBhdGNoZXMgdGhlIGFsaWFzIGRlY2xhcmF0aW9uIHJlZmVyZW5jZSByZXNvbHV0aW9uIGZvciBhIGdpdmVuIHRyYW5zZm9ybWF0aW9uIGNvbnRleHRcbiAqIHNvIHRoYXQgVHlwZVNjcmlwdCBrbm93cyBhYm91dCB0aGUgc3BlY2lmaWVkIGFsaWFzIGRlY2xhcmF0aW9ucyBiZWluZyByZWZlcmVuY2VkLlxuICpcbiAqIFRoaXMgZXhpc3RzIGJlY2F1c2UgVHlwZVNjcmlwdCBwZXJmb3JtcyBhbmFseXNpcyBvZiBpbXBvcnQgdXNhZ2UgYmVmb3JlIHRyYW5zZm9ybWVyc1xuICogcnVuIGFuZCBkb2Vzbid0IHJlZnJlc2ggaXRzIHN0YXRlIGFmdGVyIHRyYW5zZm9ybWF0aW9ucy4gVGhpcyBtZWFucyB0aGF0IGltcG9ydHNcbiAqIGZvciBzeW1ib2xzIHVzZWQgYXMgY29uc3RydWN0b3IgdHlwZXMgYXJlIGVsaWRlZCBkdWUgdG8gdGhlaXIgb3JpZ2luYWwgdHlwZS1vbmx5IHVzYWdlLlxuICpcbiAqIEluIHJlYWxpdHkgdGhvdWdoLCBzaW5jZSB3ZSBkb3dubGV2ZWwgZGVjb3JhdG9ycyBhbmQgY29uc3RydWN0b3IgcGFyYW1ldGVycywgd2Ugd2FudFxuICogdGhlc2Ugc3ltYm9scyB0byBiZSByZXRhaW5lZCBpbiB0aGUgSmF2YVNjcmlwdCBvdXRwdXQgYXMgdGhleSB3aWxsIGJlIHVzZWQgYXMgdmFsdWVzXG4gKiBhdCBydW50aW1lLiBXZSBjYW4gaW5zdHJ1Y3QgVHlwZVNjcmlwdCB0byBwcmVzZXJ2ZSBpbXBvcnRzIGZvciBzdWNoIGlkZW50aWZpZXJzIGJ5XG4gKiBjcmVhdGluZyBhIG11dGFibGUgY2xvbmUgb2YgYSBnaXZlbiBpbXBvcnQgc3BlY2lmaWVyL2NsYXVzZSBvciBuYW1lc3BhY2UsIGJ1dCB0aGF0XG4gKiBoYXMgdGhlIGRvd25zaWRlIG9mIHByZXNlcnZpbmcgdGhlIGZ1bGwgaW1wb3J0IGluIHRoZSBKUyBvdXRwdXQuIFNlZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9ibG9iLzNlYWE3YzY1ZjZmMDc2YTA4YTVmN2YxOTQ2ZmQwZGY3Yzc0MzAyNTkvc3JjL2NvbXBpbGVyL3RyYW5zZm9ybWVycy90cy50cyNMMjQyLUwyNTAuXG4gKlxuICogVGhpcyBpcyBhIHRyaWNrIHRoZSBDTEkgdXNlZCBpbiB0aGUgcGFzdCAgZm9yIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBkb3dubGV2ZWxpbmcgaW4gSklUOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGkvYmxvYi9iM2Y4NGNjNTE4NDMzNzY2NmNlNjFjMDdiN2I5ZGY0MTgwMzAxMDZmL3BhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdHJhbnNmb3JtZXJzL2N0b3ItcGFyYW1ldGVycy50cyNMMzIzLUwzMjVcbiAqIFRoZSB0cmljayBpcyBub3QgaWRlYWwgdGhvdWdoIGFzIGl0IHByZXNlcnZlcyB0aGUgZnVsbCBpbXBvcnQgKGFzIG91dGxpbmVkIGJlZm9yZSksIGFuZCBpdFxuICogcmVzdWx0cyBpbiBhIHNsb3ctZG93biBkdWUgdG8gdGhlIHR5cGUgY2hlY2tlciBiZWluZyBpbnZvbHZlZCBtdWx0aXBsZSB0aW1lcy4gVGhlIENMSSB3b3JrZWRcbiAqIGFyb3VuZCB0aGlzIGltcG9ydCBwcmVzZXJ2aW5nIGlzc3VlIGJ5IGhhdmluZyBhbm90aGVyIGNvbXBsZXggcG9zdC1wcm9jZXNzIHN0ZXAgdGhhdCBkZXRlY3RzIGFuZFxuICogZWxpZGVzIHVudXNlZCBpbXBvcnRzLiBOb3RlIHRoYXQgdGhlc2UgdW51c2VkIGltcG9ydHMgY291bGQgY2F1c2UgdW51c2VkIGNodW5rcyBiZWluZyBnZW5lcmF0ZWRcbiAqIGJ5IFdlYnBhY2sgaWYgdGhlIGFwcGxpY2F0aW9uIG9yIGxpYnJhcnkgaXMgbm90IG1hcmtlZCBhcyBzaWRlLWVmZmVjdCBmcmVlLlxuICpcbiAqIFRoaXMgaXMgbm90IGlkZWFsIHRob3VnaCwgYXMgd2UgYmFzaWNhbGx5IHJlLWltcGxlbWVudCB0aGUgY29tcGxleCBpbXBvcnQgdXNhZ2UgcmVzb2x1dGlvblxuICogZnJvbSBUeXBlU2NyaXB0LiBXZSBjYW4gZG8gYmV0dGVyIGJ5IGxldHRpbmcgVHlwZVNjcmlwdCBkbyB0aGUgaW1wb3J0IGVsaWRpbmcsIGJ1dCBwcm92aWRpbmdcbiAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhbGlhcyBkZWNsYXJhdGlvbnMgKGUuZy4gaW1wb3J0IHNwZWNpZmllcnMpIHRoYXQgc2hvdWxkIG5vdCBiZSBlbGlkZWRcbiAqIGJlY2F1c2UgdGhleSBhcmUgYWN0dWFsbHkgcmVmZXJlbmNlZCAoYXMgdGhleSB3aWxsIG5vdyBhcHBlYXIgaW4gc3RhdGljIHByb3BlcnRpZXMpLlxuICpcbiAqIE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlc2UgbGltaXRhdGlvbnMgd2l0aCB0cmFuc2Zvcm1lcnMgY2FuIGJlIGZvdW5kIGluOlxuICogICAxLiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTUyLlxuICogICAyLiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTE2LlxuICogICAzLiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci90c2lja2xlL2lzc3Vlcy82MzUuXG4gKlxuICogVGhlIHBhdGNoIHdlIGFwcGx5IHRvIHRlbGwgVHlwZVNjcmlwdCBhYm91dCBhY3R1YWwgcmVmZXJlbmNlZCBhbGlhc2VzIChpLmUuIGltcG9ydGVkIHN5bWJvbHMpLFxuICogbWF0Y2hlcyBjb25jZXB0dWFsbHkgd2l0aCB0aGUgbG9naWMgdGhhdCBydW5zIGludGVybmFsbHkgaW4gVHlwZVNjcmlwdCB3aGVuIHRoZVxuICogYGVtaXREZWNvcmF0b3JNZXRhZGF0YWAgZmxhZyBpcyBlbmFibGVkLiBUeXBlU2NyaXB0IGJhc2ljYWxseSBzdXJmYWNlcyB0aGUgc2FtZSBwcm9ibGVtIGFuZFxuICogc29sdmVzIGl0IGNvbmNlcHR1YWxseSB0aGUgc2FtZSB3YXksIGJ1dCBvYnZpb3VzbHkgZG9lc24ndCBuZWVkIHRvIGFjY2VzcyBhbiBgQGludGVybmFsYCBBUEkuXG4gKlxuICogVGhlIHNldCB0aGF0IGlzIHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaXMgbWVhbnQgdG8gYmUgZmlsbGVkIHdpdGggaW1wb3J0IGRlY2xhcmF0aW9uIG5vZGVzXG4gKiB0aGF0IGhhdmUgYmVlbiByZWZlcmVuY2VkIGluIGEgdmFsdWUtcG9zaXRpb24gYnkgdGhlIHRyYW5zZm9ybSwgc3VjaCB0aGUgaW5zdGFsbGVkIHBhdGNoIGNhblxuICogZW5zdXJlIHRoYXQgdGhvc2UgaW1wb3J0IGRlY2xhcmF0aW9ucyBhcmUgbm90IGVsaWRlZC5cbiAqXG4gKiBTZWUgYmVsb3cuIE5vdGUgdGhhdCB0aGlzIHVzZXMgc291cmNlZ3JhcGggYXMgdGhlIFR5cGVTY3JpcHQgY2hlY2tlciBmaWxlIGRvZXNuJ3QgZGlzcGxheSBvblxuICogR2l0aHViLlxuICogaHR0cHM6Ly9zb3VyY2VncmFwaC5jb20vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdEAzZWFhN2M2NWY2ZjA3NmEwOGE1ZjdmMTk0NmZkMGRmN2M3NDMwMjU5Ly0vYmxvYi9zcmMvY29tcGlsZXIvY2hlY2tlci50cyNMMzEyMTktMzEyNTdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uUGF0Y2goY29udGV4dDogdHMuVHJhbnNmb3JtYXRpb25Db250ZXh0KTpcbiAgICBTZXQ8dHMuRGVjbGFyYXRpb24+IHtcbiAgLy8gSWYgdGhlIGBnZXRFbWl0UmVzb2x2ZXJgIG1ldGhvZCBpcyBub3QgYXZhaWxhYmxlLCBUUyBtb3N0IGxpa2VseSBjaGFuZ2VkIHRoZVxuICAvLyBpbnRlcm5hbCBzdHJ1Y3R1cmUgb2YgdGhlIHRyYW5zZm9ybWF0aW9uIGNvbnRleHQuIFdlIHdpbGwgYWJvcnQgZ3JhY2VmdWxseS5cbiAgaWYgKCFpc1RyYW5zZm9ybWF0aW9uQ29udGV4dFdpdGhFbWl0UmVzb2x2ZXIoY29udGV4dCkpIHtcbiAgICB0aHJvd0luY29tcGF0aWJsZVRyYW5zZm9ybWF0aW9uQ29udGV4dEVycm9yKCk7XG4gIH1cbiAgY29uc3QgZW1pdFJlc29sdmVyID0gY29udGV4dC5nZXRFbWl0UmVzb2x2ZXIoKTtcblxuICAvLyBUaGUgZW1pdCByZXNvbHZlciBtYXkgaGF2ZSBiZWVuIHBhdGNoZWQgYWxyZWFkeSwgaW4gd2hpY2ggY2FzZSB3ZSByZXR1cm4gdGhlIHNldCBvZiByZWZlcmVuY2VkXG4gIC8vIGFsaWFzZXMgdGhhdCB3YXMgY3JlYXRlZCB3aGVuIHRoZSBwYXRjaCB3YXMgZmlyc3QgYXBwbGllZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzQwMjc2LlxuICBjb25zdCBleGlzdGluZ1JlZmVyZW5jZWRBbGlhc2VzID0gZW1pdFJlc29sdmVyW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF07XG4gIGlmIChleGlzdGluZ1JlZmVyZW5jZWRBbGlhc2VzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZXhpc3RpbmdSZWZlcmVuY2VkQWxpYXNlcztcbiAgfVxuXG4gIGNvbnN0IG9yaWdpbmFsSXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9IGVtaXRSZXNvbHZlci5pc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uO1xuICAvLyBJZiB0aGUgZW1pdCByZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgZnVuY3Rpb24gY2FsbGVkIGBpc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uYCwgdGhlblxuICAvLyB3ZSBhYm9ydCBncmFjZWZ1bGx5IGFzIG1vc3QgbGlrZWx5IFRTIGNoYW5nZWQgdGhlIGludGVybmFsIHN0cnVjdHVyZSBvZiB0aGUgZW1pdCByZXNvbHZlci5cbiAgaWYgKG9yaWdpbmFsSXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3dJbmNvbXBhdGlibGVUcmFuc2Zvcm1hdGlvbkNvbnRleHRFcnJvcigpO1xuICB9XG5cbiAgY29uc3QgcmVmZXJlbmNlZEFsaWFzZXMgPSBuZXcgU2V0PHRzLkRlY2xhcmF0aW9uPigpO1xuICBlbWl0UmVzb2x2ZXIuaXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uKG5vZGUsIC4uLmFyZ3MpIHtcbiAgICBpZiAoaXNBbGlhc0ltcG9ydERlY2xhcmF0aW9uKG5vZGUpICYmIHJlZmVyZW5jZWRBbGlhc2VzLmhhcyhub2RlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBvcmlnaW5hbElzUmVmZXJlbmNlZEFsaWFzRGVjbGFyYXRpb24uY2FsbChlbWl0UmVzb2x2ZXIsIG5vZGUsIC4uLmFyZ3MpO1xuICB9O1xuICByZXR1cm4gZW1pdFJlc29sdmVyW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF0gPSByZWZlcmVuY2VkQWxpYXNlcztcbn1cblxuLyoqXG4gKiBHZXRzIHdoZXRoZXIgYSBnaXZlbiBub2RlIGNvcnJlc3BvbmRzIHRvIGFuIGltcG9ydCBhbGlhcyBkZWNsYXJhdGlvbi4gQWxpYXNcbiAqIGRlY2xhcmF0aW9ucyBjYW4gYmUgaW1wb3J0IHNwZWNpZmllcnMsIG5hbWVzcGFjZSBpbXBvcnRzIG9yIGltcG9ydCBjbGF1c2VzXG4gKiBhcyB0aGVzZSBkbyBub3QgZGVjbGFyZSBhbiBhY3R1YWwgc3ltYm9sIGJ1dCBqdXN0IHBvaW50IHRvIGEgdGFyZ2V0IGRlY2xhcmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBbGlhc0ltcG9ydERlY2xhcmF0aW9uKG5vZGU6IHRzLk5vZGUpOiBub2RlIGlzIHRzLkltcG9ydFNwZWNpZmllcnxcbiAgICB0cy5OYW1lc3BhY2VJbXBvcnR8dHMuSW1wb3J0Q2xhdXNlIHtcbiAgcmV0dXJuIHRzLmlzSW1wb3J0U3BlY2lmaWVyKG5vZGUpIHx8IHRzLmlzTmFtZXNwYWNlSW1wb3J0KG5vZGUpIHx8IHRzLmlzSW1wb3J0Q2xhdXNlKG5vZGUpO1xufVxuXG4vKiogV2hldGhlciB0aGUgdHJhbnNmb3JtYXRpb24gY29udGV4dCBleHBvc2VzIGl0cyBlbWl0IHJlc29sdmVyLiAqL1xuZnVuY3Rpb24gaXNUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoRW1pdFJlc29sdmVyKGNvbnRleHQ6IHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCk6XG4gICAgY29udGV4dCBpcyBUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoUmVzb2x2ZXIge1xuICByZXR1cm4gKGNvbnRleHQgYXMgUGFydGlhbDxUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoUmVzb2x2ZXI+KS5nZXRFbWl0UmVzb2x2ZXIgIT09IHVuZGVmaW5lZDtcbn1cblxuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciBhYm91dCBhbiBpbmNvbXBhdGlibGUgVHlwZVNjcmlwdCB2ZXJzaW9uIGZvciB3aGljaCB0aGUgYWxpYXNcbiAqIGRlY2xhcmF0aW9uIHJlZmVyZW5jZSByZXNvbHV0aW9uIGNvdWxkIG5vdCBiZSBtb25rZXktcGF0Y2hlZC4gVGhlIGVycm9yIHdpbGxcbiAqIGFsc28gcHJvcG9zZSBwb3RlbnRpYWwgc29sdXRpb25zIHRoYXQgY2FuIGJlIGFwcGxpZWQgYnkgZGV2ZWxvcGVycy5cbiAqL1xuZnVuY3Rpb24gdGhyb3dJbmNvbXBhdGlibGVUcmFuc2Zvcm1hdGlvbkNvbnRleHRFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IEVycm9yKFxuICAgICAgJ1VuYWJsZSB0byBkb3dubGV2ZWwgQW5ndWxhciBkZWNvcmF0b3JzIGR1ZSB0byBhbiBpbmNvbXBhdGlibGUgVHlwZVNjcmlwdCAnICtcbiAgICAgICd2ZXJzaW9uLlxcbklmIHlvdSByZWNlbnRseSB1cGRhdGVkIFR5cGVTY3JpcHQgYW5kIHRoaXMgaXNzdWUgc3VyZmFjZXMgbm93LCBjb25zaWRlciAnICtcbiAgICAgICdkb3duZ3JhZGluZy5cXG5cXG4nICtcbiAgICAgICdQbGVhc2UgcmVwb3J0IGFuIGlzc3VlIG9uIHRoZSBBbmd1bGFyIHJlcG9zaXRvcmllcyB3aGVuIHRoaXMgaXNzdWUgJyArXG4gICAgICAnc3VyZmFjZXMgYW5kIHlvdSBhcmUgdXNpbmcgYSBzdXBwb3NlZGx5IGNvbXBhdGlibGUgVHlwZVNjcmlwdCB2ZXJzaW9uLicpO1xufVxuIl19