@angular/compiler-cli 12.1.0-next.5 → 12.1.2

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 (476) hide show
  1. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +1 -1
  2. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +2 -3
  3. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +2 -2
  4. package/ngcc/src/dependencies/commonjs_dependency_host.js +1 -1
  5. package/ngcc/src/dependencies/dts_dependency_host.js +1 -1
  6. package/ngcc/src/dependencies/esm_dependency_host.js +1 -1
  7. package/ngcc/src/dependencies/umd_dependency_host.js +1 -1
  8. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +1 -1
  9. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +1 -1
  10. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +1 -1
  11. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +1 -1
  12. package/ngcc/src/host/commonjs_host.js +1 -1
  13. package/ngcc/src/host/esm2015_host.js +1 -1
  14. package/ngcc/src/host/esm5_host.js +1 -1
  15. package/ngcc/src/host/umd_host.js +1 -1
  16. package/ngcc/src/packages/build_marker.d.ts +1 -1
  17. package/ngcc/src/packages/build_marker.js +1 -1
  18. package/ngcc/src/packages/configuration.d.ts +7 -0
  19. package/ngcc/src/packages/configuration.js +8 -3
  20. package/ngcc/src/packages/entry_point_manifest.js +2 -2
  21. package/ngcc/src/packages/ngcc_compiler_host.js +1 -1
  22. package/ngcc/src/rendering/commonjs_rendering_formatter.js +1 -1
  23. package/ngcc/src/rendering/esm5_rendering_formatter.js +1 -1
  24. package/ngcc/src/rendering/umd_rendering_formatter.js +1 -1
  25. package/ngcc/src/writing/new_entry_point_file_writer.js +1 -1
  26. package/package.json +2 -2
  27. package/src/ngtsc/annotations/src/component.d.ts +2 -0
  28. package/src/ngtsc/annotations/src/component.js +6 -2
  29. package/src/ngtsc/annotations/src/directive.js +1 -1
  30. package/src/ngtsc/annotations/src/ng_module.js +1 -1
  31. package/src/ngtsc/annotations/src/pipe.js +1 -1
  32. package/src/ngtsc/core/api/src/public_options.d.ts +12 -0
  33. package/src/ngtsc/core/api/src/public_options.js +1 -1
  34. package/src/ngtsc/core/src/compiler.d.ts +5 -0
  35. package/src/ngtsc/core/src/compiler.js +10 -1
  36. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +1 -1
  37. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +1 -1
  38. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +1 -1
  39. package/src/ngtsc/incremental/semantic_graph/src/graph.js +1 -1
  40. package/src/ngtsc/incremental/src/incremental.js +36 -6
  41. package/src/ngtsc/incremental/src/state.d.ts +5 -3
  42. package/src/ngtsc/incremental/src/state.js +1 -1
  43. package/src/ngtsc/indexer/src/template.js +1 -1
  44. package/src/ngtsc/metadata/src/dts.js +2 -3
  45. package/src/ngtsc/metadata/src/inheritance.js +2 -7
  46. package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
  47. package/src/ngtsc/partial_evaluator/src/diagnostics.js +4 -1
  48. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +19 -1
  49. package/src/ngtsc/partial_evaluator/src/dynamic.js +12 -4
  50. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +2 -0
  51. package/src/ngtsc/partial_evaluator/src/interpreter.js +48 -1
  52. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +1 -1
  53. package/src/ngtsc/program.d.ts +1 -0
  54. package/src/ngtsc/program.js +26 -2
  55. package/src/ngtsc/program_driver/src/api.d.ts +20 -1
  56. package/src/ngtsc/program_driver/src/api.js +3 -2
  57. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -2
  58. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +7 -3
  59. package/src/ngtsc/reflection/src/typescript.js +4 -1
  60. package/src/ngtsc/transform/src/api.d.ts +6 -0
  61. package/src/ngtsc/transform/src/api.js +1 -1
  62. package/src/ngtsc/transform/src/compilation.d.ts +3 -0
  63. package/src/ngtsc/transform/src/compilation.js +124 -53
  64. package/src/ngtsc/transform/src/transform.js +1 -1
  65. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  66. package/src/ngtsc/typecheck/src/context.js +11 -3
  67. package/src/ngtsc/typecheck/src/template_semantics.js +1 -1
  68. package/src/ngtsc/typecheck/src/template_symbol_builder.js +36 -4
  69. package/src/ngtsc/typecheck/src/type_check_block.js +2 -2
  70. package/src/ngtsc/typecheck/src/type_check_file.js +1 -1
  71. package/src/ngtsc/typecheck/src/type_emitter.d.ts +2 -1
  72. package/src/ngtsc/typecheck/src/type_emitter.js +54 -48
  73. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +2 -0
  74. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +21 -7
  75. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  76. package/src/ngtsc/util/src/visitor.js +1 -8
  77. package/src/ngtsc/xi18n/index.d.ts +9 -0
  78. package/src/ngtsc/xi18n/index.js +22 -0
  79. package/src/ngtsc/xi18n/src/context.d.ts +26 -0
  80. package/src/ngtsc/xi18n/src/context.js +20 -0
  81. package/src/transformers/api.d.ts +0 -3
  82. package/src/transformers/api.js +1 -1
  83. package/src/transformers/i18n.d.ts +14 -0
  84. package/src/transformers/i18n.js +76 -0
  85. package/src/transformers/program.d.ts +0 -4
  86. package/src/transformers/program.js +5 -56
  87. package/src/version.js +1 -1
  88. package/compiler-cli.externs.js +0 -0
  89. package/index.mjs +0 -20
  90. package/linker/babel/babel.externs.js +0 -0
  91. package/linker/babel/index.mjs +0 -11
  92. package/linker/babel/src/ast/babel_ast_factory.mjs +0 -137
  93. package/linker/babel/src/ast/babel_ast_host.mjs +0 -154
  94. package/linker/babel/src/babel_declaration_scope.mjs +0 -52
  95. package/linker/babel/src/babel_plugin.mjs +0 -23
  96. package/linker/babel/src/es2015_linker_plugin.mjs +0 -158
  97. package/linker/babel/src/linker_plugin_options.mjs +0 -2
  98. package/linker/index.mjs +0 -7
  99. package/linker/linker.externs.js +0 -0
  100. package/linker/src/ast/ast_host.mjs +0 -9
  101. package/linker/src/ast/ast_value.mjs +0 -256
  102. package/linker/src/ast/typescript/typescript_ast_host.mjs +0 -156
  103. package/linker/src/ast/utils.mjs +0 -17
  104. package/linker/src/fatal_linker_error.mjs +0 -30
  105. package/linker/src/file_linker/declaration_scope.mjs +0 -9
  106. package/linker/src/file_linker/emit_scopes/emit_scope.mjs +0 -41
  107. package/linker/src/file_linker/emit_scopes/iife_emit_scope.mjs +0 -33
  108. package/linker/src/file_linker/file_linker.mjs +0 -70
  109. package/linker/src/file_linker/get_source_file.mjs +0 -28
  110. package/linker/src/file_linker/linker_environment.mjs +0 -23
  111. package/linker/src/file_linker/linker_options.mjs +0 -16
  112. package/linker/src/file_linker/needs_linking.mjs +0 -27
  113. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.mjs +0 -29
  114. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.mjs +0 -194
  115. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.mjs +0 -137
  116. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.mjs +0 -52
  117. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.mjs +0 -56
  118. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.mjs +0 -38
  119. package/linker/src/file_linker/partial_linkers/partial_linker.mjs +0 -2
  120. package/linker/src/file_linker/partial_linkers/partial_linker_selector.mjs +0 -166
  121. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.mjs +0 -110
  122. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.mjs +0 -42
  123. package/linker/src/file_linker/partial_linkers/util.mjs +0 -78
  124. package/linker/src/file_linker/translator.mjs +0 -23
  125. package/linker/src/linker_import_generator.mjs +0 -28
  126. package/ngcc/index.mjs +0 -16
  127. package/ngcc/main-ivy-ngcc.mjs +0 -12
  128. package/ngcc/main-ngcc.mjs +0 -32
  129. package/ngcc/ngcc.externs.js +0 -0
  130. package/ngcc/src/analysis/decoration_analyzer.mjs +0 -215
  131. package/ngcc/src/analysis/migration_host.mjs +0 -80
  132. package/ngcc/src/analysis/module_with_providers_analyzer.mjs +0 -178
  133. package/ngcc/src/analysis/ngcc_references_registry.mjs +0 -45
  134. package/ngcc/src/analysis/ngcc_trait_compiler.mjs +0 -70
  135. package/ngcc/src/analysis/private_declarations_analyzer.mjs +0 -47
  136. package/ngcc/src/analysis/switch_marker_analyzer.mjs +0 -34
  137. package/ngcc/src/analysis/types.mjs +0 -2
  138. package/ngcc/src/analysis/util.mjs +0 -19
  139. package/ngcc/src/command_line_options.mjs +0 -142
  140. package/ngcc/src/constants.mjs +0 -10
  141. package/ngcc/src/dependencies/commonjs_dependency_host.mjs +0 -87
  142. package/ngcc/src/dependencies/dependency_host.mjs +0 -102
  143. package/ngcc/src/dependencies/dependency_resolver.mjs +0 -151
  144. package/ngcc/src/dependencies/dts_dependency_host.mjs +0 -18
  145. package/ngcc/src/dependencies/esm_dependency_host.mjs +0 -286
  146. package/ngcc/src/dependencies/module_resolver.mjs +0 -233
  147. package/ngcc/src/dependencies/umd_dependency_host.mjs +0 -33
  148. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.mjs +0 -42
  149. package/ngcc/src/entry_point_finder/entry_point_collector.mjs +0 -120
  150. package/ngcc/src/entry_point_finder/interface.mjs +0 -2
  151. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.mjs +0 -91
  152. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.mjs +0 -216
  153. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.mjs +0 -63
  154. package/ngcc/src/entry_point_finder/utils.mjs +0 -176
  155. package/ngcc/src/execution/analyze_entry_points.mjs +0 -130
  156. package/ngcc/src/execution/api.mjs +0 -2
  157. package/ngcc/src/execution/cluster/api.mjs +0 -9
  158. package/ngcc/src/execution/cluster/executor.mjs +0 -27
  159. package/ngcc/src/execution/cluster/master.mjs +0 -261
  160. package/ngcc/src/execution/cluster/package_json_updater.mjs +0 -45
  161. package/ngcc/src/execution/cluster/utils.mjs +0 -59
  162. package/ngcc/src/execution/cluster/worker.mjs +0 -81
  163. package/ngcc/src/execution/create_compile_function.mjs +0 -62
  164. package/ngcc/src/execution/single_process_executor.mjs +0 -57
  165. package/ngcc/src/execution/tasks/api.mjs +0 -22
  166. package/ngcc/src/execution/tasks/completion.mjs +0 -61
  167. package/ngcc/src/execution/tasks/queues/base_task_queue.mjs +0 -78
  168. package/ngcc/src/execution/tasks/queues/parallel_task_queue.mjs +0 -53
  169. package/ngcc/src/execution/tasks/queues/serial_task_queue.mjs +0 -29
  170. package/ngcc/src/execution/tasks/utils.mjs +0 -114
  171. package/ngcc/src/host/commonjs_host.mjs +0 -220
  172. package/ngcc/src/host/commonjs_umd_utils.mjs +0 -186
  173. package/ngcc/src/host/delegating_host.mjs +0 -140
  174. package/ngcc/src/host/esm2015_host.mjs +0 -2293
  175. package/ngcc/src/host/esm5_host.mjs +0 -721
  176. package/ngcc/src/host/ngcc_host.mjs +0 -15
  177. package/ngcc/src/host/umd_host.mjs +0 -486
  178. package/ngcc/src/host/utils.mjs +0 -12
  179. package/ngcc/src/locking/async_locker.mjs +0 -76
  180. package/ngcc/src/locking/lock_file.mjs +0 -4
  181. package/ngcc/src/locking/lock_file_with_child_process/index.mjs +0 -78
  182. package/ngcc/src/locking/lock_file_with_child_process/unlocker.mjs +0 -34
  183. package/ngcc/src/locking/lock_file_with_child_process/util.mjs +0 -29
  184. package/ngcc/src/locking/sync_locker.mjs +0 -52
  185. package/ngcc/src/main.mjs +0 -134
  186. package/ngcc/src/migrations/migration.mjs +0 -2
  187. package/ngcc/src/migrations/missing_injectable_migration.mjs +0 -164
  188. package/ngcc/src/migrations/undecorated_child_migration.mjs +0 -61
  189. package/ngcc/src/migrations/undecorated_parent_migration.mjs +0 -86
  190. package/ngcc/src/migrations/utils.mjs +0 -117
  191. package/ngcc/src/ngcc_options.mjs +0 -119
  192. package/ngcc/src/packages/build_marker.mjs +0 -84
  193. package/ngcc/src/packages/bundle_program.mjs +0 -52
  194. package/ngcc/src/packages/configuration.mjs +0 -250
  195. package/ngcc/src/packages/entry_point.mjs +0 -239
  196. package/ngcc/src/packages/entry_point_bundle.mjs +0 -68
  197. package/ngcc/src/packages/entry_point_manifest.mjs +0 -162
  198. package/ngcc/src/packages/ngcc_compiler_host.mjs +0 -77
  199. package/ngcc/src/packages/patch_ts_expando_initializer.mjs +0 -166
  200. package/ngcc/src/packages/source_file_cache.mjs +0 -187
  201. package/ngcc/src/packages/transformer.mjs +0 -140
  202. package/ngcc/src/path_mappings.mjs +0 -13
  203. package/ngcc/src/rendering/commonjs_rendering_formatter.mjs +0 -65
  204. package/ngcc/src/rendering/dts_renderer.mjs +0 -139
  205. package/ngcc/src/rendering/esm5_rendering_formatter.mjs +0 -50
  206. package/ngcc/src/rendering/esm_rendering_formatter.mjs +0 -251
  207. package/ngcc/src/rendering/ngcc_import_rewriter.mjs +0 -32
  208. package/ngcc/src/rendering/renderer.mjs +0 -170
  209. package/ngcc/src/rendering/rendering_formatter.mjs +0 -2
  210. package/ngcc/src/rendering/source_maps.mjs +0 -54
  211. package/ngcc/src/rendering/umd_rendering_formatter.mjs +0 -292
  212. package/ngcc/src/rendering/utils.mjs +0 -20
  213. package/ngcc/src/utils.mjs +0 -144
  214. package/ngcc/src/writing/cleaning/cleaning_strategies.mjs +0 -61
  215. package/ngcc/src/writing/cleaning/package_cleaner.mjs +0 -67
  216. package/ngcc/src/writing/cleaning/utils.mjs +0 -16
  217. package/ngcc/src/writing/file_writer.mjs +0 -2
  218. package/ngcc/src/writing/in_place_file_writer.mjs +0 -62
  219. package/ngcc/src/writing/new_entry_point_file_writer.mjs +0 -161
  220. package/ngcc/src/writing/package_json_updater.mjs +0 -144
  221. package/src/diagnostics/translate_diagnostics.mjs +0 -47
  222. package/src/diagnostics/typescript_version.mjs +0 -79
  223. package/src/extract_i18n.mjs +0 -46
  224. package/src/language_services.mjs +0 -18
  225. package/src/main.mjs +0 -185
  226. package/src/metadata/bundle_index_host.mjs +0 -107
  227. package/src/metadata/bundler.mjs +0 -556
  228. package/src/metadata/collector.mjs +0 -701
  229. package/src/metadata/evaluator.mjs +0 -643
  230. package/src/metadata/index.mjs +0 -11
  231. package/src/metadata/index_writer.mjs +0 -44
  232. package/src/metadata/schema.mjs +0 -102
  233. package/src/metadata/symbols.mjs +0 -117
  234. package/src/ngtsc/annotations/annotations.externs.js +0 -0
  235. package/src/ngtsc/annotations/index.mjs +0 -15
  236. package/src/ngtsc/annotations/src/api.mjs +0 -9
  237. package/src/ngtsc/annotations/src/component.mjs +0 -1064
  238. package/src/ngtsc/annotations/src/diagnostics.mjs +0 -147
  239. package/src/ngtsc/annotations/src/directive.mjs +0 -692
  240. package/src/ngtsc/annotations/src/factory.mjs +0 -17
  241. package/src/ngtsc/annotations/src/injectable.mjs +0 -260
  242. package/src/ngtsc/annotations/src/metadata.mjs +0 -145
  243. package/src/ngtsc/annotations/src/ng_module.mjs +0 -565
  244. package/src/ngtsc/annotations/src/pipe.mjs +0 -151
  245. package/src/ngtsc/annotations/src/references_registry.mjs +0 -16
  246. package/src/ngtsc/annotations/src/util.mjs +0 -495
  247. package/src/ngtsc/core/api/index.mjs +0 -12
  248. package/src/ngtsc/core/api/src/adapter.mjs +0 -9
  249. package/src/ngtsc/core/api/src/interfaces.mjs +0 -9
  250. package/src/ngtsc/core/api/src/options.mjs +0 -9
  251. package/src/ngtsc/core/api/src/public_options.mjs +0 -9
  252. package/src/ngtsc/core/api.externs.js +0 -0
  253. package/src/ngtsc/core/core.externs.js +0 -0
  254. package/src/ngtsc/core/index.mjs +0 -10
  255. package/src/ngtsc/core/src/compiler.mjs +0 -908
  256. package/src/ngtsc/core/src/config.mjs +0 -15
  257. package/src/ngtsc/core/src/host.mjs +0 -229
  258. package/src/ngtsc/cycles/cycles.externs.js +0 -0
  259. package/src/ngtsc/cycles/index.mjs +0 -10
  260. package/src/ngtsc/cycles/src/analyzer.mjs +0 -60
  261. package/src/ngtsc/cycles/src/imports.mjs +0 -152
  262. package/src/ngtsc/diagnostics/diagnostics.externs.js +0 -0
  263. package/src/ngtsc/diagnostics/index.mjs +0 -11
  264. package/src/ngtsc/diagnostics/src/error.mjs +0 -51
  265. package/src/ngtsc/diagnostics/src/error_code.mjs +0 -198
  266. package/src/ngtsc/diagnostics/src/util.mjs +0 -21
  267. package/src/ngtsc/entry_point/entry_point.externs.js +0 -0
  268. package/src/ngtsc/entry_point/index.mjs +0 -12
  269. package/src/ngtsc/entry_point/src/generator.mjs +0 -35
  270. package/src/ngtsc/entry_point/src/logic.mjs +0 -35
  271. package/src/ngtsc/entry_point/src/private_export_checker.mjs +0 -122
  272. package/src/ngtsc/entry_point/src/reference_graph.mjs +0 -73
  273. package/src/ngtsc/file_system/file_system.externs.js +0 -0
  274. package/src/ngtsc/file_system/index.mjs +0 -13
  275. package/src/ngtsc/file_system/src/compiler_host.mjs +0 -64
  276. package/src/ngtsc/file_system/src/helpers.mjs +0 -99
  277. package/src/ngtsc/file_system/src/invalid_file_system.mjs +0 -95
  278. package/src/ngtsc/file_system/src/logical.mjs +0 -84
  279. package/src/ngtsc/file_system/src/node_js_file_system.mjs +0 -142
  280. package/src/ngtsc/file_system/src/types.mjs +0 -9
  281. package/src/ngtsc/file_system/src/util.mjs +0 -22
  282. package/src/ngtsc/file_system/testing/index.mjs +0 -13
  283. package/src/ngtsc/file_system/testing/src/mock_file_system.mjs +0 -293
  284. package/src/ngtsc/file_system/testing/src/mock_file_system_native.mjs +0 -57
  285. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.mjs +0 -38
  286. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.mjs +0 -38
  287. package/src/ngtsc/file_system/testing/src/test_helper.mjs +0 -108
  288. package/src/ngtsc/file_system/testing/testing.externs.js +0 -0
  289. package/src/ngtsc/imports/imports.externs.js +0 -0
  290. package/src/ngtsc/imports/index.mjs +0 -14
  291. package/src/ngtsc/imports/src/alias.mjs +0 -137
  292. package/src/ngtsc/imports/src/core.mjs +0 -78
  293. package/src/ngtsc/imports/src/default.mjs +0 -135
  294. package/src/ngtsc/imports/src/emitter.mjs +0 -266
  295. package/src/ngtsc/imports/src/find_export.mjs +0 -56
  296. package/src/ngtsc/imports/src/reexport.mjs +0 -9
  297. package/src/ngtsc/imports/src/references.mjs +0 -137
  298. package/src/ngtsc/imports/src/resolver.mjs +0 -24
  299. package/src/ngtsc/incremental/api.externs.js +0 -0
  300. package/src/ngtsc/incremental/api.mjs +0 -9
  301. package/src/ngtsc/incremental/incremental.externs.js +0 -0
  302. package/src/ngtsc/incremental/index.mjs +0 -12
  303. package/src/ngtsc/incremental/semantic_graph/index.mjs +0 -12
  304. package/src/ngtsc/incremental/semantic_graph/semantic_graph.externs.js +0 -0
  305. package/src/ngtsc/incremental/semantic_graph/src/api.mjs +0 -36
  306. package/src/ngtsc/incremental/semantic_graph/src/graph.mjs +0 -237
  307. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs +0 -40
  308. package/src/ngtsc/incremental/semantic_graph/src/util.mjs +0 -69
  309. package/src/ngtsc/incremental/src/dependency_tracking.mjs +0 -117
  310. package/src/ngtsc/incremental/src/incremental.mjs +0 -267
  311. package/src/ngtsc/incremental/src/noop.mjs +0 -13
  312. package/src/ngtsc/incremental/src/state.mjs +0 -17
  313. package/src/ngtsc/incremental/src/strategy.mjs +0 -76
  314. package/src/ngtsc/indexer/index.mjs +0 -11
  315. package/src/ngtsc/indexer/indexer.externs.js +0 -0
  316. package/src/ngtsc/indexer/src/api.mjs +0 -30
  317. package/src/ngtsc/indexer/src/context.mjs +0 -25
  318. package/src/ngtsc/indexer/src/template.mjs +0 -303
  319. package/src/ngtsc/indexer/src/transform.mjs +0 -51
  320. package/src/ngtsc/logging/index.mjs +0 -10
  321. package/src/ngtsc/logging/logging.externs.js +0 -0
  322. package/src/ngtsc/logging/src/console_logger.mjs +0 -43
  323. package/src/ngtsc/logging/src/logger.mjs +0 -15
  324. package/src/ngtsc/logging/testing/index.mjs +0 -9
  325. package/src/ngtsc/logging/testing/src/mock_logger.mjs +0 -32
  326. package/src/ngtsc/logging/testing/testing.externs.js +0 -0
  327. package/src/ngtsc/metadata/index.mjs +0 -15
  328. package/src/ngtsc/metadata/metadata.externs.js +0 -0
  329. package/src/ngtsc/metadata/src/api.mjs +0 -13
  330. package/src/ngtsc/metadata/src/dts.mjs +0 -143
  331. package/src/ngtsc/metadata/src/inheritance.mjs +0 -71
  332. package/src/ngtsc/metadata/src/property_mapping.mjs +0 -136
  333. package/src/ngtsc/metadata/src/registry.mjs +0 -80
  334. package/src/ngtsc/metadata/src/resource_registry.mjs +0 -81
  335. package/src/ngtsc/metadata/src/util.mjs +0 -200
  336. package/src/ngtsc/partial_evaluator/index.mjs +0 -12
  337. package/src/ngtsc/partial_evaluator/partial_evaluator.externs.js +0 -0
  338. package/src/ngtsc/partial_evaluator/src/builtin.mjs +0 -65
  339. package/src/ngtsc/partial_evaluator/src/diagnostics.mjs +0 -171
  340. package/src/ngtsc/partial_evaluator/src/dynamic.mjs +0 -86
  341. package/src/ngtsc/partial_evaluator/src/interface.mjs +0 -27
  342. package/src/ngtsc/partial_evaluator/src/interpreter.mjs +0 -683
  343. package/src/ngtsc/partial_evaluator/src/known_declaration.mjs +0 -43
  344. package/src/ngtsc/partial_evaluator/src/result.mjs +0 -50
  345. package/src/ngtsc/partial_evaluator/src/ts_helpers.mjs +0 -72
  346. package/src/ngtsc/perf/index.mjs +0 -11
  347. package/src/ngtsc/perf/perf.externs.js +0 -0
  348. package/src/ngtsc/perf/src/api.mjs +0 -278
  349. package/src/ngtsc/perf/src/clock.mjs +0 -15
  350. package/src/ngtsc/perf/src/noop.mjs +0 -21
  351. package/src/ngtsc/perf/src/recorder.mjs +0 -125
  352. package/src/ngtsc/program.mjs +0 -247
  353. package/src/ngtsc/program_driver/index.mjs +0 -10
  354. package/src/ngtsc/program_driver/program_driver.externs.js +0 -0
  355. package/src/ngtsc/program_driver/src/api.mjs +0 -22
  356. package/src/ngtsc/program_driver/src/ts_create_program_driver.mjs +0 -164
  357. package/src/ngtsc/reflection/index.mjs +0 -12
  358. package/src/ngtsc/reflection/reflection.externs.js +0 -0
  359. package/src/ngtsc/reflection/src/host.mjs +0 -73
  360. package/src/ngtsc/reflection/src/type_to_value.mjs +0 -243
  361. package/src/ngtsc/reflection/src/typescript.mjs +0 -608
  362. package/src/ngtsc/reflection/src/util.mjs +0 -21
  363. package/src/ngtsc/resource/index.mjs +0 -9
  364. package/src/ngtsc/resource/resource.externs.js +0 -0
  365. package/src/ngtsc/resource/src/loader.mjs +0 -242
  366. package/src/ngtsc/routing/index.mjs +0 -11
  367. package/src/ngtsc/routing/routing.externs.js +0 -0
  368. package/src/ngtsc/routing/src/analyzer.mjs +0 -69
  369. package/src/ngtsc/routing/src/lazy.mjs +0 -168
  370. package/src/ngtsc/routing/src/route.mjs +0 -51
  371. package/src/ngtsc/scope/index.mjs +0 -12
  372. package/src/ngtsc/scope/scope.externs.js +0 -0
  373. package/src/ngtsc/scope/src/api.mjs +0 -9
  374. package/src/ngtsc/scope/src/component_scope.mjs +0 -31
  375. package/src/ngtsc/scope/src/dependency.mjs +0 -134
  376. package/src/ngtsc/scope/src/local.mjs +0 -531
  377. package/src/ngtsc/scope/src/typecheck.mjs +0 -83
  378. package/src/ngtsc/shims/api.externs.js +0 -0
  379. package/src/ngtsc/shims/api.mjs +0 -2
  380. package/src/ngtsc/shims/index.mjs +0 -14
  381. package/src/ngtsc/shims/shims.externs.js +0 -0
  382. package/src/ngtsc/shims/src/adapter.mjs +0 -188
  383. package/src/ngtsc/shims/src/expando.mjs +0 -102
  384. package/src/ngtsc/shims/src/factory_generator.mjs +0 -265
  385. package/src/ngtsc/shims/src/reference_tagger.mjs +0 -67
  386. package/src/ngtsc/shims/src/summary_generator.mjs +0 -64
  387. package/src/ngtsc/shims/src/util.mjs +0 -26
  388. package/src/ngtsc/sourcemaps/index.mjs +0 -11
  389. package/src/ngtsc/sourcemaps/sourcemaps.externs.js +0 -0
  390. package/src/ngtsc/sourcemaps/src/content_origin.mjs +0 -35
  391. package/src/ngtsc/sourcemaps/src/raw_source_map.mjs +0 -2
  392. package/src/ngtsc/sourcemaps/src/segment_marker.mjs +0 -40
  393. package/src/ngtsc/sourcemaps/src/source_file.mjs +0 -459
  394. package/src/ngtsc/sourcemaps/src/source_file_loader.mjs +0 -213
  395. package/src/ngtsc/switch/index.mjs +0 -9
  396. package/src/ngtsc/switch/src/switch.mjs +0 -115
  397. package/src/ngtsc/switch/switch.externs.js +0 -0
  398. package/src/ngtsc/transform/index.mjs +0 -14
  399. package/src/ngtsc/transform/src/alias.mjs +0 -30
  400. package/src/ngtsc/transform/src/api.mjs +0 -63
  401. package/src/ngtsc/transform/src/compilation.mjs +0 -485
  402. package/src/ngtsc/transform/src/declaration.mjs +0 -182
  403. package/src/ngtsc/transform/src/trait.mjs +0 -95
  404. package/src/ngtsc/transform/src/transform.mjs +0 -298
  405. package/src/ngtsc/transform/src/utils.mjs +0 -57
  406. package/src/ngtsc/transform/transform.externs.js +0 -0
  407. package/src/ngtsc/translator/index.mjs +0 -14
  408. package/src/ngtsc/translator/src/api/ast_factory.mjs +0 -9
  409. package/src/ngtsc/translator/src/api/import_generator.mjs +0 -9
  410. package/src/ngtsc/translator/src/context.mjs +0 -24
  411. package/src/ngtsc/translator/src/import_manager.mjs +0 -48
  412. package/src/ngtsc/translator/src/translator.mjs +0 -317
  413. package/src/ngtsc/translator/src/type_translator.mjs +0 -204
  414. package/src/ngtsc/translator/src/typescript_ast_factory.mjs +0 -211
  415. package/src/ngtsc/translator/src/typescript_translator.mjs +0 -17
  416. package/src/ngtsc/translator/translator.externs.js +0 -0
  417. package/src/ngtsc/tsc_plugin.mjs +0 -98
  418. package/src/ngtsc/typecheck/api/api.externs.js +0 -0
  419. package/src/ngtsc/typecheck/api/api.mjs +0 -9
  420. package/src/ngtsc/typecheck/api/checker.mjs +0 -31
  421. package/src/ngtsc/typecheck/api/completion.mjs +0 -16
  422. package/src/ngtsc/typecheck/api/context.mjs +0 -9
  423. package/src/ngtsc/typecheck/api/index.mjs +0 -14
  424. package/src/ngtsc/typecheck/api/scope.mjs +0 -9
  425. package/src/ngtsc/typecheck/api/symbols.mjs +0 -22
  426. package/src/ngtsc/typecheck/diagnostics/diagnostics.externs.js +0 -0
  427. package/src/ngtsc/typecheck/diagnostics/index.mjs +0 -10
  428. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs +0 -99
  429. package/src/ngtsc/typecheck/diagnostics/src/id.mjs +0 -23
  430. package/src/ngtsc/typecheck/index.mjs +0 -12
  431. package/src/ngtsc/typecheck/src/checker.mjs +0 -591
  432. package/src/ngtsc/typecheck/src/comments.mjs +0 -159
  433. package/src/ngtsc/typecheck/src/completion.mjs +0 -155
  434. package/src/ngtsc/typecheck/src/context.mjs +0 -350
  435. package/src/ngtsc/typecheck/src/diagnostics.mjs +0 -95
  436. package/src/ngtsc/typecheck/src/dom.mjs +0 -68
  437. package/src/ngtsc/typecheck/src/environment.mjs +0 -146
  438. package/src/ngtsc/typecheck/src/expression.mjs +0 -412
  439. package/src/ngtsc/typecheck/src/line_mappings.mjs +0 -60
  440. package/src/ngtsc/typecheck/src/oob.mjs +0 -112
  441. package/src/ngtsc/typecheck/src/shim.mjs +0 -37
  442. package/src/ngtsc/typecheck/src/source.mjs +0 -74
  443. package/src/ngtsc/typecheck/src/tcb_util.mjs +0 -135
  444. package/src/ngtsc/typecheck/src/template_semantics.mjs +0 -34
  445. package/src/ngtsc/typecheck/src/template_symbol_builder.mjs +0 -472
  446. package/src/ngtsc/typecheck/src/ts_util.mjs +0 -157
  447. package/src/ngtsc/typecheck/src/type_check_block.mjs +0 -1770
  448. package/src/ngtsc/typecheck/src/type_check_file.mjs +0 -65
  449. package/src/ngtsc/typecheck/src/type_constructor.mjs +0 -227
  450. package/src/ngtsc/typecheck/src/type_emitter.mjs +0 -140
  451. package/src/ngtsc/typecheck/src/type_parameter_emitter.mjs +0 -80
  452. package/src/ngtsc/typecheck/typecheck.externs.js +0 -0
  453. package/src/ngtsc/util/src/path.mjs +0 -18
  454. package/src/ngtsc/util/src/typescript.mjs +0 -143
  455. package/src/ngtsc/util/src/visitor.mjs +0 -107
  456. package/src/ngtsc/util/util.externs.js +0 -0
  457. package/src/perform_compile.mjs +0 -275
  458. package/src/perform_watch.mjs +0 -247
  459. package/src/tooling.mjs +0 -32
  460. package/src/transformers/api.mjs +0 -27
  461. package/src/transformers/compiler_host.mjs +0 -593
  462. package/src/transformers/downlevel_decorators_transform.mjs +0 -507
  463. package/src/transformers/entry_points.mjs +0 -10
  464. package/src/transformers/inline_resources.mjs +0 -269
  465. package/src/transformers/lower_expressions.mjs +0 -336
  466. package/src/transformers/metadata_cache.mjs +0 -53
  467. package/src/transformers/metadata_reader.mjs +0 -104
  468. package/src/transformers/node_emitter.mjs +0 -606
  469. package/src/transformers/node_emitter_transform.mjs +0 -78
  470. package/src/transformers/patch_alias_reference_resolution.mjs +0 -109
  471. package/src/transformers/program.mjs +0 -935
  472. package/src/transformers/r3_metadata_transform.mjs +0 -46
  473. package/src/transformers/r3_transform.mjs +0 -29
  474. package/src/transformers/util.mjs +0 -89
  475. package/src/typescript_support.mjs +0 -57
  476. package/src/version.mjs +0 -15
