@angular/compiler-cli 13.0.0-next.1 → 13.0.0-next.10

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 (600) hide show
  1. package/bundles/index.js +20414 -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 +16043 -0
  8. package/bundles/ngcc/index.js.map +6 -0
  9. package/bundles/ngcc/main-ngcc.js +16131 -0
  10. package/bundles/ngcc/main-ngcc.js.map +6 -0
  11. package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13855 -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 +2181 -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 +20466 -0
  24. package/bundles/src/bin/ng_xi18n.js.map +6 -0
  25. package/bundles/src/bin/ngc.js +20468 -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 +2 -2
  65. package/ngcc/src/host/esm2015_host.d.ts +1 -1
  66. package/ngcc/src/host/esm5_host.d.ts +2 -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/configuration.d.ts +41 -4
  81. package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
  82. package/ngcc/src/packages/ngcc_compiler_host.d.ts +1 -1
  83. package/ngcc/src/packages/source_file_cache.d.ts +1 -1
  84. package/ngcc/src/packages/transformer.d.ts +1 -1
  85. package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
  86. package/ngcc/src/rendering/dts_renderer.d.ts +1 -1
  87. package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +1 -1
  88. package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
  89. package/ngcc/src/rendering/renderer.d.ts +1 -1
  90. package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
  91. package/ngcc/src/rendering/source_maps.d.ts +3 -3
  92. package/ngcc/src/rendering/umd_rendering_formatter.d.ts +1 -1
  93. package/ngcc/src/rendering/utils.d.ts +1 -1
  94. package/ngcc/src/utils.d.ts +1 -1
  95. package/package.json +52 -11
  96. package/private/bazel.d.ts +13 -0
  97. package/private/localize.d.ts +15 -0
  98. package/private/migrations.d.ts +16 -0
  99. package/{src → private}/tooling.d.ts +2 -2
  100. package/src/{ngtsc/core/src/config.d.ts → bin/ng_xi18n.d.ts} +3 -2
  101. package/{ngcc/main-ivy-ngcc.d.ts → src/bin/ngc.d.ts} +2 -1
  102. package/src/diagnostics/translate_diagnostics.d.ts +1 -1
  103. package/src/extract_i18n.d.ts +0 -5
  104. package/src/main.d.ts +6 -6
  105. package/src/metadata/bundle_index_host.d.ts +1 -1
  106. package/src/metadata/bundler.d.ts +1 -1
  107. package/src/metadata/collector.d.ts +1 -1
  108. package/src/metadata/evaluator.d.ts +1 -1
  109. package/src/metadata/symbols.d.ts +1 -1
  110. package/src/ngtsc/annotations/src/component.d.ts +16 -1
  111. package/src/ngtsc/annotations/src/diagnostics.d.ts +1 -1
  112. package/src/ngtsc/annotations/src/directive.d.ts +1 -1
  113. package/src/ngtsc/annotations/src/metadata.d.ts +2 -2
  114. package/src/ngtsc/annotations/src/ng_module.d.ts +2 -4
  115. package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
  116. package/src/ngtsc/annotations/src/util.d.ts +2 -4
  117. package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
  118. package/src/ngtsc/core/api/src/interfaces.d.ts +2 -13
  119. package/src/ngtsc/core/api/src/options.d.ts +11 -2
  120. package/src/ngtsc/core/src/compiler.d.ts +13 -8
  121. package/src/ngtsc/core/src/host.d.ts +1 -1
  122. package/src/ngtsc/cycles/src/analyzer.d.ts +1 -1
  123. package/src/ngtsc/cycles/src/imports.d.ts +1 -1
  124. package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
  125. package/src/ngtsc/diagnostics/src/error_code.d.ts +9 -0
  126. package/src/ngtsc/entry_point/src/generator.d.ts +1 -1
  127. package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
  128. package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
  129. package/src/ngtsc/file_system/src/logical.d.ts +1 -1
  130. package/src/ngtsc/file_system/src/util.d.ts +1 -1
  131. package/src/ngtsc/imports/src/alias.d.ts +1 -1
  132. package/src/ngtsc/imports/src/default.d.ts +1 -1
  133. package/src/ngtsc/imports/src/emitter.d.ts +1 -1
  134. package/src/ngtsc/imports/src/find_export.d.ts +1 -1
  135. package/src/ngtsc/imports/src/references.d.ts +1 -1
  136. package/src/ngtsc/imports/src/resolver.d.ts +1 -1
  137. package/src/ngtsc/incremental/api.d.ts +1 -1
  138. package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
  139. package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
  140. package/src/ngtsc/incremental/src/state.d.ts +1 -1
  141. package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
  142. package/src/ngtsc/indexer/src/api.d.ts +5 -2
  143. package/src/ngtsc/metadata/src/api.d.ts +1 -1
  144. package/src/ngtsc/metadata/src/dts.d.ts +1 -1
  145. package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
  146. package/src/ngtsc/metadata/src/util.d.ts +1 -1
  147. package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
  148. package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
  149. package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
  150. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
  151. package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
  152. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
  153. package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
  154. package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
  155. package/src/ngtsc/program.d.ts +1 -2
  156. package/src/ngtsc/program_driver/src/api.d.ts +1 -1
  157. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
  158. package/src/ngtsc/reflection/src/host.d.ts +7 -7
  159. package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
  160. package/src/ngtsc/reflection/src/typescript.d.ts +4 -4
  161. package/src/ngtsc/reflection/src/util.d.ts +1 -1
  162. package/src/ngtsc/resource/src/loader.d.ts +1 -1
  163. package/src/ngtsc/scope/src/local.d.ts +1 -1
  164. package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
  165. package/src/ngtsc/shims/api.d.ts +1 -1
  166. package/src/ngtsc/shims/src/adapter.d.ts +1 -1
  167. package/src/ngtsc/shims/src/expando.d.ts +1 -1
  168. package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
  169. package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
  170. package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
  171. package/src/ngtsc/switch/src/switch.d.ts +1 -1
  172. package/src/ngtsc/transform/src/alias.d.ts +1 -1
  173. package/src/ngtsc/transform/src/api.d.ts +3 -1
  174. package/src/ngtsc/transform/src/compilation.d.ts +3 -1
  175. package/src/ngtsc/transform/src/declaration.d.ts +1 -1
  176. package/src/ngtsc/transform/src/trait.d.ts +1 -1
  177. package/src/ngtsc/transform/src/transform.d.ts +1 -1
  178. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  179. package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
  180. package/src/ngtsc/translator/src/translator.d.ts +0 -1
  181. package/src/ngtsc/translator/src/type_translator.d.ts +1 -2
  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 +22 -1
  186. package/src/ngtsc/typecheck/api/checker.d.ts +10 -7
  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 +2 -16
  191. package/src/ngtsc/typecheck/extended/api/api.d.ts +50 -0
  192. package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +19 -0
  193. package/src/ngtsc/{routing → typecheck/extended/api}/index.d.ts +3 -3
  194. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +22 -0
  195. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +23 -0
  196. package/src/ngtsc/typecheck/extended/index.d.ts +9 -0
  197. package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +18 -0
  198. package/src/ngtsc/typecheck/src/checker.d.ts +7 -8
  199. package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
  200. package/src/ngtsc/typecheck/src/completion.d.ts +4 -6
  201. package/src/ngtsc/typecheck/src/context.d.ts +2 -3
  202. package/src/ngtsc/typecheck/src/diagnostics.d.ts +2 -3
  203. package/src/ngtsc/typecheck/src/dom.d.ts +1 -2
  204. package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
  205. package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
  206. package/src/ngtsc/typecheck/src/oob.d.ts +4 -6
  207. package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
  208. package/src/ngtsc/typecheck/src/source.d.ts +1 -1
  209. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  210. package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
  211. package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
  212. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  213. package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
  214. package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
  215. package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
  216. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +2 -2
  217. package/src/ngtsc/util/src/typescript.d.ts +1 -1
  218. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  219. package/src/perform_compile.d.ts +1 -1
  220. package/src/perform_watch.d.ts +1 -1
  221. package/src/transformers/api.d.ts +2 -5
  222. package/src/transformers/compiler_host.d.ts +1 -1
  223. package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
  224. package/src/transformers/downlevel_decorators_transform/index.d.ts +9 -0
  225. package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
  226. package/src/transformers/i18n.d.ts +1 -1
  227. package/src/transformers/inline_resources.d.ts +1 -1
  228. package/src/transformers/lower_expressions.d.ts +1 -1
  229. package/src/transformers/metadata_cache.d.ts +1 -1
  230. package/src/transformers/node_emitter.d.ts +2 -3
  231. package/src/transformers/node_emitter_transform.d.ts +1 -1
  232. package/src/transformers/program.d.ts +1 -1
  233. package/src/transformers/r3_metadata_transform.d.ts +1 -1
  234. package/src/transformers/r3_transform.d.ts +1 -1
  235. package/src/transformers/util.d.ts +1 -1
  236. package/index.js +0 -40
  237. package/linker/babel/index.js +0 -25
  238. package/linker/babel/src/ast/babel_ast_factory.js +0 -153
  239. package/linker/babel/src/ast/babel_ast_host.js +0 -181
  240. package/linker/babel/src/babel_declaration_scope.js +0 -67
  241. package/linker/babel/src/babel_plugin.js +0 -38
  242. package/linker/babel/src/es2015_linker_plugin.js +0 -183
  243. package/linker/babel/src/linker_plugin_options.js +0 -13
  244. package/linker/index.js +0 -27
  245. package/linker/src/ast/ast_host.js +0 -20
  246. package/linker/src/ast/ast_value.js +0 -299
  247. package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
  248. package/linker/src/ast/utils.js +0 -31
  249. package/linker/src/fatal_linker_error.js +0 -49
  250. package/linker/src/file_linker/declaration_scope.js +0 -20
  251. package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
  252. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
  253. package/linker/src/file_linker/file_linker.js +0 -97
  254. package/linker/src/file_linker/get_source_file.js +0 -42
  255. package/linker/src/file_linker/linker_environment.js +0 -38
  256. package/linker/src/file_linker/linker_options.js +0 -29
  257. package/linker/src/file_linker/needs_linking.js +0 -41
  258. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
  259. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
  260. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
  261. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
  262. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
  263. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
  264. package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
  265. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
  266. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
  267. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
  268. package/linker/src/file_linker/partial_linkers/util.js +0 -95
  269. package/linker/src/file_linker/translator.js +0 -40
  270. package/linker/src/linker_import_generator.js +0 -43
  271. package/ngcc/index.js +0 -33
  272. package/ngcc/main-ivy-ngcc.js +0 -12
  273. package/ngcc/main-ngcc.js +0 -54
  274. package/ngcc/src/analysis/decoration_analyzer.js +0 -268
  275. package/ngcc/src/analysis/migration_host.js +0 -108
  276. package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
  277. package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
  278. package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
  279. package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
  280. package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
  281. package/ngcc/src/analysis/types.js +0 -15
  282. package/ngcc/src/analysis/util.js +0 -36
  283. package/ngcc/src/command_line_options.js +0 -156
  284. package/ngcc/src/constants.js +0 -23
  285. package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
  286. package/ngcc/src/dependencies/dependency_host.js +0 -143
  287. package/ngcc/src/dependencies/dependency_resolver.js +0 -180
  288. package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
  289. package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
  290. package/ngcc/src/dependencies/module_resolver.js +0 -269
  291. package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
  292. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
  293. package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
  294. package/ngcc/src/entry_point_finder/interface.js +0 -13
  295. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
  296. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
  297. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
  298. package/ngcc/src/entry_point_finder/utils.js +0 -234
  299. package/ngcc/src/execution/analyze_entry_points.js +0 -197
  300. package/ngcc/src/execution/api.js +0 -13
  301. package/ngcc/src/execution/cluster/api.js +0 -20
  302. package/ngcc/src/execution/cluster/executor.js +0 -52
  303. package/ngcc/src/execution/cluster/master.js +0 -311
  304. package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
  305. package/ngcc/src/execution/cluster/utils.js +0 -77
  306. package/ngcc/src/execution/cluster/worker.js +0 -123
  307. package/ngcc/src/execution/create_compile_function.js +0 -76
  308. package/ngcc/src/execution/single_process_executor.js +0 -91
  309. package/ngcc/src/execution/tasks/api.js +0 -35
  310. package/ngcc/src/execution/tasks/completion.js +0 -79
  311. package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
  312. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
  313. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
  314. package/ngcc/src/execution/tasks/utils.js +0 -167
  315. package/ngcc/src/host/commonjs_host.js +0 -261
  316. package/ngcc/src/host/commonjs_umd_utils.js +0 -210
  317. package/ngcc/src/host/delegating_host.js +0 -156
  318. package/ngcc/src/host/esm2015_host.js +0 -2441
  319. package/ngcc/src/host/esm5_host.js +0 -744
  320. package/ngcc/src/host/ngcc_host.js +0 -29
  321. package/ngcc/src/host/umd_host.js +0 -539
  322. package/ngcc/src/host/utils.js +0 -26
  323. package/ngcc/src/locking/async_locker.js +0 -121
  324. package/ngcc/src/locking/lock_file.js +0 -18
  325. package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
  326. package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
  327. package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
  328. package/ngcc/src/locking/sync_locker.js +0 -67
  329. package/ngcc/src/main.js +0 -163
  330. package/ngcc/src/migrations/migration.js +0 -13
  331. package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
  332. package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
  333. package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
  334. package/ngcc/src/migrations/utils.js +0 -137
  335. package/ngcc/src/ngcc_options.js +0 -135
  336. package/ngcc/src/packages/build_marker.js +0 -124
  337. package/ngcc/src/packages/bundle_program.js +0 -80
  338. package/ngcc/src/packages/configuration.js +0 -277
  339. package/ngcc/src/packages/entry_point.js +0 -267
  340. package/ngcc/src/packages/entry_point_bundle.js +0 -96
  341. package/ngcc/src/packages/entry_point_manifest.js +0 -207
  342. package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
  343. package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
  344. package/ngcc/src/packages/source_file_cache.js +0 -207
  345. package/ngcc/src/packages/transformer.js +0 -157
  346. package/ngcc/src/path_mappings.js +0 -27
  347. package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
  348. package/ngcc/src/rendering/dts_renderer.js +0 -170
  349. package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
  350. package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
  351. package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
  352. package/ngcc/src/rendering/renderer.js +0 -204
  353. package/ngcc/src/rendering/rendering_formatter.js +0 -15
  354. package/ngcc/src/rendering/source_maps.js +0 -68
  355. package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
  356. package/ngcc/src/rendering/utils.js +0 -35
  357. package/ngcc/src/utils.js +0 -182
  358. package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
  359. package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
  360. package/ngcc/src/writing/cleaning/utils.js +0 -30
  361. package/ngcc/src/writing/file_writer.js +0 -13
  362. package/ngcc/src/writing/in_place_file_writer.js +0 -90
  363. package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
  364. package/ngcc/src/writing/package_json_updater.js +0 -182
  365. package/src/diagnostics/translate_diagnostics.js +0 -61
  366. package/src/diagnostics/typescript_version.js +0 -96
  367. package/src/extract_i18n.js +0 -62
  368. package/src/language_services.js +0 -34
  369. package/src/main.js +0 -210
  370. package/src/metadata/bundle_index_host.js +0 -133
  371. package/src/metadata/bundler.js +0 -624
  372. package/src/metadata/collector.js +0 -799
  373. package/src/metadata/evaluator.js +0 -677
  374. package/src/metadata/index.js +0 -24
  375. package/src/metadata/index_writer.js +0 -80
  376. package/src/metadata/schema.js +0 -136
  377. package/src/metadata/symbols.js +0 -149
  378. package/src/ngtsc/annotations/index.js +0 -35
  379. package/src/ngtsc/annotations/src/api.js +0 -20
  380. package/src/ngtsc/annotations/src/component.js +0 -1283
  381. package/src/ngtsc/annotations/src/diagnostics.js +0 -174
  382. package/src/ngtsc/annotations/src/directive.js +0 -724
  383. package/src/ngtsc/annotations/src/factory.js +0 -32
  384. package/src/ngtsc/annotations/src/injectable.js +0 -277
  385. package/src/ngtsc/annotations/src/metadata.js +0 -159
  386. package/src/ngtsc/annotations/src/ng_module.js +0 -677
  387. package/src/ngtsc/annotations/src/pipe.js +0 -171
  388. package/src/ngtsc/annotations/src/references_registry.js +0 -38
  389. package/src/ngtsc/annotations/src/util.js +0 -566
  390. package/src/ngtsc/core/api/index.js +0 -25
  391. package/src/ngtsc/core/api/src/adapter.js +0 -20
  392. package/src/ngtsc/core/api/src/interfaces.js +0 -20
  393. package/src/ngtsc/core/api/src/options.js +0 -20
  394. package/src/ngtsc/core/api/src/public_options.js +0 -20
  395. package/src/ngtsc/core/index.js +0 -25
  396. package/src/ngtsc/core/src/compiler.js +0 -1077
  397. package/src/ngtsc/core/src/config.js +0 -28
  398. package/src/ngtsc/core/src/host.js +0 -273
  399. package/src/ngtsc/cycles/index.js +0 -26
  400. package/src/ngtsc/cycles/src/analyzer.js +0 -163
  401. package/src/ngtsc/cycles/src/imports.js +0 -175
  402. package/src/ngtsc/diagnostics/index.js +0 -33
  403. package/src/ngtsc/diagnostics/src/error.js +0 -69
  404. package/src/ngtsc/diagnostics/src/error_code.js +0 -226
  405. package/src/ngtsc/diagnostics/src/util.js +0 -35
  406. package/src/ngtsc/entry_point/index.js +0 -29
  407. package/src/ngtsc/entry_point/src/generator.js +0 -45
  408. package/src/ngtsc/entry_point/src/logic.js +0 -61
  409. package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
  410. package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
  411. package/src/ngtsc/file_system/index.js +0 -45
  412. package/src/ngtsc/file_system/src/compiler_host.js +0 -80
  413. package/src/ngtsc/file_system/src/helpers.js +0 -135
  414. package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
  415. package/src/ngtsc/file_system/src/logical.js +0 -100
  416. package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
  417. package/src/ngtsc/file_system/src/types.js +0 -20
  418. package/src/ngtsc/file_system/src/util.js +0 -38
  419. package/src/ngtsc/file_system/testing/index.d.ts +0 -13
  420. package/src/ngtsc/file_system/testing/index.js +0 -32
  421. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
  422. package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
  423. package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
  424. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
  425. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
  426. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
  427. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
  428. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
  429. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
  430. package/src/ngtsc/file_system/testing/src/test_helper.js +0 -142
  431. package/src/ngtsc/imports/index.js +0 -43
  432. package/src/ngtsc/imports/src/alias.js +0 -158
  433. package/src/ngtsc/imports/src/core.js +0 -98
  434. package/src/ngtsc/imports/src/default.js +0 -153
  435. package/src/ngtsc/imports/src/emitter.js +0 -317
  436. package/src/ngtsc/imports/src/find_export.js +0 -82
  437. package/src/ngtsc/imports/src/reexport.js +0 -20
  438. package/src/ngtsc/imports/src/references.js +0 -171
  439. package/src/ngtsc/imports/src/resolver.js +0 -39
  440. package/src/ngtsc/incremental/api.js +0 -20
  441. package/src/ngtsc/incremental/index.js +0 -29
  442. package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
  443. package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
  444. package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
  445. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
  446. package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
  447. package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
  448. package/src/ngtsc/incremental/src/incremental.js +0 -393
  449. package/src/ngtsc/incremental/src/noop.js +0 -26
  450. package/src/ngtsc/incremental/src/state.js +0 -30
  451. package/src/ngtsc/incremental/src/strategy.js +0 -99
  452. package/src/ngtsc/indexer/index.js +0 -27
  453. package/src/ngtsc/indexer/src/api.js +0 -45
  454. package/src/ngtsc/indexer/src/context.js +0 -40
  455. package/src/ngtsc/indexer/src/template.js +0 -328
  456. package/src/ngtsc/indexer/src/transform.js +0 -66
  457. package/src/ngtsc/logging/index.js +0 -25
  458. package/src/ngtsc/logging/src/console_logger.js +0 -75
  459. package/src/ngtsc/logging/src/logger.js +0 -28
  460. package/src/ngtsc/logging/testing/index.js +0 -23
  461. package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
  462. package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
  463. package/src/ngtsc/metadata/index.js +0 -39
  464. package/src/ngtsc/metadata/src/api.js +0 -26
  465. package/src/ngtsc/metadata/src/dts.js +0 -168
  466. package/src/ngtsc/metadata/src/inheritance.js +0 -122
  467. package/src/ngtsc/metadata/src/property_mapping.js +0 -244
  468. package/src/ngtsc/metadata/src/registry.js +0 -133
  469. package/src/ngtsc/metadata/src/resource_registry.js +0 -109
  470. package/src/ngtsc/metadata/src/util.js +0 -275
  471. package/src/ngtsc/partial_evaluator/index.js +0 -31
  472. package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
  473. package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
  474. package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
  475. package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
  476. package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
  477. package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
  478. package/src/ngtsc/partial_evaluator/src/result.js +0 -72
  479. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
  480. package/src/ngtsc/perf/index.js +0 -28
  481. package/src/ngtsc/perf/src/api.js +0 -291
  482. package/src/ngtsc/perf/src/clock.js +0 -30
  483. package/src/ngtsc/perf/src/noop.js +0 -37
  484. package/src/ngtsc/perf/src/recorder.js +0 -143
  485. package/src/ngtsc/program.js +0 -361
  486. package/src/ngtsc/program_driver/index.js +0 -25
  487. package/src/ngtsc/program_driver/src/api.js +0 -36
  488. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
  489. package/src/ngtsc/reflection/index.js +0 -36
  490. package/src/ngtsc/reflection/src/host.js +0 -88
  491. package/src/ngtsc/reflection/src/type_to_value.js +0 -259
  492. package/src/ngtsc/reflection/src/typescript.js +0 -641
  493. package/src/ngtsc/reflection/src/util.js +0 -37
  494. package/src/ngtsc/resource/index.js +0 -23
  495. package/src/ngtsc/resource/src/loader.js +0 -285
  496. package/src/ngtsc/routing/index.js +0 -26
  497. package/src/ngtsc/routing/src/analyzer.d.ts +0 -37
  498. package/src/ngtsc/routing/src/analyzer.js +0 -82
  499. package/src/ngtsc/routing/src/lazy.d.ts +0 -19
  500. package/src/ngtsc/routing/src/lazy.js +0 -239
  501. package/src/ngtsc/routing/src/route.d.ts +0 -23
  502. package/src/ngtsc/routing/src/route.js +0 -77
  503. package/src/ngtsc/scope/index.js +0 -29
  504. package/src/ngtsc/scope/src/api.js +0 -20
  505. package/src/ngtsc/scope/src/component_scope.js +0 -69
  506. package/src/ngtsc/scope/src/dependency.js +0 -201
  507. package/src/ngtsc/scope/src/local.js +0 -665
  508. package/src/ngtsc/scope/src/typecheck.js +0 -120
  509. package/src/ngtsc/shims/api.js +0 -13
  510. package/src/ngtsc/shims/index.js +0 -39
  511. package/src/ngtsc/shims/src/adapter.js +0 -266
  512. package/src/ngtsc/shims/src/expando.js +0 -147
  513. package/src/ngtsc/shims/src/factory_generator.js +0 -292
  514. package/src/ngtsc/shims/src/reference_tagger.js +0 -94
  515. package/src/ngtsc/shims/src/summary_generator.js +0 -101
  516. package/src/ngtsc/shims/src/util.js +0 -41
  517. package/src/ngtsc/sourcemaps/index.js +0 -27
  518. package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
  519. package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
  520. package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
  521. package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
  522. package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
  523. package/src/ngtsc/switch/index.js +0 -23
  524. package/src/ngtsc/switch/src/switch.js +0 -141
  525. package/src/ngtsc/transform/index.js +0 -36
  526. package/src/ngtsc/transform/src/alias.js +0 -46
  527. package/src/ngtsc/transform/src/api.js +0 -76
  528. package/src/ngtsc/transform/src/compilation.js +0 -820
  529. package/src/ngtsc/transform/src/declaration.js +0 -234
  530. package/src/ngtsc/transform/src/trait.js +0 -111
  531. package/src/ngtsc/transform/src/transform.js +0 -333
  532. package/src/ngtsc/transform/src/utils.js +0 -73
  533. package/src/ngtsc/translator/index.js +0 -37
  534. package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
  535. package/src/ngtsc/translator/src/api/import_generator.js +0 -20
  536. package/src/ngtsc/translator/src/context.js +0 -47
  537. package/src/ngtsc/translator/src/import_manager.js +0 -77
  538. package/src/ngtsc/translator/src/translator.js +0 -353
  539. package/src/ngtsc/translator/src/type_translator.js +0 -223
  540. package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
  541. package/src/ngtsc/translator/src/typescript_translator.js +0 -34
  542. package/src/ngtsc/tsc_plugin.js +0 -129
  543. package/src/ngtsc/typecheck/api/api.js +0 -20
  544. package/src/ngtsc/typecheck/api/checker.js +0 -44
  545. package/src/ngtsc/typecheck/api/completion.js +0 -29
  546. package/src/ngtsc/typecheck/api/context.js +0 -20
  547. package/src/ngtsc/typecheck/api/index.js +0 -27
  548. package/src/ngtsc/typecheck/api/scope.js +0 -20
  549. package/src/ngtsc/typecheck/api/symbols.js +0 -35
  550. package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
  551. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
  552. package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
  553. package/src/ngtsc/typecheck/index.js +0 -29
  554. package/src/ngtsc/typecheck/src/checker.js +0 -763
  555. package/src/ngtsc/typecheck/src/comments.js +0 -181
  556. package/src/ngtsc/typecheck/src/completion.js +0 -232
  557. package/src/ngtsc/typecheck/src/context.js +0 -424
  558. package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
  559. package/src/ngtsc/typecheck/src/dom.js +0 -87
  560. package/src/ngtsc/typecheck/src/environment.js +0 -160
  561. package/src/ngtsc/typecheck/src/expression.js +0 -441
  562. package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
  563. package/src/ngtsc/typecheck/src/oob.js +0 -181
  564. package/src/ngtsc/typecheck/src/shim.js +0 -52
  565. package/src/ngtsc/typecheck/src/source.js +0 -91
  566. package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
  567. package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
  568. package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -546
  569. package/src/ngtsc/typecheck/src/ts_util.js +0 -202
  570. package/src/ngtsc/typecheck/src/type_check_block.js +0 -2210
  571. package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
  572. package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
  573. package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
  574. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -111
  575. package/src/ngtsc/util/src/path.js +0 -33
  576. package/src/ngtsc/util/src/typescript.js +0 -176
  577. package/src/ngtsc/util/src/visitor.js +0 -119
  578. package/src/ngtsc/xi18n/index.js +0 -22
  579. package/src/ngtsc/xi18n/src/context.js +0 -20
  580. package/src/perform_compile.js +0 -322
  581. package/src/perform_watch.js +0 -263
  582. package/src/tooling.js +0 -47
  583. package/src/transformers/api.js +0 -42
  584. package/src/transformers/compiler_host.js +0 -623
  585. package/src/transformers/downlevel_decorators_transform.js +0 -618
  586. package/src/transformers/entry_points.js +0 -25
  587. package/src/transformers/i18n.js +0 -76
  588. package/src/transformers/inline_resources.js +0 -287
  589. package/src/transformers/lower_expressions.js +0 -365
  590. package/src/transformers/metadata_cache.js +0 -96
  591. package/src/transformers/metadata_reader.js +0 -120
  592. package/src/transformers/node_emitter.js +0 -643
  593. package/src/transformers/node_emitter_transform.js +0 -88
  594. package/src/transformers/patch_alias_reference_resolution.js +0 -129
  595. package/src/transformers/program.js +0 -1000
  596. package/src/transformers/r3_metadata_transform.js +0 -73
  597. package/src/transformers/r3_transform.js +0 -44
  598. package/src/transformers/util.js +0 -122
  599. package/src/typescript_support.js +0 -74
  600. 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 = 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 util_1.stripComment(commentText).replace(/^\*\s+/, '');
