@angular/compiler-cli 12.1.0-next.6 → 12.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) 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/cycles/src/analyzer.d.ts +7 -0
  37. package/src/ngtsc/cycles/src/analyzer.js +89 -4
  38. package/src/ngtsc/cycles/src/imports.d.ts +1 -6
  39. package/src/ngtsc/cycles/src/imports.js +5 -23
  40. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +1 -1
  41. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +1 -1
  42. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +1 -1
  43. package/src/ngtsc/incremental/semantic_graph/src/graph.js +1 -1
  44. package/src/ngtsc/incremental/src/incremental.js +30 -4
  45. package/src/ngtsc/indexer/src/template.js +1 -1
  46. package/src/ngtsc/metadata/src/dts.js +2 -3
  47. package/src/ngtsc/metadata/src/inheritance.js +2 -7
  48. package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
  49. package/src/ngtsc/partial_evaluator/src/diagnostics.js +4 -1
  50. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +19 -1
  51. package/src/ngtsc/partial_evaluator/src/dynamic.js +12 -4
  52. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +2 -0
  53. package/src/ngtsc/partial_evaluator/src/interpreter.js +53 -5
  54. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +1 -1
  55. package/src/ngtsc/program.d.ts +1 -0
  56. package/src/ngtsc/program.js +26 -2
  57. package/src/ngtsc/program_driver/src/api.d.ts +20 -1
  58. package/src/ngtsc/program_driver/src/api.js +3 -2
  59. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -2
  60. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +7 -3
  61. package/src/ngtsc/reflection/src/typescript.js +4 -1
  62. package/src/ngtsc/transform/src/api.d.ts +6 -0
  63. package/src/ngtsc/transform/src/api.js +1 -1
  64. package/src/ngtsc/transform/src/compilation.d.ts +2 -0
  65. package/src/ngtsc/transform/src/compilation.js +59 -20
  66. package/src/ngtsc/transform/src/transform.js +1 -1
  67. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  68. package/src/ngtsc/typecheck/src/context.js +11 -3
  69. package/src/ngtsc/typecheck/src/template_semantics.js +1 -1
  70. package/src/ngtsc/typecheck/src/template_symbol_builder.js +36 -4
  71. package/src/ngtsc/typecheck/src/type_check_block.js +2 -2
  72. package/src/ngtsc/typecheck/src/type_check_file.js +1 -1
  73. package/src/ngtsc/typecheck/src/type_emitter.d.ts +2 -1
  74. package/src/ngtsc/typecheck/src/type_emitter.js +54 -48
  75. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +2 -0
  76. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +21 -7
  77. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  78. package/src/ngtsc/util/src/visitor.js +1 -8
  79. package/src/ngtsc/xi18n/index.d.ts +9 -0
  80. package/src/ngtsc/xi18n/index.js +22 -0
  81. package/src/ngtsc/xi18n/src/context.d.ts +26 -0
  82. package/src/ngtsc/xi18n/src/context.js +20 -0
  83. package/src/transformers/api.d.ts +0 -3
  84. package/src/transformers/api.js +1 -1
  85. package/src/transformers/i18n.d.ts +14 -0
  86. package/src/transformers/i18n.js +76 -0
  87. package/src/transformers/program.d.ts +0 -4
  88. package/src/transformers/program.js +5 -56
  89. package/src/version.js +1 -1
  90. package/compiler-cli.externs.js +0 -0
  91. package/index.mjs +0 -20
  92. package/linker/babel/babel.externs.js +0 -0
  93. package/linker/babel/index.mjs +0 -11
  94. package/linker/babel/src/ast/babel_ast_factory.mjs +0 -137
  95. package/linker/babel/src/ast/babel_ast_host.mjs +0 -154
  96. package/linker/babel/src/babel_declaration_scope.mjs +0 -52
  97. package/linker/babel/src/babel_plugin.mjs +0 -23
  98. package/linker/babel/src/es2015_linker_plugin.mjs +0 -158
  99. package/linker/babel/src/linker_plugin_options.mjs +0 -2
  100. package/linker/index.mjs +0 -7
  101. package/linker/linker.externs.js +0 -0
  102. package/linker/src/ast/ast_host.mjs +0 -9
  103. package/linker/src/ast/ast_value.mjs +0 -256
  104. package/linker/src/ast/typescript/typescript_ast_host.mjs +0 -156
  105. package/linker/src/ast/utils.mjs +0 -17
  106. package/linker/src/fatal_linker_error.mjs +0 -30
  107. package/linker/src/file_linker/declaration_scope.mjs +0 -9
  108. package/linker/src/file_linker/emit_scopes/emit_scope.mjs +0 -41
  109. package/linker/src/file_linker/emit_scopes/iife_emit_scope.mjs +0 -33
  110. package/linker/src/file_linker/file_linker.mjs +0 -70
  111. package/linker/src/file_linker/get_source_file.mjs +0 -28
  112. package/linker/src/file_linker/linker_environment.mjs +0 -23
  113. package/linker/src/file_linker/linker_options.mjs +0 -16
  114. package/linker/src/file_linker/needs_linking.mjs +0 -27
  115. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.mjs +0 -29
  116. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.mjs +0 -194
  117. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.mjs +0 -137
  118. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.mjs +0 -52
  119. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.mjs +0 -56
  120. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.mjs +0 -38
  121. package/linker/src/file_linker/partial_linkers/partial_linker.mjs +0 -2
  122. package/linker/src/file_linker/partial_linkers/partial_linker_selector.mjs +0 -166
  123. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.mjs +0 -110
  124. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.mjs +0 -42
  125. package/linker/src/file_linker/partial_linkers/util.mjs +0 -78
  126. package/linker/src/file_linker/translator.mjs +0 -23
  127. package/linker/src/linker_import_generator.mjs +0 -28
  128. package/ngcc/index.mjs +0 -16
  129. package/ngcc/main-ivy-ngcc.mjs +0 -12
  130. package/ngcc/main-ngcc.mjs +0 -32
  131. package/ngcc/ngcc.externs.js +0 -0
  132. package/ngcc/src/analysis/decoration_analyzer.mjs +0 -215
  133. package/ngcc/src/analysis/migration_host.mjs +0 -80
  134. package/ngcc/src/analysis/module_with_providers_analyzer.mjs +0 -178
  135. package/ngcc/src/analysis/ngcc_references_registry.mjs +0 -45
  136. package/ngcc/src/analysis/ngcc_trait_compiler.mjs +0 -70
  137. package/ngcc/src/analysis/private_declarations_analyzer.mjs +0 -47
  138. package/ngcc/src/analysis/switch_marker_analyzer.mjs +0 -34
  139. package/ngcc/src/analysis/types.mjs +0 -2
  140. package/ngcc/src/analysis/util.mjs +0 -19
  141. package/ngcc/src/command_line_options.mjs +0 -142
  142. package/ngcc/src/constants.mjs +0 -10
  143. package/ngcc/src/dependencies/commonjs_dependency_host.mjs +0 -87
  144. package/ngcc/src/dependencies/dependency_host.mjs +0 -102
  145. package/ngcc/src/dependencies/dependency_resolver.mjs +0 -151
  146. package/ngcc/src/dependencies/dts_dependency_host.mjs +0 -18
  147. package/ngcc/src/dependencies/esm_dependency_host.mjs +0 -286
  148. package/ngcc/src/dependencies/module_resolver.mjs +0 -233
  149. package/ngcc/src/dependencies/umd_dependency_host.mjs +0 -33
  150. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.mjs +0 -42
  151. package/ngcc/src/entry_point_finder/entry_point_collector.mjs +0 -120
  152. package/ngcc/src/entry_point_finder/interface.mjs +0 -2
  153. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.mjs +0 -91
  154. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.mjs +0 -216
  155. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.mjs +0 -63
  156. package/ngcc/src/entry_point_finder/utils.mjs +0 -176
  157. package/ngcc/src/execution/analyze_entry_points.mjs +0 -130
  158. package/ngcc/src/execution/api.mjs +0 -2
  159. package/ngcc/src/execution/cluster/api.mjs +0 -9
  160. package/ngcc/src/execution/cluster/executor.mjs +0 -27
  161. package/ngcc/src/execution/cluster/master.mjs +0 -261
  162. package/ngcc/src/execution/cluster/package_json_updater.mjs +0 -45
  163. package/ngcc/src/execution/cluster/utils.mjs +0 -59
  164. package/ngcc/src/execution/cluster/worker.mjs +0 -81
  165. package/ngcc/src/execution/create_compile_function.mjs +0 -62
  166. package/ngcc/src/execution/single_process_executor.mjs +0 -57
  167. package/ngcc/src/execution/tasks/api.mjs +0 -22
  168. package/ngcc/src/execution/tasks/completion.mjs +0 -61
  169. package/ngcc/src/execution/tasks/queues/base_task_queue.mjs +0 -78
  170. package/ngcc/src/execution/tasks/queues/parallel_task_queue.mjs +0 -53
  171. package/ngcc/src/execution/tasks/queues/serial_task_queue.mjs +0 -29
  172. package/ngcc/src/execution/tasks/utils.mjs +0 -114
  173. package/ngcc/src/host/commonjs_host.mjs +0 -220
  174. package/ngcc/src/host/commonjs_umd_utils.mjs +0 -186
  175. package/ngcc/src/host/delegating_host.mjs +0 -140
  176. package/ngcc/src/host/esm2015_host.mjs +0 -2293
  177. package/ngcc/src/host/esm5_host.mjs +0 -721
  178. package/ngcc/src/host/ngcc_host.mjs +0 -15
  179. package/ngcc/src/host/umd_host.mjs +0 -486
  180. package/ngcc/src/host/utils.mjs +0 -12
  181. package/ngcc/src/locking/async_locker.mjs +0 -76
  182. package/ngcc/src/locking/lock_file.mjs +0 -4
  183. package/ngcc/src/locking/lock_file_with_child_process/index.mjs +0 -78
  184. package/ngcc/src/locking/lock_file_with_child_process/unlocker.mjs +0 -34
  185. package/ngcc/src/locking/lock_file_with_child_process/util.mjs +0 -29
  186. package/ngcc/src/locking/sync_locker.mjs +0 -52
  187. package/ngcc/src/main.mjs +0 -134
  188. package/ngcc/src/migrations/migration.mjs +0 -2
  189. package/ngcc/src/migrations/missing_injectable_migration.mjs +0 -164
  190. package/ngcc/src/migrations/undecorated_child_migration.mjs +0 -61
  191. package/ngcc/src/migrations/undecorated_parent_migration.mjs +0 -86
  192. package/ngcc/src/migrations/utils.mjs +0 -117
  193. package/ngcc/src/ngcc_options.mjs +0 -119
  194. package/ngcc/src/packages/build_marker.mjs +0 -84
  195. package/ngcc/src/packages/bundle_program.mjs +0 -52
  196. package/ngcc/src/packages/configuration.mjs +0 -250
  197. package/ngcc/src/packages/entry_point.mjs +0 -239
  198. package/ngcc/src/packages/entry_point_bundle.mjs +0 -68
  199. package/ngcc/src/packages/entry_point_manifest.mjs +0 -162
  200. package/ngcc/src/packages/ngcc_compiler_host.mjs +0 -77
  201. package/ngcc/src/packages/patch_ts_expando_initializer.mjs +0 -166
  202. package/ngcc/src/packages/source_file_cache.mjs +0 -187
  203. package/ngcc/src/packages/transformer.mjs +0 -140
  204. package/ngcc/src/path_mappings.mjs +0 -13
  205. package/ngcc/src/rendering/commonjs_rendering_formatter.mjs +0 -65
  206. package/ngcc/src/rendering/dts_renderer.mjs +0 -139
  207. package/ngcc/src/rendering/esm5_rendering_formatter.mjs +0 -50
  208. package/ngcc/src/rendering/esm_rendering_formatter.mjs +0 -251
  209. package/ngcc/src/rendering/ngcc_import_rewriter.mjs +0 -32
  210. package/ngcc/src/rendering/renderer.mjs +0 -170
  211. package/ngcc/src/rendering/rendering_formatter.mjs +0 -2
  212. package/ngcc/src/rendering/source_maps.mjs +0 -54
  213. package/ngcc/src/rendering/umd_rendering_formatter.mjs +0 -292
  214. package/ngcc/src/rendering/utils.mjs +0 -20
  215. package/ngcc/src/utils.mjs +0 -144
  216. package/ngcc/src/writing/cleaning/cleaning_strategies.mjs +0 -61
  217. package/ngcc/src/writing/cleaning/package_cleaner.mjs +0 -67
  218. package/ngcc/src/writing/cleaning/utils.mjs +0 -16
  219. package/ngcc/src/writing/file_writer.mjs +0 -2
  220. package/ngcc/src/writing/in_place_file_writer.mjs +0 -62
  221. package/ngcc/src/writing/new_entry_point_file_writer.mjs +0 -161
  222. package/ngcc/src/writing/package_json_updater.mjs +0 -144
  223. package/src/diagnostics/translate_diagnostics.mjs +0 -47
  224. package/src/diagnostics/typescript_version.mjs +0 -79
  225. package/src/extract_i18n.mjs +0 -46
  226. package/src/language_services.mjs +0 -18
  227. package/src/main.mjs +0 -185
  228. package/src/metadata/bundle_index_host.mjs +0 -107
  229. package/src/metadata/bundler.mjs +0 -556
  230. package/src/metadata/collector.mjs +0 -701
  231. package/src/metadata/evaluator.mjs +0 -643
  232. package/src/metadata/index.mjs +0 -11
  233. package/src/metadata/index_writer.mjs +0 -44
  234. package/src/metadata/schema.mjs +0 -102
  235. package/src/metadata/symbols.mjs +0 -117
  236. package/src/ngtsc/annotations/annotations.externs.js +0 -0
  237. package/src/ngtsc/annotations/index.mjs +0 -15
  238. package/src/ngtsc/annotations/src/api.mjs +0 -9
  239. package/src/ngtsc/annotations/src/component.mjs +0 -1064
  240. package/src/ngtsc/annotations/src/diagnostics.mjs +0 -147
  241. package/src/ngtsc/annotations/src/directive.mjs +0 -692
  242. package/src/ngtsc/annotations/src/factory.mjs +0 -17
  243. package/src/ngtsc/annotations/src/injectable.mjs +0 -260
  244. package/src/ngtsc/annotations/src/metadata.mjs +0 -145
  245. package/src/ngtsc/annotations/src/ng_module.mjs +0 -565
  246. package/src/ngtsc/annotations/src/pipe.mjs +0 -151
  247. package/src/ngtsc/annotations/src/references_registry.mjs +0 -16
  248. package/src/ngtsc/annotations/src/util.mjs +0 -495
  249. package/src/ngtsc/core/api/index.mjs +0 -12
  250. package/src/ngtsc/core/api/src/adapter.mjs +0 -9
  251. package/src/ngtsc/core/api/src/interfaces.mjs +0 -9
  252. package/src/ngtsc/core/api/src/options.mjs +0 -9
  253. package/src/ngtsc/core/api/src/public_options.mjs +0 -9
  254. package/src/ngtsc/core/api.externs.js +0 -0
  255. package/src/ngtsc/core/core.externs.js +0 -0
  256. package/src/ngtsc/core/index.mjs +0 -10
  257. package/src/ngtsc/core/src/compiler.mjs +0 -908
  258. package/src/ngtsc/core/src/config.mjs +0 -15
  259. package/src/ngtsc/core/src/host.mjs +0 -229
  260. package/src/ngtsc/cycles/cycles.externs.js +0 -0
  261. package/src/ngtsc/cycles/index.mjs +0 -10
  262. package/src/ngtsc/cycles/src/analyzer.mjs +0 -60
  263. package/src/ngtsc/cycles/src/imports.mjs +0 -152
  264. package/src/ngtsc/diagnostics/diagnostics.externs.js +0 -0
  265. package/src/ngtsc/diagnostics/index.mjs +0 -11
  266. package/src/ngtsc/diagnostics/src/error.mjs +0 -51
  267. package/src/ngtsc/diagnostics/src/error_code.mjs +0 -198
  268. package/src/ngtsc/diagnostics/src/util.mjs +0 -21
  269. package/src/ngtsc/entry_point/entry_point.externs.js +0 -0
  270. package/src/ngtsc/entry_point/index.mjs +0 -12
  271. package/src/ngtsc/entry_point/src/generator.mjs +0 -35
  272. package/src/ngtsc/entry_point/src/logic.mjs +0 -35
  273. package/src/ngtsc/entry_point/src/private_export_checker.mjs +0 -122
  274. package/src/ngtsc/entry_point/src/reference_graph.mjs +0 -73
  275. package/src/ngtsc/file_system/file_system.externs.js +0 -0
  276. package/src/ngtsc/file_system/index.mjs +0 -13
  277. package/src/ngtsc/file_system/src/compiler_host.mjs +0 -64
  278. package/src/ngtsc/file_system/src/helpers.mjs +0 -99
  279. package/src/ngtsc/file_system/src/invalid_file_system.mjs +0 -95
  280. package/src/ngtsc/file_system/src/logical.mjs +0 -84
  281. package/src/ngtsc/file_system/src/node_js_file_system.mjs +0 -142
  282. package/src/ngtsc/file_system/src/types.mjs +0 -9
  283. package/src/ngtsc/file_system/src/util.mjs +0 -22
  284. package/src/ngtsc/file_system/testing/index.mjs +0 -13
  285. package/src/ngtsc/file_system/testing/src/mock_file_system.mjs +0 -293
  286. package/src/ngtsc/file_system/testing/src/mock_file_system_native.mjs +0 -57
  287. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.mjs +0 -38
  288. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.mjs +0 -38
  289. package/src/ngtsc/file_system/testing/src/test_helper.mjs +0 -108
  290. package/src/ngtsc/file_system/testing/testing.externs.js +0 -0
  291. package/src/ngtsc/imports/imports.externs.js +0 -0
  292. package/src/ngtsc/imports/index.mjs +0 -14
  293. package/src/ngtsc/imports/src/alias.mjs +0 -137
  294. package/src/ngtsc/imports/src/core.mjs +0 -78
  295. package/src/ngtsc/imports/src/default.mjs +0 -135
  296. package/src/ngtsc/imports/src/emitter.mjs +0 -266
  297. package/src/ngtsc/imports/src/find_export.mjs +0 -56
  298. package/src/ngtsc/imports/src/reexport.mjs +0 -9
  299. package/src/ngtsc/imports/src/references.mjs +0 -137
  300. package/src/ngtsc/imports/src/resolver.mjs +0 -24
  301. package/src/ngtsc/incremental/api.externs.js +0 -0
  302. package/src/ngtsc/incremental/api.mjs +0 -9
  303. package/src/ngtsc/incremental/incremental.externs.js +0 -0
  304. package/src/ngtsc/incremental/index.mjs +0 -12
  305. package/src/ngtsc/incremental/semantic_graph/index.mjs +0 -12
  306. package/src/ngtsc/incremental/semantic_graph/semantic_graph.externs.js +0 -0
  307. package/src/ngtsc/incremental/semantic_graph/src/api.mjs +0 -36
  308. package/src/ngtsc/incremental/semantic_graph/src/graph.mjs +0 -237
  309. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs +0 -40
  310. package/src/ngtsc/incremental/semantic_graph/src/util.mjs +0 -69
  311. package/src/ngtsc/incremental/src/dependency_tracking.mjs +0 -117
  312. package/src/ngtsc/incremental/src/incremental.mjs +0 -271
  313. package/src/ngtsc/incremental/src/noop.mjs +0 -13
  314. package/src/ngtsc/incremental/src/state.mjs +0 -17
  315. package/src/ngtsc/incremental/src/strategy.mjs +0 -76
  316. package/src/ngtsc/indexer/index.mjs +0 -11
  317. package/src/ngtsc/indexer/indexer.externs.js +0 -0
  318. package/src/ngtsc/indexer/src/api.mjs +0 -30
  319. package/src/ngtsc/indexer/src/context.mjs +0 -25
  320. package/src/ngtsc/indexer/src/template.mjs +0 -303
  321. package/src/ngtsc/indexer/src/transform.mjs +0 -51
  322. package/src/ngtsc/logging/index.mjs +0 -10
  323. package/src/ngtsc/logging/logging.externs.js +0 -0
  324. package/src/ngtsc/logging/src/console_logger.mjs +0 -43
  325. package/src/ngtsc/logging/src/logger.mjs +0 -15
  326. package/src/ngtsc/logging/testing/index.mjs +0 -9
  327. package/src/ngtsc/logging/testing/src/mock_logger.mjs +0 -32
  328. package/src/ngtsc/logging/testing/testing.externs.js +0 -0
  329. package/src/ngtsc/metadata/index.mjs +0 -15
  330. package/src/ngtsc/metadata/metadata.externs.js +0 -0
  331. package/src/ngtsc/metadata/src/api.mjs +0 -13
  332. package/src/ngtsc/metadata/src/dts.mjs +0 -143
  333. package/src/ngtsc/metadata/src/inheritance.mjs +0 -71
  334. package/src/ngtsc/metadata/src/property_mapping.mjs +0 -136
  335. package/src/ngtsc/metadata/src/registry.mjs +0 -80
  336. package/src/ngtsc/metadata/src/resource_registry.mjs +0 -81
  337. package/src/ngtsc/metadata/src/util.mjs +0 -200
  338. package/src/ngtsc/partial_evaluator/index.mjs +0 -12
  339. package/src/ngtsc/partial_evaluator/partial_evaluator.externs.js +0 -0
  340. package/src/ngtsc/partial_evaluator/src/builtin.mjs +0 -65
  341. package/src/ngtsc/partial_evaluator/src/diagnostics.mjs +0 -171
  342. package/src/ngtsc/partial_evaluator/src/dynamic.mjs +0 -86
  343. package/src/ngtsc/partial_evaluator/src/interface.mjs +0 -27
  344. package/src/ngtsc/partial_evaluator/src/interpreter.mjs +0 -683
  345. package/src/ngtsc/partial_evaluator/src/known_declaration.mjs +0 -43
  346. package/src/ngtsc/partial_evaluator/src/result.mjs +0 -50
  347. package/src/ngtsc/partial_evaluator/src/ts_helpers.mjs +0 -72
  348. package/src/ngtsc/perf/index.mjs +0 -11
  349. package/src/ngtsc/perf/perf.externs.js +0 -0
  350. package/src/ngtsc/perf/src/api.mjs +0 -278
  351. package/src/ngtsc/perf/src/clock.mjs +0 -15
  352. package/src/ngtsc/perf/src/noop.mjs +0 -21
  353. package/src/ngtsc/perf/src/recorder.mjs +0 -125
  354. package/src/ngtsc/program.mjs +0 -247
  355. package/src/ngtsc/program_driver/index.mjs +0 -10
  356. package/src/ngtsc/program_driver/program_driver.externs.js +0 -0
  357. package/src/ngtsc/program_driver/src/api.mjs +0 -22
  358. package/src/ngtsc/program_driver/src/ts_create_program_driver.mjs +0 -164
  359. package/src/ngtsc/reflection/index.mjs +0 -12
  360. package/src/ngtsc/reflection/reflection.externs.js +0 -0
  361. package/src/ngtsc/reflection/src/host.mjs +0 -73
  362. package/src/ngtsc/reflection/src/type_to_value.mjs +0 -243
  363. package/src/ngtsc/reflection/src/typescript.mjs +0 -608
  364. package/src/ngtsc/reflection/src/util.mjs +0 -21
  365. package/src/ngtsc/resource/index.mjs +0 -9
  366. package/src/ngtsc/resource/resource.externs.js +0 -0
  367. package/src/ngtsc/resource/src/loader.mjs +0 -242
  368. package/src/ngtsc/routing/index.mjs +0 -11
  369. package/src/ngtsc/routing/routing.externs.js +0 -0
  370. package/src/ngtsc/routing/src/analyzer.mjs +0 -69
  371. package/src/ngtsc/routing/src/lazy.mjs +0 -168
  372. package/src/ngtsc/routing/src/route.mjs +0 -51
  373. package/src/ngtsc/scope/index.mjs +0 -12
  374. package/src/ngtsc/scope/scope.externs.js +0 -0
  375. package/src/ngtsc/scope/src/api.mjs +0 -9
  376. package/src/ngtsc/scope/src/component_scope.mjs +0 -31
  377. package/src/ngtsc/scope/src/dependency.mjs +0 -134
  378. package/src/ngtsc/scope/src/local.mjs +0 -531
  379. package/src/ngtsc/scope/src/typecheck.mjs +0 -83
  380. package/src/ngtsc/shims/api.externs.js +0 -0
  381. package/src/ngtsc/shims/api.mjs +0 -2
  382. package/src/ngtsc/shims/index.mjs +0 -14
  383. package/src/ngtsc/shims/shims.externs.js +0 -0
  384. package/src/ngtsc/shims/src/adapter.mjs +0 -188
  385. package/src/ngtsc/shims/src/expando.mjs +0 -102
  386. package/src/ngtsc/shims/src/factory_generator.mjs +0 -265
  387. package/src/ngtsc/shims/src/reference_tagger.mjs +0 -67
  388. package/src/ngtsc/shims/src/summary_generator.mjs +0 -64
  389. package/src/ngtsc/shims/src/util.mjs +0 -26
  390. package/src/ngtsc/sourcemaps/index.mjs +0 -11
  391. package/src/ngtsc/sourcemaps/sourcemaps.externs.js +0 -0
  392. package/src/ngtsc/sourcemaps/src/content_origin.mjs +0 -35
  393. package/src/ngtsc/sourcemaps/src/raw_source_map.mjs +0 -2
  394. package/src/ngtsc/sourcemaps/src/segment_marker.mjs +0 -40
  395. package/src/ngtsc/sourcemaps/src/source_file.mjs +0 -459
  396. package/src/ngtsc/sourcemaps/src/source_file_loader.mjs +0 -213
  397. package/src/ngtsc/switch/index.mjs +0 -9
  398. package/src/ngtsc/switch/src/switch.mjs +0 -115
  399. package/src/ngtsc/switch/switch.externs.js +0 -0
  400. package/src/ngtsc/transform/index.mjs +0 -14
  401. package/src/ngtsc/transform/src/alias.mjs +0 -30
  402. package/src/ngtsc/transform/src/api.mjs +0 -63
  403. package/src/ngtsc/transform/src/compilation.mjs +0 -496
  404. package/src/ngtsc/transform/src/declaration.mjs +0 -182
  405. package/src/ngtsc/transform/src/trait.mjs +0 -95
  406. package/src/ngtsc/transform/src/transform.mjs +0 -298
  407. package/src/ngtsc/transform/src/utils.mjs +0 -57
  408. package/src/ngtsc/transform/transform.externs.js +0 -0
  409. package/src/ngtsc/translator/index.mjs +0 -14
  410. package/src/ngtsc/translator/src/api/ast_factory.mjs +0 -9
  411. package/src/ngtsc/translator/src/api/import_generator.mjs +0 -9
  412. package/src/ngtsc/translator/src/context.mjs +0 -24
  413. package/src/ngtsc/translator/src/import_manager.mjs +0 -48
  414. package/src/ngtsc/translator/src/translator.mjs +0 -317
  415. package/src/ngtsc/translator/src/type_translator.mjs +0 -204
  416. package/src/ngtsc/translator/src/typescript_ast_factory.mjs +0 -211
  417. package/src/ngtsc/translator/src/typescript_translator.mjs +0 -17
  418. package/src/ngtsc/translator/translator.externs.js +0 -0
  419. package/src/ngtsc/tsc_plugin.mjs +0 -98
  420. package/src/ngtsc/typecheck/api/api.externs.js +0 -0
  421. package/src/ngtsc/typecheck/api/api.mjs +0 -9
  422. package/src/ngtsc/typecheck/api/checker.mjs +0 -31
  423. package/src/ngtsc/typecheck/api/completion.mjs +0 -16
  424. package/src/ngtsc/typecheck/api/context.mjs +0 -9
  425. package/src/ngtsc/typecheck/api/index.mjs +0 -14
  426. package/src/ngtsc/typecheck/api/scope.mjs +0 -9
  427. package/src/ngtsc/typecheck/api/symbols.mjs +0 -22
  428. package/src/ngtsc/typecheck/diagnostics/diagnostics.externs.js +0 -0
  429. package/src/ngtsc/typecheck/diagnostics/index.mjs +0 -10
  430. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs +0 -99
  431. package/src/ngtsc/typecheck/diagnostics/src/id.mjs +0 -23
  432. package/src/ngtsc/typecheck/index.mjs +0 -12
  433. package/src/ngtsc/typecheck/src/checker.mjs +0 -591
  434. package/src/ngtsc/typecheck/src/comments.mjs +0 -159
  435. package/src/ngtsc/typecheck/src/completion.mjs +0 -155
  436. package/src/ngtsc/typecheck/src/context.mjs +0 -350
  437. package/src/ngtsc/typecheck/src/diagnostics.mjs +0 -95
  438. package/src/ngtsc/typecheck/src/dom.mjs +0 -68
  439. package/src/ngtsc/typecheck/src/environment.mjs +0 -146
  440. package/src/ngtsc/typecheck/src/expression.mjs +0 -412
  441. package/src/ngtsc/typecheck/src/line_mappings.mjs +0 -60
  442. package/src/ngtsc/typecheck/src/oob.mjs +0 -112
  443. package/src/ngtsc/typecheck/src/shim.mjs +0 -37
  444. package/src/ngtsc/typecheck/src/source.mjs +0 -74
  445. package/src/ngtsc/typecheck/src/tcb_util.mjs +0 -135
  446. package/src/ngtsc/typecheck/src/template_semantics.mjs +0 -34
  447. package/src/ngtsc/typecheck/src/template_symbol_builder.mjs +0 -472
  448. package/src/ngtsc/typecheck/src/ts_util.mjs +0 -157
  449. package/src/ngtsc/typecheck/src/type_check_block.mjs +0 -1770
  450. package/src/ngtsc/typecheck/src/type_check_file.mjs +0 -65
  451. package/src/ngtsc/typecheck/src/type_constructor.mjs +0 -227
  452. package/src/ngtsc/typecheck/src/type_emitter.mjs +0 -140
  453. package/src/ngtsc/typecheck/src/type_parameter_emitter.mjs +0 -80
  454. package/src/ngtsc/typecheck/typecheck.externs.js +0 -0
  455. package/src/ngtsc/util/src/path.mjs +0 -18
  456. package/src/ngtsc/util/src/typescript.mjs +0 -143
  457. package/src/ngtsc/util/src/visitor.mjs +0 -107
  458. package/src/ngtsc/util/util.externs.js +0 -0
  459. package/src/perform_compile.mjs +0 -275
  460. package/src/perform_watch.mjs +0 -247
  461. package/src/tooling.mjs +0 -32
  462. package/src/transformers/api.mjs +0 -27
  463. package/src/transformers/compiler_host.mjs +0 -593
  464. package/src/transformers/downlevel_decorators_transform.mjs +0 -507
  465. package/src/transformers/entry_points.mjs +0 -10
  466. package/src/transformers/inline_resources.mjs +0 -269
  467. package/src/transformers/lower_expressions.mjs +0 -336
  468. package/src/transformers/metadata_cache.mjs +0 -53
  469. package/src/transformers/metadata_reader.mjs +0 -104
  470. package/src/transformers/node_emitter.mjs +0 -606
  471. package/src/transformers/node_emitter_transform.mjs +0 -78
  472. package/src/transformers/patch_alias_reference_resolution.mjs +0 -109
  473. package/src/transformers/program.mjs +0 -935
  474. package/src/transformers/r3_metadata_transform.mjs +0 -46
  475. package/src/transformers/r3_transform.mjs +0 -29
  476. package/src/transformers/util.mjs +0 -89
  477. package/src/typescript_support.mjs +0 -57
  478. 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.6');
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.6') {
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