@angular/compiler-cli 12.2.7 → 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 (602) 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 +1 -1
  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/bin/ng_xi18n.d.ts +10 -0
  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 +14 -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 +1 -12
  119. package/src/ngtsc/core/api/src/options.d.ts +1 -1
  120. package/src/ngtsc/core/src/compiler.d.ts +2 -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/entry_point/src/generator.d.ts +1 -1
  126. package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
  127. package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
  128. package/src/ngtsc/file_system/src/logical.d.ts +1 -1
  129. package/src/ngtsc/file_system/src/util.d.ts +1 -1
  130. package/src/ngtsc/imports/src/alias.d.ts +1 -1
  131. package/src/ngtsc/imports/src/default.d.ts +1 -1
  132. package/src/ngtsc/imports/src/emitter.d.ts +1 -1
  133. package/src/ngtsc/imports/src/find_export.d.ts +1 -1
  134. package/src/ngtsc/imports/src/references.d.ts +1 -1
  135. package/src/ngtsc/imports/src/resolver.d.ts +1 -1
  136. package/src/ngtsc/incremental/api.d.ts +1 -1
  137. package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
  138. package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
  139. package/src/ngtsc/incremental/src/state.d.ts +1 -1
  140. package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
  141. package/src/ngtsc/indexer/src/api.d.ts +5 -2
  142. package/src/ngtsc/metadata/src/api.d.ts +1 -1
  143. package/src/ngtsc/metadata/src/dts.d.ts +1 -1
  144. package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
  145. package/src/ngtsc/metadata/src/util.d.ts +1 -1
  146. package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
  147. package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
  148. package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
  149. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
  150. package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
  151. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
  152. package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
  153. package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
  154. package/src/ngtsc/program.d.ts +1 -1
  155. package/src/ngtsc/program_driver/src/api.d.ts +1 -1
  156. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
  157. package/src/ngtsc/reflection/src/host.d.ts +1 -1
  158. package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
  159. package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
  160. package/src/ngtsc/reflection/src/util.d.ts +1 -1
  161. package/src/ngtsc/resource/src/loader.d.ts +1 -1
  162. package/src/ngtsc/scope/src/local.d.ts +1 -1
  163. package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
  164. package/src/ngtsc/shims/api.d.ts +1 -1
  165. package/src/ngtsc/shims/src/adapter.d.ts +1 -1
  166. package/src/ngtsc/shims/src/expando.d.ts +1 -1
  167. package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
  168. package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
  169. package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
  170. package/src/ngtsc/switch/src/switch.d.ts +1 -1
  171. package/src/ngtsc/transform/src/alias.d.ts +1 -1
  172. package/src/ngtsc/transform/src/api.d.ts +1 -1
  173. package/src/ngtsc/transform/src/compilation.d.ts +1 -1
  174. package/src/ngtsc/transform/src/declaration.d.ts +1 -1
  175. package/src/ngtsc/transform/src/trait.d.ts +1 -1
  176. package/src/ngtsc/transform/src/transform.d.ts +1 -1
  177. package/src/ngtsc/transform/src/utils.d.ts +1 -1
  178. package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
  179. package/src/ngtsc/translator/src/translator.d.ts +0 -1
  180. package/src/ngtsc/translator/src/type_translator.d.ts +1 -2
  181. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
  182. package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
  183. package/src/ngtsc/tsc_plugin.d.ts +1 -1
  184. package/src/ngtsc/typecheck/api/api.d.ts +1 -1
  185. package/src/ngtsc/typecheck/api/checker.d.ts +8 -5
  186. package/src/ngtsc/typecheck/api/context.d.ts +1 -1
  187. package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
  188. package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
  189. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
  190. package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
  191. package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
  192. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
  193. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
  194. package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
  195. package/src/ngtsc/typecheck/src/checker.d.ts +5 -5
  196. package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
  197. package/src/ngtsc/typecheck/src/completion.d.ts +4 -6
  198. package/src/ngtsc/typecheck/src/context.d.ts +1 -1
  199. package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
  200. package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
  201. package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
  202. package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
  203. package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
  204. package/src/ngtsc/typecheck/src/source.d.ts +1 -1
  205. package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
  206. package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
  207. package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
  208. package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
  209. package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
  210. package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
  211. package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
  212. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
  213. package/src/ngtsc/util/src/typescript.d.ts +1 -1
  214. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  215. package/src/perform_compile.d.ts +1 -1
  216. package/src/perform_watch.d.ts +1 -1
  217. package/src/transformers/api.d.ts +2 -5
  218. package/src/transformers/compiler_host.d.ts +1 -1
  219. package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
  220. package/src/{ngtsc/routing → transformers/downlevel_decorators_transform}/index.d.ts +2 -3
  221. package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
  222. package/src/transformers/i18n.d.ts +1 -1
  223. package/src/transformers/inline_resources.d.ts +1 -1
  224. package/src/transformers/lower_expressions.d.ts +1 -1
  225. package/src/transformers/metadata_cache.d.ts +1 -1
  226. package/src/transformers/node_emitter.d.ts +2 -3
  227. package/src/transformers/node_emitter_transform.d.ts +1 -1
  228. package/src/transformers/program.d.ts +1 -1
  229. package/src/transformers/r3_metadata_transform.d.ts +1 -1
  230. package/src/transformers/r3_transform.d.ts +1 -1
  231. package/src/transformers/util.d.ts +1 -1
  232. package/index.js +0 -40
  233. package/linker/babel/index.js +0 -25
  234. package/linker/babel/src/ast/babel_ast_factory.js +0 -153
  235. package/linker/babel/src/ast/babel_ast_host.js +0 -181
  236. package/linker/babel/src/babel_declaration_scope.js +0 -67
  237. package/linker/babel/src/babel_plugin.js +0 -38
  238. package/linker/babel/src/es2015_linker_plugin.js +0 -183
  239. package/linker/babel/src/linker_plugin_options.js +0 -13
  240. package/linker/index.js +0 -27
  241. package/linker/src/ast/ast_host.js +0 -20
  242. package/linker/src/ast/ast_value.js +0 -299
  243. package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
  244. package/linker/src/ast/utils.js +0 -31
  245. package/linker/src/fatal_linker_error.js +0 -49
  246. package/linker/src/file_linker/declaration_scope.js +0 -20
  247. package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
  248. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
  249. package/linker/src/file_linker/file_linker.js +0 -97
  250. package/linker/src/file_linker/get_source_file.js +0 -42
  251. package/linker/src/file_linker/linker_environment.js +0 -38
  252. package/linker/src/file_linker/linker_options.js +0 -29
  253. package/linker/src/file_linker/needs_linking.js +0 -41
  254. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
  255. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
  256. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
  257. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
  258. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
  259. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
  260. package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
  261. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
  262. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
  263. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
  264. package/linker/src/file_linker/partial_linkers/util.js +0 -95
  265. package/linker/src/file_linker/translator.js +0 -40
  266. package/linker/src/linker_import_generator.js +0 -43
  267. package/ngcc/index.js +0 -33
  268. package/ngcc/main-ivy-ngcc.js +0 -12
  269. package/ngcc/main-ngcc.js +0 -54
  270. package/ngcc/src/analysis/decoration_analyzer.js +0 -268
  271. package/ngcc/src/analysis/migration_host.js +0 -108
  272. package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
  273. package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
  274. package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
  275. package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
  276. package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
  277. package/ngcc/src/analysis/types.js +0 -15
  278. package/ngcc/src/analysis/util.js +0 -36
  279. package/ngcc/src/command_line_options.js +0 -156
  280. package/ngcc/src/constants.js +0 -23
  281. package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
  282. package/ngcc/src/dependencies/dependency_host.js +0 -143
  283. package/ngcc/src/dependencies/dependency_resolver.js +0 -180
  284. package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
  285. package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
  286. package/ngcc/src/dependencies/module_resolver.js +0 -269
  287. package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
  288. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
  289. package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
  290. package/ngcc/src/entry_point_finder/interface.js +0 -13
  291. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
  292. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
  293. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
  294. package/ngcc/src/entry_point_finder/utils.js +0 -234
  295. package/ngcc/src/execution/analyze_entry_points.js +0 -197
  296. package/ngcc/src/execution/api.js +0 -13
  297. package/ngcc/src/execution/cluster/api.js +0 -20
  298. package/ngcc/src/execution/cluster/executor.js +0 -52
  299. package/ngcc/src/execution/cluster/master.js +0 -311
  300. package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
  301. package/ngcc/src/execution/cluster/utils.js +0 -77
  302. package/ngcc/src/execution/cluster/worker.js +0 -123
  303. package/ngcc/src/execution/create_compile_function.js +0 -76
  304. package/ngcc/src/execution/single_process_executor.js +0 -91
  305. package/ngcc/src/execution/tasks/api.js +0 -35
  306. package/ngcc/src/execution/tasks/completion.js +0 -79
  307. package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
  308. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
  309. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
  310. package/ngcc/src/execution/tasks/utils.js +0 -167
  311. package/ngcc/src/host/commonjs_host.js +0 -261
  312. package/ngcc/src/host/commonjs_umd_utils.js +0 -210
  313. package/ngcc/src/host/delegating_host.js +0 -156
  314. package/ngcc/src/host/esm2015_host.js +0 -2441
  315. package/ngcc/src/host/esm5_host.js +0 -744
  316. package/ngcc/src/host/ngcc_host.js +0 -29
  317. package/ngcc/src/host/umd_host.js +0 -539
  318. package/ngcc/src/host/utils.js +0 -26
  319. package/ngcc/src/locking/async_locker.js +0 -121
  320. package/ngcc/src/locking/lock_file.js +0 -18
  321. package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
  322. package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
  323. package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
  324. package/ngcc/src/locking/sync_locker.js +0 -67
  325. package/ngcc/src/main.js +0 -163
  326. package/ngcc/src/migrations/migration.js +0 -13
  327. package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
  328. package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
  329. package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
  330. package/ngcc/src/migrations/utils.js +0 -137
  331. package/ngcc/src/ngcc_options.js +0 -135
  332. package/ngcc/src/packages/build_marker.js +0 -124
  333. package/ngcc/src/packages/bundle_program.js +0 -80
  334. package/ngcc/src/packages/configuration.js +0 -277
  335. package/ngcc/src/packages/entry_point.js +0 -267
  336. package/ngcc/src/packages/entry_point_bundle.js +0 -96
  337. package/ngcc/src/packages/entry_point_manifest.js +0 -207
  338. package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
  339. package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
  340. package/ngcc/src/packages/source_file_cache.js +0 -207
  341. package/ngcc/src/packages/transformer.js +0 -157
  342. package/ngcc/src/path_mappings.js +0 -27
  343. package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
  344. package/ngcc/src/rendering/dts_renderer.js +0 -170
  345. package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
  346. package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
  347. package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
  348. package/ngcc/src/rendering/renderer.js +0 -204
  349. package/ngcc/src/rendering/rendering_formatter.js +0 -15
  350. package/ngcc/src/rendering/source_maps.js +0 -68
  351. package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
  352. package/ngcc/src/rendering/utils.js +0 -35
  353. package/ngcc/src/utils.js +0 -182
  354. package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
  355. package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
  356. package/ngcc/src/writing/cleaning/utils.js +0 -30
  357. package/ngcc/src/writing/file_writer.js +0 -13
  358. package/ngcc/src/writing/in_place_file_writer.js +0 -90
  359. package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
  360. package/ngcc/src/writing/package_json_updater.js +0 -182
  361. package/src/diagnostics/translate_diagnostics.js +0 -61
  362. package/src/diagnostics/typescript_version.js +0 -96
  363. package/src/extract_i18n.js +0 -62
  364. package/src/language_services.js +0 -34
  365. package/src/main.js +0 -210
  366. package/src/metadata/bundle_index_host.js +0 -133
  367. package/src/metadata/bundler.js +0 -624
  368. package/src/metadata/collector.js +0 -799
  369. package/src/metadata/evaluator.js +0 -677
  370. package/src/metadata/index.js +0 -24
  371. package/src/metadata/index_writer.js +0 -80
  372. package/src/metadata/schema.js +0 -136
  373. package/src/metadata/symbols.js +0 -149
  374. package/src/ngtsc/annotations/index.js +0 -35
  375. package/src/ngtsc/annotations/src/api.js +0 -20
  376. package/src/ngtsc/annotations/src/component.js +0 -1286
  377. package/src/ngtsc/annotations/src/diagnostics.js +0 -174
  378. package/src/ngtsc/annotations/src/directive.js +0 -724
  379. package/src/ngtsc/annotations/src/factory.js +0 -32
  380. package/src/ngtsc/annotations/src/injectable.js +0 -277
  381. package/src/ngtsc/annotations/src/metadata.js +0 -159
  382. package/src/ngtsc/annotations/src/ng_module.js +0 -677
  383. package/src/ngtsc/annotations/src/pipe.js +0 -171
  384. package/src/ngtsc/annotations/src/references_registry.js +0 -38
  385. package/src/ngtsc/annotations/src/util.js +0 -566
  386. package/src/ngtsc/core/api/index.js +0 -25
  387. package/src/ngtsc/core/api/src/adapter.js +0 -20
  388. package/src/ngtsc/core/api/src/interfaces.js +0 -20
  389. package/src/ngtsc/core/api/src/options.js +0 -20
  390. package/src/ngtsc/core/api/src/public_options.js +0 -20
  391. package/src/ngtsc/core/index.js +0 -25
  392. package/src/ngtsc/core/src/compiler.js +0 -1142
  393. package/src/ngtsc/core/src/host.js +0 -273
  394. package/src/ngtsc/cycles/index.js +0 -26
  395. package/src/ngtsc/cycles/src/analyzer.js +0 -163
  396. package/src/ngtsc/cycles/src/imports.js +0 -175
  397. package/src/ngtsc/diagnostics/index.js +0 -33
  398. package/src/ngtsc/diagnostics/src/error.js +0 -69
  399. package/src/ngtsc/diagnostics/src/error_code.js +0 -235
  400. package/src/ngtsc/diagnostics/src/util.js +0 -35
  401. package/src/ngtsc/entry_point/index.js +0 -29
  402. package/src/ngtsc/entry_point/src/generator.js +0 -45
  403. package/src/ngtsc/entry_point/src/logic.js +0 -61
  404. package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
  405. package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
  406. package/src/ngtsc/file_system/index.js +0 -45
  407. package/src/ngtsc/file_system/src/compiler_host.js +0 -80
  408. package/src/ngtsc/file_system/src/helpers.js +0 -135
  409. package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
  410. package/src/ngtsc/file_system/src/logical.js +0 -100
  411. package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
  412. package/src/ngtsc/file_system/src/types.js +0 -20
  413. package/src/ngtsc/file_system/src/util.js +0 -38
  414. package/src/ngtsc/file_system/testing/index.d.ts +0 -13
  415. package/src/ngtsc/file_system/testing/index.js +0 -32
  416. package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
  417. package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
  418. package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
  419. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
  420. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
  421. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
  422. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
  423. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
  424. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
  425. package/src/ngtsc/file_system/testing/src/test_helper.js +0 -142
  426. package/src/ngtsc/imports/index.js +0 -43
  427. package/src/ngtsc/imports/src/alias.js +0 -158
  428. package/src/ngtsc/imports/src/core.js +0 -98
  429. package/src/ngtsc/imports/src/default.js +0 -153
  430. package/src/ngtsc/imports/src/emitter.js +0 -317
  431. package/src/ngtsc/imports/src/find_export.js +0 -82
  432. package/src/ngtsc/imports/src/reexport.js +0 -20
  433. package/src/ngtsc/imports/src/references.js +0 -171
  434. package/src/ngtsc/imports/src/resolver.js +0 -39
  435. package/src/ngtsc/incremental/api.js +0 -20
  436. package/src/ngtsc/incremental/index.js +0 -29
  437. package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
  438. package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
  439. package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
  440. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
  441. package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
  442. package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
  443. package/src/ngtsc/incremental/src/incremental.js +0 -393
  444. package/src/ngtsc/incremental/src/noop.js +0 -26
  445. package/src/ngtsc/incremental/src/state.js +0 -30
  446. package/src/ngtsc/incremental/src/strategy.js +0 -99
  447. package/src/ngtsc/indexer/index.js +0 -27
  448. package/src/ngtsc/indexer/src/api.js +0 -45
  449. package/src/ngtsc/indexer/src/context.js +0 -40
  450. package/src/ngtsc/indexer/src/template.js +0 -328
  451. package/src/ngtsc/indexer/src/transform.js +0 -66
  452. package/src/ngtsc/logging/index.js +0 -25
  453. package/src/ngtsc/logging/src/console_logger.js +0 -75
  454. package/src/ngtsc/logging/src/logger.js +0 -28
  455. package/src/ngtsc/logging/testing/index.js +0 -23
  456. package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
  457. package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
  458. package/src/ngtsc/metadata/index.js +0 -39
  459. package/src/ngtsc/metadata/src/api.js +0 -26
  460. package/src/ngtsc/metadata/src/dts.js +0 -168
  461. package/src/ngtsc/metadata/src/inheritance.js +0 -122
  462. package/src/ngtsc/metadata/src/property_mapping.js +0 -244
  463. package/src/ngtsc/metadata/src/registry.js +0 -133
  464. package/src/ngtsc/metadata/src/resource_registry.js +0 -109
  465. package/src/ngtsc/metadata/src/util.js +0 -275
  466. package/src/ngtsc/partial_evaluator/index.js +0 -31
  467. package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
  468. package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
  469. package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
  470. package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
  471. package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
  472. package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
  473. package/src/ngtsc/partial_evaluator/src/result.js +0 -72
  474. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
  475. package/src/ngtsc/perf/index.js +0 -28
  476. package/src/ngtsc/perf/src/api.js +0 -291
  477. package/src/ngtsc/perf/src/clock.js +0 -30
  478. package/src/ngtsc/perf/src/noop.js +0 -37
  479. package/src/ngtsc/perf/src/recorder.js +0 -143
  480. package/src/ngtsc/program.js +0 -360
  481. package/src/ngtsc/program_driver/index.js +0 -25
  482. package/src/ngtsc/program_driver/src/api.js +0 -36
  483. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
  484. package/src/ngtsc/reflection/index.js +0 -36
  485. package/src/ngtsc/reflection/src/host.js +0 -88
  486. package/src/ngtsc/reflection/src/type_to_value.js +0 -259
  487. package/src/ngtsc/reflection/src/typescript.js +0 -640
  488. package/src/ngtsc/reflection/src/util.js +0 -37
  489. package/src/ngtsc/resource/index.js +0 -23
  490. package/src/ngtsc/resource/src/loader.js +0 -285
  491. package/src/ngtsc/routing/index.js +0 -26
  492. package/src/ngtsc/routing/src/analyzer.d.ts +0 -37
  493. package/src/ngtsc/routing/src/analyzer.js +0 -82
  494. package/src/ngtsc/routing/src/lazy.d.ts +0 -19
  495. package/src/ngtsc/routing/src/lazy.js +0 -239
  496. package/src/ngtsc/routing/src/route.d.ts +0 -23
  497. package/src/ngtsc/routing/src/route.js +0 -77
  498. package/src/ngtsc/scope/index.js +0 -29
  499. package/src/ngtsc/scope/src/api.js +0 -20
  500. package/src/ngtsc/scope/src/component_scope.js +0 -69
  501. package/src/ngtsc/scope/src/dependency.js +0 -201
  502. package/src/ngtsc/scope/src/local.js +0 -665
  503. package/src/ngtsc/scope/src/typecheck.js +0 -120
  504. package/src/ngtsc/shims/api.js +0 -13
  505. package/src/ngtsc/shims/index.js +0 -39
  506. package/src/ngtsc/shims/src/adapter.js +0 -266
  507. package/src/ngtsc/shims/src/expando.js +0 -147
  508. package/src/ngtsc/shims/src/factory_generator.js +0 -292
  509. package/src/ngtsc/shims/src/reference_tagger.js +0 -94
  510. package/src/ngtsc/shims/src/summary_generator.js +0 -101
  511. package/src/ngtsc/shims/src/util.js +0 -41
  512. package/src/ngtsc/sourcemaps/index.js +0 -27
  513. package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
  514. package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
  515. package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
  516. package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
  517. package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
  518. package/src/ngtsc/switch/index.js +0 -23
  519. package/src/ngtsc/switch/src/switch.js +0 -141
  520. package/src/ngtsc/transform/index.js +0 -36
  521. package/src/ngtsc/transform/src/alias.js +0 -46
  522. package/src/ngtsc/transform/src/api.js +0 -76
  523. package/src/ngtsc/transform/src/compilation.js +0 -862
  524. package/src/ngtsc/transform/src/declaration.js +0 -234
  525. package/src/ngtsc/transform/src/trait.js +0 -111
  526. package/src/ngtsc/transform/src/transform.js +0 -333
  527. package/src/ngtsc/transform/src/utils.js +0 -73
  528. package/src/ngtsc/translator/index.js +0 -37
  529. package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
  530. package/src/ngtsc/translator/src/api/import_generator.js +0 -20
  531. package/src/ngtsc/translator/src/context.js +0 -47
  532. package/src/ngtsc/translator/src/import_manager.js +0 -77
  533. package/src/ngtsc/translator/src/translator.js +0 -353
  534. package/src/ngtsc/translator/src/type_translator.js +0 -223
  535. package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
  536. package/src/ngtsc/translator/src/typescript_translator.js +0 -34
  537. package/src/ngtsc/tsc_plugin.js +0 -129
  538. package/src/ngtsc/typecheck/api/api.js +0 -20
  539. package/src/ngtsc/typecheck/api/checker.js +0 -44
  540. package/src/ngtsc/typecheck/api/completion.js +0 -29
  541. package/src/ngtsc/typecheck/api/context.js +0 -20
  542. package/src/ngtsc/typecheck/api/index.js +0 -27
  543. package/src/ngtsc/typecheck/api/scope.js +0 -20
  544. package/src/ngtsc/typecheck/api/symbols.js +0 -35
  545. package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
  546. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
  547. package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
  548. package/src/ngtsc/typecheck/extended/api/api.js +0 -124
  549. package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
  550. package/src/ngtsc/typecheck/extended/api/index.js +0 -23
  551. package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
  552. package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
  553. package/src/ngtsc/typecheck/extended/index.js +0 -23
  554. package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
  555. package/src/ngtsc/typecheck/index.js +0 -29
  556. package/src/ngtsc/typecheck/src/checker.js +0 -764
  557. package/src/ngtsc/typecheck/src/comments.js +0 -181
  558. package/src/ngtsc/typecheck/src/completion.js +0 -232
  559. package/src/ngtsc/typecheck/src/context.js +0 -424
  560. package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
  561. package/src/ngtsc/typecheck/src/dom.js +0 -87
  562. package/src/ngtsc/typecheck/src/environment.js +0 -160
  563. package/src/ngtsc/typecheck/src/expression.js +0 -441
  564. package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
  565. package/src/ngtsc/typecheck/src/oob.js +0 -181
  566. package/src/ngtsc/typecheck/src/shim.js +0 -52
  567. package/src/ngtsc/typecheck/src/source.js +0 -91
  568. package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
  569. package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
  570. package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -546
  571. package/src/ngtsc/typecheck/src/ts_util.js +0 -202
  572. package/src/ngtsc/typecheck/src/type_check_block.js +0 -2210
  573. package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
  574. package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
  575. package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
  576. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
  577. package/src/ngtsc/util/src/path.js +0 -33
  578. package/src/ngtsc/util/src/typescript.js +0 -176
  579. package/src/ngtsc/util/src/visitor.js +0 -119
  580. package/src/ngtsc/xi18n/index.js +0 -22
  581. package/src/ngtsc/xi18n/src/context.js +0 -20
  582. package/src/perform_compile.js +0 -322
  583. package/src/perform_watch.js +0 -263
  584. package/src/tooling.js +0 -47
  585. package/src/transformers/api.js +0 -42
  586. package/src/transformers/compiler_host.js +0 -623
  587. package/src/transformers/downlevel_decorators_transform.js +0 -612
  588. package/src/transformers/entry_points.js +0 -25
  589. package/src/transformers/i18n.js +0 -76
  590. package/src/transformers/inline_resources.js +0 -287
  591. package/src/transformers/lower_expressions.js +0 -365
  592. package/src/transformers/metadata_cache.js +0 -96
  593. package/src/transformers/metadata_reader.js +0 -120
  594. package/src/transformers/node_emitter.js +0 -643
  595. package/src/transformers/node_emitter_transform.js +0 -88
  596. package/src/transformers/patch_alias_reference_resolution.js +0 -129
  597. package/src/transformers/program.js +0 -1000
  598. package/src/transformers/r3_metadata_transform.js +0 -73
  599. package/src/transformers/r3_transform.js +0 -44
  600. package/src/transformers/util.js +0 -122
  601. package/src/typescript_support.js +0 -74
  602. package/src/version.js +0 -28