@@ -1,166 +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
- import { intersects, Range, SemVer } from 'semver';
9
- import { createGetSourceFile } from '../get_source_file';
10
- import { PartialClassMetadataLinkerVersion1 } from './partial_class_metadata_linker_1';
11
- import { PartialComponentLinkerVersion1 } from './partial_component_linker_1';
12
- import { PartialDirectiveLinkerVersion1 } from './partial_directive_linker_1';
13
- import { PartialFactoryLinkerVersion1 } from './partial_factory_linker_1';
14
- import { PartialInjectableLinkerVersion1 } from './partial_injectable_linker_1';
15
- import { PartialInjectorLinkerVersion1 } from './partial_injector_linker_1';
16
- import { PartialNgModuleLinkerVersion1 } from './partial_ng_module_linker_1';
17
- import { PartialPipeLinkerVersion1 } from './partial_pipe_linker_1';
18
- export const ɵɵngDeclareDirective = 'ɵɵngDeclareDirective';
19
- export const ɵɵngDeclareClassMetadata = 'ɵɵngDeclareClassMetadata';
20
- export const ɵɵngDeclareComponent = 'ɵɵngDeclareComponent';
21
- export const ɵɵngDeclareFactory = 'ɵɵngDeclareFactory';
22
- export const ɵɵngDeclareInjectable = 'ɵɵngDeclareInjectable';
23
- export const ɵɵngDeclareInjector = 'ɵɵngDeclareInjector';
24
- export const ɵɵngDeclareNgModule = 'ɵɵngDeclareNgModule';
25
- export const ɵɵngDeclarePipe = 'ɵɵngDeclarePipe';
26
- export const declarationFunctions = [
27
- ɵɵngDeclareDirective, ɵɵngDeclareClassMetadata, ɵɵngDeclareComponent, ɵɵngDeclareFactory,
28
- ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe
29
- ];
30
- /**
31
- * Create a mapping between partial-declaration call name and collections of partial-linkers.
32
- *
33
- * Each collection of partial-linkers will contain a version range that will be matched against the
34
- * `minVersion` of the partial-declaration. (Additionally, a partial-linker may modify its behaviour
35
- * internally based on the `version` property of the declaration.)
36
- *
37
- * Versions should be sorted in ascending order. The most recent partial-linker will be used as the
38
- * fallback linker if none of the other version ranges match. For example:
39
- *
40
- * ```
41
- * {range: getRange('<=', '13.0.0'), linker PartialDirectiveLinkerVersion2(...) },
42
- * {range: getRange('<=', '13.1.0'), linker PartialDirectiveLinkerVersion3(...) },
43
- * {range: getRange('<=', '14.0.0'), linker PartialDirectiveLinkerVersion4(...) },
44
- * {range: LATEST_VERSION_RANGE, linker: new PartialDirectiveLinkerVersion1(...)},
45
- * ```
46
- *
47
- * If the `LATEST_VERSION_RANGE` is `<=15.0.0` then the fallback linker would be
48
- * `PartialDirectiveLinkerVersion1` for any version greater than `15.0.0`.
49
- *
50
- * When there is a change to a declaration interface that requires a new partial-linker, the
51
- * `minVersion` of the partial-declaration should be updated, the new linker implementation should
52
- * be added to the end of the collection, and the version of the previous linker should be updated.
53
- */
54
- export function createLinkerMap(environment, sourceUrl, code) {
55
- const linkers = new Map();
56
- const LATEST_VERSION_RANGE = getRange('<=', '12.1.0-next.5');
57
- linkers.set(ɵɵngDeclareDirective, [
58
- { range: LATEST_VERSION_RANGE, linker: new PartialDirectiveLinkerVersion1(sourceUrl, code) },
59
- ]);
60
- linkers.set(ɵɵngDeclareClassMetadata, [
61
- { range: LATEST_VERSION_RANGE, linker: new PartialClassMetadataLinkerVersion1() },
62
- ]);
63
- linkers.set(ɵɵngDeclareComponent, [
64
- {
65
- range: LATEST_VERSION_RANGE,
66
- linker: new PartialComponentLinkerVersion1(createGetSourceFile(sourceUrl, code, environment.sourceFileLoader), sourceUrl, code)
67
- },
68
- ]);
69
- linkers.set(ɵɵngDeclareFactory, [
70
- { range: LATEST_VERSION_RANGE, linker: new PartialFactoryLinkerVersion1() },
71
- ]);
72
- linkers.set(ɵɵngDeclareInjectable, [
73
- { range: LATEST_VERSION_RANGE, linker: new PartialInjectableLinkerVersion1() },
74
- ]);
75
- linkers.set(ɵɵngDeclareInjector, [
76
- { range: LATEST_VERSION_RANGE, linker: new PartialInjectorLinkerVersion1() },
77
- ]);
78
- linkers.set(ɵɵngDeclareNgModule, [
79
- {
80
- range: LATEST_VERSION_RANGE,
81
- linker: new PartialNgModuleLinkerVersion1(environment.options.linkerJitMode)
82
- },
83
- ]);
84
- linkers.set(ɵɵngDeclarePipe, [
85
- { range: LATEST_VERSION_RANGE, linker: new PartialPipeLinkerVersion1() },
86
- ]);
87
- return linkers;
88
- }
89
- /**
90
- * A helper that selects the appropriate `PartialLinker` for a given declaration.
91
- *
92
- * The selection is made from a database of linker instances, chosen if their given semver range
93
- * satisfies the `minVersion` of the partial declaration to be linked.
94
- *
95
- * Note that the ranges are checked in order, and the first matching range will be selected. So
96
- * ranges should be most restrictive first. In practice, since ranges are always `<=X.Y.Z` this
97
- * means that ranges should be in ascending order.
98
- *
99
- * Note that any "pre-release" versions are stripped from ranges. Therefore if a `minVersion` is
100
- * `11.1.0-next.1` then this would match `11.1.0-next.2` and also `12.0.0-next.1`. (This is
101
- * different to standard semver range checking, where pre-release versions do not cross full version
102
- * boundaries.)
103
- */
104
- export class PartialLinkerSelector {
105
- constructor(linkers, logger, unknownDeclarationVersionHandling) {
106
- this.linkers = linkers;
107
- this.logger = logger;
108
- this.unknownDeclarationVersionHandling = unknownDeclarationVersionHandling;
109
- }
110
- /**
111
- * Returns true if there are `PartialLinker` classes that can handle functions with this name.
112
- */
113
- supportsDeclaration(functionName) {
114
- return this.linkers.has(functionName);
115
- }
116
- /**
117
- * Returns the `PartialLinker` that can handle functions with the given name and version.
118
- * Throws an error if there is none.
119
- */
120
- getLinker(functionName, minVersion, version) {
121
- if (!this.linkers.has(functionName)) {
122
- throw new Error(`Unknown partial declaration function ${functionName}.`);
123
- }
124
- const linkerRanges = this.linkers.get(functionName);
125
- if (version === '12.1.0-next.5') {
126
- // Special case if the `version` is the same as the current compiler version.
127
- // This helps with compliance tests where the version placeholders have not been replaced.
128
- return linkerRanges[linkerRanges.length - 1].linker;
129
- }
130
- const declarationRange = getRange('>=', minVersion);
131
- for (const { range: linkerRange, linker } of linkerRanges) {
132
- if (intersects(declarationRange, linkerRange)) {
133
- return linker;
134
- }
135
- }
136
- const message = `This application depends upon a library published using Angular version ${version}, ` +
137
- `which requires Angular version ${minVersion} or newer to work correctly.\n` +
138
- `Consider upgrading your application to use a more recent version of Angular.`;
139
- if (this.unknownDeclarationVersionHandling === 'error') {
140
- throw new Error(message);
141
- }
142
- else if (this.unknownDeclarationVersionHandling === 'warn') {
143
- this.logger.warn(`${message}\nAttempting to continue using this version of Angular.`);
144
- }
145
- // No linker was matched for this declaration, so just use the most recent one.
146
- return linkerRanges[linkerRanges.length - 1].linker;
147
- }
148
- }
149
- /**
150
- * Compute a semver Range from the `version` and comparator.
151
- *
152
- * The range is computed as any version greater/less than or equal to the given `versionStr`
153
- * depending upon the `comparator` (ignoring any prerelease versions).
154
- *
155
- * @param comparator a string that determines whether the version specifies a minimum or a maximum
156
- * range.
157
- * @param versionStr the version given in the partial declaration
158
- * @returns A semver range for the provided `version` and comparator.
159
- */
160
- function getRange(comparator, versionStr) {
161
- const version = new SemVer(versionStr);
162
- // Wipe out any prerelease versions
163
- version.prerelease = [];
164
- return new Range(`${comparator}${version.format()}`);
165
- }
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbF9saW5rZXJfc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbGlua2VyL3NyYy9maWxlX2xpbmtlci9wYXJ0aWFsX2xpbmtlcnMvcGFydGlhbF9saW5rZXJfc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBSWpELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLHFC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Tyx5REFBeUQsQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsK0VBQStFO1FBQy9FLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxVQUFxQixFQUFFLFVBQWtCO0lBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLG1DQUFtQztJQUNuQyxPQUFPLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN4QixPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtpbnRlcnNlY3RzLCBSYW5nZSwgU2VtVmVyfSBmcm9tICdzZW12ZXInO1xuXG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uZ3RzYy9sb2dnaW5nJztcbmltcG9ydCB7Y3JlYXRlR2V0U291cmNlRmlsZX0gZnJvbSAnLi4vZ2V0X3NvdXJjZV9maWxlJztcbmltcG9ydCB7TGlua2VyRW52aXJvbm1lbnR9IGZyb20gJy4uL2xpbmtlcl9lbnZpcm9ubWVudCc7XG5cbmltcG9ydCB7UGFydGlhbENsYXNzTWV0YWRhdGFMaW5rZXJWZXJzaW9uMX0gZnJvbSAnLi9wYXJ0aWFsX2NsYXNzX21ldGFkYXRhX2xpbmtlcl8xJztcbmltcG9ydCB7UGFydGlhbENvbXBvbmVudExpbmtlclZlcnNpb24xfSBmcm9tICcuL3BhcnRpYWxfY29tcG9uZW50X2xpbmtlcl8xJztcbmltcG9ydCB7UGFydGlhbERpcmVjdGl2ZUxpbmtlclZlcnNpb24xfSBmcm9tICcuL3BhcnRpYWxfZGlyZWN0aXZlX2xpbmtlcl8xJztcbmltcG9ydCB7UGFydGlhbEZhY3RvcnlMaW5rZXJWZXJzaW9uMX0gZnJvbSAnLi9wYXJ0aWFsX2ZhY3RvcnlfbGlua2VyXzEnO1xuaW1wb3J0IHtQYXJ0aWFsSW5qZWN0YWJsZUxpbmtlclZlcnNpb24xfSBmcm9tICcuL3BhcnRpYWxfaW5qZWN0YWJsZV9saW5rZXJfMSc7XG5pbXBvcnQge1BhcnRpYWxJbmplY3RvckxpbmtlclZlcnNpb24xfSBmcm9tICcuL3BhcnRpYWxfaW5qZWN0b3JfbGlua2VyXzEnO1xuaW1wb3J0IHtQYXJ0aWFsTGlua2VyfSBmcm9tICcuL3BhcnRpYWxfbGlua2VyJztcbmltcG9ydCB7UGFydGlhbE5nTW9kdWxlTGlua2VyVmVyc2lvbjF9IGZyb20gJy4vcGFydGlhbF9uZ19tb2R1bGVfbGlua2VyXzEnO1xuaW1wb3J0IHtQYXJ0aWFsUGlwZUxpbmtlclZlcnNpb24xfSBmcm9tICcuL3BhcnRpYWxfcGlwZV9saW5rZXJfMSc7XG5cbmV4cG9ydCBjb25zdCDJtcm1bmdEZWNsYXJlRGlyZWN0aXZlID0gJ8m1ybVuZ0RlY2xhcmVEaXJlY3RpdmUnO1xuZXhwb3J0IGNvbnN0IMm1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhID0gJ8m1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhJztcbmV4cG9ydCBjb25zdCDJtcm1bmdEZWNsYXJlQ29tcG9uZW50ID0gJ8m1ybVuZ0RlY2xhcmVDb21wb25lbnQnO1xuZXhwb3J0IGNvbnN0IMm1ybVuZ0RlY2xhcmVGYWN0b3J5ID0gJ8m1ybVuZ0RlY2xhcmVGYWN0b3J5JztcbmV4cG9ydCBjb25zdCDJtcm1bmdEZWNsYXJlSW5qZWN0YWJsZSA9ICfJtcm1bmdEZWNsYXJlSW5qZWN0YWJsZSc7XG5leHBvcnQgY29uc3QgybXJtW5nRGVjbGFyZUluamVjdG9yID0gJ8m1ybVuZ0RlY2xhcmVJbmplY3Rvcic7XG5leHBvcnQgY29uc3QgybXJtW5nRGVjbGFyZU5nTW9kdWxlID0gJ8m1ybVuZ0RlY2xhcmVOZ01vZHVsZSc7XG5leHBvcnQgY29uc3QgybXJtW5nRGVjbGFyZVBpcGUgPSAnybXJtW5nRGVjbGFyZVBpcGUnO1xuZXhwb3J0IGNvbnN0IGRlY2xhcmF0aW9uRnVuY3Rpb25zID0gW1xuICDJtcm1bmdEZWNsYXJlRGlyZWN0aXZlLCDJtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSwgybXJtW5nRGVjbGFyZUNvbXBvbmVudCwgybXJtW5nRGVjbGFyZUZhY3RvcnksXG4gIMm1ybVuZ0RlY2xhcmVJbmplY3RhYmxlLCDJtcm1bmdEZWNsYXJlSW5qZWN0b3IsIMm1ybVuZ0RlY2xhcmVOZ01vZHVsZSwgybXJtW5nRGVjbGFyZVBpcGVcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VyUmFuZ2U8VEV4cHJlc3Npb24+IHtcbiAgcmFuZ2U6IFJhbmdlO1xuICBsaW5rZXI6IFBhcnRpYWxMaW5rZXI8VEV4cHJlc3Npb24+O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIG1hcHBpbmcgYmV0d2VlbiBwYXJ0aWFsLWRlY2xhcmF0aW9uIGNhbGwgbmFtZSBhbmQgY29sbGVjdGlvbnMgb2YgcGFydGlhbC1saW5rZXJzLlxuICpcbiAqIEVhY2ggY29sbGVjdGlvbiBvZiBwYXJ0aWFsLWxpbmtlcnMgd2lsbCBjb250YWluIGEgdmVyc2lvbiByYW5nZSB0aGF0IHdpbGwgYmUgbWF0Y2hlZCBhZ2FpbnN0IHRoZVxuICogYG1pblZlcnNpb25gIG9mIHRoZSBwYXJ0aWFsLWRlY2xhcmF0aW9uLiAoQWRkaXRpb25hbGx5LCBhIHBhcnRpYWwtbGlua2VyIG1heSBtb2RpZnkgaXRzIGJlaGF2aW91clxuICogaW50ZXJuYWxseSBiYXNlZCBvbiB0aGUgYHZlcnNpb25gIHByb3BlcnR5IG9mIHRoZSBkZWNsYXJhdGlvbi4pXG4gKlxuICogVmVyc2lvbnMgc2hvdWxkIGJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIFRoZSBtb3N0IHJlY2VudCBwYXJ0aWFsLWxpbmtlciB3aWxsIGJlIHVzZWQgYXMgdGhlXG4gKiBmYWxsYmFjayBsaW5rZXIgaWYgbm9uZSBvZiB0aGUgb3RoZXIgdmVyc2lvbiByYW5nZXMgbWF0Y2guIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYFxuICoge3JhbmdlOiBnZXRSYW5nZSgnPD0nLCAnMTMuMC4wJyksIGxpbmtlciBQYXJ0aWFsRGlyZWN0aXZlTGlua2VyVmVyc2lvbjIoLi4uKSB9LFxuICoge3JhbmdlOiBnZXRSYW5nZSgnPD0nLCAnMTMuMS4wJyksIGxpbmtlciBQYXJ0aWFsRGlyZWN0aXZlTGlua2VyVmVyc2lvbjMoLi4uKSB9LFxuICoge3JhbmdlOiBnZXRSYW5nZSgnPD0nLCAnMTQuMC4wJyksIGxpbmtlciBQYXJ0aWFsRGlyZWN0aXZlTGlua2VyVmVyc2lvbjQoLi4uKSB9LFxuICoge3JhbmdlOiBMQVRFU1RfVkVSU0lPTl9SQU5HRSwgbGlua2VyOiBuZXcgUGFydGlhbERpcmVjdGl2ZUxpbmtlclZlcnNpb24xKC4uLil9LFxuICogYGBgXG4gKlxuICogSWYgdGhlIGBMQVRFU1RfVkVSU0lPTl9SQU5HRWAgaXMgYDw9MTUuMC4wYCB0aGVuIHRoZSBmYWxsYmFjayBsaW5rZXIgd291bGQgYmVcbiAqIGBQYXJ0aWFsRGlyZWN0aXZlTGlua2VyVmVyc2lvbjFgIGZvciBhbnkgdmVyc2lvbiBncmVhdGVyIHRoYW4gYDE1LjAuMGAuXG4gKlxuICogV2hlbiB0aGVyZSBpcyBhIGNoYW5nZSB0byBhIGRlY2xhcmF0aW9uIGludGVyZmFjZSB0aGF0IHJlcXVpcmVzIGEgbmV3IHBhcnRpYWwtbGlua2VyLCB0aGVcbiAqIGBtaW5WZXJzaW9uYCBvZiB0aGUgcGFydGlhbC1kZWNsYXJhdGlvbiBzaG91bGQgYmUgdXBkYXRlZCwgdGhlIG5ldyBsaW5rZXIgaW1wbGVtZW50YXRpb24gc2hvdWxkXG4gKiBiZSBhZGRlZCB0byB0aGUgZW5kIG9mIHRoZSBjb2xsZWN0aW9uLCBhbmQgdGhlIHZlcnNpb24gb2YgdGhlIHByZXZpb3VzIGxpbmtlciBzaG91bGQgYmUgdXBkYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmtlck1hcDxUU3RhdGVtZW50LCBURXhwcmVzc2lvbj4oXG4gICAgZW52aXJvbm1lbnQ6IExpbmtlckVudmlyb25tZW50PFRTdGF0ZW1lbnQsIFRFeHByZXNzaW9uPiwgc291cmNlVXJsOiBBYnNvbHV0ZUZzUGF0aCxcbiAgICBjb2RlOiBzdHJpbmcpOiBNYXA8c3RyaW5nLCBMaW5rZXJSYW5nZTxURXhwcmVzc2lvbj5bXT4ge1xuICBjb25zdCBsaW5rZXJzID0gbmV3IE1hcDxzdHJpbmcsIExpbmtlclJhbmdlPFRFeHByZXNzaW9uPltdPigpO1xuICBjb25zdCBMQVRFU1RfVkVSU0lPTl9SQU5HRSA9IGdldFJhbmdlKCc8PScsICcwLjAuMC1QTEFDRUhPTERFUicpO1xuXG4gIGxpbmtlcnMuc2V0KMm1ybVuZ0RlY2xhcmVEaXJlY3RpdmUsIFtcbiAgICB7cmFuZ2U6IExBVEVTVF9WRVJTSU9OX1JBTkdFLCBsaW5rZXI6IG5ldyBQYXJ0aWFsRGlyZWN0aXZlTGlua2VyVmVyc2lvbjEoc291cmNlVXJsLCBjb2RlKX0sXG4gIF0pO1xuICBsaW5rZXJzLnNldCjJtcm1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YSwgW1xuICAgIHtyYW5nZTogTEFURVNUX1ZFUlNJT05fUkFOR0UsIGxpbmtlcjogbmV3IFBhcnRpYWxDbGFzc01ldGFkYXRhTGlua2VyVmVyc2lvbjEoKX0sXG4gIF0pO1xuICBsaW5rZXJzLnNldCjJtcm1bmdEZWNsYXJlQ29tcG9uZW50LCBbXG4gICAge1xuICAgICAgcmFuZ2U6IExBVEVTVF9WRVJTSU9OX1JBTkdFLFxuICAgICAgbGlua2VyOiBuZXcgUGFydGlhbENvbXBvbmVudExpbmtlclZlcnNpb24xKFxuICAgICAgICAgIGNyZWF0ZUdldFNvdXJjZUZpbGUoc291cmNlVXJsLCBjb2RlLCBlbnZpcm9ubWVudC5zb3VyY2VGaWxlTG9hZGVyKSwgc291cmNlVXJsLCBjb2RlKVxuICAgIH0sXG4gIF0pO1xuICBsaW5rZXJzLnNldCjJtcm1bmdEZWNsYXJlRmFjdG9yeSwgW1xuICAgIHtyYW5nZTogTEFURVNUX1ZFUlNJT05fUkFOR0UsIGxpbmtlcjogbmV3IFBhcnRpYWxGYWN0b3J5TGlua2VyVmVyc2lvbjEoKX0sXG4gIF0pO1xuICBsaW5rZXJzLnNldCjJtcm1bmdEZWNsYXJlSW5qZWN0YWJsZSwgW1xuICAgIHtyYW5nZTogTEFURVNUX1ZFUlNJT05fUkFOR0UsIGxpbmtlcjogbmV3IFBhcnRpYWxJbmplY3RhYmxlTGlua2VyVmVyc2lvbjEoKX0sXG4gIF0pO1xuICBsaW5rZXJzLnNldCjJtcm1bmdEZWNsYXJlSW5qZWN0b3IsIFtcbiAgICB7cmFuZ2U6IExBVEVTVF9WRVJTSU9OX1JBTkdFLCBsaW5rZXI6IG5ldyBQYXJ0aWFsSW5qZWN0b3JMaW5rZXJWZXJzaW9uMSgpfSxcbiAgXSk7XG4gIGxpbmtlcnMuc2V0KMm1ybVuZ0RlY2xhcmVOZ01vZHVsZSwgW1xuICAgIHtcbiAgICAgIHJhbmdlOiBMQVRFU1RfVkVSU0lPTl9SQU5HRSxcbiAgICAgIGxpbmtlcjogbmV3IFBhcnRpYWxOZ01vZHVsZUxpbmtlclZlcnNpb24xKGVudmlyb25tZW50Lm9wdGlvbnMubGlua2VySml0TW9kZSlcbiAgICB9LFxuICBdKTtcbiAgbGlua2Vycy5zZXQoybXJtW5nRGVjbGFyZVBpcGUsIFtcbiAgICB7cmFuZ2U6IExBVEVTVF9WRVJTSU9OX1JBTkdFLCBsaW5rZXI6IG5ldyBQYXJ0aWFsUGlwZUxpbmtlclZlcnNpb24xKCl9LFxuICBdKTtcblxuICByZXR1cm4gbGlua2Vycztcbn1cblxuLyoqXG4gKiBBIGhlbHBlciB0aGF0IHNlbGVjdHMgdGhlIGFwcHJvcHJpYXRlIGBQYXJ0aWFsTGlua2VyYCBmb3IgYSBnaXZlbiBkZWNsYXJhdGlvbi5cbiAqXG4gKiBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgZnJvbSBhIGRhdGFiYXNlIG9mIGxpbmtlciBpbnN0YW5jZXMsIGNob3NlbiBpZiB0aGVpciBnaXZlbiBzZW12ZXIgcmFuZ2VcbiAqIHNhdGlzZmllcyB0aGUgYG1pblZlcnNpb25gIG9mIHRoZSBwYXJ0aWFsIGRlY2xhcmF0aW9uIHRvIGJlIGxpbmtlZC5cbiAqXG4gKiBOb3RlIHRoYXQgdGhlIHJhbmdlcyBhcmUgY2hlY2tlZCBpbiBvcmRlciwgYW5kIHRoZSBmaXJzdCBtYXRjaGluZyByYW5nZSB3aWxsIGJlIHNlbGVjdGVkLiBTb1xuICogcmFuZ2VzIHNob3VsZCBiZSBtb3N0IHJlc3RyaWN0aXZlIGZpcnN0LiBJbiBwcmFjdGljZSwgc2luY2UgcmFuZ2VzIGFyZSBhbHdheXMgYDw9WC5ZLlpgIHRoaXNcbiAqIG1lYW5zIHRoYXQgcmFuZ2VzIHNob3VsZCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gKlxuICogTm90ZSB0aGF0IGFueSBcInByZS1yZWxlYXNlXCIgdmVyc2lvbnMgYXJlIHN0cmlwcGVkIGZyb20gcmFuZ2VzLiBUaGVyZWZvcmUgaWYgYSBgbWluVmVyc2lvbmAgaXNcbiAqIGAxMS4xLjAtbmV4dC4xYCB0aGVuIHRoaXMgd291bGQgbWF0Y2ggYDExLjEuMC1uZXh0LjJgIGFuZCBhbHNvIGAxMi4wLjAtbmV4dC4xYC4gKFRoaXMgaXNcbiAqIGRpZmZlcmVudCB0byBzdGFuZGFyZCBzZW12ZXIgcmFuZ2UgY2hlY2tpbmcsIHdoZXJlIHByZS1yZWxlYXNlIHZlcnNpb25zIGRvIG5vdCBjcm9zcyBmdWxsIHZlcnNpb25cbiAqIGJvdW5kYXJpZXMuKVxuICovXG5leHBvcnQgY2xhc3MgUGFydGlhbExpbmtlclNlbGVjdG9yPFRFeHByZXNzaW9uPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZXJzOiBNYXA8c3RyaW5nLCBMaW5rZXJSYW5nZTxURXhwcmVzc2lvbj5bXT4sXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSB1bmtub3duRGVjbGFyYXRpb25WZXJzaW9uSGFuZGxpbmc6ICdpZ25vcmUnfCd3YXJuJ3wnZXJyb3InKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlcmUgYXJlIGBQYXJ0aWFsTGlua2VyYCBjbGFzc2VzIHRoYXQgY2FuIGhhbmRsZSBmdW5jdGlvbnMgd2l0aCB0aGlzIG5hbWUuXG4gICAqL1xuICBzdXBwb3J0c0RlY2xhcmF0aW9uKGZ1bmN0aW9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlua2Vycy5oYXMoZnVuY3Rpb25OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgUGFydGlhbExpbmtlcmAgdGhhdCBjYW4gaGFuZGxlIGZ1bmN0aW9ucyB3aXRoIHRoZSBnaXZlbiBuYW1lIGFuZCB2ZXJzaW9uLlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlcmUgaXMgbm9uZS5cbiAgICovXG4gIGdldExpbmtlcihmdW5jdGlvbk5hbWU6IHN0cmluZywgbWluVmVyc2lvbjogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpOiBQYXJ0aWFsTGlua2VyPFRFeHByZXNzaW9uPiB7XG4gICAgaWYgKCF0aGlzLmxpbmtlcnMuaGFzKGZ1bmN0aW9uTmFtZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwYXJ0aWFsIGRlY2xhcmF0aW9uIGZ1bmN0aW9uICR7ZnVuY3Rpb25OYW1lfS5gKTtcbiAgICB9XG4gICAgY29uc3QgbGlua2VyUmFuZ2VzID0gdGhpcy5saW5rZXJzLmdldChmdW5jdGlvbk5hbWUpITtcblxuICAgIGlmICh2ZXJzaW9uID09PSAnMC4wLjAtUExBQ0VIT0xERVInKSB7XG4gICAgICAvLyBTcGVjaWFsIGNhc2UgaWYgdGhlIGB2ZXJzaW9uYCBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBjb21waWxlciB2ZXJzaW9uLlxuICAgICAgLy8gVGhpcyBoZWxwcyB3aXRoIGNvbXBsaWFuY2UgdGVzdHMgd2hlcmUgdGhlIHZlcnNpb24gcGxhY2Vob2xkZXJzIGhhdmUgbm90IGJlZW4gcmVwbGFjZWQuXG4gICAgICByZXR1cm4gbGlua2VyUmFuZ2VzW2xpbmtlclJhbmdlcy5sZW5ndGggLSAxXS5saW5rZXI7XG4gICAgfVxuXG4gICAgY29uc3QgZGVjbGFyYXRpb25SYW5nZSA9IGdldFJhbmdlKCc+PScsIG1pblZlcnNpb24pO1xuICAgIGZvciAoY29uc3Qge3JhbmdlOiBsaW5rZXJSYW5nZSwgbGlua2VyfSBvZiBsaW5rZXJSYW5nZXMpIHtcbiAgICAgIGlmIChpbnRlcnNlY3RzKGRlY2xhcmF0aW9uUmFuZ2UsIGxpbmtlclJhbmdlKSkge1xuICAgICAgICByZXR1cm4gbGlua2VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICBgVGhpcyBhcHBsaWNhdGlvbiBkZXBlbmRzIHVwb24gYSBsaWJyYXJ5IHB1Ymxpc2hlZCB1c2luZyBBbmd1bGFyIHZlcnNpb24gJHt2ZXJzaW9ufSwgYCArXG4gICAgICAgIGB3aGljaCByZXF1aXJlcyBBbmd1bGFyIHZlcnNpb24gJHttaW5WZXJzaW9ufSBvciBuZXdlciB0byB3b3JrIGNvcnJlY3RseS5cXG5gICtcbiAgICAgICAgYENvbnNpZGVyIHVwZ3JhZGluZyB5b3VyIGFwcGxpY2F0aW9uIHRvIHVzZSBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgQW5ndWxhci5gO1xuXG4gICAgaWYgKHRoaXMudW5rbm93bkRlY2xhcmF0aW9uVmVyc2lvbkhhbmRsaW5nID09PSAnZXJyb3InKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnVua25vd25EZWNsYXJhdGlvblZlcnNpb25IYW5kbGluZyA9PT0gJ3dhcm4nKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKGAke21lc3NhZ2V9XFxuQXR0ZW1wdGluZyB0byBjb250aW51ZSB1c2luZyB0aGlzIHZlcnNpb24gb2YgQW5ndWxhci5gKTtcbiAgICB9XG5cbiAgICAvLyBObyBsaW5rZXIgd2FzIG1hdGNoZWQgZm9yIHRoaXMgZGVjbGFyYXRpb24sIHNvIGp1c3QgdXNlIHRoZSBtb3N0IHJlY2VudCBvbmUuXG4gICAgcmV0dXJuIGxpbmtlclJhbmdlc1tsaW5rZXJSYW5nZXMubGVuZ3RoIC0gMV0ubGlua2VyO1xuICB9XG59XG5cbi8qKlxuICogQ29tcHV0ZSBhIHNlbXZlciBSYW5nZSBmcm9tIHRoZSBgdmVyc2lvbmAgYW5kIGNvbXBhcmF0b3IuXG4gKlxuICogVGhlIHJhbmdlIGlzIGNvbXB1dGVkIGFzIGFueSB2ZXJzaW9uIGdyZWF0ZXIvbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBnaXZlbiBgdmVyc2lvblN0cmBcbiAqIGRlcGVuZGluZyB1cG9uIHRoZSBgY29tcGFyYXRvcmAgKGlnbm9yaW5nIGFueSBwcmVyZWxlYXNlIHZlcnNpb25zKS5cbiAqXG4gKiBAcGFyYW0gY29tcGFyYXRvciBhIHN0cmluZyB0aGF0IGRldGVybWluZXMgd2hldGhlciB0aGUgdmVyc2lvbiBzcGVjaWZpZXMgYSBtaW5pbXVtIG9yIGEgbWF4aW11bVxuICogICAgIHJhbmdlLlxuICogQHBhcmFtIHZlcnNpb25TdHIgdGhlIHZlcnNpb24gZ2l2ZW4gaW4gdGhlIHBhcnRpYWwgZGVjbGFyYXRpb25cbiAqIEByZXR1cm5zIEEgc2VtdmVyIHJhbmdlIGZvciB0aGUgcHJvdmlkZWQgYHZlcnNpb25gIGFuZCBjb21wYXJhdG9yLlxuICovXG5mdW5jdGlvbiBnZXRSYW5nZShjb21wYXJhdG9yOiAnPD0nfCc+PScsIHZlcnNpb25TdHI6IHN0cmluZyk6IFJhbmdlIHtcbiAgY29uc3QgdmVyc2lvbiA9IG5ldyBTZW1WZXIodmVyc2lvblN0cik7XG4gIC8vIFdpcGUgb3V0IGFueSBwcmVyZWxlYXNlIHZlcnNpb25zXG4gIHZlcnNpb24ucHJlcmVsZWFzZSA9IFtdO1xuICByZXR1cm4gbmV3IFJhbmdlKGAke2NvbXBhcmF0b3J9JHt2ZXJzaW9uLmZvcm1hdCgpfWApO1xufVxuIl19
@@ -1,110 +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
- import { compileNgModule } from '@angular/compiler';
9
- import { wrapReference } from './util';
10
- /**
11
- * A `PartialLinker` that is designed to process `ɵɵngDeclareNgModule()` call expressions.
12
- */
13
- export class PartialNgModuleLinkerVersion1 {
14
- constructor(
15
- /**
16
- * If true then emit the additional declarations, imports, exports, etc in the NgModule
17
- * definition. These are only used by JIT compilation.
18
- */
19
- emitInline) {
20
- this.emitInline = emitInline;
21
- }
22
- linkPartialDeclaration(constantPool, metaObj) {
23
- const meta = toR3NgModuleMeta(metaObj, this.emitInline);
24
- const def = compileNgModule(meta);
25
- return def.expression;
26
- }
27
- }
28
- /**
29
- * Derives the `R3NgModuleMetadata` structure from the AST object.
30
- */
31
- export function toR3NgModuleMeta(metaObj, emitInline) {
32
- const wrappedType = metaObj.getOpaque('type');
33
- const meta = {
34
- type: wrapReference(wrappedType),
35
- internalType: wrappedType,
36
- adjacentType: wrappedType,
37
- bootstrap: [],
38
- declarations: [],
39
- imports: [],
40
- exports: [],
41
- emitInline,
42
- containsForwardDecls: false,
43
- schemas: [],
44
- id: metaObj.has('id') ? metaObj.getOpaque('id') : null,
45
- };
46
- // Each of `bootstrap`, `declarations`, `imports` and `exports` are normally an array. But if any
47
- // of the references are not yet declared, then the arrays must be wrapped in a function to
48
- // prevent errors at runtime when accessing the values.
49
- // The following blocks of code will unwrap the arrays from such functions, because
50
- // `R3NgModuleMetadata` expects arrays of `R3Reference` objects.
51
- // Further, since the `ɵɵdefineNgModule()` will also suffer from the forward declaration problem,
52
- // we must update the `containsForwardDecls` property if a function wrapper was found.
53
- if (metaObj.has('bootstrap')) {
54
- const bootstrap = metaObj.getValue('bootstrap');
55
- if (bootstrap.isFunction()) {
56
- meta.containsForwardDecls = true;
57
- meta.bootstrap = wrapReferences(unwrapForwardRefs(bootstrap));
58
- }
59
- else
60
- meta.bootstrap = wrapReferences(bootstrap);
61
- }
62
- if (metaObj.has('declarations')) {
63
- const declarations = metaObj.getValue('declarations');
64
- if (declarations.isFunction()) {
65
- meta.containsForwardDecls = true;
66
- meta.declarations = wrapReferences(unwrapForwardRefs(declarations));
67
- }
68
- else
69
- meta.declarations = wrapReferences(declarations);
70
- }
71
- if (metaObj.has('imports')) {
72
- const imports = metaObj.getValue('imports');
73
- if (imports.isFunction()) {
74
- meta.containsForwardDecls = true;
75
- meta.imports = wrapReferences(unwrapForwardRefs(imports));
76
- }
77
- else
78
- meta.imports = wrapReferences(imports);
79
- }
80
- if (metaObj.has('exports')) {
81
- const exports = metaObj.getValue('exports');
82
- if (exports.isFunction()) {
83
- meta.containsForwardDecls = true;
84
- meta.exports = wrapReferences(unwrapForwardRefs(exports));
85
- }
86
- else
87
- meta.exports = wrapReferences(exports);
88
- }
89
- if (metaObj.has('schemas')) {
90
- const schemas = metaObj.getValue('schemas');
91
- meta.schemas = wrapReferences(schemas);
92
- }
93
- return meta;
94
- }
95
- /**
96
- * Extract an array from the body of the function.
97
- *
98
- * If `field` is `function() { return [exp1, exp2, exp3]; }` then we return `[exp1, exp2, exp3]`.
99
- *
100
- */
101
- function unwrapForwardRefs(field) {
102
- return field.getFunctionReturnValue();
103
- }
104
- /**
105
- * Wrap the array of expressions into an array of R3 references.
106
- */
107
- function wrapReferences(values) {
108
- return values.getArray().map(i => wrapReference(i.getOpaque()));
109
- }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbF9uZ19tb2R1bGVfbGlua2VyXzEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbGlua2VyL3NyYy9maWxlX2xpbmtlci9wYXJ0aWFsX2xpbmtlcnMvcGFydGlhbF9uZ19tb2R1bGVfbGlua2VyXzEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFDLGVBQWUsRUFBaUcsTUFBTSxtQkFBbUIsQ0FBQztBQU1sSixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QztJQUNJOzs7T0FHRztJQUNLLFVBQW1CO1FBQW5CLGVBQVUsR0FBVixVQUFVLENBQVM7SUFBRyxDQUFDO0lBRW5DLHNCQUFzQixDQUNsQixZQUEwQixFQUMxQixPQUFxRDtRQUN2RCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQTBELEVBQzFELFVBQW1CO0lBQ3JCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUMsTUFBTSxJQUFJLEdBQXVCO1FBQy9CLElBQUksRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ2hDLFlBQVksRUFBRSxXQUFXO1FBQ3pCLFlBQVksRUFBRSxXQUFXO1FBQ3pCLFNBQVMsRUFBRSxFQUFFO1FBQ2IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxP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QUNILFNBQVMsY0FBYyxDQUFjLE1BQTRDO0lBQy9FLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7Y29tcGlsZU5nTW9kdWxlLCBDb25zdGFudFBvb2wsIFIzRGVjbGFyZU5nTW9kdWxlTWV0YWRhdGEsIFIzTmdNb2R1bGVNZXRhZGF0YSwgUjNQYXJ0aWFsRGVjbGFyYXRpb24sIFIzUmVmZXJlbmNlfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgKiBhcyBvIGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XG5cbmltcG9ydCB7QXN0T2JqZWN0LCBBc3RWYWx1ZX0gZnJvbSAnLi4vLi4vYXN0L2FzdF92YWx1ZSc7XG5cbmltcG9ydCB7UGFydGlhbExpbmtlcn0gZnJvbSAnLi9wYXJ0aWFsX2xpbmtlcic7XG5pbXBvcnQge3dyYXBSZWZlcmVuY2V9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogQSBgUGFydGlhbExpbmtlcmAgdGhhdCBpcyBkZXNpZ25lZCB0byBwcm9jZXNzIGDJtcm1bmdEZWNsYXJlTmdNb2R1bGUoKWAgY2FsbCBleHByZXNzaW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRpYWxOZ01vZHVsZUxpbmtlclZlcnNpb24xPFRFeHByZXNzaW9uPiBpbXBsZW1lbnRzIFBhcnRpYWxMaW5rZXI8VEV4cHJlc3Npb24+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgICAvKipcbiAgICAgICAqIElmIHRydWUgdGhlbiBlbWl0IHRoZSBhZGRpdGlvbmFsIGRlY2xhcmF0aW9ucywgaW1wb3J0cywgZXhwb3J0cywgZXRjIGluIHRoZSBOZ01vZHVsZVxuICAgICAgICogZGVmaW5pdGlvbi4gVGhlc2UgYXJlIG9ubHkgdXNlZCBieSBKSVQgY29tcGlsYXRpb24uXG4gICAgICAgKi9cbiAgICAgIHByaXZhdGUgZW1pdElubGluZTogYm9vbGVhbikge31cblxuICBsaW5rUGFydGlhbERlY2xhcmF0aW9uKFxuICAgICAgY29uc3RhbnRQb29sOiBDb25zdGFudFBvb2wsXG4gICAgICBtZXRhT2JqOiBBc3RPYmplY3Q8UjNQYXJ0aWFsRGVjbGFyYXRpb24sIFRFeHByZXNzaW9uPik6IG8uRXhwcmVzc2lvbiB7XG4gICAgY29uc3QgbWV0YSA9IHRvUjNOZ01vZHVsZU1ldGEobWV0YU9iaiwgdGhpcy5lbWl0SW5saW5lKTtcbiAgICBjb25zdCBkZWYgPSBjb21waWxlTmdNb2R1bGUobWV0YSk7XG4gICAgcmV0dXJuIGRlZi5leHByZXNzaW9uO1xuICB9XG59XG5cbi8qKlxuICogRGVyaXZlcyB0aGUgYFIzTmdNb2R1bGVNZXRhZGF0YWAgc3RydWN0dXJlIGZyb20gdGhlIEFTVCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1IzTmdNb2R1bGVNZXRhPFRFeHByZXNzaW9uPihcbiAgICBtZXRhT2JqOiBBc3RPYmplY3Q8UjNEZWNsYXJlTmdNb2R1bGVNZXRhZGF0YSwgVEV4cHJlc3Npb24+LFxuICAgIGVtaXRJbmxpbmU6IGJvb2xlYW4pOiBSM05nTW9kdWxlTWV0YWRhdGEge1xuICBjb25zdCB3cmFwcGVkVHlwZSA9IG1ldGFPYmouZ2V0T3BhcXVlKCd0eXBlJyk7XG5cbiAgY29uc3QgbWV0YTogUjNOZ01vZHVsZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IHdyYXBSZWZlcmVuY2Uod3JhcHBlZFR5cGUpLFxuICAgIGludGVybmFsVHlwZTogd3JhcHBlZFR5cGUsXG4gICAgYWRqYWNlbnRUeXBlOiB3cmFwcGVkVHlwZSxcbiAgICBib290c3RyYXA6IFtdLFxuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZW1pdElubGluZSxcbiAgICBjb250YWluc0ZvcndhcmREZWNsczogZmFsc2UsXG4gICAgc2NoZW1hczogW10sXG4gICAgaWQ6IG1ldGFPYmouaGFzKCdpZCcpID8gbWV0YU9iai5nZXRPcGFxdWUoJ2lkJykgOiBudWxsLFxuICB9O1xuXG4gIC8vIEVhY2ggb2YgYGJvb3RzdHJhcGAsIGBkZWNsYXJhdGlvbnNgLCBgaW1wb3J0c2AgYW5kIGBleHBvcnRzYCBhcmUgbm9ybWFsbHkgYW4gYXJyYXkuIEJ1dCBpZiBhbnlcbiAgLy8gb2YgdGhlIHJlZmVyZW5jZXMgYXJlIG5vdCB5ZXQgZGVjbGFyZWQsIHRoZW4gdGhlIGFycmF5cyBtdXN0IGJlIHdyYXBwZWQgaW4gYSBmdW5jdGlvbiB0b1xuICAvLyBwcmV2ZW50IGVycm9ycyBhdCBydW50aW1lIHdoZW4gYWNjZXNzaW5nIHRoZSB2YWx1ZXMuXG5cbiAgLy8gVGhlIGZvbGxvd2luZyBibG9ja3Mgb2YgY29kZSB3aWxsIHVud3JhcCB0aGUgYXJyYXlzIGZyb20gc3VjaCBmdW5jdGlvbnMsIGJlY2F1c2VcbiAgLy8gYFIzTmdNb2R1bGVNZXRhZGF0YWAgZXhwZWN0cyBhcnJheXMgb2YgYFIzUmVmZXJlbmNlYCBvYmplY3RzLlxuXG4gIC8vIEZ1cnRoZXIsIHNpbmNlIHRoZSBgybXJtWRlZmluZU5nTW9kdWxlKClgIHdpbGwgYWxzbyBzdWZmZXIgZnJvbSB0aGUgZm9yd2FyZCBkZWNsYXJhdGlvbiBwcm9ibGVtLFxuICAvLyB3ZSBtdXN0IHVwZGF0ZSB0aGUgYGNvbnRhaW5zRm9yd2FyZERlY2xzYCBwcm9wZXJ0eSBpZiBhIGZ1bmN0aW9uIHdyYXBwZXIgd2FzIGZvdW5kLlxuXG4gIGlmIChtZXRhT2JqLmhhcygnYm9vdHN0cmFwJykpIHtcbiAgICBjb25zdCBib290c3RyYXA6IEFzdFZhbHVlPHVua25vd24sIFRFeHByZXNzaW9uPiA9IG1ldGFPYmouZ2V0VmFsdWUoJ2Jvb3RzdHJhcCcpO1xuICAgIGlmIChib290c3RyYXAuaXNGdW5jdGlvbigpKSB7XG4gICAgICBtZXRhLmNvbnRhaW5zRm9yd2FyZERlY2xzID0gdHJ1ZTtcbiAgICAgIG1ldGEuYm9vdHN0cmFwID0gd3JhcFJlZmVyZW5jZXModW53cmFwRm9yd2FyZFJlZnMoYm9vdHN0cmFwKSk7XG4gICAgfSBlbHNlXG4gICAgICBtZXRhLmJvb3RzdHJhcCA9IHdyYXBSZWZlcmVuY2VzKGJvb3RzdHJhcCk7XG4gIH1cblxuICBpZiAobWV0YU9iai5oYXMoJ2RlY2xhcmF0aW9ucycpKSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25zOiBBc3RWYWx1ZTx1bmtub3duLCBURXhwcmVzc2lvbj4gPSBtZXRhT2JqLmdldFZhbHVlKCdkZWNsYXJhdGlvbnMnKTtcbiAgICBpZiAoZGVjbGFyYXRpb25zLmlzRnVuY3Rpb24oKSkge1xuICAgICAgbWV0YS5jb250YWluc0ZvcndhcmREZWNscyA9IHRydWU7XG4gICAgICBtZXRhLmRlY2xhcmF0aW9ucyA9IHdyYXBSZWZlcmVuY2VzKHVud3JhcEZvcndhcmRSZWZzKGRlY2xhcmF0aW9ucykpO1xuICAgIH0gZWxzZVxuICAgICAgbWV0YS5kZWNsYXJhdGlvbnMgPSB3cmFwUmVmZXJlbmNlcyhkZWNsYXJhdGlvbnMpO1xuICB9XG5cbiAgaWYgKG1ldGFPYmouaGFzKCdpbXBvcnRzJykpIHtcbiAgICBjb25zdCBpbXBvcnRzOiBBc3RWYWx1ZTx1bmtub3duLCBURXhwcmVzc2lvbj4gPSBtZXRhT2JqLmdldFZhbHVlKCdpbXBvcnRzJyk7XG4gICAgaWYgKGltcG9ydHMuaXNGdW5jdGlvbigpKSB7XG4gICAgICBtZXRhLmNvbnRhaW5zRm9yd2FyZERlY2xzID0gdHJ1ZTtcbiAgICAgIG1ldGEuaW1wb3J0cyA9IHdyYXBSZWZlcmVuY2VzKHVud3JhcEZvcndhcmRSZWZzKGltcG9ydHMpKTtcbiAgICB9IGVsc2VcbiAgICAgIG1ldGEuaW1wb3J0cyA9IHdyYXBSZWZlcmVuY2VzKGltcG9ydHMpO1xuICB9XG5cbiAgaWYgKG1ldGFPYmouaGFzKCdleHBvcnRzJykpIHtcbiAgICBjb25zdCBleHBvcnRzOiBBc3RWYWx1ZTx1bmtub3duLCBURXhwcmVzc2lvbj4gPSBtZXRhT2JqLmdldFZhbHVlKCdleHBvcnRzJyk7XG4gICAgaWYgKGV4cG9ydHMuaXNGdW5jdGlvbigpKSB7XG4gICAgICBtZXRhLmNvbnRhaW5zRm9yd2FyZERlY2xzID0gdHJ1ZTtcbiAgICAgIG1ldGEuZXhwb3J0cyA9IHdyYXBSZWZlcmVuY2VzKHVud3JhcEZvcndhcmRSZWZzKGV4cG9ydHMpKTtcbiAgICB9IGVsc2VcbiAgICAgIG1ldGEuZXhwb3J0cyA9IHdyYXBSZWZlcmVuY2VzKGV4cG9ydHMpO1xuICB9XG5cbiAgaWYgKG1ldGFPYmouaGFzKCdzY2hlbWFzJykpIHtcbiAgICBjb25zdCBzY2hlbWFzOiBBc3RWYWx1ZTx1bmtub3duLCBURXhwcmVzc2lvbj4gPSBtZXRhT2JqLmdldFZhbHVlKCdzY2hlbWFzJyk7XG4gICAgbWV0YS5zY2hlbWFzID0gd3JhcFJlZmVyZW5jZXMoc2NoZW1hcyk7XG4gIH1cblxuICByZXR1cm4gbWV0YTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IGFuIGFycmF5IGZyb20gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uLlxuICpcbiAqIElmIGBmaWVsZGAgaXMgYGZ1bmN0aW9uKCkgeyByZXR1cm4gW2V4cDEsIGV4cDIsIGV4cDNdOyB9YCB0aGVuIHdlIHJldHVybiBgW2V4cDEsIGV4cDIsIGV4cDNdYC5cbiAqXG4gKi9cbmZ1bmN0aW9uIHVud3JhcEZvcndhcmRSZWZzPFRFeHByZXNzaW9uPihmaWVsZDogQXN0VmFsdWU8dW5rbm93biwgVEV4cHJlc3Npb24+KTpcbiAgICBBc3RWYWx1ZTxURXhwcmVzc2lvbltdLCBURXhwcmVzc2lvbj4ge1xuICByZXR1cm4gKGZpZWxkIGFzIEFzdFZhbHVlPEZ1bmN0aW9uLCBURXhwcmVzc2lvbj4pLmdldEZ1bmN0aW9uUmV0dXJuVmFsdWUoKTtcbn1cblxuLyoqXG4gKiBXcmFwIHRoZSBhcnJheSBvZiBleHByZXNzaW9ucyBpbnRvIGFuIGFycmF5IG9mIFIzIHJlZmVyZW5jZXMuXG4gKi9cbmZ1bmN0aW9uIHdyYXBSZWZlcmVuY2VzPFRFeHByZXNzaW9uPih2YWx1ZXM6IEFzdFZhbHVlPFRFeHByZXNzaW9uW10sIFRFeHByZXNzaW9uPik6IFIzUmVmZXJlbmNlW10ge1xuICByZXR1cm4gdmFsdWVzLmdldEFycmF5KCkubWFwKGkgPT4gd3JhcFJlZmVyZW5jZShpLmdldE9wYXF1ZSgpKSk7XG59XG4iXX0=
@@ -1,42 +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
- import { compilePipeFromMetadata } from '@angular/compiler';
9
- import { FatalLinkerError } from '../../fatal_linker_error';
10
- import { wrapReference } from './util';
11
- /**
12
- * A `PartialLinker` that is designed to process `ɵɵngDeclarePipe()` call expressions.
13
- */
14
- export class PartialPipeLinkerVersion1 {
15
- constructor() { }
16
- linkPartialDeclaration(constantPool, metaObj) {
17
- const meta = toR3PipeMeta(metaObj);
18
- const def = compilePipeFromMetadata(meta);
19
- return def.expression;
20
- }
21
- }
22
- /**
23
- * Derives the `R3PipeMetadata` structure from the AST object.
24
- */
25
- export function toR3PipeMeta(metaObj) {
26
- const typeExpr = metaObj.getValue('type');
27
- const typeName = typeExpr.getSymbolName();
28
- if (typeName === null) {
29
- throw new FatalLinkerError(typeExpr.expression, 'Unsupported type, its name could not be determined');
30
- }
31
- const pure = metaObj.has('pure') ? metaObj.getBoolean('pure') : true;
32
- return {
33
- name: typeName,
34
- type: wrapReference(typeExpr.getOpaque()),
35
- internalType: metaObj.getOpaque('type'),
36
- typeArgumentCount: 0,
37
- deps: null,
38
- pipeName: metaObj.getString('name'),
39
- pure,
40
- };
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGlhbF9waXBlX2xpbmtlcl8xLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL2xpbmtlci9zcmMvZmlsZV9saW5rZXIvcGFydGlhbF9saW5rZXJzL3BhcnRpYWxfcGlwZV9saW5rZXJfMS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUMsdUJBQXVCLEVBQTRFLE1BQU0sbUJBQW1CLENBQUM7QUFJckksT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsZ0JBQWUsQ0FBQztJQUVoQixzQkFBc0IsQ0FDbEIsWUFBMEIsRUFDMUIsT0FBcUQ7UUFDdkQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQWMsT0FBc0Q7SUFFOUYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDdEIsUUFBUSxDQUFDLFVBQVUsRUFBRSxvREFBb0QsQ0FBQyxDQUFDO0tBQ2hGO0lBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRXJFLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtjb21waWxlUGlwZUZyb21NZXRhZGF0YSwgQ29uc3RhbnRQb29sLCBSM0RlY2xhcmVQaXBlTWV0YWRhdGEsIFIzUGFydGlhbERlY2xhcmF0aW9uLCBSM1BpcGVNZXRhZGF0YX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgbyBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvb3V0cHV0L291dHB1dF9hc3QnO1xuXG5pbXBvcnQge0FzdE9iamVjdH0gZnJvbSAnLi4vLi4vYXN0L2FzdF92YWx1ZSc7XG5pbXBvcnQge0ZhdGFsTGlua2VyRXJyb3J9IGZyb20gJy4uLy4uL2ZhdGFsX2xpbmtlcl9lcnJvcic7XG5cbmltcG9ydCB7UGFydGlhbExpbmtlcn0gZnJvbSAnLi9wYXJ0aWFsX2xpbmtlcic7XG5pbXBvcnQge3dyYXBSZWZlcmVuY2V9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogQSBgUGFydGlhbExpbmtlcmAgdGhhdCBpcyBkZXNpZ25lZCB0byBwcm9jZXNzIGDJtcm1bmdEZWNsYXJlUGlwZSgpYCBjYWxsIGV4cHJlc3Npb25zLlxuICovXG5leHBvcnQgY2xhc3MgUGFydGlhbFBpcGVMaW5rZXJWZXJzaW9uMTxURXhwcmVzc2lvbj4gaW1wbGVtZW50cyBQYXJ0aWFsTGlua2VyPFRFeHByZXNzaW9uPiB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBsaW5rUGFydGlhbERlY2xhcmF0aW9uKFxuICAgICAgY29uc3RhbnRQb29sOiBDb25zdGFudFBvb2wsXG4gICAgICBtZXRhT2JqOiBBc3RPYmplY3Q8UjNQYXJ0aWFsRGVjbGFyYXRpb24sIFRFeHByZXNzaW9uPik6IG8uRXhwcmVzc2lvbiB7XG4gICAgY29uc3QgbWV0YSA9IHRvUjNQaXBlTWV0YShtZXRhT2JqKTtcbiAgICBjb25zdCBkZWYgPSBjb21waWxlUGlwZUZyb21NZXRhZGF0YShtZXRhKTtcbiAgICByZXR1cm4gZGVmLmV4cHJlc3Npb247XG4gIH1cbn1cblxuLyoqXG4gKiBEZXJpdmVzIHRoZSBgUjNQaXBlTWV0YWRhdGFgIHN0cnVjdHVyZSBmcm9tIHRoZSBBU1Qgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9SM1BpcGVNZXRhPFRFeHByZXNzaW9uPihtZXRhT2JqOiBBc3RPYmplY3Q8UjNEZWNsYXJlUGlwZU1ldGFkYXRhLCBURXhwcmVzc2lvbj4pOlxuICAgIFIzUGlwZU1ldGFkYXRhIHtcbiAgY29uc3QgdHlwZUV4cHIgPSBtZXRhT2JqLmdldFZhbHVlKCd0eXBlJyk7XG4gIGNvbnN0IHR5cGVOYW1lID0gdHlwZUV4cHIuZ2V0U3ltYm9sTmFtZSgpO1xuICBpZiAodHlwZU5hbWUgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRmF0YWxMaW5rZXJFcnJvcihcbiAgICAgICAgdHlwZUV4cHIuZXhwcmVzc2lvbiwgJ1Vuc3VwcG9ydGVkIHR5cGUsIGl0cyBuYW1lIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkJyk7XG4gIH1cblxuICBjb25zdCBwdXJlID0gbWV0YU9iai5oYXMoJ3B1cmUnKSA/IG1ldGFPYmouZ2V0Qm9vbGVhbigncHVyZScpIDogdHJ1ZTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IHR5cGVOYW1lLFxuICAgIHR5cGU6IHdyYXBSZWZlcmVuY2UodHlwZUV4cHIuZ2V0T3BhcXVlKCkpLFxuICAgIGludGVybmFsVHlwZTogbWV0YU9iai5nZXRPcGFxdWUoJ3R5cGUnKSxcbiAgICB0eXBlQXJndW1lbnRDb3VudDogMCxcbiAgICBkZXBzOiBudWxsLFxuICAgIHBpcGVOYW1lOiBtZXRhT2JqLmdldFN0cmluZygnbmFtZScpLFxuICAgIHB1cmUsXG4gIH07XG59XG4iXX0=
@@ -1,78 +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
- import { createR3ProviderExpression } from '@angular/compiler';
9
- import * as o from '@angular/compiler/src/output/output_ast';
10
- import { FatalLinkerError } from '../../fatal_linker_error';
11
- export function wrapReference(wrapped) {
12
- return { value: wrapped, type: wrapped };
13
- }
14
- /**
15
- * Parses the value of an enum from the AST value's symbol name.
16
- */
17
- export function parseEnum(value, Enum) {
18
- const symbolName = value.getSymbolName();
19
- if (symbolName === null) {
20
- throw new FatalLinkerError(value.expression, 'Expected value to have a symbol name');
21
- }
22
- const enumValue = Enum[symbolName];
23
- if (enumValue === undefined) {
24
- throw new FatalLinkerError(value.expression, `Unsupported enum value for ${Enum}`);
25
- }
26
- return enumValue;
27
- }
28
- /**
29
- * Parse a dependency structure from an AST object.
30
- */
31
- export function getDependency(depObj) {
32
- const isAttribute = depObj.has('attribute') && depObj.getBoolean('attribute');
33
- const token = depObj.getOpaque('token');
34
- // Normally `attribute` is a string literal and so its `attributeNameType` is the same string
35
- // literal. If the `attribute` is some other expression, the `attributeNameType` would be the
36
- // `unknown` type. It is not possible to generate this when linking, since it only deals with JS
37
- // and not typings. When linking the existence of the `attributeNameType` only acts as a marker to
38
- // change the injection instruction that is generated, so we just pass the literal string
39
- // `"unknown"`.
40
- const attributeNameType = isAttribute ? o.literal('unknown') : null;
41
- return {
42
- token,
43
- attributeNameType,
44
- host: depObj.has('host') && depObj.getBoolean('host'),
45
- optional: depObj.has('optional') && depObj.getBoolean('optional'),
46
- self: depObj.has('self') && depObj.getBoolean('self'),
47
- skipSelf: depObj.has('skipSelf') && depObj.getBoolean('skipSelf'),
48
- };
49
- }
50
- /**
51
- * Return an `R3ProviderExpression` that represents either the extracted type reference expression
52
- * from a `forwardRef` function call, or the type itself.
53
- *
54
- * For example, the expression `forwardRef(function() { return FooDir; })` returns `FooDir`. Note
55
- * that this expression is required to be wrapped in a closure, as otherwise the forward reference
56
- * would be resolved before initialization.
57
- *
58
- * If there is no forwardRef call expression then we just return the opaque type.
59
- */
60
- export function extractForwardRef(expr) {
61
- if (!expr.isCallExpression()) {
62
- return createR3ProviderExpression(expr.getOpaque(), /* isForwardRef */ false);
63
- }
64
- const callee = expr.getCallee();
65
- if (callee.getSymbolName() !== 'forwardRef') {
66
- throw new FatalLinkerError(callee.expression, 'Unsupported expression, expected a `forwardRef()` call or a type reference');
67
- }
68
- const args = expr.getArguments();
69
- if (args.length !== 1) {
70
- throw new FatalLinkerError(expr, 'Unsupported `forwardRef(fn)` call, expected a single argument');
71
- }
72
- const wrapperFn = args[0];
73
- if (!wrapperFn.isFunction()) {
74
- throw new FatalLinkerError(wrapperFn, 'Unsupported `forwardRef(fn)` call, expected its argument to be a function');
75
- }
76
- return createR3ProviderExpression(wrapperFn.getFunctionReturnValue().getOpaque(), true);
77
- }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9saW5rZXIvc3JjL2ZpbGVfbGlua2VyL3BhcnRpYWxfbGlua2Vycy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBQywwQkFBMEIsRUFBdUYsTUFBTSxtQkFBbUIsQ0FBQztBQUNuSixPQUFPLEtBQUssQ0FBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE1BQU0sVUFBVSxhQUFhLENBQWMsT0FBdUM7SUFDaEYsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3JCLEtBQXFDLEVBQUUsSUFBVztJQUNwRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLHNDQUFzQyxDQUFDLENBQUM7S0FDdEY7SUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBK0IsQ0FBQyxDQUFDO0lBQ3hELElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtRQUMzQixNQUFNLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSw4QkFBOEIsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNwRjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQ3pCLE1BQTJEO0lBQzdELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLDZGQUE2RjtJQUM3Riw2RkFBNkY7SUFDN0YsZ0dBQWdHO0lBQ2hHLGtHQUFrRztJQUNsRyx5RkFBeUY7SUFDekYsZUFBZTtJQUNmLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEUsT0FBTztRQUNMLEtBQUs7UUFDTCxpQkFBaUI7UUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDakUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7S0FDbEUsQ0FBQztBQUNKLENBQUM7QUFHRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQWMsSUFBb0M7SUFFakYsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1FBQzVCLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQy9FO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxLQUFLLFlBQVksRUFBRTtRQUMzQyxNQUFNLElBQUksZ0JBQWdCLENBQ3RCLE1BQU0sQ0FBQyxVQUFVLEVBQ2pCLDRFQUE0RSxDQUFDLENBQUM7S0FDbkY7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyQixNQUFNLElBQUksZ0JBQWdCLENBQ3RCLElBQUksRUFBRSwrREFBK0QsQ0FBQyxDQUFDO0tBQzVFO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBb0MsQ0FBQztJQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzNCLE1BQU0sSUFBSSxnQkFBZ0IsQ0FDdEIsU0FBUyxFQUFFLDJFQUEyRSxDQUFDLENBQUM7S0FDN0Y7SUFFRCxPQUFPLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7Y3JlYXRlUjNQcm92aWRlckV4cHJlc3Npb24sIFIzRGVjbGFyZURlcGVuZGVuY3lNZXRhZGF0YSwgUjNEZXBlbmRlbmN5TWV0YWRhdGEsIFIzUHJvdmlkZXJFeHByZXNzaW9uLCBSM1JlZmVyZW5jZX0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0ICogYXMgbyBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvb3V0cHV0L291dHB1dF9hc3QnO1xuXG5pbXBvcnQge0FzdE9iamVjdCwgQXN0VmFsdWV9IGZyb20gJy4uLy4uL2FzdC9hc3RfdmFsdWUnO1xuaW1wb3J0IHtGYXRhbExpbmtlckVycm9yfSBmcm9tICcuLi8uLi9mYXRhbF9saW5rZXJfZXJyb3InO1xuXG5leHBvcnQgZnVuY3Rpb24gd3JhcFJlZmVyZW5jZTxURXhwcmVzc2lvbj4od3JhcHBlZDogby5XcmFwcGVkTm9kZUV4cHI8VEV4cHJlc3Npb24+KTogUjNSZWZlcmVuY2Uge1xuICByZXR1cm4ge3ZhbHVlOiB3cmFwcGVkLCB0eXBlOiB3cmFwcGVkfTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIHZhbHVlIG9mIGFuIGVudW0gZnJvbSB0aGUgQVNUIHZhbHVlJ3Mgc3ltYm9sIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUVudW08VEV4cHJlc3Npb24sIFRFbnVtPihcbiAgICB2YWx1ZTogQXN0VmFsdWU8dW5rbm93biwgVEV4cHJlc3Npb24+LCBFbnVtOiBURW51bSk6IFRFbnVtW2tleW9mIFRFbnVtXSB7XG4gIGNvbnN0IHN5bWJvbE5hbWUgPSB2YWx1ZS5nZXRTeW1ib2xOYW1lKCk7XG4gIGlmIChzeW1ib2xOYW1lID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEZhdGFsTGlua2VyRXJyb3IodmFsdWUuZXhwcmVzc2lvbiwgJ0V4cGVjdGVkIHZhbHVlIHRvIGhhdmUgYSBzeW1ib2wgbmFtZScpO1xuICB9XG4gIGNvbnN0IGVudW1WYWx1ZSA9IEVudW1bc3ltYm9sTmFtZSBhcyBrZXlvZiB0eXBlb2YgRW51bV07XG4gIGlmIChlbnVtVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBGYXRhbExpbmtlckVycm9yKHZhbHVlLmV4cHJlc3Npb24sIGBVbnN1cHBvcnRlZCBlbnVtIHZhbHVlIGZvciAke0VudW19YCk7XG4gIH1cbiAgcmV0dXJuIGVudW1WYWx1ZTtcbn1cblxuLyoqXG4gKiBQYXJzZSBhIGRlcGVuZGVuY3kgc3RydWN0dXJlIGZyb20gYW4gQVNUIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlcGVuZGVuY3k8VEV4cHJlc3Npb24+KFxuICAgIGRlcE9iajogQXN0T2JqZWN0PFIzRGVjbGFyZURlcGVuZGVuY3lNZXRhZGF0YSwgVEV4cHJlc3Npb24+KTogUjNEZXBlbmRlbmN5TWV0YWRhdGEge1xuICBjb25zdCBpc0F0dHJpYnV0ZSA9IGRlcE9iai5oYXMoJ2F0dHJpYnV0ZScpICYmIGRlcE9iai5nZXRCb29sZWFuKCdhdHRyaWJ1dGUnKTtcbiAgY29uc3QgdG9rZW4gPSBkZXBPYmouZ2V0T3BhcXVlKCd0b2tlbicpO1xuICAvLyBOb3JtYWxseSBgYXR0cmlidXRlYCBpcyBhIHN0cmluZyBsaXRlcmFsIGFuZCBzbyBpdHMgYGF0dHJpYnV0ZU5hbWVUeXBlYCBpcyB0aGUgc2FtZSBzdHJpbmdcbiAgLy8gbGl0ZXJhbC4gSWYgdGhlIGBhdHRyaWJ1dGVgIGlzIHNvbWUgb3RoZXIgZXhwcmVzc2lvbiwgdGhlIGBhdHRyaWJ1dGVOYW1lVHlwZWAgd291bGQgYmUgdGhlXG4gIC8vIGB1bmtub3duYCB0eXBlLiBJdCBpcyBub3QgcG9zc2libGUgdG8gZ2VuZXJhdGUgdGhpcyB3aGVuIGxpbmtpbmcsIHNpbmNlIGl0IG9ubHkgZGVhbHMgd2l0aCBKU1xuICAvLyBhbmQgbm90IHR5cGluZ3MuIFdoZW4gbGlua2luZyB0aGUgZXhpc3RlbmNlIG9mIHRoZSBgYXR0cmlidXRlTmFtZVR5cGVgIG9ubHkgYWN0cyBhcyBhIG1hcmtlciB0b1xuICAvLyBjaGFuZ2UgdGhlIGluamVjdGlvbiBpbnN0cnVjdGlvbiB0aGF0IGlzIGdlbmVyYXRlZCwgc28gd2UganVzdCBwYXNzIHRoZSBsaXRlcmFsIHN0cmluZ1xuICAvLyBgXCJ1bmtub3duXCJgLlxuICBjb25zdCBhdHRyaWJ1dGVOYW1lVHlwZSA9IGlzQXR0cmlidXRlID8gby5saXRlcmFsKCd1bmtub3duJykgOiBudWxsO1xuICByZXR1cm4ge1xuICAgIHRva2VuLFxuICAgIGF0dHJpYnV0ZU5hbWVUeXBlLFxuICAgIGhvc3Q6IGRlcE9iai5oYXMoJ2hvc3QnKSAmJiBkZXBPYmouZ2V0Qm9vbGVhbignaG9zdCcpLFxuICAgIG9wdGlvbmFsOiBkZXBPYmouaGFzKCdvcHRpb25hbCcpICYmIGRlcE9iai5nZXRCb29sZWFuKCdvcHRpb25hbCcpLFxuICAgIHNlbGY6IGRlcE9iai5oYXMoJ3NlbGYnKSAmJiBkZXBPYmouZ2V0Qm9vbGVhbignc2VsZicpLFxuICAgIHNraXBTZWxmOiBkZXBPYmouaGFzKCdza2lwU2VsZicpICYmIGRlcE9iai5nZXRCb29sZWFuKCdza2lwU2VsZicpLFxuICB9O1xufVxuXG5cbi8qKlxuICogUmV0dXJuIGFuIGBSM1Byb3ZpZGVyRXhwcmVzc2lvbmAgdGhhdCByZXByZXNlbnRzIGVpdGhlciB0aGUgZXh0cmFjdGVkIHR5cGUgcmVmZXJlbmNlIGV4cHJlc3Npb25cbiAqIGZyb20gYSBgZm9yd2FyZFJlZmAgZnVuY3Rpb24gY2FsbCwgb3IgdGhlIHR5cGUgaXRzZWxmLlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGUgZXhwcmVzc2lvbiBgZm9yd2FyZFJlZihmdW5jdGlvbigpIHsgcmV0dXJuIEZvb0RpcjsgfSlgIHJldHVybnMgYEZvb0RpcmAuIE5vdGVcbiAqIHRoYXQgdGhpcyBleHByZXNzaW9uIGlzIHJlcXVpcmVkIHRvIGJlIHdyYXBwZWQgaW4gYSBjbG9zdXJlLCBhcyBvdGhlcndpc2UgdGhlIGZvcndhcmQgcmVmZXJlbmNlXG4gKiB3b3VsZCBiZSByZXNvbHZlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uXG4gKlxuICogSWYgdGhlcmUgaXMgbm8gZm9yd2FyZFJlZiBjYWxsIGV4cHJlc3Npb24gdGhlbiB3ZSBqdXN0IHJldHVybiB0aGUgb3BhcXVlIHR5cGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0Rm9yd2FyZFJlZjxURXhwcmVzc2lvbj4oZXhwcjogQXN0VmFsdWU8dW5rbm93biwgVEV4cHJlc3Npb24+KTpcbiAgICBSM1Byb3ZpZGVyRXhwcmVzc2lvbjxvLldyYXBwZWROb2RlRXhwcjxURXhwcmVzc2lvbj4+IHtcbiAgaWYgKCFleHByLmlzQ2FsbEV4cHJlc3Npb24oKSkge1xuICAgIHJldHVybiBjcmVhdGVSM1Byb3ZpZGVyRXhwcmVzc2lvbihleHByLmdldE9wYXF1ZSgpLCAvKiBpc0ZvcndhcmRSZWYgKi8gZmFsc2UpO1xuICB9XG5cbiAgY29uc3QgY2FsbGVlID0gZXhwci5nZXRDYWxsZWUoKTtcbiAgaWYgKGNhbGxlZS5nZXRTeW1ib2xOYW1lKCkgIT09ICdmb3J3YXJkUmVmJykge1xuICAgIHRocm93IG5ldyBGYXRhbExpbmtlckVycm9yKFxuICAgICAgICBjYWxsZWUuZXhwcmVzc2lvbixcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIGV4cHJlc3Npb24sIGV4cGVjdGVkIGEgYGZvcndhcmRSZWYoKWAgY2FsbCBvciBhIHR5cGUgcmVmZXJlbmNlJyk7XG4gIH1cblxuICBjb25zdCBhcmdzID0gZXhwci5nZXRBcmd1bWVudHMoKTtcbiAgaWYgKGFyZ3MubGVuZ3RoICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEZhdGFsTGlua2VyRXJyb3IoXG4gICAgICAgIGV4cHIsICdVbnN1cHBvcnRlZCBgZm9yd2FyZFJlZihmbilgIGNhbGwsIGV4cGVjdGVkIGEgc2luZ2xlIGFyZ3VtZW50Jyk7XG4gIH1cblxuICBjb25zdCB3cmFwcGVyRm4gPSBhcmdzWzBdIGFzIEFzdFZhbHVlPEZ1bmN0aW9uLCBURXhwcmVzc2lvbj47XG4gIGlmICghd3JhcHBlckZuLmlzRnVuY3Rpb24oKSkge1xuICAgIHRocm93IG5ldyBGYXRhbExpbmtlckVycm9yKFxuICAgICAgICB3cmFwcGVyRm4sICdVbnN1cHBvcnRlZCBgZm9yd2FyZFJlZihmbilgIGNhbGwsIGV4cGVjdGVkIGl0cyBhcmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uJyk7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlUjNQcm92aWRlckV4cHJlc3Npb24od3JhcHBlckZuLmdldEZ1bmN0aW9uUmV0dXJuVmFsdWUoKS5nZXRPcGFxdWUoKSwgdHJ1ZSk7XG59XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { Context, ExpressionTranslatorVisitor } from '@angular/compiler-cli/src/ngtsc/translator';
2
- /**
3
- * Generic translator helper class, which exposes methods for translating expressions and
4
- * statements.
5
- */
6
- export class Translator {
7
- constructor(factory) {
8
- this.factory = factory;
9
- }
10
- /**
11
- * Translate the given output AST in the context of an expression.
12
- */
13
- translateExpression(expression, imports, options = {}) {
14
- return expression.visitExpression(new ExpressionTranslatorVisitor(this.factory, imports, options), new Context(false));
15
- }
16
- /**
17
- * Translate the given output AST in the context of a statement.
18
- */
19
- translateStatement(statement, imports, options = {}) {
20
- return statement.visitStatement(new ExpressionTranslatorVisitor(this.factory, imports, options), new Context(true));
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9saW5rZXIvc3JjL2ZpbGVfbGlua2VyL3RyYW5zbGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFhLE9BQU8sRUFBRSwyQkFBMkIsRUFBcUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoSjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUFvQixPQUE0QztRQUE1QyxZQUFPLEdBQVAsT0FBTyxDQUFxQztJQUFHLENBQUM7SUFFcEU7O09BRUc7SUFDSCxtQkFBbUIsQ0FDZixVQUF3QixFQUFFLE9BQXFDLEVBQy9ELFVBQTBDLEVBQUU7UUFDOUMsT0FBTyxVQUFVLENBQUMsZUFBZSxDQUM3QixJQUFJLDJCQUEyQixDQUEwQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFDeEYsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FDZCxTQUFzQixFQUFFLE9BQXFDLEVBQzdELFVBQTBDLEVBQUU7UUFDOUMsT0FBTyxTQUFTLENBQUMsY0FBYyxDQUMzQixJQUFJLDJCQUEyQixDQUEwQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFDeEYsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCAqIGFzIG8gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xuaW1wb3J0IHtBc3RGYWN0b3J5LCBDb250ZXh0LCBFeHByZXNzaW9uVHJhbnNsYXRvclZpc2l0b3IsIEltcG9ydEdlbmVyYXRvciwgVHJhbnNsYXRvck9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2MvdHJhbnNsYXRvcic7XG5cbi8qKlxuICogR2VuZXJpYyB0cmFuc2xhdG9yIGhlbHBlciBjbGFzcywgd2hpY2ggZXhwb3NlcyBtZXRob2RzIGZvciB0cmFuc2xhdGluZyBleHByZXNzaW9ucyBhbmRcbiAqIHN0YXRlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdG9yPFRTdGF0ZW1lbnQsIFRFeHByZXNzaW9uPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogQXN0RmFjdG9yeTxUU3RhdGVtZW50LCBURXhwcmVzc2lvbj4pIHt9XG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSB0aGUgZ2l2ZW4gb3V0cHV0IEFTVCBpbiB0aGUgY29udGV4dCBvZiBhbiBleHByZXNzaW9uLlxuICAgKi9cbiAgdHJhbnNsYXRlRXhwcmVzc2lvbihcbiAgICAgIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbiwgaW1wb3J0czogSW1wb3J0R2VuZXJhdG9yPFRFeHByZXNzaW9uPixcbiAgICAgIG9wdGlvbnM6IFRyYW5zbGF0b3JPcHRpb25zPFRFeHByZXNzaW9uPiA9IHt9KTogVEV4cHJlc3Npb24ge1xuICAgIHJldHVybiBleHByZXNzaW9uLnZpc2l0RXhwcmVzc2lvbihcbiAgICAgICAgbmV3IEV4cHJlc3Npb25UcmFuc2xhdG9yVmlzaXRvcjxUU3RhdGVtZW50LCBURXhwcmVzc2lvbj4odGhpcy5mYWN0b3J5LCBpbXBvcnRzLCBvcHRpb25zKSxcbiAgICAgICAgbmV3IENvbnRleHQoZmFsc2UpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2xhdGUgdGhlIGdpdmVuIG91dHB1dCBBU1QgaW4gdGhlIGNvbnRleHQgb2YgYSBzdGF0ZW1lbnQuXG4gICAqL1xuICB0cmFuc2xhdGVTdGF0ZW1lbnQoXG4gICAgICBzdGF0ZW1lbnQ6IG8uU3RhdGVtZW50LCBpbXBvcnRzOiBJbXBvcnRHZW5lcmF0b3I8VEV4cHJlc3Npb24+LFxuICAgICAgb3B0aW9uczogVHJhbnNsYXRvck9wdGlvbnM8VEV4cHJlc3Npb24+ID0ge30pOiBUU3RhdGVtZW50IHtcbiAgICByZXR1cm4gc3RhdGVtZW50LnZpc2l0U3RhdGVtZW50KFxuICAgICAgICBuZXcgRXhwcmVzc2lvblRyYW5zbGF0b3JWaXNpdG9yPFRTdGF0ZW1lbnQsIFRFeHByZXNzaW9uPih0aGlzLmZhY3RvcnksIGltcG9ydHMsIG9wdGlvbnMpLFxuICAgICAgICBuZXcgQ29udGV4dCh0cnVlKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { FatalLinkerError } from './fatal_linker_error';
2
- /**
3
- * A class that is used to generate imports when translating from Angular Output AST to an AST to
4
- * render, such as Babel.
5
- *
6
- * Note that, in the linker, there can only be imports from `@angular/core` and that these imports
7
- * must be achieved by property access on an `ng` namespace identifer, which is passed in via the
8
- * constructor.
9
- */
10
- export class LinkerImportGenerator {
11
- constructor(ngImport) {
12
- this.ngImport = ngImport;
13
- }
14
- generateNamespaceImport(moduleName) {
15
- this.assertModuleName(moduleName);
16
- return this.ngImport;
17
- }
18
- generateNamedImport(moduleName, originalSymbol) {
19
- this.assertModuleName(moduleName);
20
- return { moduleImport: this.ngImport, symbol: originalSymbol };
21
- }
22
- assertModuleName(moduleName) {
23
- if (moduleName !== '@angular/core') {
24
- throw new FatalLinkerError(this.ngImport, `Unable to import from anything other than '@angular/core'`);
25
- }
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VyX2ltcG9ydF9nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbGlua2VyL3NyYy9saW5rZXJfaW1wb3J0X2dlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUcsQ0FBQztJQUU3Qyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLGNBQXNCO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxPQUFPLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFrQjtRQUN6QyxJQUFJLFVBQVUsS0FBSyxlQUFlLEVBQUU7WUFDbEMsTUFBTSxJQUFJLGdCQUFnQixDQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLDJEQUEyRCxDQUFDLENBQUM7U0FDakY7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmltcG9ydCB7SW1wb3J0R2VuZXJhdG9yLCBOYW1lZEltcG9ydH0gZnJvbSAnLi4vLi4vc3JjL25ndHNjL3RyYW5zbGF0b3InO1xuaW1wb3J0IHtGYXRhbExpbmtlckVycm9yfSBmcm9tICcuL2ZhdGFsX2xpbmtlcl9lcnJvcic7XG5cbi8qKlxuICogQSBjbGFzcyB0aGF0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgaW1wb3J0cyB3aGVuIHRyYW5zbGF0aW5nIGZyb20gQW5ndWxhciBPdXRwdXQgQVNUIHRvIGFuIEFTVCB0b1xuICogcmVuZGVyLCBzdWNoIGFzIEJhYmVsLlxuICpcbiAqIE5vdGUgdGhhdCwgaW4gdGhlIGxpbmtlciwgdGhlcmUgY2FuIG9ubHkgYmUgaW1wb3J0cyBmcm9tIGBAYW5ndWxhci9jb3JlYCBhbmQgdGhhdCB0aGVzZSBpbXBvcnRzXG4gKiBtdXN0IGJlIGFjaGlldmVkIGJ5IHByb3BlcnR5IGFjY2VzcyBvbiBhbiBgbmdgIG5hbWVzcGFjZSBpZGVudGlmZXIsIHdoaWNoIGlzIHBhc3NlZCBpbiB2aWEgdGhlXG4gKiBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGNsYXNzIExpbmtlckltcG9ydEdlbmVyYXRvcjxURXhwcmVzc2lvbj4gaW1wbGVtZW50cyBJbXBvcnRHZW5lcmF0b3I8VEV4cHJlc3Npb24+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0ltcG9ydDogVEV4cHJlc3Npb24pIHt9XG5cbiAgZ2VuZXJhdGVOYW1lc3BhY2VJbXBvcnQobW9kdWxlTmFtZTogc3RyaW5nKTogVEV4cHJlc3Npb24ge1xuICAgIHRoaXMuYXNzZXJ0TW9kdWxlTmFtZShtb2R1bGVOYW1lKTtcbiAgICByZXR1cm4gdGhpcy5uZ0ltcG9ydDtcbiAgfVxuXG4gIGdlbmVyYXRlTmFtZWRJbXBvcnQobW9kdWxlTmFtZTogc3RyaW5nLCBvcmlnaW5hbFN5bWJvbDogc3RyaW5nKTogTmFtZWRJbXBvcnQ8VEV4cHJlc3Npb24+IHtcbiAgICB0aGlzLmFzc2VydE1vZHVsZU5hbWUobW9kdWxlTmFtZSk7XG4gICAgcmV0dXJuIHttb2R1bGVJbXBvcnQ6IHRoaXMubmdJbXBvcnQsIHN5bWJvbDogb3JpZ2luYWxTeW1ib2x9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NlcnRNb2R1bGVOYW1lKG1vZHVsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChtb2R1bGVOYW1lICE9PSAnQGFuZ3VsYXIvY29yZScpIHtcbiAgICAgIHRocm93IG5ldyBGYXRhbExpbmtlckVycm9yKFxuICAgICAgICAgIHRoaXMubmdJbXBvcnQsIGBVbmFibGUgdG8gaW1wb3J0IGZyb20gYW55dGhpbmcgb3RoZXIgdGhhbiAnQGFuZ3VsYXIvY29yZSdgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/ngcc/index.mjs DELETED
@@ -1,16 +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
- import { NodeJSFileSystem, setFileSystem } from '../src/ngtsc/file_system';
9
- import { mainNgcc } from './src/main';
10
- export { ConsoleLogger, LogLevel } from '../src/ngtsc/logging';
11
- export { clearTsConfigCache } from './src/ngcc_options';
12
- export function process(options) {
13
- setFileSystem(new NodeJSFileSystem());
14
- return mainNgcc(options);
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvbmdjYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUdwQyxPQUFPLEVBQUMsYUFBYSxFQUFVLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBbUIsa0JBQWtCLEVBQStCLE1BQU0sb0JBQW9CLENBQUM7QUFLdEcsTUFBTSxVQUFVLE9BQU8sQ0FBQyxPQUF5QztJQUMvRCxhQUFhLENBQUMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDdEMsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtOb2RlSlNGaWxlU3lzdGVtLCBzZXRGaWxlU3lzdGVtfSBmcm9tICcuLi9zcmMvbmd0c2MvZmlsZV9zeXN0ZW0nO1xuXG5pbXBvcnQge21haW5OZ2NjfSBmcm9tICcuL3NyYy9tYWluJztcbmltcG9ydCB7QXN5bmNOZ2NjT3B0aW9ucywgU3luY05nY2NPcHRpb25zfSBmcm9tICcuL3NyYy9uZ2NjX29wdGlvbnMnO1xuXG5leHBvcnQge0NvbnNvbGVMb2dnZXIsIExvZ2dlciwgTG9nTGV2ZWx9IGZyb20gJy4uL3NyYy9uZ3RzYy9sb2dnaW5nJztcbmV4cG9ydCB7QXN5bmNOZ2NjT3B0aW9ucywgY2xlYXJUc0NvbmZpZ0NhY2hlLCBOZ2NjT3B0aW9ucywgU3luY05nY2NPcHRpb25zfSBmcm9tICcuL3NyYy9uZ2NjX29wdGlvbnMnO1xuZXhwb3J0IHtQYXRoTWFwcGluZ3N9IGZyb20gJy4vc3JjL3BhdGhfbWFwcGluZ3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VzczxUIGV4dGVuZHMgQXN5bmNOZ2NjT3B0aW9uc3xTeW5jTmdjY09wdGlvbnM+KG9wdGlvbnM6IFQpOlxuICAgIFQgZXh0ZW5kcyBBc3luY05nY2NPcHRpb25zID8gUHJvbWlzZTx2b2lkPjogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzKG9wdGlvbnM6IEFzeW5jTmdjY09wdGlvbnN8U3luY05nY2NPcHRpb25zKTogdm9pZHxQcm9taXNlPHZvaWQ+IHtcbiAgc2V0RmlsZVN5c3RlbShuZXcgTm9kZUpTRmlsZVN5c3RlbSgpKTtcbiAgcmV0dXJuIG1haW5OZ2NjKG9wdGlvbnMpO1xufVxuIl19
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * @license
5
- * Copyright Google LLC All Rights Reserved.
6
- *
7
- * Use of this source code is governed by an MIT-style license that can be
8
- * found in the LICENSE file at https://angular.io/license
9
- */
10
- console.error(new Error('The \'ivy-ngcc\' command was renamed to just \'ngcc\'. Please update your usage.'));
11
- process.exit(1);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1pdnktbmdjYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9uZ2NjL21haW4taXZ5LW5nY2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLENBQUMsS0FBSyxDQUNULElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUMsQ0FBQztBQUNuRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmNvbnNvbGUuZXJyb3IoXG4gICAgbmV3IEVycm9yKCdUaGUgXFwnaXZ5LW5nY2NcXCcgY29tbWFuZCB3YXMgcmVuYW1lZCB0byBqdXN0IFxcJ25nY2NcXCcuIFBsZWFzZSB1cGRhdGUgeW91ciB1c2FnZS4nKSk7XG5wcm9jZXNzLmV4aXQoMSk7XG4iXX0=
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import { __awaiter } from "tslib";
3
- /**
4
- * @license
5
- * Copyright Google LLC All Rights Reserved.
6
- *
7
- * Use of this source code is governed by an MIT-style license that can be
8
- * found in the LICENSE file at https://angular.io/license
9
- */
10
- import { mainNgcc } from './src/main';
11
- import { parseCommandLineOptions } from './src/command_line_options';
12
- // CLI entry point
13
- if (require.main === module) {
14
- process.title = 'ngcc';
15
- const startTime = Date.now();
16
- const options = parseCommandLineOptions(process.argv.slice(2));
17
- (() => __awaiter(void 0, void 0, void 0, function* () {
18
- try {
19
- yield mainNgcc(options);
20
- if (options.logger) {
21
- const duration = Math.round((Date.now() - startTime) / 1000);
22
- options.logger.debug(`Run ngcc in ${duration}s.`);
23
- }
24
- process.exitCode = 0;
25
- }
26
- catch (e) {
27
- console.error(e.stack || e.message);
28
- process.exit(typeof e.code === 'number' ? e.code : 1);
29
- }
30
- }))();
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1uZ2NjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL25nY2MvbWFpbi1uZ2NjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0E7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxrQkFBa0I7QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDLEdBQVMsRUFBRTtRQUNWLElBQUk7WUFDRixNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQzdELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsUUFBUSxJQUFJLENBQUMsQ0FBQzthQUNuRDtZQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7Q0FDTiIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHttYWluTmdjY30gZnJvbSAnLi9zcmMvbWFpbic7XG5pbXBvcnQge3BhcnNlQ29tbWFuZExpbmVPcHRpb25zfSBmcm9tICcuL3NyYy9jb21tYW5kX2xpbmVfb3B0aW9ucyc7XG5cbi8vIENMSSBlbnRyeSBwb2ludFxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIHByb2Nlc3MudGl0bGUgPSAnbmdjYyc7XG4gIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gIGNvbnN0IG9wdGlvbnMgPSBwYXJzZUNvbW1hbmRMaW5lT3B0aW9ucyhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpO1xuICAoYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBtYWluTmdjYyhvcHRpb25zKTtcbiAgICAgIGlmIChvcHRpb25zLmxvZ2dlcikge1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IE1hdGgucm91bmQoKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8gMTAwMCk7XG4gICAgICAgIG9wdGlvbnMubG9nZ2VyLmRlYnVnKGBSdW4gbmdjYyBpbiAke2R1cmF0aW9ufXMuYCk7XG4gICAgICB9XG4gICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUuc3RhY2sgfHwgZS5tZXNzYWdlKTtcbiAgICAgIHByb2Nlc3MuZXhpdCh0eXBlb2YgZS5jb2RlID09PSAnbnVtYmVyJyA/IGUuY29kZSA6IDEpO1xuICAgIH1cbiAgfSkoKTtcbn1cbiJdfQ==
File without changes