86
- }
87
- });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9lbWl0dGVyX3RyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvdHJhbnNmb3JtZXJzL25vZGVfZW1pdHRlcl90cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQUdILCtCQUFpQztJQUVqQyxvRkFBcUQ7SUFDckQsb0VBQXFEO0lBRXJELFNBQVMsV0FBVyxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sb0dBRUosUUFBUSxnSUFHWCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxTQUFnQixpQ0FBaUMsQ0FDN0MsY0FBMEMsRUFBRSxPQUFtQixFQUMvRCwwQkFBbUM7UUFDckMsT0FBTztZQUNMLElBQU0sT0FBTyxHQUFHLElBQUksb0NBQXFCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUN0RSxPQUFPLFVBQVMsVUFBeUI7Z0JBQ3ZDLElBQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNsRCxJQUFNLElBQUksR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3RELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxJQUFJO29CQUFFLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekQsSUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO29CQUNWLElBQUEsS0FBQSxlQUFrQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUEsRUFBeEUsYUFBYSxRQUEyRCxDQUFDO29CQUNoRixPQUFPLGFBQWEsQ0FBQztpQkFDdEI7cUJBQU0sSUFBSSxzQkFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ3BELGlGQUFpRjtvQkFDakYsd0JBQXdCO29CQUN4QixtRkFBbUY7b0JBQ25GLGtDQUFrQztvQkFDbEMsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUM3RCxFQUFFLENBQUMsMEJBQTBCLENBQ3pCLFdBQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLFFBQVE7b0JBQzNELHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtnQkFDRCxPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBNUJELDhFQTRCQztJQUVEOzs7T0FHRztJQUNILFNBQVMsc0JBQXNCLENBQUMsVUFBeUI7UUFDdkQsSUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2hFLElBQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0I7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyRSxnR0FBZ0c7UUFDaEcsaUJBQWlCO1FBQ2pCLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNGLElBQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakYsbUZBQW1GO1FBQ25GLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0RCxrRkFBa0Y7UUFDbEYsT0FBTyxtQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0dlbmVyYXRlZEZpbGV9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge1R5cGVTY3JpcHROb2RlRW1pdHRlcn0gZnJvbSAnLi9ub2RlX2VtaXR0ZXInO1xuaW1wb3J0IHtHRU5FUkFURURfRklMRVMsIHN0cmlwQ29tbWVudH0gZnJvbSAnLi91dGlsJztcblxuZnVuY3Rpb24gZ2V0UHJlYW1ibGUob3JpZ2luYWw6IHN0cmluZykge1xuICByZXR1cm4gYCpcbiAqIEBmaWxlb3ZlcnZpZXcgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIEFuZ3VsYXIgdGVtcGxhdGUgY29tcGlsZXIuIERvIG5vdCBlZGl0LlxuICogJHtvcmlnaW5hbH1cbiAqIEBzdXBwcmVzcyB7c3VzcGljaW91c0NvZGUsdXNlbGVzc0NvZGUsbWlzc2luZ1Byb3BlcnRpZXMsbWlzc2luZ092ZXJyaWRlLGNoZWNrVHlwZXMsZXh0cmFSZXF1aXJlfVxuICogdHNsaW50OmRpc2FibGVcbiBgO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSB0cmFuc2Zvcm1lciB0aGF0IGRvZXMgdHdvIHRoaW5ncyBmb3IgZ2VuZXJhdGVkIGZpbGVzIChuZ2ZhY3RvcnkgZXRjKTpcbiAqIC0gYWRkcyBhIGZpbGVvdmVydmlldyBKU0RvYyBjb21tZW50IGNvbnRhaW5pbmcgQ2xvc3VyZSBDb21waWxlciBzcGVjaWZpYyBcInN1cHByZXNzXCJpb25zIGluIEpTRG9jLlxuICogICBUaGUgbmV3IGNvbW1lbnQgd2lsbCBjb250YWluIGFueSBmaWxlb3ZlcnZpZXcgY29tbWVudCB0ZXh0IGZyb20gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoaXNcbiAqICAgZmlsZSB3YXMgZ2VuZXJhdGVkIGZyb20uXG4gKiAtIHVwZGF0ZXMgZ2VuZXJhdGVkIGZpbGVzIHRoYXQgYXJlIG5vdCBpbiB0aGUgZ2l2ZW4gbWFwIG9mIGdlbmVyYXRlZEZpbGVzIHRvIGhhdmUgYW4gZW1wdHlcbiAqICAgbGlzdCBvZiBzdGF0ZW1lbnRzIGFzIHRoZWlyIGJvZHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmd1bGFyRW1pdHRlclRyYW5zZm9ybUZhY3RvcnkoXG4gICAgZ2VuZXJhdGVkRmlsZXM6IE1hcDxzdHJpbmcsIEdlbmVyYXRlZEZpbGU+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, tslib_1.__spreadArray([emitResolver, node], tslib_1.__read(args)));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hfYWxpYXNfcmVmZXJlbmNlX3Jlc29sdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL3RyYW5zZm9ybWVycy9wYXRjaF9hbGlhc19yZWZlcmVuY2VfcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7O0lBRUgsK0JBQWlDO0lBV2pDLElBQU0sOEJBQThCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFRMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZDRztJQUNILFNBQWdCLHFDQUFxQyxDQUFDLE9BQWlDO1FBRXJGLCtFQUErRTtRQUMvRSw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JELDJDQUEyQyxFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFL0MsaUdBQWlHO1FBQ2pHLDZEQUE2RDtRQUM3RCx1REFBdUQ7UUFDdkQsSUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvRSxJQUFJLHlCQUF5QixLQUFLLFNBQVMsRUFBRTtZQUMzQyxPQUFPLHlCQUF5QixDQUFDO1NBQ2xDO1FBRUQsSUFBTSxvQ0FBb0MsR0FBRyxZQUFZLENBQUMsNEJBQTRCLENBQUM7UUFDdkYsNEZBQTRGO1FBQzVGLDZGQUE2RjtRQUM3RixJQUFJLG9DQUFvQyxLQUFLLFNBQVMsRUFBRTtZQUN0RCwyQ0FBMkMsRUFBRSxDQUFDO1NBQy9DO1FBRUQsSUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUNwRCxZQUFZLENBQUMsNEJBQTRCLEdBQUcsVUFBUyxJQUFJO1lBQUUsY0FBTztpQkFBUCxVQUFPLEVBQVAscUJBQU8sRUFBUCxJQUFPO2dCQUFQLDZCQUFPOztZQUNoRSxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakUsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sb0NBQW9DLENBQUMsSUFBSSxPQUF6QyxvQ0FBb0MseUJBQU0sWUFBWSxFQUFFLElBQUksa0JBQUssSUFBSSxJQUFFO1FBQ2hGLENBQUMsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsaUJBQWlCLENBQUM7SUFDMUUsQ0FBQztJQWhDRCxzRkFnQ0M7SUFFRDs7OztPQUlHO0lBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsSUFBYTtRQUVwRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBSEQsNERBR0M7SUFFRCxvRUFBb0U7SUFDcEUsU0FBUyx1Q0FBdUMsQ0FBQyxPQUFpQztRQUVoRixPQUFRLE9BQXNELENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztJQUMvRixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILFNBQVMsMkNBQTJDO1FBQ2xELE1BQU0sS0FBSyxDQUNQLDJFQUEyRTtZQUMzRSxxRkFBcUY7WUFDckYsa0JBQWtCO1lBQ2xCLHFFQUFxRTtZQUNyRSx3RUFBd0UsQ0FBQyxDQUFDO0lBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgVHlwZVNjcmlwdCB0cmFuc2Zvcm1hdGlvbiBjb250ZXh0IHdpdGggdGhlIGludGVybmFsIGVtaXRcbiAqIHJlc29sdmVyIGV4cG9zZWQuIFRoZXJlIGFyZSByZXF1ZXN0cyB1cHN0cmVhbSBpbiBUeXBlU2NyaXB0IHRvIGV4cG9zZVxuICogdGhhdCBhcyBwdWJsaWMgQVBJOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTE2Li5cbiAqL1xuaW50ZXJmYWNlIFRyYW5zZm9ybWF0aW9uQ29udGV4dFdpdGhSZXNvbHZlciBleHRlbmRzIHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCB7XG4gIGdldEVtaXRSZXNvbHZlcjogKCkgPT4gRW1pdFJlc29sdmVyO1xufVxuXG5jb25zdCBwYXRjaGVkUmVmZXJlbmNlZEFsaWFzZXNTeW1ib2wgPSBTeW1ib2woJ3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlcycpO1xuXG4vKiogRGVzY3JpYmVzIGEgc3Vic2V0IG9mIHRoZSBUeXBlU2NyaXB0IGludGVybmFsIGVtaXQgcmVzb2x2ZXIuICovXG5pbnRlcmZhY2UgRW1pdFJlc29sdmVyIHtcbiAgaXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbj8obm9kZTogdHMuTm9kZSwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZDtcbiAgW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF0/OiBTZXQ8dHMuRGVjbGFyYXRpb24+O1xufVxuXG4vKipcbiAqIFBhdGNoZXMgdGhlIGFsaWFzIGRlY2xhcmF0aW9uIHJlZmVyZW5jZSByZXNvbHV0aW9uIGZvciBhIGdpdmVuIHRyYW5zZm9ybWF0aW9uIGNvbnRleHRcbiAqIHNvIHRoYXQgVHlwZVNjcmlwdCBrbm93cyBhYm91dCB0aGUgc3BlY2lmaWVkIGFsaWFzIGRlY2xhcmF0aW9ucyBiZWluZyByZWZlcmVuY2VkLlxuICpcbiAqIFRoaXMgZXhpc3RzIGJlY2F1c2UgVHlwZVNjcmlwdCBwZXJmb3JtcyBhbmFseXNpcyBvZiBpbXBvcnQgdXNhZ2UgYmVmb3JlIHRyYW5zZm9ybWVyc1xuICogcnVuIGFuZCBkb2Vzbid0IHJlZnJlc2ggaXRzIHN0YXRlIGFmdGVyIHRyYW5zZm9ybWF0aW9ucy4gVGhpcyBtZWFucyB0aGF0IGltcG9ydHNcbiAqIGZvciBzeW1ib2xzIHVzZWQgYXMgY29uc3RydWN0b3IgdHlwZXMgYXJlIGVsaWRlZCBkdWUgdG8gdGhlaXIgb3JpZ2luYWwgdHlwZS1vbmx5IHVzYWdlLlxuICpcbiAqIEluIHJlYWxpdHkgdGhvdWdoLCBzaW5jZSB3ZSBkb3dubGV2ZWwgZGVjb3JhdG9ycyBhbmQgY29uc3RydWN0b3IgcGFyYW1ldGVycywgd2Ugd2FudFxuICogdGhlc2Ugc3ltYm9scyB0byBiZSByZXRhaW5lZCBpbiB0aGUgSmF2YVNjcmlwdCBvdXRwdXQgYXMgdGhleSB3aWxsIGJlIHVzZWQgYXMgdmFsdWVzXG4gKiBhdCBydW50aW1lLiBXZSBjYW4gaW5zdHJ1Y3QgVHlwZVNjcmlwdCB0byBwcmVzZXJ2ZSBpbXBvcnRzIGZvciBzdWNoIGlkZW50aWZpZXJzIGJ5XG4gKiBjcmVhdGluZyBhIG11dGFibGUgY2xvbmUgb2YgYSBnaXZlbiBpbXBvcnQgc3BlY2lmaWVyL2NsYXVzZSBvciBuYW1lc3BhY2UsIGJ1dCB0aGF0XG4gKiBoYXMgdGhlIGRvd25zaWRlIG9mIHByZXNlcnZpbmcgdGhlIGZ1bGwgaW1wb3J0IGluIHRoZSBKUyBvdXRwdXQuIFNlZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9ibG9iLzNlYWE3YzY1ZjZmMDc2YTA4YTVmN2YxOTQ2ZmQwZGY3Yzc0MzAyNTkvc3JjL2NvbXBpbGVyL3RyYW5zZm9ybWVycy90cy50cyNMMjQyLUwyNTAuXG4gKlxuICogVGhpcyBpcyBhIHRyaWNrIHRoZSBDTEkgdXNlZCBpbiB0aGUgcGFzdCAgZm9yIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBkb3dubGV2ZWxpbmcgaW4gSklUOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGkvYmxvYi9iM2Y4NGNjNTE4NDMzNzY2NmNlNjFjMDdiN2I5ZGY0MTgwMzAxMDZmL3BhY2thZ2VzL25ndG9vbHMvd2VicGFjay9zcmMvdHJhbnNmb3JtZXJzL2N0b3ItcGFyYW1ldGVycy50cyNMMzIzLUwzMjVcbiAqIFRoZSB0cmljayBpcyBub3QgaWRlYWwgdGhvdWdoIGFzIGl0IHByZXNlcnZlcyB0aGUgZnVsbCBpbXBvcnQgKGFzIG91dGxpbmVkIGJlZm9yZSksIGFuZCBpdFxuICogcmVzdWx0cyBpbiBhIHNsb3ctZG93biBkdWUgdG8gdGhlIHR5cGUgY2hlY2tlciBiZWluZyBpbnZvbHZlZCBtdWx0aXBsZSB0aW1lcy4gVGhlIENMSSB3b3JrZWRcbiAqIGFyb3VuZCB0aGlzIGltcG9ydCBwcmVzZXJ2aW5nIGlzc3VlIGJ5IGhhdmluZyBhbm90aGVyIGNvbXBsZXggcG9zdC1wcm9jZXNzIHN0ZXAgdGhhdCBkZXRlY3RzIGFuZFxuICogZWxpZGVzIHVudXNlZCBpbXBvcnRzLiBOb3RlIHRoYXQgdGhlc2UgdW51c2VkIGltcG9ydHMgY291bGQgY2F1c2UgdW51c2VkIGNodW5rcyBiZWluZyBnZW5lcmF0ZWRcbiAqIGJ5IFdlYnBhY2sgaWYgdGhlIGFwcGxpY2F0aW9uIG9yIGxpYnJhcnkgaXMgbm90IG1hcmtlZCBhcyBzaWRlLWVmZmVjdCBmcmVlLlxuICpcbiAqIFRoaXMgaXMgbm90IGlkZWFsIHRob3VnaCwgYXMgd2UgYmFzaWNhbGx5IHJlLWltcGxlbWVudCB0aGUgY29tcGxleCBpbXBvcnQgdXNhZ2UgcmVzb2x1dGlvblxuICogZnJvbSBUeXBlU2NyaXB0LiBXZSBjYW4gZG8gYmV0dGVyIGJ5IGxldHRpbmcgVHlwZVNjcmlwdCBkbyB0aGUgaW1wb3J0IGVsaWRpbmcsIGJ1dCBwcm92aWRpbmdcbiAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhbGlhcyBkZWNsYXJhdGlvbnMgKGUuZy4gaW1wb3J0IHNwZWNpZmllcnMpIHRoYXQgc2hvdWxkIG5vdCBiZSBlbGlkZWRcbiAqIGJlY2F1c2UgdGhleSBhcmUgYWN0dWFsbHkgcmVmZXJlbmNlZCAoYXMgdGhleSB3aWxsIG5vdyBhcHBlYXIgaW4gc3RhdGljIHByb3BlcnRpZXMpLlxuICpcbiAqIE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlc2UgbGltaXRhdGlvbnMgd2l0aCB0cmFuc2Zvcm1lcnMgY2FuIGJlIGZvdW5kIGluOlxuICogICAxLiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTUyLlxuICogICAyLiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE3NTE2LlxuICogICAzLiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci90c2lja2xlL2lzc3Vlcy82MzUuXG4gKlxuICogVGhlIHBhdGNoIHdlIGFwcGx5IHRvIHRlbGwgVHlwZVNjcmlwdCBhYm91dCBhY3R1YWwgcmVmZXJlbmNlZCBhbGlhc2VzIChpLmUuIGltcG9ydGVkIHN5bWJvbHMpLFxuICogbWF0Y2hlcyBjb25jZXB0dWFsbHkgd2l0aCB0aGUgbG9naWMgdGhhdCBydW5zIGludGVybmFsbHkgaW4gVHlwZVNjcmlwdCB3aGVuIHRoZVxuICogYGVtaXREZWNvcmF0b3JNZXRhZGF0YWAgZmxhZyBpcyBlbmFibGVkLiBUeXBlU2NyaXB0IGJhc2ljYWxseSBzdXJmYWNlcyB0aGUgc2FtZSBwcm9ibGVtIGFuZFxuICogc29sdmVzIGl0IGNvbmNlcHR1YWxseSB0aGUgc2FtZSB3YXksIGJ1dCBvYnZpb3VzbHkgZG9lc24ndCBuZWVkIHRvIGFjY2VzcyBhbiBgQGludGVybmFsYCBBUEkuXG4gKlxuICogVGhlIHNldCB0aGF0IGlzIHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaXMgbWVhbnQgdG8gYmUgZmlsbGVkIHdpdGggaW1wb3J0IGRlY2xhcmF0aW9uIG5vZGVzXG4gKiB0aGF0IGhhdmUgYmVlbiByZWZlcmVuY2VkIGluIGEgdmFsdWUtcG9zaXRpb24gYnkgdGhlIHRyYW5zZm9ybSwgc3VjaCB0aGUgaW5zdGFsbGVkIHBhdGNoIGNhblxuICogZW5zdXJlIHRoYXQgdGhvc2UgaW1wb3J0IGRlY2xhcmF0aW9ucyBhcmUgbm90IGVsaWRlZC5cbiAqXG4gKiBTZWUgYmVsb3cuIE5vdGUgdGhhdCB0aGlzIHVzZXMgc291cmNlZ3JhcGggYXMgdGhlIFR5cGVTY3JpcHQgY2hlY2tlciBmaWxlIGRvZXNuJ3QgZGlzcGxheSBvblxuICogR2l0aHViLlxuICogaHR0cHM6Ly9zb3VyY2VncmFwaC5jb20vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdEAzZWFhN2M2NWY2ZjA3NmEwOGE1ZjdmMTk0NmZkMGRmN2M3NDMwMjU5Ly0vYmxvYi9zcmMvY29tcGlsZXIvY2hlY2tlci50cyNMMzEyMTktMzEyNTdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRJc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uUGF0Y2goY29udGV4dDogdHMuVHJhbnNmb3JtYXRpb25Db250ZXh0KTpcbiAgICBTZXQ8dHMuRGVjbGFyYXRpb24+IHtcbiAgLy8gSWYgdGhlIGBnZXRFbWl0UmVzb2x2ZXJgIG1ldGhvZCBpcyBub3QgYXZhaWxhYmxlLCBUUyBtb3N0IGxpa2VseSBjaGFuZ2VkIHRoZVxuICAvLyBpbnRlcm5hbCBzdHJ1Y3R1cmUgb2YgdGhlIHRyYW5zZm9ybWF0aW9uIGNvbnRleHQuIFdlIHdpbGwgYWJvcnQgZ3JhY2VmdWxseS5cbiAgaWYgKCFpc1RyYW5zZm9ybWF0aW9uQ29udGV4dFdpdGhFbWl0UmVzb2x2ZXIoY29udGV4dCkpIHtcbiAgICB0aHJvd0luY29tcGF0aWJsZVRyYW5zZm9ybWF0aW9uQ29udGV4dEVycm9yKCk7XG4gIH1cbiAgY29uc3QgZW1pdFJlc29sdmVyID0gY29udGV4dC5nZXRFbWl0UmVzb2x2ZXIoKTtcblxuICAvLyBUaGUgZW1pdCByZXNvbHZlciBtYXkgaGF2ZSBiZWVuIHBhdGNoZWQgYWxyZWFkeSwgaW4gd2hpY2ggY2FzZSB3ZSByZXR1cm4gdGhlIHNldCBvZiByZWZlcmVuY2VkXG4gIC8vIGFsaWFzZXMgdGhhdCB3YXMgY3JlYXRlZCB3aGVuIHRoZSBwYXRjaCB3YXMgZmlyc3QgYXBwbGllZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzQwMjc2LlxuICBjb25zdCBleGlzdGluZ1JlZmVyZW5jZWRBbGlhc2VzID0gZW1pdFJlc29sdmVyW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF07XG4gIGlmIChleGlzdGluZ1JlZmVyZW5jZWRBbGlhc2VzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZXhpc3RpbmdSZWZlcmVuY2VkQWxpYXNlcztcbiAgfVxuXG4gIGNvbnN0IG9yaWdpbmFsSXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9IGVtaXRSZXNvbHZlci5pc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uO1xuICAvLyBJZiB0aGUgZW1pdCByZXNvbHZlciBkb2VzIG5vdCBoYXZlIGEgZnVuY3Rpb24gY2FsbGVkIGBpc1JlZmVyZW5jZWRBbGlhc0RlY2xhcmF0aW9uYCwgdGhlblxuICAvLyB3ZSBhYm9ydCBncmFjZWZ1bGx5IGFzIG1vc3QgbGlrZWx5IFRTIGNoYW5nZWQgdGhlIGludGVybmFsIHN0cnVjdHVyZSBvZiB0aGUgZW1pdCByZXNvbHZlci5cbiAgaWYgKG9yaWdpbmFsSXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3dJbmNvbXBhdGlibGVUcmFuc2Zvcm1hdGlvbkNvbnRleHRFcnJvcigpO1xuICB9XG5cbiAgY29uc3QgcmVmZXJlbmNlZEFsaWFzZXMgPSBuZXcgU2V0PHRzLkRlY2xhcmF0aW9uPigpO1xuICBlbWl0UmVzb2x2ZXIuaXNSZWZlcmVuY2VkQWxpYXNEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uKG5vZGUsIC4uLmFyZ3MpIHtcbiAgICBpZiAoaXNBbGlhc0ltcG9ydERlY2xhcmF0aW9uKG5vZGUpICYmIHJlZmVyZW5jZWRBbGlhc2VzLmhhcyhub2RlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBvcmlnaW5hbElzUmVmZXJlbmNlZEFsaWFzRGVjbGFyYXRpb24uY2FsbChlbWl0UmVzb2x2ZXIsIG5vZGUsIC4uLmFyZ3MpO1xuICB9O1xuICByZXR1cm4gZW1pdFJlc29sdmVyW3BhdGNoZWRSZWZlcmVuY2VkQWxpYXNlc1N5bWJvbF0gPSByZWZlcmVuY2VkQWxpYXNlcztcbn1cblxuLyoqXG4gKiBHZXRzIHdoZXRoZXIgYSBnaXZlbiBub2RlIGNvcnJlc3BvbmRzIHRvIGFuIGltcG9ydCBhbGlhcyBkZWNsYXJhdGlvbi4gQWxpYXNcbiAqIGRlY2xhcmF0aW9ucyBjYW4gYmUgaW1wb3J0IHNwZWNpZmllcnMsIG5hbWVzcGFjZSBpbXBvcnRzIG9yIGltcG9ydCBjbGF1c2VzXG4gKiBhcyB0aGVzZSBkbyBub3QgZGVjbGFyZSBhbiBhY3R1YWwgc3ltYm9sIGJ1dCBqdXN0IHBvaW50IHRvIGEgdGFyZ2V0IGRlY2xhcmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBbGlhc0ltcG9ydERlY2xhcmF0aW9uKG5vZGU6IHRzLk5vZGUpOiBub2RlIGlzIHRzLkltcG9ydFNwZWNpZmllcnxcbiAgICB0cy5OYW1lc3BhY2VJbXBvcnR8dHMuSW1wb3J0Q2xhdXNlIHtcbiAgcmV0dXJuIHRzLmlzSW1wb3J0U3BlY2lmaWVyKG5vZGUpIHx8IHRzLmlzTmFtZXNwYWNlSW1wb3J0KG5vZGUpIHx8IHRzLmlzSW1wb3J0Q2xhdXNlKG5vZGUpO1xufVxuXG4vKiogV2hldGhlciB0aGUgdHJhbnNmb3JtYXRpb24gY29udGV4dCBleHBvc2VzIGl0cyBlbWl0IHJlc29sdmVyLiAqL1xuZnVuY3Rpb24gaXNUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoRW1pdFJlc29sdmVyKGNvbnRleHQ6IHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCk6XG4gICAgY29udGV4dCBpcyBUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoUmVzb2x2ZXIge1xuICByZXR1cm4gKGNvbnRleHQgYXMgUGFydGlhbDxUcmFuc2Zvcm1hdGlvbkNvbnRleHRXaXRoUmVzb2x2ZXI+KS5nZXRFbWl0UmVzb2x2ZXIgIT09IHVuZGVmaW5lZDtcbn1cblxuXG4vKipcbiAqIFRocm93cyBhbiBlcnJvciBhYm91dCBhbiBpbmNvbXBhdGlibGUgVHlwZVNjcmlwdCB2ZXJzaW9uIGZvciB3aGljaCB0aGUgYWxpYXNcbiAqIGRlY2xhcmF0aW9uIHJlZmVyZW5jZSByZXNvbHV0aW9uIGNvdWxkIG5vdCBiZSBtb25rZXktcGF0Y2hlZC4gVGhlIGVycm9yIHdpbGxcbiAqIGFsc28gcHJvcG9zZSBwb3RlbnRpYWwgc29sdXRpb25zIHRoYXQgY2FuIGJlIGFwcGxpZWQgYnkgZGV2ZWxvcGVycy5cbiAqL1xuZnVuY3Rpb24gdGhyb3dJbmNvbXBhdGlibGVUcmFuc2Zvcm1hdGlvbkNvbnRleHRFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IEVycm9yKFxuICAgICAgJ1VuYWJsZSB0byBkb3dubGV2ZWwgQW5ndWxhciBkZWNvcmF0b3JzIGR1ZSB0byBhbiBpbmNvbXBhdGlibGUgVHlwZVNjcmlwdCAnICtcbiAgICAgICd2ZXJzaW9uLlxcbklmIHlvdSByZWNlbnRseSB1cGRhdGVkIFR5cGVTY3JpcHQgYW5kIHRoaXMgaXNzdWUgc3VyZmFjZXMgbm93LCBjb25zaWRlciAnICtcbiAgICAgICdkb3duZ3JhZGluZy5cXG5cXG4nICtcbiAgICAgICdQbGVhc2UgcmVwb3J0IGFuIGlzc3VlIG9uIHRoZSBBbmd1bGFyIHJlcG9zaXRvcmllcyB3aGVuIHRoaXMgaXNzdWUgJyArXG4gICAgICAnc3VyZmFjZXMgYW5kIHlvdSBhcmUgdXNpbmcgYSBzdXBwb3NlZGx5IGNvbXBhdGlibGUgVHlwZVNjcmlwdCB2ZXJzaW9uLicpO1xufVxuIl19