@@ -0,0 +1,942 @@
1
+
2
+ import {createRequire as __cjsCompatRequire} from 'module';
3
+ const require = __cjsCompatRequire(import.meta.url);
4
+ const __ESM_IMPORT_META_URL__ = import.meta.url;
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+
26
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/host.mjs
27
+ import ts from "typescript";
28
+ function isDecoratorIdentifier(exp) {
29
+ return ts.isIdentifier(exp) || ts.isPropertyAccessExpression(exp) && ts.isIdentifier(exp.expression) && ts.isIdentifier(exp.name);
30
+ }
31
+ var ClassMemberKind;
32
+ (function(ClassMemberKind2) {
33
+ ClassMemberKind2[ClassMemberKind2["Constructor"] = 0] = "Constructor";
34
+ ClassMemberKind2[ClassMemberKind2["Getter"] = 1] = "Getter";
35
+ ClassMemberKind2[ClassMemberKind2["Setter"] = 2] = "Setter";
36
+ ClassMemberKind2[ClassMemberKind2["Property"] = 3] = "Property";
37
+ ClassMemberKind2[ClassMemberKind2["Method"] = 4] = "Method";
38
+ })(ClassMemberKind || (ClassMemberKind = {}));
39
+ var KnownDeclaration;
40
+ (function(KnownDeclaration2) {
41
+ KnownDeclaration2[KnownDeclaration2["JsGlobalObject"] = 0] = "JsGlobalObject";
42
+ KnownDeclaration2[KnownDeclaration2["TsHelperAssign"] = 1] = "TsHelperAssign";
43
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpread"] = 2] = "TsHelperSpread";
44
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpreadArrays"] = 3] = "TsHelperSpreadArrays";
45
+ KnownDeclaration2[KnownDeclaration2["TsHelperSpreadArray"] = 4] = "TsHelperSpreadArray";
46
+ KnownDeclaration2[KnownDeclaration2["TsHelperRead"] = 5] = "TsHelperRead";
47
+ })(KnownDeclaration || (KnownDeclaration = {}));
48
+
49
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/type_to_value.mjs
50
+ import ts2 from "typescript";
51
+ function typeToValue(typeNode, checker) {
52
+ if (typeNode === null) {
53
+ return missingType();
54
+ }
55
+ if (!ts2.isTypeReferenceNode(typeNode)) {
56
+ return unsupportedType(typeNode);
57
+ }
58
+ const symbols = resolveTypeSymbols(typeNode, checker);
59
+ if (symbols === null) {
60
+ return unknownReference(typeNode);
61
+ }
62
+ const { local, decl } = symbols;
63
+ if (decl.valueDeclaration === void 0 || decl.flags & ts2.SymbolFlags.ConstEnum) {
64
+ let typeOnlyDecl = null;
65
+ if (decl.declarations !== void 0 && decl.declarations.length > 0) {
66
+ typeOnlyDecl = decl.declarations[0];
67
+ }
68
+ return noValueDeclaration(typeNode, typeOnlyDecl);
69
+ }
70
+ const firstDecl = local.declarations && local.declarations[0];
71
+ if (firstDecl !== void 0) {
72
+ if (ts2.isImportClause(firstDecl) && firstDecl.name !== void 0) {
73
+ if (firstDecl.isTypeOnly) {
74
+ return typeOnlyImport(typeNode, firstDecl);
75
+ }
76
+ return {
77
+ kind: 0,
78
+ expression: firstDecl.name,
79
+ defaultImportStatement: firstDecl.parent
80
+ };
81
+ } else if (ts2.isImportSpecifier(firstDecl)) {
82
+ if (firstDecl.parent.parent.isTypeOnly) {
83
+ return typeOnlyImport(typeNode, firstDecl.parent.parent);
84
+ }
85
+ const importedName = (firstDecl.propertyName || firstDecl.name).text;
86
+ const [_localName, ...nestedPath] = symbols.symbolNames;
87
+ const moduleName = extractModuleName(firstDecl.parent.parent.parent);
88
+ return {
89
+ kind: 1,
90
+ valueDeclaration: decl.valueDeclaration,
91
+ moduleName,
92
+ importedName,
93
+ nestedPath
94
+ };
95
+ } else if (ts2.isNamespaceImport(firstDecl)) {
96
+ if (firstDecl.parent.isTypeOnly) {
97
+ return typeOnlyImport(typeNode, firstDecl.parent);
98
+ }
99
+ if (symbols.symbolNames.length === 1) {
100
+ return namespaceImport(typeNode, firstDecl.parent);
101
+ }
102
+ const [_ns, importedName, ...nestedPath] = symbols.symbolNames;
103
+ const moduleName = extractModuleName(firstDecl.parent.parent);
104
+ return {
105
+ kind: 1,
106
+ valueDeclaration: decl.valueDeclaration,
107
+ moduleName,
108
+ importedName,
109
+ nestedPath
110
+ };
111
+ }
112
+ }
113
+ const expression = typeNodeToValueExpr(typeNode);
114
+ if (expression !== null) {
115
+ return {
116
+ kind: 0,
117
+ expression,
118
+ defaultImportStatement: null
119
+ };
120
+ } else {
121
+ return unsupportedType(typeNode);
122
+ }
123
+ }
124
+ function unsupportedType(typeNode) {
125
+ return {
126
+ kind: 2,
127
+ reason: { kind: 5, typeNode }
128
+ };
129
+ }
130
+ function noValueDeclaration(typeNode, decl) {
131
+ return {
132
+ kind: 2,
133
+ reason: { kind: 1, typeNode, decl }
134
+ };
135
+ }
136
+ function typeOnlyImport(typeNode, importClause) {
137
+ return {
138
+ kind: 2,
139
+ reason: { kind: 2, typeNode, importClause }
140
+ };
141
+ }
142
+ function unknownReference(typeNode) {
143
+ return {
144
+ kind: 2,
145
+ reason: { kind: 3, typeNode }
146
+ };
147
+ }
148
+ function namespaceImport(typeNode, importClause) {
149
+ return {
150
+ kind: 2,
151
+ reason: { kind: 4, typeNode, importClause }
152
+ };
153
+ }
154
+ function missingType() {
155
+ return {
156
+ kind: 2,
157
+ reason: { kind: 0 }
158
+ };
159
+ }
160
+ function typeNodeToValueExpr(node) {
161
+ if (ts2.isTypeReferenceNode(node)) {
162
+ return entityNameToValue(node.typeName);
163
+ } else {
164
+ return null;
165
+ }
166
+ }
167
+ function resolveTypeSymbols(typeRef, checker) {
168
+ const typeName = typeRef.typeName;
169
+ const typeRefSymbol = checker.getSymbolAtLocation(typeName);
170
+ if (typeRefSymbol === void 0) {
171
+ return null;
172
+ }
173
+ let local = typeRefSymbol;
174
+ let leftMost = typeName;
175
+ const symbolNames = [];
176
+ while (ts2.isQualifiedName(leftMost)) {
177
+ symbolNames.unshift(leftMost.right.text);
178
+ leftMost = leftMost.left;
179
+ }
180
+ symbolNames.unshift(leftMost.text);
181
+ if (leftMost !== typeName) {
182
+ const localTmp = checker.getSymbolAtLocation(leftMost);
183
+ if (localTmp !== void 0) {
184
+ local = localTmp;
185
+ }
186
+ }
187
+ let decl = typeRefSymbol;
188
+ if (typeRefSymbol.flags & ts2.SymbolFlags.Alias) {
189
+ decl = checker.getAliasedSymbol(typeRefSymbol);
190
+ }
191
+ return { local, decl, symbolNames };
192
+ }
193
+ function entityNameToValue(node) {
194
+ if (ts2.isQualifiedName(node)) {
195
+ const left = entityNameToValue(node.left);
196
+ return left !== null ? ts2.createPropertyAccess(left, node.right) : null;
197
+ } else if (ts2.isIdentifier(node)) {
198
+ return ts2.getMutableClone(node);
199
+ } else {
200
+ return null;
201
+ }
202
+ }
203
+ function extractModuleName(node) {
204
+ if (!ts2.isStringLiteral(node.moduleSpecifier)) {
205
+ throw new Error("not a module specifier");
206
+ }
207
+ return node.moduleSpecifier.text;
208
+ }
209
+
210
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
211
+ import ts4 from "typescript";
212
+
213
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/util.mjs
214
+ import ts3 from "typescript";
215
+ function isNamedClassDeclaration(node) {
216
+ return ts3.isClassDeclaration(node) && isIdentifier(node.name);
217
+ }
218
+ function isIdentifier(node) {
219
+ return node !== void 0 && ts3.isIdentifier(node);
220
+ }
221
+
222
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/reflection/src/typescript.mjs
223
+ var TypeScriptReflectionHost = class {
224
+ constructor(checker) {
225
+ this.checker = checker;
226
+ }
227
+ getDecoratorsOfDeclaration(declaration) {
228
+ if (declaration.decorators === void 0 || declaration.decorators.length === 0) {
229
+ return null;
230
+ }
231
+ return declaration.decorators.map((decorator) => this._reflectDecorator(decorator)).filter((dec) => dec !== null);
232
+ }
233
+ getMembersOfClass(clazz) {
234
+ const tsClazz = castDeclarationToClassOrDie(clazz);
235
+ return tsClazz.members.map((member) => this._reflectMember(member)).filter((member) => member !== null);
236
+ }
237
+ getConstructorParameters(clazz) {
238
+ const tsClazz = castDeclarationToClassOrDie(clazz);
239
+ const isDeclaration = tsClazz.getSourceFile().isDeclarationFile;
240
+ const ctor = tsClazz.members.find((member) => ts4.isConstructorDeclaration(member) && (isDeclaration || member.body !== void 0));
241
+ if (ctor === void 0) {
242
+ return null;
243
+ }
244
+ return ctor.parameters.map((node) => {
245
+ const name = parameterName(node.name);
246
+ const decorators = this.getDecoratorsOfDeclaration(node);
247
+ let originalTypeNode = node.type || null;
248
+ let typeNode = originalTypeNode;
249
+ if (typeNode && ts4.isUnionTypeNode(typeNode)) {
250
+ let childTypeNodes = typeNode.types.filter((childTypeNode) => !(ts4.isLiteralTypeNode(childTypeNode) && childTypeNode.literal.kind === ts4.SyntaxKind.NullKeyword));
251
+ if (childTypeNodes.length === 1) {
252
+ typeNode = childTypeNodes[0];
253
+ }
254
+ }
255
+ const typeValueReference = typeToValue(typeNode, this.checker);
256
+ return {
257
+ name,
258
+ nameNode: node.name,
259
+ typeValueReference,
260
+ typeNode: originalTypeNode,
261
+ decorators
262
+ };
263
+ });
264
+ }
265
+ getImportOfIdentifier(id) {
266
+ const directImport = this.getDirectImportOfIdentifier(id);
267
+ if (directImport !== null) {
268
+ return directImport;
269
+ } else if (ts4.isQualifiedName(id.parent) && id.parent.right === id) {
270
+ return this.getImportOfNamespacedIdentifier(id, getQualifiedNameRoot(id.parent));
271
+ } else if (ts4.isPropertyAccessExpression(id.parent) && id.parent.name === id) {
272
+ return this.getImportOfNamespacedIdentifier(id, getFarLeftIdentifier(id.parent));
273
+ } else {
274
+ return null;
275
+ }
276
+ }
277
+ getExportsOfModule(node) {
278
+ if (!ts4.isSourceFile(node)) {
279
+ throw new Error(`getExportsOfModule() called on non-SourceFile in TS code`);
280
+ }
281
+ const symbol = this.checker.getSymbolAtLocation(node);
282
+ if (symbol === void 0) {
283
+ return null;
284
+ }
285
+ const map = new Map();
286
+ this.checker.getExportsOfModule(symbol).forEach((exportSymbol) => {
287
+ const decl = this.getDeclarationOfSymbol(exportSymbol, null);
288
+ if (decl !== null) {
289
+ map.set(exportSymbol.name, decl);
290
+ }
291
+ });
292
+ return map;
293
+ }
294
+ isClass(node) {
295
+ return isNamedClassDeclaration(node);
296
+ }
297
+ hasBaseClass(clazz) {
298
+ return this.getBaseClassExpression(clazz) !== null;
299
+ }
300
+ getBaseClassExpression(clazz) {
301
+ if (!(ts4.isClassDeclaration(clazz) || ts4.isClassExpression(clazz)) || clazz.heritageClauses === void 0) {
302
+ return null;
303
+ }
304
+ const extendsClause = clazz.heritageClauses.find((clause) => clause.token === ts4.SyntaxKind.ExtendsKeyword);
305
+ if (extendsClause === void 0) {
306
+ return null;
307
+ }
308
+ const extendsType = extendsClause.types[0];
309
+ if (extendsType === void 0) {
310
+ return null;
311
+ }
312
+ return extendsType.expression;
313
+ }
314
+ getDeclarationOfIdentifier(id) {
315
+ let symbol = this.checker.getSymbolAtLocation(id);
316
+ if (symbol === void 0) {
317
+ return null;
318
+ }
319
+ return this.getDeclarationOfSymbol(symbol, id);
320
+ }
321
+ getDefinitionOfFunction(node) {
322
+ if (!ts4.isFunctionDeclaration(node) && !ts4.isMethodDeclaration(node) && !ts4.isFunctionExpression(node)) {
323
+ return null;
324
+ }
325
+ return {
326
+ node,
327
+ body: node.body !== void 0 ? Array.from(node.body.statements) : null,
328
+ parameters: node.parameters.map((param) => {
329
+ const name = parameterName(param.name);
330
+ const initializer = param.initializer || null;
331
+ return { name, node: param, initializer };
332
+ })
333
+ };
334
+ }
335
+ getGenericArityOfClass(clazz) {
336
+ if (!ts4.isClassDeclaration(clazz)) {
337
+ return null;
338
+ }
339
+ return clazz.typeParameters !== void 0 ? clazz.typeParameters.length : 0;
340
+ }
341
+ getVariableValue(declaration) {
342
+ return declaration.initializer || null;
343
+ }
344
+ getDtsDeclaration(_) {
345
+ return null;
346
+ }
347
+ getInternalNameOfClass(clazz) {
348
+ return clazz.name;
349
+ }
350
+ getAdjacentNameOfClass(clazz) {
351
+ return clazz.name;
352
+ }
353
+ isStaticallyExported(decl) {
354
+ let topLevel = decl;
355
+ if (ts4.isVariableDeclaration(decl) && ts4.isVariableDeclarationList(decl.parent)) {
356
+ topLevel = decl.parent.parent;
357
+ }
358
+ if (topLevel.modifiers !== void 0 && topLevel.modifiers.some((modifier) => modifier.kind === ts4.SyntaxKind.ExportKeyword)) {
359
+ return true;
360
+ }
361
+ if (topLevel.parent === void 0 || !ts4.isSourceFile(topLevel.parent)) {
362
+ return false;
363
+ }
364
+ const localExports = this.getLocalExportedDeclarationsOfSourceFile(decl.getSourceFile());
365
+ return localExports.has(decl);
366
+ }
367
+ getDirectImportOfIdentifier(id) {
368
+ const symbol = this.checker.getSymbolAtLocation(id);
369
+ if (symbol === void 0 || symbol.declarations === void 0 || symbol.declarations.length !== 1) {
370
+ return null;
371
+ }
372
+ const decl = symbol.declarations[0];
373
+ const importDecl = getContainingImportDeclaration(decl);
374
+ if (importDecl === null) {
375
+ return null;
376
+ }
377
+ if (!ts4.isStringLiteral(importDecl.moduleSpecifier)) {
378
+ return null;
379
+ }
380
+ return { from: importDecl.moduleSpecifier.text, name: getExportedName(decl, id) };
381
+ }
382
+ getImportOfNamespacedIdentifier(id, namespaceIdentifier) {
383
+ if (namespaceIdentifier === null) {
384
+ return null;
385
+ }
386
+ const namespaceSymbol = this.checker.getSymbolAtLocation(namespaceIdentifier);
387
+ if (!namespaceSymbol || namespaceSymbol.declarations === void 0) {
388
+ return null;
389
+ }
390
+ const declaration = namespaceSymbol.declarations.length === 1 ? namespaceSymbol.declarations[0] : null;
391
+ if (!declaration) {
392
+ return null;
393
+ }
394
+ const namespaceDeclaration = ts4.isNamespaceImport(declaration) ? declaration : null;
395
+ if (!namespaceDeclaration) {
396
+ return null;
397
+ }
398
+ const importDeclaration = namespaceDeclaration.parent.parent;
399
+ if (!ts4.isStringLiteral(importDeclaration.moduleSpecifier)) {
400
+ return null;
401
+ }
402
+ return {
403
+ from: importDeclaration.moduleSpecifier.text,
404
+ name: id.text
405
+ };
406
+ }
407
+ getDeclarationOfSymbol(symbol, originalId) {
408
+ let valueDeclaration = void 0;
409
+ if (symbol.valueDeclaration !== void 0) {
410
+ valueDeclaration = symbol.valueDeclaration;
411
+ } else if (symbol.declarations !== void 0 && symbol.declarations.length > 0) {
412
+ valueDeclaration = symbol.declarations[0];
413
+ }
414
+ if (valueDeclaration !== void 0 && ts4.isShorthandPropertyAssignment(valueDeclaration)) {
415
+ const shorthandSymbol = this.checker.getShorthandAssignmentValueSymbol(valueDeclaration);
416
+ if (shorthandSymbol === void 0) {
417
+ return null;
418
+ }
419
+ return this.getDeclarationOfSymbol(shorthandSymbol, originalId);
420
+ } else if (valueDeclaration !== void 0 && ts4.isExportSpecifier(valueDeclaration)) {
421
+ const targetSymbol = this.checker.getExportSpecifierLocalTargetSymbol(valueDeclaration);
422
+ if (targetSymbol === void 0) {
423
+ return null;
424
+ }
425
+ return this.getDeclarationOfSymbol(targetSymbol, originalId);
426
+ }
427
+ const importInfo = originalId && this.getImportOfIdentifier(originalId);
428
+ const viaModule = importInfo !== null && importInfo.from !== null && !importInfo.from.startsWith(".") ? importInfo.from : null;
429
+ while (symbol.flags & ts4.SymbolFlags.Alias) {
430
+ symbol = this.checker.getAliasedSymbol(symbol);
431
+ }
432
+ if (symbol.valueDeclaration !== void 0) {
433
+ return {
434
+ node: symbol.valueDeclaration,
435
+ known: null,
436
+ viaModule,
437
+ identity: null,
438
+ kind: 0
439
+ };
440
+ } else if (symbol.declarations !== void 0 && symbol.declarations.length > 0) {
441
+ return {
442
+ node: symbol.declarations[0],
443
+ known: null,
444
+ viaModule,
445
+ identity: null,
446
+ kind: 0
447
+ };
448
+ } else {
449
+ return null;
450
+ }
451
+ }
452
+ _reflectDecorator(node) {
453
+ let decoratorExpr = node.expression;
454
+ let args = null;
455
+ if (ts4.isCallExpression(decoratorExpr)) {
456
+ args = Array.from(decoratorExpr.arguments);
457
+ decoratorExpr = decoratorExpr.expression;
458
+ }
459
+ if (!isDecoratorIdentifier(decoratorExpr)) {
460
+ return null;
461
+ }
462
+ const decoratorIdentifier = ts4.isIdentifier(decoratorExpr) ? decoratorExpr : decoratorExpr.name;
463
+ const importDecl = this.getImportOfIdentifier(decoratorIdentifier);
464
+ return {
465
+ name: decoratorIdentifier.text,
466
+ identifier: decoratorExpr,
467
+ import: importDecl,
468
+ node,
469
+ args
470
+ };
471
+ }
472
+ _reflectMember(node) {
473
+ let kind = null;
474
+ let value = null;
475
+ let name = null;
476
+ let nameNode = null;
477
+ if (ts4.isPropertyDeclaration(node)) {
478
+ kind = ClassMemberKind.Property;
479
+ value = node.initializer || null;
480
+ } else if (ts4.isGetAccessorDeclaration(node)) {
481
+ kind = ClassMemberKind.Getter;
482
+ } else if (ts4.isSetAccessorDeclaration(node)) {
483
+ kind = ClassMemberKind.Setter;
484
+ } else if (ts4.isMethodDeclaration(node)) {
485
+ kind = ClassMemberKind.Method;
486
+ } else if (ts4.isConstructorDeclaration(node)) {
487
+ kind = ClassMemberKind.Constructor;
488
+ } else {
489
+ return null;
490
+ }
491
+ if (ts4.isConstructorDeclaration(node)) {
492
+ name = "constructor";
493
+ } else if (ts4.isIdentifier(node.name)) {
494
+ name = node.name.text;
495
+ nameNode = node.name;
496
+ } else if (ts4.isStringLiteral(node.name)) {
497
+ name = node.name.text;
498
+ nameNode = node.name;
499
+ } else {
500
+ return null;
501
+ }
502
+ const decorators = this.getDecoratorsOfDeclaration(node);
503
+ const isStatic = node.modifiers !== void 0 && node.modifiers.some((mod) => mod.kind === ts4.SyntaxKind.StaticKeyword);
504
+ return {
505
+ node,
506
+ implementation: node,
507
+ kind,
508
+ type: node.type || null,
509
+ name,
510
+ nameNode,
511
+ decorators,
512
+ value,
513
+ isStatic
514
+ };
515
+ }
516
+ getLocalExportedDeclarationsOfSourceFile(file) {
517
+ const cacheSf = file;
518
+ if (cacheSf[LocalExportedDeclarations] !== void 0) {
519
+ return cacheSf[LocalExportedDeclarations];
520
+ }
521
+ const exportSet = new Set();
522
+ cacheSf[LocalExportedDeclarations] = exportSet;
523
+ const sfSymbol = this.checker.getSymbolAtLocation(cacheSf);
524
+ if (sfSymbol === void 0 || sfSymbol.exports === void 0) {
525
+ return exportSet;
526
+ }
527
+ const iter = sfSymbol.exports.values();
528
+ let item = iter.next();
529
+ while (item.done !== true) {
530
+ let exportedSymbol = item.value;
531
+ if (exportedSymbol.flags & ts4.SymbolFlags.Alias) {
532
+ exportedSymbol = this.checker.getAliasedSymbol(exportedSymbol);
533
+ }
534
+ if (exportedSymbol.valueDeclaration !== void 0 && exportedSymbol.valueDeclaration.getSourceFile() === file) {
535
+ exportSet.add(exportedSymbol.valueDeclaration);
536
+ }
537
+ item = iter.next();
538
+ }
539
+ return exportSet;
540
+ }
541
+ };
542
+ function castDeclarationToClassOrDie(declaration) {
543
+ if (!ts4.isClassDeclaration(declaration)) {
544
+ throw new Error(`Reflecting on a ${ts4.SyntaxKind[declaration.kind]} instead of a ClassDeclaration.`);
545
+ }
546
+ return declaration;
547
+ }
548
+ function parameterName(name) {
549
+ if (ts4.isIdentifier(name)) {
550
+ return name.text;
551
+ } else {
552
+ return null;
553
+ }
554
+ }
555
+ function getQualifiedNameRoot(qualifiedName) {
556
+ while (ts4.isQualifiedName(qualifiedName.left)) {
557
+ qualifiedName = qualifiedName.left;
558
+ }
559
+ return ts4.isIdentifier(qualifiedName.left) ? qualifiedName.left : null;
560
+ }
561
+ function getFarLeftIdentifier(propertyAccess) {
562
+ while (ts4.isPropertyAccessExpression(propertyAccess.expression)) {
563
+ propertyAccess = propertyAccess.expression;
564
+ }
565
+ return ts4.isIdentifier(propertyAccess.expression) ? propertyAccess.expression : null;
566
+ }
567
+ function getContainingImportDeclaration(node) {
568
+ return ts4.isImportSpecifier(node) ? node.parent.parent.parent : ts4.isNamespaceImport(node) ? node.parent.parent : null;
569
+ }
570
+ function getExportedName(decl, originalId) {
571
+ return ts4.isImportSpecifier(decl) ? (decl.propertyName !== void 0 ? decl.propertyName : decl.name).text : originalId.text;
572
+ }
573
+ var LocalExportedDeclarations = Symbol("LocalExportedDeclarations");
574
+
575
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
576
+ import ts6 from "typescript";
577
+
578
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/patch_alias_reference_resolution.mjs
579
+ import ts5 from "typescript";
580
+ var patchedReferencedAliasesSymbol = Symbol("patchedReferencedAliases");
581
+ function loadIsReferencedAliasDeclarationPatch(context) {
582
+ if (!isTransformationContextWithEmitResolver(context)) {
583
+ throwIncompatibleTransformationContextError();
584
+ }
585
+ const emitResolver = context.getEmitResolver();
586
+ const existingReferencedAliases = emitResolver[patchedReferencedAliasesSymbol];
587
+ if (existingReferencedAliases !== void 0) {
588
+ return existingReferencedAliases;
589
+ }
590
+ const originalIsReferencedAliasDeclaration = emitResolver.isReferencedAliasDeclaration;
591
+ if (originalIsReferencedAliasDeclaration === void 0) {
592
+ throwIncompatibleTransformationContextError();
593
+ }
594
+ const referencedAliases = new Set();
595
+ emitResolver.isReferencedAliasDeclaration = function(node, ...args) {
596
+ if (isAliasImportDeclaration(node) && referencedAliases.has(node)) {
597
+ return true;
598
+ }
599
+ return originalIsReferencedAliasDeclaration.call(emitResolver, node, ...args);
600
+ };
601
+ return emitResolver[patchedReferencedAliasesSymbol] = referencedAliases;
602
+ }
603
+ function isAliasImportDeclaration(node) {
604
+ return ts5.isImportSpecifier(node) || ts5.isNamespaceImport(node) || ts5.isImportClause(node);
605
+ }
606
+ function isTransformationContextWithEmitResolver(context) {
607
+ return context.getEmitResolver !== void 0;
608
+ }
609
+ function throwIncompatibleTransformationContextError() {
610
+ throw Error("Unable to downlevel Angular decorators due to an incompatible TypeScript version.\nIf you recently updated TypeScript and this issue surfaces now, consider downgrading.\n\nPlease report an issue on the Angular repositories when this issue surfaces and you are using a supposedly compatible TypeScript version.");
611
+ }
612
+
613
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/downlevel_decorators_transform/downlevel_decorators_transform.mjs
614
+ function isAngularDecorator(decorator, isCore) {
615
+ return isCore || decorator.import !== null && decorator.import.from === "@angular/core";
616
+ }
617
+ var DECORATOR_INVOCATION_JSDOC_TYPE = "!Array<{type: !Function, args: (undefined|!Array<?>)}>";
618
+ function extractMetadataFromSingleDecorator(decorator, diagnostics) {
619
+ const metadataProperties = [];
620
+ const expr = decorator.expression;
621
+ switch (expr.kind) {
622
+ case ts6.SyntaxKind.Identifier:
623
+ metadataProperties.push(ts6.createPropertyAssignment("type", expr));
624
+ break;
625
+ case ts6.SyntaxKind.CallExpression:
626
+ const call = expr;
627
+ metadataProperties.push(ts6.createPropertyAssignment("type", call.expression));
628
+ if (call.arguments.length) {
629
+ const args = [];
630
+ for (const arg of call.arguments) {
631
+ args.push(arg);
632
+ }
633
+ const argsArrayLiteral = ts6.createArrayLiteral(ts6.createNodeArray(args, true));
634
+ metadataProperties.push(ts6.createPropertyAssignment("args", argsArrayLiteral));
635
+ }
636
+ break;
637
+ default:
638
+ diagnostics.push({
639
+ file: decorator.getSourceFile(),
640
+ start: decorator.getStart(),
641
+ length: decorator.getEnd() - decorator.getStart(),
642
+ messageText: `${ts6.SyntaxKind[decorator.kind]} not implemented in gathering decorator metadata.`,
643
+ category: ts6.DiagnosticCategory.Error,
644
+ code: 0
645
+ });
646
+ break;
647
+ }
648
+ return ts6.createObjectLiteral(metadataProperties);
649
+ }
650
+ function createCtorParametersClassProperty(diagnostics, entityNameToExpression, ctorParameters, isClosureCompilerEnabled) {
651
+ const params = [];
652
+ for (const ctorParam of ctorParameters) {
653
+ if (!ctorParam.type && ctorParam.decorators.length === 0) {
654
+ params.push(ts6.createNull());
655
+ continue;
656
+ }
657
+ const paramType = ctorParam.type ? typeReferenceToExpression(entityNameToExpression, ctorParam.type) : void 0;
658
+ const members = [ts6.createPropertyAssignment("type", paramType || ts6.createIdentifier("undefined"))];
659
+ const decorators = [];
660
+ for (const deco of ctorParam.decorators) {
661
+ decorators.push(extractMetadataFromSingleDecorator(deco, diagnostics));
662
+ }
663
+ if (decorators.length) {
664
+ members.push(ts6.createPropertyAssignment("decorators", ts6.createArrayLiteral(decorators)));
665
+ }
666
+ params.push(ts6.createObjectLiteral(members));
667
+ }
668
+ const initializer = ts6.createArrowFunction(void 0, void 0, [], void 0, ts6.createToken(ts6.SyntaxKind.EqualsGreaterThanToken), ts6.createArrayLiteral(params, true));
669
+ const ctorProp = ts6.createProperty(void 0, [ts6.createToken(ts6.SyntaxKind.StaticKeyword)], "ctorParameters", void 0, void 0, initializer);
670
+ if (isClosureCompilerEnabled) {
671
+ ts6.setSyntheticLeadingComments(ctorProp, [
672
+ {
673
+ kind: ts6.SyntaxKind.MultiLineCommentTrivia,
674
+ text: [
675
+ `*`,
676
+ ` * @type {function(): !Array<(null|{`,
677
+ ` * type: ?,`,
678
+ ` * decorators: (undefined|${DECORATOR_INVOCATION_JSDOC_TYPE}),`,
679
+ ` * })>}`,
680
+ ` * @nocollapse`,
681
+ ` `
682
+ ].join("\n"),
683
+ pos: -1,
684
+ end: -1,
685
+ hasTrailingNewLine: true
686
+ }
687
+ ]);
688
+ }
689
+ return ctorProp;
690
+ }
691
+ function typeReferenceToExpression(entityNameToExpression, node) {
692
+ let kind = node.kind;
693
+ if (ts6.isLiteralTypeNode(node)) {
694
+ kind = node.literal.kind;
695
+ }
696
+ switch (kind) {
697
+ case ts6.SyntaxKind.FunctionType:
698
+ case ts6.SyntaxKind.ConstructorType:
699
+ return ts6.createIdentifier("Function");
700
+ case ts6.SyntaxKind.ArrayType:
701
+ case ts6.SyntaxKind.TupleType:
702
+ return ts6.createIdentifier("Array");
703
+ case ts6.SyntaxKind.TypePredicate:
704
+ case ts6.SyntaxKind.TrueKeyword:
705
+ case ts6.SyntaxKind.FalseKeyword:
706
+ case ts6.SyntaxKind.BooleanKeyword:
707
+ return ts6.createIdentifier("Boolean");
708
+ case ts6.SyntaxKind.StringLiteral:
709
+ case ts6.SyntaxKind.StringKeyword:
710
+ return ts6.createIdentifier("String");
711
+ case ts6.SyntaxKind.ObjectKeyword:
712
+ return ts6.createIdentifier("Object");
713
+ case ts6.SyntaxKind.NumberKeyword:
714
+ case ts6.SyntaxKind.NumericLiteral:
715
+ return ts6.createIdentifier("Number");
716
+ case ts6.SyntaxKind.TypeReference:
717
+ const typeRef = node;
718
+ return entityNameToExpression(typeRef.typeName);
719
+ case ts6.SyntaxKind.UnionType:
720
+ const childTypeNodes = node.types.filter((t) => !(ts6.isLiteralTypeNode(t) && t.literal.kind === ts6.SyntaxKind.NullKeyword));
721
+ return childTypeNodes.length === 1 ? typeReferenceToExpression(entityNameToExpression, childTypeNodes[0]) : void 0;
722
+ default:
723
+ return void 0;
724
+ }
725
+ }
726
+ function symbolIsRuntimeValue(typeChecker, symbol) {
727
+ if (symbol.flags & ts6.SymbolFlags.Alias) {
728
+ symbol = typeChecker.getAliasedSymbol(symbol);
729
+ }
730
+ return (symbol.flags & ts6.SymbolFlags.Value & ts6.SymbolFlags.ConstEnumExcludes) !== 0;
731
+ }
732
+ function getDownlevelDecoratorsTransform(typeChecker, host, diagnostics, isCore, isClosureCompilerEnabled, skipClassDecorators) {
733
+ function addJSDocTypeAnnotation(node, jsdocType) {
734
+ if (!isClosureCompilerEnabled) {
735
+ return;
736
+ }
737
+ ts6.setSyntheticLeadingComments(node, [
738
+ {
739
+ kind: ts6.SyntaxKind.MultiLineCommentTrivia,
740
+ text: `* @type {${jsdocType}} `,
741
+ pos: -1,
742
+ end: -1,
743
+ hasTrailingNewLine: true
744
+ }
745
+ ]);
746
+ }
747
+ function createDecoratorClassProperty(decoratorList) {
748
+ const modifier = ts6.createToken(ts6.SyntaxKind.StaticKeyword);
749
+ const initializer = ts6.createArrayLiteral(decoratorList, true);
750
+ const prop = ts6.createProperty(void 0, [modifier], "decorators", void 0, void 0, initializer);
751
+ addJSDocTypeAnnotation(prop, DECORATOR_INVOCATION_JSDOC_TYPE);
752
+ return prop;
753
+ }
754
+ function createPropDecoratorsClassProperty(diagnostics2, properties) {
755
+ const entries = [];
756
+ for (const [name, decorators] of properties.entries()) {
757
+ entries.push(ts6.createPropertyAssignment(name, ts6.createArrayLiteral(decorators.map((deco) => extractMetadataFromSingleDecorator(deco, diagnostics2)))));
758
+ }
759
+ const initializer = ts6.createObjectLiteral(entries, true);
760
+ const prop = ts6.createProperty(void 0, [ts6.createToken(ts6.SyntaxKind.StaticKeyword)], "propDecorators", void 0, void 0, initializer);
761
+ addJSDocTypeAnnotation(prop, `!Object<string, ${DECORATOR_INVOCATION_JSDOC_TYPE}>`);
762
+ return prop;
763
+ }
764
+ return (context) => {
765
+ const referencedParameterTypes = loadIsReferencedAliasDeclarationPatch(context);
766
+ function entityNameToExpression(name) {
767
+ const symbol = typeChecker.getSymbolAtLocation(name);
768
+ if (!symbol || !symbolIsRuntimeValue(typeChecker, symbol) || !symbol.declarations || symbol.declarations.length === 0) {
769
+ return void 0;
770
+ }
771
+ if (ts6.isQualifiedName(name)) {
772
+ const containerExpr = entityNameToExpression(name.left);
773
+ if (containerExpr === void 0) {
774
+ return void 0;
775
+ }
776
+ return ts6.createPropertyAccess(containerExpr, name.right);
777
+ }
778
+ const decl = symbol.declarations[0];
779
+ if (isAliasImportDeclaration(decl)) {
780
+ referencedParameterTypes.add(decl);
781
+ if (decl.name !== void 0) {
782
+ return ts6.getMutableClone(decl.name);
783
+ }
784
+ }
785
+ return ts6.getMutableClone(name);
786
+ }
787
+ function transformClassElement(element) {
788
+ element = ts6.visitEachChild(element, decoratorDownlevelVisitor, context);
789
+ const decoratorsToKeep = [];
790
+ const toLower = [];
791
+ const decorators = host.getDecoratorsOfDeclaration(element) || [];
792
+ for (const decorator of decorators) {
793
+ const decoratorNode = decorator.node;
794
+ if (!isAngularDecorator(decorator, isCore)) {
795
+ decoratorsToKeep.push(decoratorNode);
796
+ continue;
797
+ }
798
+ toLower.push(decoratorNode);
799
+ }
800
+ if (!toLower.length)
801
+ return [void 0, element, []];
802
+ if (!element.name || !ts6.isIdentifier(element.name)) {
803
+ diagnostics.push({
804
+ file: element.getSourceFile(),
805
+ start: element.getStart(),
806
+ length: element.getEnd() - element.getStart(),
807
+ messageText: `Cannot process decorators for class element with non-analyzable name.`,
808
+ category: ts6.DiagnosticCategory.Error,
809
+ code: 0
810
+ });
811
+ return [void 0, element, []];
812
+ }
813
+ const name = element.name.text;
814
+ const mutable = ts6.getMutableClone(element);
815
+ mutable.decorators = decoratorsToKeep.length ? ts6.setTextRange(ts6.createNodeArray(decoratorsToKeep), mutable.decorators) : void 0;
816
+ return [name, mutable, toLower];
817
+ }
818
+ function transformConstructor(ctor) {
819
+ ctor = ts6.visitEachChild(ctor, decoratorDownlevelVisitor, context);
820
+ const newParameters = [];
821
+ const oldParameters = ts6.visitParameterList(ctor.parameters, decoratorDownlevelVisitor, context);
822
+ const parametersInfo = [];
823
+ for (const param of oldParameters) {
824
+ const decoratorsToKeep = [];
825
+ const paramInfo = { decorators: [], type: null };
826
+ const decorators = host.getDecoratorsOfDeclaration(param) || [];
827
+ for (const decorator of decorators) {
828
+ const decoratorNode = decorator.node;
829
+ if (!isAngularDecorator(decorator, isCore)) {
830
+ decoratorsToKeep.push(decoratorNode);
831
+ continue;
832
+ }
833
+ paramInfo.decorators.push(decoratorNode);
834
+ }
835
+ if (param.type) {
836
+ paramInfo.type = param.type;
837
+ }
838
+ parametersInfo.push(paramInfo);
839
+ const newParam = ts6.updateParameter(param, decoratorsToKeep.length ? decoratorsToKeep : void 0, param.modifiers, param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer);
840
+ newParameters.push(newParam);
841
+ }
842
+ const updated = ts6.updateConstructor(ctor, ctor.decorators, ctor.modifiers, newParameters, ts6.visitFunctionBody(ctor.body, decoratorDownlevelVisitor, context));
843
+ return [updated, parametersInfo];
844
+ }
845
+ function transformClassDeclaration(classDecl) {
846
+ classDecl = ts6.getMutableClone(classDecl);
847
+ const newMembers = [];
848
+ const decoratedProperties = new Map();
849
+ let classParameters = null;
850
+ for (const member of classDecl.members) {
851
+ switch (member.kind) {
852
+ case ts6.SyntaxKind.PropertyDeclaration:
853
+ case ts6.SyntaxKind.GetAccessor:
854
+ case ts6.SyntaxKind.SetAccessor:
855
+ case ts6.SyntaxKind.MethodDeclaration: {
856
+ const [name, newMember, decorators] = transformClassElement(member);
857
+ newMembers.push(newMember);
858
+ if (name)
859
+ decoratedProperties.set(name, decorators);
860
+ continue;
861
+ }
862
+ case ts6.SyntaxKind.Constructor: {
863
+ const ctor = member;
864
+ if (!ctor.body)
865
+ break;
866
+ const [newMember, parametersInfo] = transformConstructor(member);
867
+ classParameters = parametersInfo;
868
+ newMembers.push(newMember);
869
+ continue;
870
+ }
871
+ default:
872
+ break;
873
+ }
874
+ newMembers.push(ts6.visitEachChild(member, decoratorDownlevelVisitor, context));
875
+ }
876
+ const decoratorsToKeep = new Set(classDecl.decorators);
877
+ const possibleAngularDecorators = host.getDecoratorsOfDeclaration(classDecl) || [];
878
+ let hasAngularDecorator = false;
879
+ const decoratorsToLower = [];
880
+ for (const decorator of possibleAngularDecorators) {
881
+ const decoratorNode = decorator.node;
882
+ const isNgDecorator = isAngularDecorator(decorator, isCore);
883
+ if (isNgDecorator) {
884
+ hasAngularDecorator = true;
885
+ }
886
+ if (isNgDecorator && !skipClassDecorators) {
887
+ decoratorsToLower.push(extractMetadataFromSingleDecorator(decoratorNode, diagnostics));
888
+ decoratorsToKeep.delete(decoratorNode);
889
+ }
890
+ }
891
+ if (decoratorsToLower.length) {
892
+ newMembers.push(createDecoratorClassProperty(decoratorsToLower));
893
+ }
894
+ if (classParameters) {
895
+ if (hasAngularDecorator || classParameters.some((p) => !!p.decorators.length)) {
896
+ newMembers.push(createCtorParametersClassProperty(diagnostics, entityNameToExpression, classParameters, isClosureCompilerEnabled));
897
+ }
898
+ }
899
+ if (decoratedProperties.size) {
900
+ newMembers.push(createPropDecoratorsClassProperty(diagnostics, decoratedProperties));
901
+ }
902
+ const members = ts6.setTextRange(ts6.createNodeArray(newMembers, classDecl.members.hasTrailingComma), classDecl.members);
903
+ return ts6.updateClassDeclaration(classDecl, decoratorsToKeep.size ? Array.from(decoratorsToKeep) : void 0, classDecl.modifiers, classDecl.name, classDecl.typeParameters, classDecl.heritageClauses, members);
904
+ }
905
+ function decoratorDownlevelVisitor(node) {
906
+ if (ts6.isClassDeclaration(node)) {
907
+ return transformClassDeclaration(node);
908
+ }
909
+ return ts6.visitEachChild(node, decoratorDownlevelVisitor, context);
910
+ }
911
+ return (sf) => {
912
+ return ts6.visitEachChild(sf, decoratorDownlevelVisitor, context);
913
+ };
914
+ };
915
+ }
916
+
917
+ // bazel-out/darwin-fastbuild/bin/packages/compiler-cli/private/tooling.mjs
918
+ var GLOBAL_DEFS_FOR_TERSER = {
919
+ ngDevMode: false,
920
+ ngI18nClosureMode: false
921
+ };
922
+ var GLOBAL_DEFS_FOR_TERSER_WITH_AOT = __spreadProps(__spreadValues({}, GLOBAL_DEFS_FOR_TERSER), {
923
+ ngJitMode: false
924
+ });
925
+ function constructorParametersDownlevelTransform(program) {
926
+ const typeChecker = program.getTypeChecker();
927
+ const reflectionHost = new TypeScriptReflectionHost(typeChecker);
928
+ return getDownlevelDecoratorsTransform(typeChecker, reflectionHost, [], false, false, true);
929
+ }
930
+ export {
931
+ GLOBAL_DEFS_FOR_TERSER,
932
+ GLOBAL_DEFS_FOR_TERSER_WITH_AOT,
933
+ constructorParametersDownlevelTransform
934
+ };
935
+ /**
936
+ * @license
937
+ * Copyright Google LLC All Rights Reserved.
938
+ *
939
+ * Use of this source code is governed by an MIT-style license that can be
940
+ * found in the LICENSE file at https://angular.io/license
941
+ */
942
+ //# sourceMappingURL=tooling.js.map