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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +1 -1
  2. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +2 -3
  3. package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +2 -2
  4. package/ngcc/src/dependencies/commonjs_dependency_host.js +1 -1
  5. package/ngcc/src/dependencies/dts_dependency_host.js +1 -1
  6. package/ngcc/src/dependencies/esm_dependency_host.js +1 -1
  7. package/ngcc/src/dependencies/umd_dependency_host.js +1 -1
  8. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +1 -1
  9. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +1 -1
  10. package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +1 -1
  11. package/ngcc/src/execution/tasks/queues/serial_task_queue.js +1 -1
  12. package/ngcc/src/host/commonjs_host.js +1 -1
  13. package/ngcc/src/host/esm2015_host.js +1 -1
  14. package/ngcc/src/host/esm5_host.js +1 -1
  15. package/ngcc/src/host/umd_host.js +1 -1
  16. package/ngcc/src/packages/build_marker.d.ts +1 -1
  17. package/ngcc/src/packages/build_marker.js +1 -1
  18. package/ngcc/src/packages/configuration.d.ts +7 -0
  19. package/ngcc/src/packages/configuration.js +8 -3
  20. package/ngcc/src/packages/entry_point_manifest.js +2 -2
  21. package/ngcc/src/packages/ngcc_compiler_host.js +1 -1
  22. package/ngcc/src/rendering/commonjs_rendering_formatter.js +1 -1
  23. package/ngcc/src/rendering/esm5_rendering_formatter.js +1 -1
  24. package/ngcc/src/rendering/umd_rendering_formatter.js +1 -1
  25. package/ngcc/src/writing/new_entry_point_file_writer.js +1 -1
  26. package/package.json +2 -2
  27. package/src/ngtsc/annotations/src/component.d.ts +2 -0
  28. package/src/ngtsc/annotations/src/component.js +6 -2
  29. package/src/ngtsc/annotations/src/directive.js +1 -1
  30. package/src/ngtsc/annotations/src/ng_module.js +1 -1
  31. package/src/ngtsc/annotations/src/pipe.js +1 -1
  32. package/src/ngtsc/core/api/src/public_options.d.ts +12 -0
  33. package/src/ngtsc/core/api/src/public_options.js +1 -1
  34. package/src/ngtsc/core/src/compiler.d.ts +5 -0
  35. package/src/ngtsc/core/src/compiler.js +10 -1
  36. package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +1 -1
  37. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +1 -1
  38. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +1 -1
  39. package/src/ngtsc/incremental/semantic_graph/src/graph.js +1 -1
  40. package/src/ngtsc/incremental/src/incremental.js +36 -6
  41. package/src/ngtsc/incremental/src/state.d.ts +5 -3
  42. package/src/ngtsc/incremental/src/state.js +1 -1
  43. package/src/ngtsc/indexer/src/template.js +1 -1
  44. package/src/ngtsc/metadata/src/dts.js +2 -3
  45. package/src/ngtsc/metadata/src/inheritance.js +2 -7
  46. package/src/ngtsc/partial_evaluator/src/builtin.js +1 -1
  47. package/src/ngtsc/partial_evaluator/src/diagnostics.js +4 -1
  48. package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +19 -1
  49. package/src/ngtsc/partial_evaluator/src/dynamic.js +12 -4
  50. package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +2 -0
  51. package/src/ngtsc/partial_evaluator/src/interpreter.js +48 -1
  52. package/src/ngtsc/partial_evaluator/src/ts_helpers.js +1 -1
  53. package/src/ngtsc/program.d.ts +1 -0
  54. package/src/ngtsc/program.js +26 -2
  55. package/src/ngtsc/program_driver/src/api.d.ts +20 -1
  56. package/src/ngtsc/program_driver/src/api.js +3 -2
  57. package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +2 -2
  58. package/src/ngtsc/program_driver/src/ts_create_program_driver.js +7 -3
  59. package/src/ngtsc/reflection/src/typescript.js +4 -1
  60. package/src/ngtsc/transform/src/api.d.ts +6 -0
  61. package/src/ngtsc/transform/src/api.js +1 -1
  62. package/src/ngtsc/transform/src/compilation.d.ts +3 -0
  63. package/src/ngtsc/transform/src/compilation.js +124 -53
  64. package/src/ngtsc/transform/src/transform.js +1 -1
  65. package/src/ngtsc/typecheck/src/context.d.ts +2 -1
  66. package/src/ngtsc/typecheck/src/context.js +11 -3
  67. package/src/ngtsc/typecheck/src/template_semantics.js +1 -1
  68. package/src/ngtsc/typecheck/src/template_symbol_builder.js +36 -4
  69. package/src/ngtsc/typecheck/src/type_check_block.js +2 -2
  70. package/src/ngtsc/typecheck/src/type_check_file.js +1 -1
  71. package/src/ngtsc/typecheck/src/type_emitter.d.ts +2 -1
  72. package/src/ngtsc/typecheck/src/type_emitter.js +54 -48
  73. package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +2 -0
  74. package/src/ngtsc/typecheck/src/type_parameter_emitter.js +21 -7
  75. package/src/ngtsc/util/src/visitor.d.ts +1 -1
  76. package/src/ngtsc/util/src/visitor.js +1 -8
  77. package/src/ngtsc/xi18n/index.d.ts +9 -0
  78. package/src/ngtsc/xi18n/index.js +22 -0
  79. package/src/ngtsc/xi18n/src/context.d.ts +26 -0
  80. package/src/ngtsc/xi18n/src/context.js +20 -0
  81. package/src/transformers/api.d.ts +0 -3
  82. package/src/transformers/api.js +1 -1
  83. package/src/transformers/i18n.d.ts +14 -0
  84. package/src/transformers/i18n.js +76 -0
  85. package/src/transformers/program.d.ts +0 -4
  86. package/src/transformers/program.js +5 -56
  87. package/src/version.js +1 -1
  88. package/compiler-cli.externs.js +0 -0
  89. package/index.mjs +0 -20
  90. package/linker/babel/babel.externs.js +0 -0
  91. package/linker/babel/index.mjs +0 -11
  92. package/linker/babel/src/ast/babel_ast_factory.mjs +0 -137
  93. package/linker/babel/src/ast/babel_ast_host.mjs +0 -154
  94. package/linker/babel/src/babel_declaration_scope.mjs +0 -52
  95. package/linker/babel/src/babel_plugin.mjs +0 -23
  96. package/linker/babel/src/es2015_linker_plugin.mjs +0 -158
  97. package/linker/babel/src/linker_plugin_options.mjs +0 -2
  98. package/linker/index.mjs +0 -7
  99. package/linker/linker.externs.js +0 -0
  100. package/linker/src/ast/ast_host.mjs +0 -9
  101. package/linker/src/ast/ast_value.mjs +0 -256
  102. package/linker/src/ast/typescript/typescript_ast_host.mjs +0 -156
  103. package/linker/src/ast/utils.mjs +0 -17
  104. package/linker/src/fatal_linker_error.mjs +0 -30
  105. package/linker/src/file_linker/declaration_scope.mjs +0 -9
  106. package/linker/src/file_linker/emit_scopes/emit_scope.mjs +0 -41
  107. package/linker/src/file_linker/emit_scopes/iife_emit_scope.mjs +0 -33
  108. package/linker/src/file_linker/file_linker.mjs +0 -70
  109. package/linker/src/file_linker/get_source_file.mjs +0 -28
  110. package/linker/src/file_linker/linker_environment.mjs +0 -23
  111. package/linker/src/file_linker/linker_options.mjs +0 -16
  112. package/linker/src/file_linker/needs_linking.mjs +0 -27
  113. package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.mjs +0 -29
  114. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.mjs +0 -194
  115. package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.mjs +0 -137
  116. package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.mjs +0 -52
  117. package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.mjs +0 -56
  118. package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.mjs +0 -38
  119. package/linker/src/file_linker/partial_linkers/partial_linker.mjs +0 -2
  120. package/linker/src/file_linker/partial_linkers/partial_linker_selector.mjs +0 -166
  121. package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.mjs +0 -110
  122. package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.mjs +0 -42
  123. package/linker/src/file_linker/partial_linkers/util.mjs +0 -78
  124. package/linker/src/file_linker/translator.mjs +0 -23
  125. package/linker/src/linker_import_generator.mjs +0 -28
  126. package/ngcc/index.mjs +0 -16
  127. package/ngcc/main-ivy-ngcc.mjs +0 -12
  128. package/ngcc/main-ngcc.mjs +0 -32
  129. package/ngcc/ngcc.externs.js +0 -0
  130. package/ngcc/src/analysis/decoration_analyzer.mjs +0 -215
  131. package/ngcc/src/analysis/migration_host.mjs +0 -80
  132. package/ngcc/src/analysis/module_with_providers_analyzer.mjs +0 -178
  133. package/ngcc/src/analysis/ngcc_references_registry.mjs +0 -45
  134. package/ngcc/src/analysis/ngcc_trait_compiler.mjs +0 -70
  135. package/ngcc/src/analysis/private_declarations_analyzer.mjs +0 -47
  136. package/ngcc/src/analysis/switch_marker_analyzer.mjs +0 -34
  137. package/ngcc/src/analysis/types.mjs +0 -2
  138. package/ngcc/src/analysis/util.mjs +0 -19
  139. package/ngcc/src/command_line_options.mjs +0 -142
  140. package/ngcc/src/constants.mjs +0 -10
  141. package/ngcc/src/dependencies/commonjs_dependency_host.mjs +0 -87
  142. package/ngcc/src/dependencies/dependency_host.mjs +0 -102
  143. package/ngcc/src/dependencies/dependency_resolver.mjs +0 -151
  144. package/ngcc/src/dependencies/dts_dependency_host.mjs +0 -18
  145. package/ngcc/src/dependencies/esm_dependency_host.mjs +0 -286
  146. package/ngcc/src/dependencies/module_resolver.mjs +0 -233
  147. package/ngcc/src/dependencies/umd_dependency_host.mjs +0 -33
  148. package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.mjs +0 -42
  149. package/ngcc/src/entry_point_finder/entry_point_collector.mjs +0 -120
  150. package/ngcc/src/entry_point_finder/interface.mjs +0 -2
  151. package/ngcc/src/entry_point_finder/program_based_entry_point_finder.mjs +0 -91
  152. package/ngcc/src/entry_point_finder/targeted_entry_point_finder.mjs +0 -216
  153. package/ngcc/src/entry_point_finder/tracing_entry_point_finder.mjs +0 -63
  154. package/ngcc/src/entry_point_finder/utils.mjs +0 -176
  155. package/ngcc/src/execution/analyze_entry_points.mjs +0 -130
  156. package/ngcc/src/execution/api.mjs +0 -2
  157. package/ngcc/src/execution/cluster/api.mjs +0 -9
  158. package/ngcc/src/execution/cluster/executor.mjs +0 -27
  159. package/ngcc/src/execution/cluster/master.mjs +0 -261
  160. package/ngcc/src/execution/cluster/package_json_updater.mjs +0 -45
  161. package/ngcc/src/execution/cluster/utils.mjs +0 -59
  162. package/ngcc/src/execution/cluster/worker.mjs +0 -81
  163. package/ngcc/src/execution/create_compile_function.mjs +0 -62
  164. package/ngcc/src/execution/single_process_executor.mjs +0 -57
  165. package/ngcc/src/execution/tasks/api.mjs +0 -22
  166. package/ngcc/src/execution/tasks/completion.mjs +0 -61
  167. package/ngcc/src/execution/tasks/queues/base_task_queue.mjs +0 -78
  168. package/ngcc/src/execution/tasks/queues/parallel_task_queue.mjs +0 -53
  169. package/ngcc/src/execution/tasks/queues/serial_task_queue.mjs +0 -29
  170. package/ngcc/src/execution/tasks/utils.mjs +0 -114
  171. package/ngcc/src/host/commonjs_host.mjs +0 -220
  172. package/ngcc/src/host/commonjs_umd_utils.mjs +0 -186
  173. package/ngcc/src/host/delegating_host.mjs +0 -140
  174. package/ngcc/src/host/esm2015_host.mjs +0 -2293
  175. package/ngcc/src/host/esm5_host.mjs +0 -721
  176. package/ngcc/src/host/ngcc_host.mjs +0 -15
  177. package/ngcc/src/host/umd_host.mjs +0 -486
  178. package/ngcc/src/host/utils.mjs +0 -12
  179. package/ngcc/src/locking/async_locker.mjs +0 -76
  180. package/ngcc/src/locking/lock_file.mjs +0 -4
  181. package/ngcc/src/locking/lock_file_with_child_process/index.mjs +0 -78
  182. package/ngcc/src/locking/lock_file_with_child_process/unlocker.mjs +0 -34
  183. package/ngcc/src/locking/lock_file_with_child_process/util.mjs +0 -29
  184. package/ngcc/src/locking/sync_locker.mjs +0 -52
  185. package/ngcc/src/main.mjs +0 -134
  186. package/ngcc/src/migrations/migration.mjs +0 -2
  187. package/ngcc/src/migrations/missing_injectable_migration.mjs +0 -164
  188. package/ngcc/src/migrations/undecorated_child_migration.mjs +0 -61
  189. package/ngcc/src/migrations/undecorated_parent_migration.mjs +0 -86
  190. package/ngcc/src/migrations/utils.mjs +0 -117
  191. package/ngcc/src/ngcc_options.mjs +0 -119
  192. package/ngcc/src/packages/build_marker.mjs +0 -84
  193. package/ngcc/src/packages/bundle_program.mjs +0 -52
  194. package/ngcc/src/packages/configuration.mjs +0 -250
  195. package/ngcc/src/packages/entry_point.mjs +0 -239
  196. package/ngcc/src/packages/entry_point_bundle.mjs +0 -68
  197. package/ngcc/src/packages/entry_point_manifest.mjs +0 -162
  198. package/ngcc/src/packages/ngcc_compiler_host.mjs +0 -77
  199. package/ngcc/src/packages/patch_ts_expando_initializer.mjs +0 -166
  200. package/ngcc/src/packages/source_file_cache.mjs +0 -187
  201. package/ngcc/src/packages/transformer.mjs +0 -140
  202. package/ngcc/src/path_mappings.mjs +0 -13
  203. package/ngcc/src/rendering/commonjs_rendering_formatter.mjs +0 -65
  204. package/ngcc/src/rendering/dts_renderer.mjs +0 -139
  205. package/ngcc/src/rendering/esm5_rendering_formatter.mjs +0 -50
  206. package/ngcc/src/rendering/esm_rendering_formatter.mjs +0 -251
  207. package/ngcc/src/rendering/ngcc_import_rewriter.mjs +0 -32
  208. package/ngcc/src/rendering/renderer.mjs +0 -170
  209. package/ngcc/src/rendering/rendering_formatter.mjs +0 -2
  210. package/ngcc/src/rendering/source_maps.mjs +0 -54
  211. package/ngcc/src/rendering/umd_rendering_formatter.mjs +0 -292
  212. package/ngcc/src/rendering/utils.mjs +0 -20
  213. package/ngcc/src/utils.mjs +0 -144
  214. package/ngcc/src/writing/cleaning/cleaning_strategies.mjs +0 -61
  215. package/ngcc/src/writing/cleaning/package_cleaner.mjs +0 -67
  216. package/ngcc/src/writing/cleaning/utils.mjs +0 -16
  217. package/ngcc/src/writing/file_writer.mjs +0 -2
  218. package/ngcc/src/writing/in_place_file_writer.mjs +0 -62
  219. package/ngcc/src/writing/new_entry_point_file_writer.mjs +0 -161
  220. package/ngcc/src/writing/package_json_updater.mjs +0 -144
  221. package/src/diagnostics/translate_diagnostics.mjs +0 -47
  222. package/src/diagnostics/typescript_version.mjs +0 -79
  223. package/src/extract_i18n.mjs +0 -46
  224. package/src/language_services.mjs +0 -18
  225. package/src/main.mjs +0 -185
  226. package/src/metadata/bundle_index_host.mjs +0 -107
  227. package/src/metadata/bundler.mjs +0 -556
  228. package/src/metadata/collector.mjs +0 -701
  229. package/src/metadata/evaluator.mjs +0 -643
  230. package/src/metadata/index.mjs +0 -11
  231. package/src/metadata/index_writer.mjs +0 -44
  232. package/src/metadata/schema.mjs +0 -102
  233. package/src/metadata/symbols.mjs +0 -117
  234. package/src/ngtsc/annotations/annotations.externs.js +0 -0
  235. package/src/ngtsc/annotations/index.mjs +0 -15
  236. package/src/ngtsc/annotations/src/api.mjs +0 -9
  237. package/src/ngtsc/annotations/src/component.mjs +0 -1064
  238. package/src/ngtsc/annotations/src/diagnostics.mjs +0 -147
  239. package/src/ngtsc/annotations/src/directive.mjs +0 -692
  240. package/src/ngtsc/annotations/src/factory.mjs +0 -17
  241. package/src/ngtsc/annotations/src/injectable.mjs +0 -260
  242. package/src/ngtsc/annotations/src/metadata.mjs +0 -145
  243. package/src/ngtsc/annotations/src/ng_module.mjs +0 -565
  244. package/src/ngtsc/annotations/src/pipe.mjs +0 -151
  245. package/src/ngtsc/annotations/src/references_registry.mjs +0 -16
  246. package/src/ngtsc/annotations/src/util.mjs +0 -495
  247. package/src/ngtsc/core/api/index.mjs +0 -12
  248. package/src/ngtsc/core/api/src/adapter.mjs +0 -9
  249. package/src/ngtsc/core/api/src/interfaces.mjs +0 -9
  250. package/src/ngtsc/core/api/src/options.mjs +0 -9
  251. package/src/ngtsc/core/api/src/public_options.mjs +0 -9
  252. package/src/ngtsc/core/api.externs.js +0 -0
  253. package/src/ngtsc/core/core.externs.js +0 -0
  254. package/src/ngtsc/core/index.mjs +0 -10
  255. package/src/ngtsc/core/src/compiler.mjs +0 -908
  256. package/src/ngtsc/core/src/config.mjs +0 -15
  257. package/src/ngtsc/core/src/host.mjs +0 -229
  258. package/src/ngtsc/cycles/cycles.externs.js +0 -0
  259. package/src/ngtsc/cycles/index.mjs +0 -10
  260. package/src/ngtsc/cycles/src/analyzer.mjs +0 -60
  261. package/src/ngtsc/cycles/src/imports.mjs +0 -152
  262. package/src/ngtsc/diagnostics/diagnostics.externs.js +0 -0
  263. package/src/ngtsc/diagnostics/index.mjs +0 -11
  264. package/src/ngtsc/diagnostics/src/error.mjs +0 -51
  265. package/src/ngtsc/diagnostics/src/error_code.mjs +0 -198
  266. package/src/ngtsc/diagnostics/src/util.mjs +0 -21
  267. package/src/ngtsc/entry_point/entry_point.externs.js +0 -0
  268. package/src/ngtsc/entry_point/index.mjs +0 -12
  269. package/src/ngtsc/entry_point/src/generator.mjs +0 -35
  270. package/src/ngtsc/entry_point/src/logic.mjs +0 -35
  271. package/src/ngtsc/entry_point/src/private_export_checker.mjs +0 -122
  272. package/src/ngtsc/entry_point/src/reference_graph.mjs +0 -73
  273. package/src/ngtsc/file_system/file_system.externs.js +0 -0
  274. package/src/ngtsc/file_system/index.mjs +0 -13
  275. package/src/ngtsc/file_system/src/compiler_host.mjs +0 -64
  276. package/src/ngtsc/file_system/src/helpers.mjs +0 -99
  277. package/src/ngtsc/file_system/src/invalid_file_system.mjs +0 -95
  278. package/src/ngtsc/file_system/src/logical.mjs +0 -84
  279. package/src/ngtsc/file_system/src/node_js_file_system.mjs +0 -142
  280. package/src/ngtsc/file_system/src/types.mjs +0 -9
  281. package/src/ngtsc/file_system/src/util.mjs +0 -22
  282. package/src/ngtsc/file_system/testing/index.mjs +0 -13
  283. package/src/ngtsc/file_system/testing/src/mock_file_system.mjs +0 -293
  284. package/src/ngtsc/file_system/testing/src/mock_file_system_native.mjs +0 -57
  285. package/src/ngtsc/file_system/testing/src/mock_file_system_posix.mjs +0 -38
  286. package/src/ngtsc/file_system/testing/src/mock_file_system_windows.mjs +0 -38
  287. package/src/ngtsc/file_system/testing/src/test_helper.mjs +0 -108
  288. package/src/ngtsc/file_system/testing/testing.externs.js +0 -0
  289. package/src/ngtsc/imports/imports.externs.js +0 -0
  290. package/src/ngtsc/imports/index.mjs +0 -14
  291. package/src/ngtsc/imports/src/alias.mjs +0 -137
  292. package/src/ngtsc/imports/src/core.mjs +0 -78
  293. package/src/ngtsc/imports/src/default.mjs +0 -135
  294. package/src/ngtsc/imports/src/emitter.mjs +0 -266
  295. package/src/ngtsc/imports/src/find_export.mjs +0 -56
  296. package/src/ngtsc/imports/src/reexport.mjs +0 -9
  297. package/src/ngtsc/imports/src/references.mjs +0 -137
  298. package/src/ngtsc/imports/src/resolver.mjs +0 -24
  299. package/src/ngtsc/incremental/api.externs.js +0 -0
  300. package/src/ngtsc/incremental/api.mjs +0 -9
  301. package/src/ngtsc/incremental/incremental.externs.js +0 -0
  302. package/src/ngtsc/incremental/index.mjs +0 -12
  303. package/src/ngtsc/incremental/semantic_graph/index.mjs +0 -12
  304. package/src/ngtsc/incremental/semantic_graph/semantic_graph.externs.js +0 -0
  305. package/src/ngtsc/incremental/semantic_graph/src/api.mjs +0 -36
  306. package/src/ngtsc/incremental/semantic_graph/src/graph.mjs +0 -237
  307. package/src/ngtsc/incremental/semantic_graph/src/type_parameters.mjs +0 -40
  308. package/src/ngtsc/incremental/semantic_graph/src/util.mjs +0 -69
  309. package/src/ngtsc/incremental/src/dependency_tracking.mjs +0 -117
  310. package/src/ngtsc/incremental/src/incremental.mjs +0 -267
  311. package/src/ngtsc/incremental/src/noop.mjs +0 -13
  312. package/src/ngtsc/incremental/src/state.mjs +0 -17
  313. package/src/ngtsc/incremental/src/strategy.mjs +0 -76
  314. package/src/ngtsc/indexer/index.mjs +0 -11
  315. package/src/ngtsc/indexer/indexer.externs.js +0 -0
  316. package/src/ngtsc/indexer/src/api.mjs +0 -30
  317. package/src/ngtsc/indexer/src/context.mjs +0 -25
  318. package/src/ngtsc/indexer/src/template.mjs +0 -303
  319. package/src/ngtsc/indexer/src/transform.mjs +0 -51
  320. package/src/ngtsc/logging/index.mjs +0 -10
  321. package/src/ngtsc/logging/logging.externs.js +0 -0
  322. package/src/ngtsc/logging/src/console_logger.mjs +0 -43
  323. package/src/ngtsc/logging/src/logger.mjs +0 -15
  324. package/src/ngtsc/logging/testing/index.mjs +0 -9
  325. package/src/ngtsc/logging/testing/src/mock_logger.mjs +0 -32
  326. package/src/ngtsc/logging/testing/testing.externs.js +0 -0
  327. package/src/ngtsc/metadata/index.mjs +0 -15
  328. package/src/ngtsc/metadata/metadata.externs.js +0 -0
  329. package/src/ngtsc/metadata/src/api.mjs +0 -13
  330. package/src/ngtsc/metadata/src/dts.mjs +0 -143
  331. package/src/ngtsc/metadata/src/inheritance.mjs +0 -71
  332. package/src/ngtsc/metadata/src/property_mapping.mjs +0 -136
  333. package/src/ngtsc/metadata/src/registry.mjs +0 -80
  334. package/src/ngtsc/metadata/src/resource_registry.mjs +0 -81
  335. package/src/ngtsc/metadata/src/util.mjs +0 -200
  336. package/src/ngtsc/partial_evaluator/index.mjs +0 -12
  337. package/src/ngtsc/partial_evaluator/partial_evaluator.externs.js +0 -0
  338. package/src/ngtsc/partial_evaluator/src/builtin.mjs +0 -65
  339. package/src/ngtsc/partial_evaluator/src/diagnostics.mjs +0 -171
  340. package/src/ngtsc/partial_evaluator/src/dynamic.mjs +0 -86
  341. package/src/ngtsc/partial_evaluator/src/interface.mjs +0 -27
  342. package/src/ngtsc/partial_evaluator/src/interpreter.mjs +0 -683
  343. package/src/ngtsc/partial_evaluator/src/known_declaration.mjs +0 -43
  344. package/src/ngtsc/partial_evaluator/src/result.mjs +0 -50
  345. package/src/ngtsc/partial_evaluator/src/ts_helpers.mjs +0 -72
  346. package/src/ngtsc/perf/index.mjs +0 -11
  347. package/src/ngtsc/perf/perf.externs.js +0 -0
  348. package/src/ngtsc/perf/src/api.mjs +0 -278
  349. package/src/ngtsc/perf/src/clock.mjs +0 -15
  350. package/src/ngtsc/perf/src/noop.mjs +0 -21
  351. package/src/ngtsc/perf/src/recorder.mjs +0 -125
  352. package/src/ngtsc/program.mjs +0 -247
  353. package/src/ngtsc/program_driver/index.mjs +0 -10
  354. package/src/ngtsc/program_driver/program_driver.externs.js +0 -0
  355. package/src/ngtsc/program_driver/src/api.mjs +0 -22
  356. package/src/ngtsc/program_driver/src/ts_create_program_driver.mjs +0 -164
  357. package/src/ngtsc/reflection/index.mjs +0 -12
  358. package/src/ngtsc/reflection/reflection.externs.js +0 -0
  359. package/src/ngtsc/reflection/src/host.mjs +0 -73
  360. package/src/ngtsc/reflection/src/type_to_value.mjs +0 -243
  361. package/src/ngtsc/reflection/src/typescript.mjs +0 -608
  362. package/src/ngtsc/reflection/src/util.mjs +0 -21
  363. package/src/ngtsc/resource/index.mjs +0 -9
  364. package/src/ngtsc/resource/resource.externs.js +0 -0
  365. package/src/ngtsc/resource/src/loader.mjs +0 -242
  366. package/src/ngtsc/routing/index.mjs +0 -11
  367. package/src/ngtsc/routing/routing.externs.js +0 -0
  368. package/src/ngtsc/routing/src/analyzer.mjs +0 -69
  369. package/src/ngtsc/routing/src/lazy.mjs +0 -168
  370. package/src/ngtsc/routing/src/route.mjs +0 -51
  371. package/src/ngtsc/scope/index.mjs +0 -12
  372. package/src/ngtsc/scope/scope.externs.js +0 -0
  373. package/src/ngtsc/scope/src/api.mjs +0 -9
  374. package/src/ngtsc/scope/src/component_scope.mjs +0 -31
  375. package/src/ngtsc/scope/src/dependency.mjs +0 -134
  376. package/src/ngtsc/scope/src/local.mjs +0 -531
  377. package/src/ngtsc/scope/src/typecheck.mjs +0 -83
  378. package/src/ngtsc/shims/api.externs.js +0 -0
  379. package/src/ngtsc/shims/api.mjs +0 -2
  380. package/src/ngtsc/shims/index.mjs +0 -14
  381. package/src/ngtsc/shims/shims.externs.js +0 -0
  382. package/src/ngtsc/shims/src/adapter.mjs +0 -188
  383. package/src/ngtsc/shims/src/expando.mjs +0 -102
  384. package/src/ngtsc/shims/src/factory_generator.mjs +0 -265
  385. package/src/ngtsc/shims/src/reference_tagger.mjs +0 -67
  386. package/src/ngtsc/shims/src/summary_generator.mjs +0 -64
  387. package/src/ngtsc/shims/src/util.mjs +0 -26
  388. package/src/ngtsc/sourcemaps/index.mjs +0 -11
  389. package/src/ngtsc/sourcemaps/sourcemaps.externs.js +0 -0
  390. package/src/ngtsc/sourcemaps/src/content_origin.mjs +0 -35
  391. package/src/ngtsc/sourcemaps/src/raw_source_map.mjs +0 -2
  392. package/src/ngtsc/sourcemaps/src/segment_marker.mjs +0 -40
  393. package/src/ngtsc/sourcemaps/src/source_file.mjs +0 -459
  394. package/src/ngtsc/sourcemaps/src/source_file_loader.mjs +0 -213
  395. package/src/ngtsc/switch/index.mjs +0 -9
  396. package/src/ngtsc/switch/src/switch.mjs +0 -115
  397. package/src/ngtsc/switch/switch.externs.js +0 -0
  398. package/src/ngtsc/transform/index.mjs +0 -14
  399. package/src/ngtsc/transform/src/alias.mjs +0 -30
  400. package/src/ngtsc/transform/src/api.mjs +0 -63
  401. package/src/ngtsc/transform/src/compilation.mjs +0 -485
  402. package/src/ngtsc/transform/src/declaration.mjs +0 -182
  403. package/src/ngtsc/transform/src/trait.mjs +0 -95
  404. package/src/ngtsc/transform/src/transform.mjs +0 -298
  405. package/src/ngtsc/transform/src/utils.mjs +0 -57
  406. package/src/ngtsc/transform/transform.externs.js +0 -0
  407. package/src/ngtsc/translator/index.mjs +0 -14
  408. package/src/ngtsc/translator/src/api/ast_factory.mjs +0 -9
  409. package/src/ngtsc/translator/src/api/import_generator.mjs +0 -9
  410. package/src/ngtsc/translator/src/context.mjs +0 -24
  411. package/src/ngtsc/translator/src/import_manager.mjs +0 -48
  412. package/src/ngtsc/translator/src/translator.mjs +0 -317
  413. package/src/ngtsc/translator/src/type_translator.mjs +0 -204
  414. package/src/ngtsc/translator/src/typescript_ast_factory.mjs +0 -211
  415. package/src/ngtsc/translator/src/typescript_translator.mjs +0 -17
  416. package/src/ngtsc/translator/translator.externs.js +0 -0
  417. package/src/ngtsc/tsc_plugin.mjs +0 -98
  418. package/src/ngtsc/typecheck/api/api.externs.js +0 -0
  419. package/src/ngtsc/typecheck/api/api.mjs +0 -9
  420. package/src/ngtsc/typecheck/api/checker.mjs +0 -31
  421. package/src/ngtsc/typecheck/api/completion.mjs +0 -16
  422. package/src/ngtsc/typecheck/api/context.mjs +0 -9
  423. package/src/ngtsc/typecheck/api/index.mjs +0 -14
  424. package/src/ngtsc/typecheck/api/scope.mjs +0 -9
  425. package/src/ngtsc/typecheck/api/symbols.mjs +0 -22
  426. package/src/ngtsc/typecheck/diagnostics/diagnostics.externs.js +0 -0
  427. package/src/ngtsc/typecheck/diagnostics/index.mjs +0 -10
  428. package/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs +0 -99
  429. package/src/ngtsc/typecheck/diagnostics/src/id.mjs +0 -23
  430. package/src/ngtsc/typecheck/index.mjs +0 -12
  431. package/src/ngtsc/typecheck/src/checker.mjs +0 -591
  432. package/src/ngtsc/typecheck/src/comments.mjs +0 -159
  433. package/src/ngtsc/typecheck/src/completion.mjs +0 -155
  434. package/src/ngtsc/typecheck/src/context.mjs +0 -350
  435. package/src/ngtsc/typecheck/src/diagnostics.mjs +0 -95
  436. package/src/ngtsc/typecheck/src/dom.mjs +0 -68
  437. package/src/ngtsc/typecheck/src/environment.mjs +0 -146
  438. package/src/ngtsc/typecheck/src/expression.mjs +0 -412
  439. package/src/ngtsc/typecheck/src/line_mappings.mjs +0 -60
  440. package/src/ngtsc/typecheck/src/oob.mjs +0 -112
  441. package/src/ngtsc/typecheck/src/shim.mjs +0 -37
  442. package/src/ngtsc/typecheck/src/source.mjs +0 -74
  443. package/src/ngtsc/typecheck/src/tcb_util.mjs +0 -135
  444. package/src/ngtsc/typecheck/src/template_semantics.mjs +0 -34
  445. package/src/ngtsc/typecheck/src/template_symbol_builder.mjs +0 -472
  446. package/src/ngtsc/typecheck/src/ts_util.mjs +0 -157
  447. package/src/ngtsc/typecheck/src/type_check_block.mjs +0 -1770
  448. package/src/ngtsc/typecheck/src/type_check_file.mjs +0 -65
  449. package/src/ngtsc/typecheck/src/type_constructor.mjs +0 -227
  450. package/src/ngtsc/typecheck/src/type_emitter.mjs +0 -140
  451. package/src/ngtsc/typecheck/src/type_parameter_emitter.mjs +0 -80
  452. package/src/ngtsc/typecheck/typecheck.externs.js +0 -0
  453. package/src/ngtsc/util/src/path.mjs +0 -18
  454. package/src/ngtsc/util/src/typescript.mjs +0 -143
  455. package/src/ngtsc/util/src/visitor.mjs +0 -107
  456. package/src/ngtsc/util/util.externs.js +0 -0
  457. package/src/perform_compile.mjs +0 -275
  458. package/src/perform_watch.mjs +0 -247
  459. package/src/tooling.mjs +0 -32
  460. package/src/transformers/api.mjs +0 -27
  461. package/src/transformers/compiler_host.mjs +0 -593
  462. package/src/transformers/downlevel_decorators_transform.mjs +0 -507
  463. package/src/transformers/entry_points.mjs +0 -10
  464. package/src/transformers/inline_resources.mjs +0 -269
  465. package/src/transformers/lower_expressions.mjs +0 -336
  466. package/src/transformers/metadata_cache.mjs +0 -53
  467. package/src/transformers/metadata_reader.mjs +0 -104
  468. package/src/transformers/node_emitter.mjs +0 -606
  469. package/src/transformers/node_emitter_transform.mjs +0 -78
  470. package/src/transformers/patch_alias_reference_resolution.mjs +0 -109
  471. package/src/transformers/program.mjs +0 -935
  472. package/src/transformers/r3_metadata_transform.mjs +0 -46
  473. package/src/transformers/r3_transform.mjs +0 -29
  474. package/src/transformers/util.mjs +0 -89
  475. package/src/typescript_support.mjs +0 -57
  476. package/src/version.mjs +0 -15
@@ -1,83 +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 { CssSelector, SelectorMatcher } from '@angular/compiler';
9
- import * as ts from 'typescript';
10
- import { flattenInheritedDirectiveMetadata } from '../../metadata';
11
- /**
12
- * Computes scope information to be used in template type checking.
13
- */
14
- export class TypeCheckScopeRegistry {
15
- constructor(scopeReader, metaReader) {
16
- this.scopeReader = scopeReader;
17
- this.metaReader = metaReader;
18
- /**
19
- * Cache of flattened directive metadata. Because flattened metadata is scope-invariant it's
20
- * cached individually, such that all scopes refer to the same flattened metadata.
21
- */
22
- this.flattenedDirectiveMetaCache = new Map();
23
- /**
24
- * Cache of the computed type check scope per NgModule declaration.
25
- */
26
- this.scopeCache = new Map();
27
- }
28
- /**
29
- * Computes the type-check scope information for the component declaration. If the NgModule
30
- * contains an error, then 'error' is returned. If the component is not declared in any NgModule,
31
- * an empty type-check scope is returned.
32
- */
33
- getTypeCheckScope(node) {
34
- const matcher = new SelectorMatcher();
35
- const directives = [];
36
- const pipes = new Map();
37
- const scope = this.scopeReader.getScopeForComponent(node);
38
- if (scope === null) {
39
- return {
40
- matcher,
41
- directives,
42
- pipes,
43
- schemas: [],
44
- isPoisoned: false,
45
- };
46
- }
47
- if (this.scopeCache.has(scope.ngModule)) {
48
- return this.scopeCache.get(scope.ngModule);
49
- }
50
- for (const meta of scope.compilation.directives) {
51
- if (meta.selector !== null) {
52
- const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
53
- matcher.addSelectables(CssSelector.parse(meta.selector), extMeta);
54
- directives.push(extMeta);
55
- }
56
- }
57
- for (const { name, ref } of scope.compilation.pipes) {
58
- if (!ts.isClassDeclaration(ref.node)) {
59
- throw new Error(`Unexpected non-class declaration ${ts.SyntaxKind[ref.node.kind]} for pipe ${ref.debugName}`);
60
- }
61
- pipes.set(name, ref);
62
- }
63
- const typeCheckScope = {
64
- matcher,
65
- directives,
66
- pipes,
67
- schemas: scope.schemas,
68
- isPoisoned: scope.compilation.isPoisoned || scope.exported.isPoisoned,
69
- };
70
- this.scopeCache.set(scope.ngModule, typeCheckScope);
71
- return typeCheckScope;
72
- }
73
- getTypeCheckDirectiveMetadata(ref) {
74
- const clazz = ref.node;
75
- if (this.flattenedDirectiveMetaCache.has(clazz)) {
76
- return this.flattenedDirectiveMetaCache.get(clazz);
77
- }
78
- const meta = flattenInheritedDirectiveMetadata(this.metaReader, ref);
79
- this.flattenedDirectiveMetaCache.set(clazz, meta);
80
- return meta;
81
- }
82
- }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWNoZWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zY29wZS9zcmMvdHlwZWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxXQUFXLEVBQWtCLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR2pDLE9BQU8sRUFBZ0IsaUNBQWlDLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFxQ2hHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUFvQixXQUFpQyxFQUFVLFVBQTBCO1FBQXJFLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBWHpGOzs7V0FHRztRQUNLLGdDQUEyQixHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBRWpGOztXQUVHO1FBQ0ssZUFBVSxHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO0lBRTJCLENBQUM7SUFFN0Y7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLElBQXNCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxFQUFpQixDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFvQixFQUFFLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQTRELENBQUM7UUFFbEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsT0FBTztnQkFDTCxPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsS0FBSztnQkFDTCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxVQUFVLEVBQUUsS0FBSzthQUNsQixDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUUsQ0FBQztTQUM3QztRQUVELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRTtnQkFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbEUsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxQjtTQUNGO1FBRUQsS0FBSyxNQUFNLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQ2pELElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUNaLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzthQUMvRDtZQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQXVELENBQUMsQ0FBQztTQUMxRTtRQUVELE1BQU0sY0FBYyxHQUFtQjtZQUNyQyxPQUFPO1lBQ1AsVUFBVTtZQUNWLEtBQUs7WUFDTCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVTtTQUN0RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNwRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsNkJBQTZCLENBQUMsR0FBZ0M7UUFDNUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxJQUFJLEdBQUcsaUNBQWlDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0Nzc1NlbGVjdG9yLCBTY2hlbWFNZXRhZGF0YSwgU2VsZWN0b3JNYXRjaGVyfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtSZWZlcmVuY2V9IGZyb20gJy4uLy4uL2ltcG9ydHMnO1xuaW1wb3J0IHtEaXJlY3RpdmVNZXRhLCBmbGF0dGVuSW5oZXJpdGVkRGlyZWN0aXZlTWV0YWRhdGEsIE1ldGFkYXRhUmVhZGVyfSBmcm9tICcuLi8uLi9tZXRhZGF0YSc7XG5pbXBvcnQge0NsYXNzRGVjbGFyYXRpb259IGZyb20gJy4uLy4uL3JlZmxlY3Rpb24nO1xuXG5pbXBvcnQge0NvbXBvbmVudFNjb3BlUmVhZGVyfSBmcm9tICcuL2NvbXBvbmVudF9zY29wZSc7XG5cbi8qKlxuICogVGhlIHNjb3BlIHRoYXQgaXMgdXNlZCBmb3IgdHlwZS1jaGVjayBjb2RlIGdlbmVyYXRpb24gb2YgYSBjb21wb25lbnQgdGVtcGxhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZUNoZWNrU2NvcGUge1xuICAvKipcbiAgICogQSBgU2VsZWN0b3JNYXRjaGVyYCBpbnN0YW5jZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGF0dGVuZWQgZGlyZWN0aXZlIG1ldGFkYXRhIG9mIGFsbCBkaXJlY3RpdmVzXG4gICAqIHRoYXQgYXJlIGluIHRoZSBjb21waWxhdGlvbiBzY29wZSBvZiB0aGUgZGVjbGFyaW5nIE5nTW9kdWxlLlxuICAgKi9cbiAgbWF0Y2hlcjogU2VsZWN0b3JNYXRjaGVyPERpcmVjdGl2ZU1ldGE+O1xuXG4gIC8qKlxuICAgKiBBbGwgb2YgdGhlIGRpcmVjdGl2ZXMgYXZhaWxhYmxlIGluIHRoZSBjb21waWxhdGlvbiBzY29wZSBvZiB0aGUgZGVjbGFyaW5nIE5nTW9kdWxlLlxuICAgKi9cbiAgZGlyZWN0aXZlczogRGlyZWN0aXZlTWV0YVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGlwZXMgdGhhdCBhcmUgYXZhaWxhYmxlIGluIHRoZSBjb21waWxhdGlvbiBzY29wZS5cbiAgICovXG4gIHBpcGVzOiBNYXA8c3RyaW5nLCBSZWZlcmVuY2U8Q2xhc3NEZWNsYXJhdGlvbjx0cy5DbGFzc0RlY2xhcmF0aW9uPj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hcyB0aGF0IGFyZSB1c2VkIGluIHRoaXMgc2NvcGUuXG4gICAqL1xuICBzY2hlbWFzOiBTY2hlbWFNZXRhZGF0YVtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvcmlnaW5hbCBjb21waWxhdGlvbiBzY29wZSB3aGljaCBwcm9kdWNlZCB0aGlzIGBUeXBlQ2hlY2tTY29wZWAgd2FzIGl0c2VsZiBwb2lzb25lZFxuICAgKiAoY29udGFpbmVkIHNlbWFudGljIGVycm9ycyBkdXJpbmcgaXRzIHByb2R1Y3Rpb24pLlxuICAgKi9cbiAgaXNQb2lzb25lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyBzY29wZSBpbmZvcm1hdGlvbiB0byBiZSB1c2VkIGluIHRlbXBsYXRlIHR5cGUgY2hlY2tpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlQ2hlY2tTY29wZVJlZ2lzdHJ5IHtcbiAgLyoqXG4gICAqIENhY2hlIG9mIGZsYXR0ZW5lZCBkaXJlY3RpdmUgbWV0YWRhdGEuIEJlY2F1c2UgZmxhdHRlbmVkIG1ldGFkYXRhIGlzIHNjb3BlLWludmFyaWFudCBpdCdzXG4gICAqIGNhY2hlZCBpbmRpdmlkdWFsbHksIHN1Y2ggdGhhdCBhbGwgc2NvcGVzIHJlZmVyIHRvIHRoZSBzYW1lIGZsYXR0ZW5lZCBtZXRhZGF0YS5cbiAgICovXG4gIHByaXZhdGUgZmxhdHRlbmVkRGlyZWN0aXZlTWV0YUNhY2hlID0gbmV3IE1hcDxDbGFzc0RlY2xhcmF0aW9uLCBEaXJlY3RpdmVNZXRhPigpO1xuXG4gIC8qKlxuICAgKiBDYWNoZSBvZiB0aGUgY29tcHV0ZWQgdHlwZSBjaGVjayBzY29wZSBwZXIgTmdNb2R1bGUgZGVjbGFyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHNjb3BlQ2FjaGUgPSBuZXcgTWFwPENsYXNzRGVjbGFyYXRpb24sIFR5cGVDaGVja1Njb3BlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NvcGVSZWFkZXI6IENvbXBvbmVudFNjb3BlUmVhZGVyLCBwcml2YXRlIG1ldGFSZWFkZXI6IE1ldGFkYXRhUmVhZGVyKSB7fVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgdHlwZS1jaGVjayBzY29wZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGNvbXBvbmVudCBkZWNsYXJhdGlvbi4gSWYgdGhlIE5nTW9kdWxlXG4gICAqIGNvbnRhaW5zIGFuIGVycm9yLCB0aGVuICdlcnJvcicgaXMgcmV0dXJuZWQuIElmIHRoZSBjb21wb25lbnQgaXMgbm90IGRlY2xhcmVkIGluIGFueSBOZ01vZHVsZSxcbiAgICogYW4gZW1wdHkgdHlwZS1jaGVjayBzY29wZSBpcyByZXR1cm5lZC5cbiAgICovXG4gIGdldFR5cGVDaGVja1Njb3BlKG5vZGU6IENsYXNzRGVjbGFyYXRpb24pOiBUeXBlQ2hlY2tTY29wZSB7XG4gICAgY29uc3QgbWF0Y2hlciA9IG5ldyBTZWxlY3Rvck1hdGNoZXI8RGlyZWN0aXZlTWV0YT4oKTtcbiAgICBjb25zdCBkaXJlY3RpdmVzOiBEaXJlY3RpdmVNZXRhW10gPSBbXTtcbiAgICBjb25zdCBwaXBlcyA9IG5ldyBNYXA8c3RyaW5nLCBSZWZlcmVuY2U8Q2xhc3NEZWNsYXJhdGlvbjx0cy5DbGFzc0RlY2xhcmF0aW9uPj4+KCk7XG5cbiAgICBjb25zdCBzY29wZSA9IHRoaXMuc2NvcGVSZWFkZXIuZ2V0U2NvcGVGb3JDb21wb25lbnQobm9kZSk7XG4gICAgaWYgKHNjb3BlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaGVyLFxuICAgICAgICBkaXJlY3RpdmVzLFxuICAgICAgICBwaXBlcyxcbiAgICAgICAgc2NoZW1hczogW10sXG4gICAgICAgIGlzUG9pc29uZWQ6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY29wZUNhY2hlLmhhcyhzY29wZS5uZ01vZHVsZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNjb3BlQ2FjaGUuZ2V0KHNjb3BlLm5nTW9kdWxlKSE7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBtZXRhIG9mIHNjb3BlLmNvbXBpbGF0aW9uLmRpcmVjdGl2ZXMpIHtcbiAgICAgIGlmIChtZXRhLnNlbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGV4dE1ldGEgPSB0aGlzLmdldFR5cGVDaGVja0RpcmVjdGl2ZU1ldGFkYXRhKG1ldGEucmVmKTtcbiAgICAgICAgbWF0Y2hlci5hZGRTZWxlY3RhYmxlcyhDc3NTZWxlY3Rvci5wYXJzZShtZXRhLnNlbGVjdG9yKSwgZXh0TWV0YSk7XG4gICAgICAgIGRpcmVjdGl2ZXMucHVzaChleHRNZXRhKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHtuYW1lLCByZWZ9IG9mIHNjb3BlLmNvbXBpbGF0aW9uLnBpcGVzKSB7XG4gICAgICBpZiAoIXRzLmlzQ2xhc3NEZWNsYXJhdGlvbihyZWYubm9kZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG5vbi1jbGFzcyBkZWNsYXJhdGlvbiAke1xuICAgICAgICAgICAgdHMuU3ludGF4S2luZFtyZWYubm9kZS5raW5kXX0gZm9yIHBpcGUgJHtyZWYuZGVidWdOYW1lfWApO1xuICAgICAgfVxuICAgICAgcGlwZXMuc2V0KG5hbWUsIHJlZiBhcyBSZWZlcmVuY2U8Q2xhc3NEZWNsYXJhdGlvbjx0cy5DbGFzc0RlY2xhcmF0aW9uPj4pO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVDaGVja1Njb3BlOiBUeXBlQ2hlY2tTY29wZSA9IHtcbiAgICAgIG1hdGNoZXIsXG4gICAgICBkaXJlY3RpdmVzLFxuICAgICAgcGlwZXMsXG4gICAgICBzY2hlbWFzOiBzY29wZS5zY2hlbWFzLFxuICAgICAgaXNQb2lzb25lZDogc2NvcGUuY29tcGlsYXRpb24uaXNQb2lzb25lZCB8fCBzY29wZS5leHBvcnRlZC5pc1BvaXNvbmVkLFxuICAgIH07XG4gICAgdGhpcy5zY29wZUNhY2hlLnNldChzY29wZS5uZ01vZHVsZSwgdHlwZUNoZWNrU2NvcGUpO1xuICAgIHJldHVybiB0eXBlQ2hlY2tTY29wZTtcbiAgfVxuXG4gIGdldFR5cGVDaGVja0RpcmVjdGl2ZU1ldGFkYXRhKHJlZjogUmVmZXJlbmNlPENsYXNzRGVjbGFyYXRpb24+KTogRGlyZWN0aXZlTWV0YSB7XG4gICAgY29uc3QgY2xhenogPSByZWYubm9kZTtcbiAgICBpZiAodGhpcy5mbGF0dGVuZWREaXJlY3RpdmVNZXRhQ2FjaGUuaGFzKGNsYXp6KSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmxhdHRlbmVkRGlyZWN0aXZlTWV0YUNhY2hlLmdldChjbGF6eikhO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGEgPSBmbGF0dGVuSW5oZXJpdGVkRGlyZWN0aXZlTWV0YWRhdGEodGhpcy5tZXRhUmVhZGVyLCByZWYpO1xuICAgIHRoaXMuZmxhdHRlbmVkRGlyZWN0aXZlTWV0YUNhY2hlLnNldChjbGF6eiwgbWV0YSk7XG4gICAgcmV0dXJuIG1ldGE7XG4gIH1cbn1cbiJdfQ==
File without changes
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zaGltcy9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi9maWxlX3N5c3RlbSc7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc2luZ2xlIHNoaW0gZmlsZSBmb3IgdGhlIGVudGlyZSBwcm9ncmFtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcExldmVsU2hpbUdlbmVyYXRvciB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgc2hpbSBzaG91bGQgYmUgZW1pdHRlZCBkdXJpbmcgVHlwZVNjcmlwdCBlbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkRW1pdDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgYHRzLlNvdXJjZUZpbGVgIHJlcHJlc2VudGluZyB0aGUgc2hpbSwgd2l0aCB0aGUgY29ycmVjdCBmaWxlbmFtZS5cbiAgICovXG4gIG1ha2VUb3BMZXZlbFNoaW0oKTogdHMuU291cmNlRmlsZTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBzaGltIGZpbGUgZm9yIGVhY2ggb3JpZ2luYWwgYHRzLlNvdXJjZUZpbGVgIGluIHRoZSB1c2VyJ3MgcHJvZ3JhbSwgd2l0aCBhIGZpbGVcbiAqIGV4dGVuc2lvbiBwcmVmaXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGVyRmlsZVNoaW1HZW5lcmF0b3Ige1xuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbiBwcmVmaXggd2hpY2ggd2lsbCBiZSB1c2VkIGZvciB0aGUgc2hpbS5cbiAgICpcbiAgICogS25vd2luZyB0aGlzIGFsbG93cyB0aGUgYHRzLkNvbXBpbGVySG9zdGAgaW1wbGVtZW50YXRpb24gd2hpY2ggaXMgY29uc3VtaW5nIHRoaXMgc2hpbSBnZW5lcmF0b3JcbiAgICogdG8gcHJlZGljdCB0aGUgc2hpbSBmaWxlbmFtZSwgd2hpY2ggaXMgdXNlZnVsIHdoZW4gYSBwcmV2aW91cyBgdHMuUHJvZ3JhbWAgYWxyZWFkeSBpbmNsdWRlcyBhXG4gICAqIGdlbmVyYXRlZCB2ZXJzaW9uIG9mIHRoZSBzaGltLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZW5zaW9uUHJlZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgc2hpbXMgcHJvZHVjZWQgYnkgdGhpcyBnZW5lcmF0b3Igc2hvdWxkIGJlIGVtaXR0ZWQgZHVyaW5nIFR5cGVTY3JpcHQgZW1pdC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEVtaXQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBzaGltIGZvciBhIGdpdmVuIG9yaWdpbmFsIGB0cy5Tb3VyY2VGaWxlYCwgd2l0aCB0aGUgZ2l2ZW4gZmlsZW5hbWUuXG4gICAqL1xuICBnZW5lcmF0ZVNoaW1Gb3JGaWxlKFxuICAgICAgc2Y6IHRzLlNvdXJjZUZpbGUsIGdlbkZpbGVQYXRoOiBBYnNvbHV0ZUZzUGF0aCxcbiAgICAgIHByaW9yU2hpbVNmOiB0cy5Tb3VyY2VGaWxlfG51bGwpOiB0cy5Tb3VyY2VGaWxlO1xufVxuXG4vKipcbiAqIE1haW50YWlucyBhIG1hcHBpbmcgb2Ygd2hpY2ggc3ltYm9scyBpbiBhIC5uZ2ZhY3RvcnkgZmlsZSBoYXZlIGJlZW4gdXNlZC5cbiAqXG4gKiAubmdmYWN0b3J5IGZpbGVzIGFyZSBnZW5lcmF0ZWQgd2l0aCBvbmUgc3ltYm9sIHBlciBkZWZpbmVkIGNsYXNzIGluIHRoZSBzb3VyY2UgZmlsZSwgcmVnYXJkbGVzc1xuICogb2Ygd2hldGhlciB0aGUgY2xhc3NlcyBpbiB0aGUgc291cmNlIGZpbGVzIGFyZSBOZ01vZHVsZXMgKGJlY2F1c2UgdGhhdCBpc24ndCBrbm93biBhdCB0aGUgdGltZVxuICogdGhlIGZhY3RvcnkgZmlsZXMgYXJlIGdlbmVyYXRlZCkuIEEgYEZhY3RvcnlUcmFja2VyYCBzdXBwb3J0cyByZW1vdmluZyBmYWN0b3J5IHN5bWJvbHMgd2hpY2hcbiAqIGRpZG4ndCBlbmQgdXAgYmVpbmcgTmdNb2R1bGVzLCBieSB0cmFja2luZyB0aGUgb25lcyB3aGljaCBhcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFjdG9yeVRyYWNrZXIge1xuICByZWFkb25seSBzb3VyY2VJbmZvOiBNYXA8c3RyaW5nLCBGYWN0b3J5SW5mbz47XG5cbiAgdHJhY2soc2Y6IHRzLlNvdXJjZUZpbGUsIG1vZHVsZUluZm86IE1vZHVsZUluZm8pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlJbmZvIHtcbiAgc291cmNlRmlsZVBhdGg6IHN0cmluZztcbiAgbW9kdWxlU3ltYm9sczogTWFwPHN0cmluZywgTW9kdWxlSW5mbz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlSW5mbyB7XG4gIG5hbWU6IHN0cmluZztcbiAgaGFzSWQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -1,14 +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
- /// <reference types="node" />
9
- export { ShimAdapter } from './src/adapter';
10
- export { copyFileShimData, isShim, retagAllTsFiles, retagTsFile, sfExtensionData, untagAllTsFiles, untagTsFile } from './src/expando';
11
- export { FactoryGenerator, generatedFactoryTransform } from './src/factory_generator';
12
- export { ShimReferenceTagger } from './src/reference_tagger';
13
- export { SummaryGenerator } from './src/summary_generator';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3NoaW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILDhCQUE4QjtBQUU5QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vLy8gPHJlZmVyZW5jZSB0eXBlcz1cIm5vZGVcIiAvPlxuXG5leHBvcnQge1NoaW1BZGFwdGVyfSBmcm9tICcuL3NyYy9hZGFwdGVyJztcbmV4cG9ydCB7Y29weUZpbGVTaGltRGF0YSwgaXNTaGltLCByZXRhZ0FsbFRzRmlsZXMsIHJldGFnVHNGaWxlLCBzZkV4dGVuc2lvbkRhdGEsIHVudGFnQWxsVHNGaWxlcywgdW50YWdUc0ZpbGV9IGZyb20gJy4vc3JjL2V4cGFuZG8nO1xuZXhwb3J0IHtGYWN0b3J5R2VuZXJhdG9yLCBnZW5lcmF0ZWRGYWN0b3J5VHJhbnNmb3JtfSBmcm9tICcuL3NyYy9mYWN0b3J5X2dlbmVyYXRvcic7XG5leHBvcnQge1NoaW1SZWZlcmVuY2VUYWdnZXJ9IGZyb20gJy4vc3JjL3JlZmVyZW5jZV90YWdnZXInO1xuZXhwb3J0IHtTdW1tYXJ5R2VuZXJhdG9yfSBmcm9tICcuL3NyYy9zdW1tYXJ5X2dlbmVyYXRvcic7XG4iXX0=
File without changes
@@ -1,188 +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 * as ts from 'typescript';
9
- import { absoluteFrom, absoluteFromSourceFile } from '../../file_system';
10
- import { isDtsPath } from '../../util/src/typescript';
11
- import { isFileShimSourceFile, isShim, sfExtensionData } from './expando';
12
- import { makeShimFileName } from './util';
13
- /**
14
- * Generates and tracks shim files for each original `ts.SourceFile`.
15
- *
16
- * The `ShimAdapter` provides an API that's designed to be used by a `ts.CompilerHost`
17
- * implementation and allows it to include synthetic "shim" files in the program that's being
18
- * created. It works for both freshly created programs as well as with reuse of an older program
19
- * (which already may contain shim files and thus have a different creation flow).
20
- */
21
- export class ShimAdapter {
22
- constructor(delegate, tsRootFiles, topLevelGenerators, perFileGenerators, oldProgram) {
23
- this.delegate = delegate;
24
- /**
25
- * A map of shim file names to the `ts.SourceFile` generated for those shims.
26
- */
27
- this.shims = new Map();
28
- /**
29
- * A map of shim file names to existing shims which were part of a previous iteration of this
30
- * program.
31
- *
32
- * Not all of these shims will be inherited into this program.
33
- */
34
- this.priorShims = new Map();
35
- /**
36
- * File names which are already known to not be shims.
37
- *
38
- * This allows for short-circuit returns without the expense of running regular expressions
39
- * against the filename repeatedly.
40
- */
41
- this.notShims = new Set();
42
- /**
43
- * The shim generators supported by this adapter as well as extra precalculated data facilitating
44
- * their use.
45
- */
46
- this.generators = [];
47
- /**
48
- * A `Set` of shim `ts.SourceFile`s which should not be emitted.
49
- */
50
- this.ignoreForEmit = new Set();
51
- /**
52
- * Extension prefixes of all installed per-file shims.
53
- */
54
- this.extensionPrefixes = [];
55
- // Initialize `this.generators` with a regex that matches each generator's paths.
56
- for (const gen of perFileGenerators) {
57
- // This regex matches paths for shims from this generator. The first (and only) capture group
58
- // extracts the filename prefix, which can be used to find the original file that was used to
59
- // generate this shim.
60
- const pattern = `^(.*)\\.${gen.extensionPrefix}\\.ts$`;
61
- const regexp = new RegExp(pattern, 'i');
62
- this.generators.push({
63
- generator: gen,
64
- test: regexp,
65
- suffix: `.${gen.extensionPrefix}.ts`,
66
- });
67
- this.extensionPrefixes.push(gen.extensionPrefix);
68
- }
69
- // Process top-level generators and pre-generate their shims. Accumulate the list of filenames
70
- // as extra input files.
71
- const extraInputFiles = [];
72
- for (const gen of topLevelGenerators) {
73
- const sf = gen.makeTopLevelShim();
74
- sfExtensionData(sf).isTopLevelShim = true;
75
- if (!gen.shouldEmit) {
76
- this.ignoreForEmit.add(sf);
77
- }
78
- const fileName = absoluteFromSourceFile(sf);
79
- this.shims.set(fileName, sf);
80
- extraInputFiles.push(fileName);
81
- }
82
- // Add to that list the per-file shims associated with each root file. This is needed because
83
- // reference tagging alone may not work in TS compilations that have `noResolve` set. Such
84
- // compilations rely on the list of input files completely describing the program.
85
- for (const rootFile of tsRootFiles) {
86
- for (const gen of this.generators) {
87
- extraInputFiles.push(makeShimFileName(rootFile, gen.suffix));
88
- }
89
- }
90
- this.extraInputFiles = extraInputFiles;
91
- // If an old program is present, extract all per-file shims into a map, which will be used to
92
- // generate new versions of those shims.
93
- if (oldProgram !== null) {
94
- for (const oldSf of oldProgram.getSourceFiles()) {
95
- if (oldSf.isDeclarationFile || !isFileShimSourceFile(oldSf)) {
96
- continue;
97
- }
98
- this.priorShims.set(absoluteFromSourceFile(oldSf), oldSf);
99
- }
100
- }
101
- }
102
- /**
103
- * Produce a shim `ts.SourceFile` if `fileName` refers to a shim file which should exist in the
104
- * program.
105
- *
106
- * If `fileName` does not refer to a potential shim file, `null` is returned. If a corresponding
107
- * base file could not be determined, `undefined` is returned instead.
108
- */
109
- maybeGenerate(fileName) {
110
- // Fast path: either this filename has been proven not to be a shim before, or it is a known
111
- // shim and no generation is required.
112
- if (this.notShims.has(fileName)) {
113
- return null;
114
- }
115
- else if (this.shims.has(fileName)) {
116
- return this.shims.get(fileName);
117
- }
118
- // .d.ts files can't be shims.
119
- if (isDtsPath(fileName)) {
120
- this.notShims.add(fileName);
121
- return null;
122
- }
123
- // This is the first time seeing this path. Try to match it against a shim generator.
124
- for (const record of this.generators) {
125
- const match = record.test.exec(fileName);
126
- if (match === null) {
127
- continue;
128
- }
129
- // The path matched. Extract the filename prefix without the extension.
130
- const prefix = match[1];
131
- // This _might_ be a shim, if an underlying base file exists. The base file might be .ts or
132
- // .tsx.
133
- let baseFileName = absoluteFrom(prefix + '.ts');
134
- if (!this.delegate.fileExists(baseFileName)) {
135
- // No .ts file by that name - try .tsx.
136
- baseFileName = absoluteFrom(prefix + '.tsx');
137
- if (!this.delegate.fileExists(baseFileName)) {
138
- // This isn't a shim after all since there is no original file which would have triggered
139
- // its generation, even though the path is right. There are a few reasons why this could
140
- // occur:
141
- //
142
- // * when resolving an import to an .ngfactory.d.ts file, the module resolution algorithm
143
- // will first look for an .ngfactory.ts file in its place, which will be requested here.
144
- // * when the user writes a bad import.
145
- // * when a file is present in one compilation and removed in the next incremental step.
146
- //
147
- // Note that this does not add the filename to `notShims`, so this path is not cached.
148
- // That's okay as these cases above are edge cases and do not occur regularly in normal
149
- // operations.
150
- return undefined;
151
- }
152
- }
153
- // Retrieve the original file for which the shim will be generated.
154
- const inputFile = this.delegate.getSourceFile(baseFileName, ts.ScriptTarget.Latest);
155
- if (inputFile === undefined || isShim(inputFile)) {
156
- // Something strange happened here. This case is also not cached in `notShims`, but this
157
- // path is not expected to occur in reality so this shouldn't be a problem.
158
- return undefined;
159
- }
160
- // Actually generate and cache the shim.
161
- return this.generateSpecific(fileName, record.generator, inputFile);
162
- }
163
- // No generator matched.
164
- this.notShims.add(fileName);
165
- return null;
166
- }
167
- generateSpecific(fileName, generator, inputFile) {
168
- let priorShimSf = null;
169
- if (this.priorShims.has(fileName)) {
170
- // In the previous program a shim with this name already existed. It's passed to the shim
171
- // generator which may reuse it instead of generating a fresh shim.
172
- priorShimSf = this.priorShims.get(fileName);
173
- this.priorShims.delete(fileName);
174
- }
175
- const shimSf = generator.generateShimForFile(inputFile, fileName, priorShimSf);
176
- // Mark the new generated source file as a shim that originated from this generator.
177
- sfExtensionData(shimSf).fileShim = {
178
- extension: generator.extensionPrefix,
179
- generatedFrom: absoluteFromSourceFile(inputFile),
180
- };
181
- if (!generator.shouldEmit) {
182
- this.ignoreForEmit.add(shimSf);
183
- }
184
- this.shims.set(fileName, shimSf);
185
- return shimSf;
186
- }
187
- }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2Mvc2hpbXMvc3JjL2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFakMsT0FBTyxFQUFDLFlBQVksRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHcEQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sUUFBUSxDQUFDO0FBUXhDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sV0FBVztJQThDdEIsWUFDWSxRQUE2RCxFQUNyRSxXQUE2QixFQUFFLGtCQUEyQyxFQUMxRSxpQkFBeUMsRUFBRSxVQUEyQjtRQUY5RCxhQUFRLEdBQVIsUUFBUSxDQUFxRDtRQTlDekU7O1dBRUc7UUFDSyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFFekQ7Ozs7O1dBS0c7UUFDSyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFFOUQ7Ozs7O1dBS0c7UUFDSyxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFFN0M7OztXQUdHO1FBQ0ssZUFBVSxHQUF3QixFQUFFLENBQUM7UUFFN0M7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO1FBVWxEOztXQUVHO1FBQ00sc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBTXhDLGlGQUFpRjtRQUNqRixLQUFLLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFO1lBQ25DLDZGQUE2RjtZQUM3Riw2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Q3JFO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGdCQUFnQixDQUNwQixRQUF3QixFQUFFLFNBQStCLEVBQ3pELFNBQXdCO1FBQzFCLElBQUksV0FBVyxHQUF1QixJQUFJLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNqQyx5RkFBeUY7WUFDekYsbUVBQW1FO1lBRW5FLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztRQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRS9FLG9GQUFvRjtRQUNwRixlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxHQUFHO1lBQ2pDLFNBQVMsRUFBRSxTQUFTLENBQUMsZUFBZTtZQUNwQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1NBQ2pELENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7YWJzb2x1dGVGcm9tLCBhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlLCBBYnNvbHV0ZUZzUGF0aH0gZnJvbSAnLi4vLi4vZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtpc0R0c1BhdGh9IGZyb20gJy4uLy4uL3V0aWwvc3JjL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHtQZXJGaWxlU2hpbUdlbmVyYXRvciwgVG9wTGV2ZWxTaGltR2VuZXJhdG9yfSBmcm9tICcuLi9hcGknO1xuXG5pbXBvcnQge2lzRmlsZVNoaW1Tb3VyY2VGaWxlLCBpc1NoaW0sIHNmRXh0ZW5zaW9uRGF0YX0gZnJvbSAnLi9leHBhbmRvJztcbmltcG9ydCB7bWFrZVNoaW1GaWxlTmFtZX0gZnJvbSAnLi91dGlsJztcblxuaW50ZXJmYWNlIFNoaW1HZW5lcmF0b3JEYXRhIHtcbiAgZ2VuZXJhdG9yOiBQZXJGaWxlU2hpbUdlbmVyYXRvcjtcbiAgdGVzdDogUmVnRXhwO1xuICBzdWZmaXg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYW5kIHRyYWNrcyBzaGltIGZpbGVzIGZvciBlYWNoIG9yaWdpbmFsIGB0cy5Tb3VyY2VGaWxlYC5cbiAqXG4gKiBUaGUgYFNoaW1BZGFwdGVyYCBwcm92aWRlcyBhbiBBUEkgdGhhdCdzIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYSBgdHMuQ29tcGlsZXJIb3N0YFxuICogaW1wbGVtZW50YXRpb24gYW5kIGFsbG93cyBpdCB0byBpbmNsdWRlIHN5bnRoZXRpYyBcInNoaW1cIiBmaWxlcyBpbiB0aGUgcHJvZ3JhbSB0aGF0J3MgYmVpbmdcbiAqIGNyZWF0ZWQuIEl0IHdvcmtzIGZvciBib3RoIGZyZXNobHkgY3JlYXRlZCBwcm9ncmFtcyBhcyB3ZWxsIGFzIHdpdGggcmV1c2Ugb2YgYW4gb2xkZXIgcHJvZ3JhbVxuICogKHdoaWNoIGFscmVhZHkgbWF5IGNvbnRhaW4gc2hpbSBmaWxlcyBhbmQgdGh1cyBoYXZlIGEgZGlmZmVyZW50IGNyZWF0aW9uIGZsb3cpLlxuICovXG5leHBvcnQgY2xhc3MgU2hpbUFkYXB0ZXIge1xuICAvKipcbiAgICogQSBtYXAgb2Ygc2hpbSBmaWxlIG5hbWVzIHRvIHRoZSBgdHMuU291cmNlRmlsZWAgZ2VuZXJhdGVkIGZvciB0aG9zZSBzaGltcy5cbiAgICovXG4gIHByaXZhdGUgc2hpbXMgPSBuZXcgTWFwPEFic29sdXRlRnNQYXRoLCB0cy5Tb3VyY2VGaWxlPigpO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBzaGltIGZpbGUgbmFtZXMgdG8gZXhpc3Rpbmcgc2hpbXMgd2hpY2ggd2VyZSBwYXJ0IG9mIGEgcHJldmlvdXMgaXRlcmF0aW9uIG9mIHRoaXNcbiAgICogcHJvZ3JhbS5cbiAgICpcbiAgICogTm90IGFsbCBvZiB0aGVzZSBzaGltcyB3aWxsIGJlIGluaGVyaXRlZCBpbnRvIHRoaXMgcHJvZ3JhbS5cbiAgICovXG4gIHByaXZhdGUgcHJpb3JTaGltcyA9IG5ldyBNYXA8QWJzb2x1dGVGc1BhdGgsIHRzLlNvdXJjZUZpbGU+KCk7XG5cbiAgLyoqXG4gICAqIEZpbGUgbmFtZXMgd2hpY2ggYXJlIGFscmVhZHkga25vd24gdG8gbm90IGJlIHNoaW1zLlxuICAgKlxuICAgKiBUaGlzIGFsbG93cyBmb3Igc2hvcnQtY2lyY3VpdCByZXR1cm5zIHdpdGhvdXQgdGhlIGV4cGVuc2Ugb2YgcnVubmluZyByZWd1bGFyIGV4cHJlc3Npb25zXG4gICAqIGFnYWluc3QgdGhlIGZpbGVuYW1lIHJlcGVhdGVkbHkuXG4gICAqL1xuICBwcml2YXRlIG5vdFNoaW1zID0gbmV3IFNldDxBYnNvbHV0ZUZzUGF0aD4oKTtcblxuICAvKipcbiAgICogVGhlIHNoaW0gZ2VuZXJhdG9ycyBzdXBwb3J0ZWQgYnkgdGhpcyBhZGFwdGVyIGFzIHdlbGwgYXMgZXh0cmEgcHJlY2FsY3VsYXRlZCBkYXRhIGZhY2lsaXRhdGluZ1xuICAgKiB0aGVpciB1c2UuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRvcnM6IFNoaW1HZW5lcmF0b3JEYXRhW10gPSBbXTtcblxuICAvKipcbiAgICogQSBgU2V0YCBvZiBzaGltIGB0cy5Tb3VyY2VGaWxlYHMgd2hpY2ggc2hvdWxkIG5vdCBiZSBlbWl0dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlRm9yRW1pdCA9IG5ldyBTZXQ8dHMuU291cmNlRmlsZT4oKTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGV4dHJhIGZpbGVuYW1lcyB3aGljaCBzaG91bGQgYmUgY29uc2lkZXJlZCBpbnB1dHMgdG8gcHJvZ3JhbSBjcmVhdGlvbi5cbiAgICpcbiAgICogVGhpcyBpbmNsdWRlcyBhbnkgdG9wLWxldmVsIHNoaW1zIGdlbmVyYXRlZCBmb3IgdGhlIHByb2dyYW0sIGFzIHdlbGwgYXMgcGVyLWZpbGUgc2hpbSBuYW1lcyBmb3JcbiAgICogdGhvc2UgZmlsZXMgd2hpY2ggYXJlIGluY2x1ZGVkIGluIHRoZSByb290IGZpbGVzIG9mIHRoZSBwcm9ncmFtLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFJbnB1dEZpbGVzOiBSZWFkb25seUFycmF5PEFic29sdXRlRnNQYXRoPjtcblxuICAvKipcbiAgICogRXh0ZW5zaW9uIHByZWZpeGVzIG9mIGFsbCBpbnN0YWxsZWQgcGVyLWZpbGUgc2hpbXMuXG4gICAqL1xuICByZWFkb25seSBleHRlbnNpb25QcmVmaXhlczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZGVsZWdhdGU6IFBpY2s8dHMuQ29tcGlsZXJIb3N0LCAnZ2V0U291cmNlRmlsZSd8J2ZpbGVFeGlzdHMnPixcbiAgICAgIHRzUm9vdEZpbGVzOiBBYnNvbHV0ZUZzUGF0aFtdLCB0b3BMZXZlbEdlbmVyYXRvcnM6IFRvcExldmVsU2hpbUdlbmVyYXRvcltdLFxuICAgICAgcGVyRmlsZUdlbmVyYXRvcnM6IFBlckZpbGVTaGltR2VuZXJhdG9yW10sIG9sZFByb2dyYW06IHRzLlByb2dyYW18bnVsbCkge1xuICAgIC8vIEluaXRpYWxpemUgYHRoaXMuZ2VuZXJhdG9yc2Agd2l0aCBhIHJlZ2V4IHRoYXQgbWF0Y2hlcyBlYWNoIGdlbmVyYXRvcidzIHBhdGhzLlxuICAgIGZvciAoY29uc3QgZ2VuIG9mIHBlckZpbGVHZW5lcmF0b3JzKSB7XG4gICAgICAvLyBUaGlzIHJlZ2V4IG1hdGNoZXMgcGF0aHMgZm9yIHNoaW1zIGZyb20gdGhpcyBnZW5lcmF0b3IuIFRoZSBmaXJzdCAoYW5kIG9ubHkpIGNhcHR1cmUgZ3JvdXBcbiAgICAgIC8vIGV4dHJhY3RzIHRoZSBmaWxlbmFtZSBwcmVmaXgsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGZpbmQgdGhlIG9yaWdpbmFsIGZpbGUgdGhhdCB3YXMgdXNlZCB0b1xuICAgICAgLy8gZ2VuZXJhdGUgdGhpcyBzaGltLlxuICAgICAgY29uc3QgcGF0dGVybiA9IGBeKC4qKVxcXFwuJHtnZW4uZXh0ZW5zaW9uUHJlZml4fVxcXFwudHMkYDtcbiAgICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAocGF0dGVybiwgJ2knKTtcbiAgICAgIHRoaXMuZ2VuZXJhdG9ycy5wdXNoKHtcbiAgICAgICAgZ2VuZXJhdG9yOiBnZW4sXG4gICAgICAgIHRlc3Q6IHJlZ2V4cCxcbiAgICAgICAgc3VmZml4OiBgLiR7Z2VuLmV4dGVuc2lvblByZWZpeH0udHNgLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmV4dGVuc2lvblByZWZpeGVzLnB1c2goZ2VuLmV4dGVuc2lvblByZWZpeCk7XG4gICAgfVxuICAgIC8vIFByb2Nlc3MgdG9wLWxldmVsIGdlbmVyYXRvcnMgYW5kIHByZS1nZW5lcmF0ZSB0aGVpciBzaGltcy4gQWNjdW11bGF0ZSB0aGUgbGlzdCBvZiBmaWxlbmFtZXNcbiAgICAvLyBhcyBleHRyYSBpbnB1dCBmaWxlcy5cbiAgICBjb25zdCBleHRyYUlucHV0RmlsZXM6IEFic29sdXRlRnNQYXRoW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZ2VuIG9mIHRvcExldmVsR2VuZXJhdG9ycykge1xuICAgICAgY29uc3Qgc2YgPSBnZW4ubWFrZVRvcExldmVsU2hpbSgpO1xuICAgICAgc2ZFeHRlbnNpb25EYXRhKHNmKS5pc1RvcExldmVsU2hpbSA9IHRydWU7XG5cbiAgICAgIGlmICghZ2VuLnNob3VsZEVtaXQpIHtcbiAgICAgICAgdGhpcy5pZ25vcmVGb3JFbWl0LmFkZChzZik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gYWJzb2x1dGVGcm9tU291cmNlRmlsZShzZik7XG4gICAgICB0aGlzLnNoaW1zLnNldChmaWxlTmFtZSwgc2YpO1xuICAgICAgZXh0cmFJbnB1dEZpbGVzLnB1c2goZmlsZU5hbWUpO1xuICAgIH1cblxuICAgIC8vIEFkZCB0byB0aGF0IGxpc3QgdGhlIHBlci1maWxlIHNoaW1zIGFzc29jaWF0ZWQgd2l0aCBlYWNoIHJvb3QgZmlsZS4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZVxuICAgIC8vIHJlZmVyZW5jZSB0YWdnaW5nIGFsb25lIG1heSBub3Qgd29yayBpbiBUUyBjb21waWxhdGlvbnMgdGhhdCBoYXZlIGBub1Jlc29sdmVgIHNldC4gU3VjaFxuICAgIC8vIGNvbXBpbGF0aW9ucyByZWx5IG9uIHRoZSBsaXN0IG9mIGlucHV0IGZpbGVzIGNvbXBsZXRlbHkgZGVzY3JpYmluZyB0aGUgcHJvZ3JhbS5cbiAgICBmb3IgKGNvbnN0IHJvb3RGaWxlIG9mIHRzUm9vdEZpbGVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGdlbiBvZiB0aGlzLmdlbmVyYXRvcnMpIHtcbiAgICAgICAgZXh0cmFJbnB1dEZpbGVzLnB1c2gobWFrZVNoaW1GaWxlTmFtZShyb290RmlsZSwgZ2VuLnN1ZmZpeCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZXh0cmFJbnB1dEZpbGVzID0gZXh0cmFJbnB1dEZpbGVzO1xuXG4gICAgLy8gSWYgYW4gb2xkIHByb2dyYW0gaXMgcHJlc2VudCwgZXh0cmFjdCBhbGwgcGVyLWZpbGUgc2hpbXMgaW50byBhIG1hcCwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvXG4gICAgLy8gZ2VuZXJhdGUgbmV3IHZlcnNpb25zIG9mIHRob3NlIHNoaW1zLlxuICAgIGlmIChvbGRQcm9ncmFtICE9PSBudWxsKSB7XG4gICAgICBmb3IgKGNvbnN0IG9sZFNmIG9mIG9sZFByb2dyYW0uZ2V0U291cmNlRmlsZXMoKSkge1xuICAgICAgICBpZiAob2xkU2YuaXNEZWNsYXJhdGlvbkZpbGUgfHwgIWlzRmlsZVNoaW1Tb3VyY2VGaWxlKG9sZFNmKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmlvclNoaW1zLnNldChhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlKG9sZFNmKSwgb2xkU2YpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9kdWNlIGEgc2hpbSBgdHMuU291cmNlRmlsZWAgaWYgYGZpbGVOYW1lYCByZWZlcnMgdG8gYSBzaGltIGZpbGUgd2hpY2ggc2hvdWxkIGV4aXN0IGluIHRoZVxuICAgKiBwcm9ncmFtLlxuICAgKlxuICAgKiBJZiBgZmlsZU5hbWVgIGRvZXMgbm90IHJlZmVyIHRvIGEgcG90ZW50aWFsIHNoaW0gZmlsZSwgYG51bGxgIGlzIHJldHVybmVkLiBJZiBhIGNvcnJlc3BvbmRpbmdcbiAgICogYmFzZSBmaWxlIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkLCBgdW5kZWZpbmVkYCBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKi9cbiAgbWF5YmVHZW5lcmF0ZShmaWxlTmFtZTogQWJzb2x1dGVGc1BhdGgpOiB0cy5Tb3VyY2VGaWxlfG51bGx8dW5kZWZpbmVkIHtcbiAgICAvLyBGYXN0IHBhdGg6IGVpdGhlciB0aGlzIGZpbGVuYW1lIGhhcyBiZWVuIHByb3ZlbiBub3QgdG8gYmUgYSBzaGltIGJlZm9yZSwgb3IgaXQgaXMgYSBrbm93blxuICAgIC8vIHNoaW0gYW5kIG5vIGdlbmVyYXRpb24gaXMgcmVxdWlyZWQuXG4gICAgaWYgKHRoaXMubm90U2hpbXMuaGFzKGZpbGVOYW1lKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNoaW1zLmhhcyhmaWxlTmFtZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNoaW1zLmdldChmaWxlTmFtZSkhO1xuICAgIH1cblxuICAgIC8vIC5kLnRzIGZpbGVzIGNhbid0IGJlIHNoaW1zLlxuICAgIGlmIChpc0R0c1BhdGgoZmlsZU5hbWUpKSB7XG4gICAgICB0aGlzLm5vdFNoaW1zLmFkZChmaWxlTmFtZSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB0aW1lIHNlZWluZyB0aGlzIHBhdGguIFRyeSB0byBtYXRjaCBpdCBhZ2FpbnN0IGEgc2hpbSBnZW5lcmF0b3IuXG4gICAgZm9yIChjb25zdCByZWNvcmQgb2YgdGhpcy5nZW5lcmF0b3JzKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHJlY29yZC50ZXN0LmV4ZWMoZmlsZU5hbWUpO1xuICAgICAgaWYgKG1hdGNoID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBUaGUgcGF0aCBtYXRjaGVkLiBFeHRyYWN0IHRoZSBmaWxlbmFtZSBwcmVmaXggd2l0aG91dCB0aGUgZXh0ZW5zaW9uLlxuICAgICAgY29uc3QgcHJlZml4ID0gbWF0Y2hbMV07XG4gICAgICAvLyBUaGlzIF9taWdodF8gYmUgYSBzaGltLCBpZiBhbiB1bmRlcmx5aW5nIGJhc2UgZmlsZSBleGlzdHMuIFRoZSBiYXNlIGZpbGUgbWlnaHQgYmUgLnRzIG9yXG4gICAgICAvLyAudHN4LlxuICAgICAgbGV0IGJhc2VGaWxlTmFtZSA9IGFic29sdXRlRnJvbShwcmVmaXggKyAnLnRzJyk7XG4gICAgICBpZiAoIXRoaXMuZGVsZWdhdGUuZmlsZUV4aXN0cyhiYXNlRmlsZU5hbWUpKSB7XG4gICAgICAgIC8vIE5vIC50cyBmaWxlIGJ5IHRoYXQgbmFtZSAtIHRyeSAudHN4LlxuICAgICAgICBiYXNlRmlsZU5hbWUgPSBhYnNvbHV0ZUZyb20ocHJlZml4ICsgJy50c3gnKTtcbiAgICAgICAgaWYgKCF0aGlzLmRlbGVnYXRlLmZpbGVFeGlzdHMoYmFzZUZpbGVOYW1lKSkge1xuICAgICAgICAgIC8vIFRoaXMgaXNuJ3QgYSBzaGltIGFmdGVyIGFsbCBzaW5jZSB0aGVyZSBpcyBubyBvcmlnaW5hbCBmaWxlIHdoaWNoIHdvdWxkIGhhdmUgdHJpZ2dlcmVkXG4gICAgICAgICAgLy8gaXRzIGdlbmVyYXRpb24sIGV2ZW4gdGhvdWdoIHRoZSBwYXRoIGlzIHJpZ2h0LiBUaGVyZSBhcmUgYSBmZXcgcmVhc29ucyB3aHkgdGhpcyBjb3VsZFxuICAgICAgICAgIC8vIG9jY3VyOlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gKiB3aGVuIHJlc29sdmluZyBhbiBpbXBvcnQgdG8gYW4gLm5nZmFjdG9yeS5kLnRzIGZpbGUsIHRoZSBtb2R1bGUgcmVzb2x1dGlvbiBhbGdvcml0aG1cbiAgICAgICAgICAvLyAgIHdpbGwgZmlyc3QgbG9vayBmb3IgYW4gLm5nZmFjdG9yeS50cyBmaWxlIGluIGl0cyBwbGFjZSwgd2hpY2ggd2lsbCBiZSByZXF1ZXN0ZWQgaGVyZS5cbiAgICAgICAgICAvLyAqIHdoZW4gdGhlIHVzZXIgd3JpdGVzIGEgYmFkIGltcG9ydC5cbiAgICAgICAgICAvLyAqIHdoZW4gYSBmaWxlIGlzIHByZXNlbnQgaW4gb25lIGNvbXBpbGF0aW9uIGFuZCByZW1vdmVkIGluIHRoZSBuZXh0IGluY3JlbWVudGFsIHN0ZXAuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCBhZGQgdGhlIGZpbGVuYW1lIHRvIGBub3RTaGltc2AsIHNvIHRoaXMgcGF0aCBpcyBub3QgY2FjaGVkLlxuICAgICAgICAgIC8vIFRoYXQncyBva2F5IGFzIHRoZXNlIGNhc2VzIGFib3ZlIGFyZSBlZGdlIGNhc2VzIGFuZCBkbyBub3Qgb2NjdXIgcmVndWxhcmx5IGluIG5vcm1hbFxuICAgICAgICAgIC8vIG9wZXJhdGlvbnMuXG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXRyaWV2ZSB0aGUgb3JpZ2luYWwgZmlsZSBmb3Igd2hpY2ggdGhlIHNoaW0gd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAgICBjb25zdCBpbnB1dEZpbGUgPSB0aGlzLmRlbGVnYXRlLmdldFNvdXJjZUZpbGUoYmFzZUZpbGVOYW1lLCB0cy5TY3JpcHRUYXJnZXQuTGF0ZXN0KTtcbiAgICAgIGlmIChpbnB1dEZpbGUgPT09IHVuZGVmaW5lZCB8fCBpc1NoaW0oaW5wdXRGaWxlKSkge1xuICAgICAgICAvLyBTb21ldGhpbmcgc3RyYW5nZSBoYXBwZW5lZCBoZXJlLiBUaGlzIGNhc2UgaXMgYWxzbyBub3QgY2FjaGVkIGluIGBub3RTaGltc2AsIGJ1dCB0aGlzXG4gICAgICAgIC8vIHBhdGggaXMgbm90IGV4cGVjdGVkIHRvIG9jY3VyIGluIHJlYWxpdHkgc28gdGhpcyBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtLlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICAvLyBBY3R1YWxseSBnZW5lcmF0ZSBhbmQgY2FjaGUgdGhlIHNoaW0uXG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZVNwZWNpZmljKGZpbGVOYW1lLCByZWNvcmQuZ2VuZXJhdG9yLCBpbnB1dEZpbGUpO1xuICAgIH1cblxuICAgIC8vIE5vIGdlbmVyYXRvciBtYXRjaGVkLlxuICAgIHRoaXMubm90U2hpbXMuYWRkKGZpbGVOYW1lKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTcGVjaWZpYyhcbiAgICAgIGZpbGVOYW1lOiBBYnNvbHV0ZUZzUGF0aCwgZ2VuZXJhdG9yOiBQZXJGaWxlU2hpbUdlbmVyYXRvcixcbiAgICAgIGlucHV0RmlsZTogdHMuU291cmNlRmlsZSk6IHRzLlNvdXJjZUZpbGUge1xuICAgIGxldCBwcmlvclNoaW1TZjogdHMuU291cmNlRmlsZXxudWxsID0gbnVsbDtcbiAgICBpZiAodGhpcy5wcmlvclNoaW1zLmhhcyhmaWxlTmFtZSkpIHtcbiAgICAgIC8vIEluIHRoZSBwcmV2aW91cyBwcm9ncmFtIGEgc2hpbSB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0ZWQuIEl0J3MgcGFzc2VkIHRvIHRoZSBzaGltXG4gICAgICAvLyBnZW5lcmF0b3Igd2hpY2ggbWF5IHJldXNlIGl0IGluc3RlYWQgb2YgZ2VuZXJhdGluZyBhIGZyZXNoIHNoaW0uXG5cbiAgICAgIHByaW9yU2hpbVNmID0gdGhpcy5wcmlvclNoaW1zLmdldChmaWxlTmFtZSkhO1xuICAgICAgdGhpcy5wcmlvclNoaW1zLmRlbGV0ZShmaWxlTmFtZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hpbVNmID0gZ2VuZXJhdG9yLmdlbmVyYXRlU2hpbUZvckZpbGUoaW5wdXRGaWxlLCBmaWxlTmFtZSwgcHJpb3JTaGltU2YpO1xuXG4gICAgLy8gTWFyayB0aGUgbmV3IGdlbmVyYXRlZCBzb3VyY2UgZmlsZSBhcyBhIHNoaW0gdGhhdCBvcmlnaW5hdGVkIGZyb20gdGhpcyBnZW5lcmF0b3IuXG4gICAgc2ZFeHRlbnNpb25EYXRhKHNoaW1TZikuZmlsZVNoaW0gPSB7XG4gICAgICBleHRlbnNpb246IGdlbmVyYXRvci5leHRlbnNpb25QcmVmaXgsXG4gICAgICBnZW5lcmF0ZWRGcm9tOiBhYnNvbHV0ZUZyb21Tb3VyY2VGaWxlKGlucHV0RmlsZSksXG4gICAgfTtcblxuICAgIGlmICghZ2VuZXJhdG9yLnNob3VsZEVtaXQpIHtcbiAgICAgIHRoaXMuaWdub3JlRm9yRW1pdC5hZGQoc2hpbVNmKTtcbiAgICB9XG5cbiAgICB0aGlzLnNoaW1zLnNldChmaWxlTmFtZSwgc2hpbVNmKTtcbiAgICByZXR1cm4gc2hpbVNmO1xuICB9XG59XG4iXX0=
@@ -1,102 +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
- /**
9
- * A `Symbol` which is used to patch extension data onto `ts.SourceFile`s.
10
- */
11
- export const NgExtension = Symbol('NgExtension');
12
- /**
13
- * Narrows a `ts.SourceFile` if it has an `NgExtension` property.
14
- */
15
- export function isExtended(sf) {
16
- return sf[NgExtension] !== undefined;
17
- }
18
- /**
19
- * Returns the `NgExtensionData` for a given `ts.SourceFile`, adding it if none exists.
20
- */
21
- export function sfExtensionData(sf) {
22
- const extSf = sf;
23
- if (extSf[NgExtension] !== undefined) {
24
- // The file already has extension data, so return it directly.
25
- return extSf[NgExtension];
26
- }
27
- // The file has no existing extension data, so add it and return it.
28
- const extension = {
29
- isTopLevelShim: false,
30
- fileShim: null,
31
- originalReferencedFiles: null,
32
- taggedReferenceFiles: null,
33
- };
34
- extSf[NgExtension] = extension;
35
- return extension;
36
- }
37
- /**
38
- * Check whether `sf` is a per-file shim `ts.SourceFile`.
39
- */
40
- export function isFileShimSourceFile(sf) {
41
- return isExtended(sf) && sf[NgExtension].fileShim !== null;
42
- }
43
- /**
44
- * Check whether `sf` is a shim `ts.SourceFile` (either a per-file shim or a top-level shim).
45
- */
46
- export function isShim(sf) {
47
- return isExtended(sf) && (sf[NgExtension].fileShim !== null || sf[NgExtension].isTopLevelShim);
48
- }
49
- /**
50
- * Copy any shim data from one `ts.SourceFile` to another.
51
- */
52
- export function copyFileShimData(from, to) {
53
- if (!isFileShimSourceFile(from)) {
54
- return;
55
- }
56
- sfExtensionData(to).fileShim = sfExtensionData(from).fileShim;
57
- }
58
- /**
59
- * For those `ts.SourceFile`s in the `program` which have previously been tagged by a
60
- * `ShimReferenceTagger`, restore the original `referencedFiles` array that does not have shim tags.
61
- */
62
- export function untagAllTsFiles(program) {
63
- for (const sf of program.getSourceFiles()) {
64
- untagTsFile(sf);
65
- }
66
- }
67
- /**
68
- * For those `ts.SourceFile`s in the `program` which have previously been tagged by a
69
- * `ShimReferenceTagger`, re-apply the effects of tagging by updating the `referencedFiles` array to
70
- * the tagged version produced previously.
71
- */
72
- export function retagAllTsFiles(program) {
73
- for (const sf of program.getSourceFiles()) {
74
- retagTsFile(sf);
75
- }
76
- }
77
- /**
78
- * Restore the original `referencedFiles` for the given `ts.SourceFile`.
79
- */
80
- export function untagTsFile(sf) {
81
- if (sf.isDeclarationFile || !isExtended(sf)) {
82
- return;
83
- }
84
- const ext = sfExtensionData(sf);
85
- if (ext.originalReferencedFiles !== null) {
86
- sf.referencedFiles = ext.originalReferencedFiles;
87
- }
88
- }
89
- /**
90
- * Apply the previously tagged `referencedFiles` to the given `ts.SourceFile`, if it was previously
91
- * tagged.
92
- */
93
- export function retagTsFile(sf) {
94
- if (sf.isDeclarationFile || !isExtended(sf)) {
95
- return;
96
- }
97
- const ext = sfExtensionData(sf);
98
- if (ext.taggedReferenceFiles !== null) {
99
- sf.referencedFiles = ext.taggedReferenceFiles;
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyLWNsaS9zcmMvbmd0c2Mvc2hpbXMvc3JjL2V4cGFuZG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBTUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBdUNqRDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsRUFBaUI7SUFDMUMsT0FBUSxFQUFnQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztBQUN0RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQWlCO0lBQy9DLE1BQU0sS0FBSyxHQUFHLEVBQStCLENBQUM7SUFDOUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssU0FBUyxFQUFFO1FBQ3BDLDhEQUE4RDtRQUM5RCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUUsQ0FBQztLQUM1QjtJQUVELG9FQUFvRTtJQUNwRSxNQUFNLFNBQVMsR0FBb0I7UUFDakMsY0FBYyxFQUFFLEtBQUs7UUFDckIsUUFBUSxFQUFFLElBQUk7UUFDZCx1QkFBdUIsRUFBRSxJQUFJO1FBQzdCLG9CQUFvQixFQUFFLElBQUk7S0FDM0IsQ0FBQztJQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDL0IsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQW1CRDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxFQUFpQjtJQUNwRCxPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztBQUM3RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFDLEVBQWlCO0lBQ3RDLE9BQU8sVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ2pHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFtQixFQUFFLEVBQWlCO0lBQ3JFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixPQUFPO0tBQ1I7SUFDRCxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDaEUsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBbUI7SUFDakQsS0FBSyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUU7UUFDekMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2pCO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQW1CO0lBQ2pELEtBQUssTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFO1FBQ3pDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsRUFBaUI7SUFDM0MsSUFBSSxFQUFFLENBQUMsaUJBQWlCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDM0MsT0FBTztLQUNSO0lBRUQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLElBQUksR0FBRyxDQUFDLHVCQUF1QixLQUFLLElBQUksRUFBRTtRQUN4QyxFQUFFLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyx1QkFBa0QsQ0FBQztLQUM3RTtBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQWlCO0lBQzNDLElBQUksRUFBRSxDQUFDLGlCQUFpQixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQzNDLE9BQU87S0FDUjtJQUVELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUU7UUFDckMsRUFBRSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsb0JBQStDLENBQUM7S0FDMUU7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge0Fic29sdXRlRnNQYXRofSBmcm9tICcuLi8uLi9maWxlX3N5c3RlbSc7XG5cbi8qKlxuICogQSBgU3ltYm9sYCB3aGljaCBpcyB1c2VkIHRvIHBhdGNoIGV4dGVuc2lvbiBkYXRhIG9udG8gYHRzLlNvdXJjZUZpbGVgcy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5nRXh0ZW5zaW9uID0gU3ltYm9sKCdOZ0V4dGVuc2lvbicpO1xuXG4vKipcbiAqIENvbnRlbnRzIG9mIHRoZSBgTmdFeHRlbnNpb25gIHByb3BlcnR5IG9mIGEgYHRzLlNvdXJjZUZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRXh0ZW5zaW9uRGF0YSB7XG4gIGlzVG9wTGV2ZWxTaGltOiBib29sZWFuO1xuICBmaWxlU2hpbTogTmdGaWxlU2hpbURhdGF8bnVsbDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBgcmVmZXJlbmNlZEZpbGVzYCBhcnJheSwgYmVmb3JlIG1vZGlmaWNhdGlvbiBieSBhIGBTaGltUmVmZXJlbmNlVGFnZ2VyYC5cbiAgICovXG4gIG9yaWdpbmFsUmVmZXJlbmNlZEZpbGVzOiBSZWFkb25seUFycmF5PHRzLkZpbGVSZWZlcmVuY2U+fG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgYHJlZmVyZW5jZWRGaWxlc2AgYXJyYXksIGFmdGVyIG1vZGlmaWNhdGlvbiBieSBhIGBTaGltUmVmZXJlbmNlVGFnZ2VyYC5cbiAgICovXG4gIHRhZ2dlZFJlZmVyZW5jZUZpbGVzOiBSZWFkb25seUFycmF5PHRzLkZpbGVSZWZlcmVuY2U+fG51bGw7XG59XG5cbi8qKlxuICogQSBgdHMuU291cmNlRmlsZWAgd2hpY2ggbWF5IG9yIG1heSBub3QgaGF2ZSBgTmdFeHRlbnNpb25gIGRhdGEuXG4gKi9cbmludGVyZmFjZSBNYXliZU5nRXh0ZW5kZWRTb3VyY2VGaWxlIGV4dGVuZHMgdHMuU291cmNlRmlsZSB7XG4gIFtOZ0V4dGVuc2lvbl0/OiBOZ0V4dGVuc2lvbkRhdGE7XG59XG5cbi8qKlxuICogQSBgdHMuU291cmNlRmlsZWAgd2hpY2ggaGFzIGBOZ0V4dGVuc2lvbmAgZGF0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ0V4dGVuZGVkU291cmNlRmlsZSBleHRlbmRzIHRzLlNvdXJjZUZpbGUge1xuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSB0eXBlIG9mIGByZWZlcmVuY2VkRmlsZXNgIHRvIGJlIHdyaXRlYWJsZS5cbiAgICovXG4gIHJlZmVyZW5jZWRGaWxlczogdHMuRmlsZVJlZmVyZW5jZVtdO1xuXG4gIFtOZ0V4dGVuc2lvbl06IE5nRXh0ZW5zaW9uRGF0YTtcbn1cblxuLyoqXG4gKiBOYXJyb3dzIGEgYHRzLlNvdXJjZUZpbGVgIGlmIGl0IGhhcyBhbiBgTmdFeHRlbnNpb25gIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFeHRlbmRlZChzZjogdHMuU291cmNlRmlsZSk6IHNmIGlzIE5nRXh0ZW5kZWRTb3VyY2VGaWxlIHtcbiAgcmV0dXJuIChzZiBhcyBNYXliZU5nRXh0ZW5kZWRTb3VyY2VGaWxlKVtOZ0V4dGVuc2lvbl0gIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBgTmdFeHRlbnNpb25EYXRhYCBmb3IgYSBnaXZlbiBgdHMuU291cmNlRmlsZWAsIGFkZGluZyBpdCBpZiBub25lIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNmRXh0ZW5zaW9uRGF0YShzZjogdHMuU291cmNlRmlsZSk6IE5nRXh0ZW5zaW9uRGF0YSB7XG4gIGNvbnN0IGV4dFNmID0gc2YgYXMgTWF5YmVOZ0V4dGVuZGVkU291cmNlRmlsZTtcbiAgaWYgKGV4dFNmW05nRXh0ZW5zaW9uXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gVGhlIGZpbGUgYWxyZWFkeSBoYXMgZXh0ZW5zaW9uIGRhdGEsIHNvIHJldHVybiBpdCBkaXJlY3RseS5cbiAgICByZXR1cm4gZXh0U2ZbTmdFeHRlbnNpb25dITtcbiAgfVxuXG4gIC8vIFRoZSBmaWxlIGhhcyBubyBleGlzdGluZyBleHRlbnNpb24gZGF0YSwgc28gYWRkIGl0IGFuZCByZXR1cm4gaXQuXG4gIGNvbnN0IGV4dGVuc2lvbjogTmdFeHRlbnNpb25EYXRhID0ge1xuICAgIGlzVG9wTGV2ZWxTaGltOiBmYWxzZSxcbiAgICBmaWxlU2hpbTogbnVsbCxcbiAgICBvcmlnaW5hbFJlZmVyZW5jZWRGaWxlczogbnVsbCxcbiAgICB0YWdnZWRSZWZlcmVuY2VGaWxlczogbnVsbCxcbiAgfTtcbiAgZXh0U2ZbTmdFeHRlbnNpb25dID0gZXh0ZW5zaW9uO1xuICByZXR1cm4gZXh0ZW5zaW9uO1xufVxuXG4vKipcbiAqIERhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcGVyLXNoaW0gaW5zdGFuY2UgYHRzLlNvdXJjZUZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRmlsZVNoaW1EYXRhIHtcbiAgZ2VuZXJhdGVkRnJvbTogQWJzb2x1dGVGc1BhdGg7XG4gIGV4dGVuc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGBOZ0V4dGVuZGVkU291cmNlRmlsZWAgdGhhdCBpcyBhIHBlci1maWxlIHNoaW0gYW5kIGhhcyBgTmdGaWxlU2hpbURhdGFgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nRmlsZVNoaW1Tb3VyY2VGaWxlIGV4dGVuZHMgTmdFeHRlbmRlZFNvdXJjZUZpbGUge1xuICBbTmdFeHRlbnNpb25dOiBOZ0V4dGVuc2lvbkRhdGEme1xuICAgIGZpbGVTaGltOiBOZ0ZpbGVTaGltRGF0YSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGBzZmAgaXMgYSBwZXItZmlsZSBzaGltIGB0cy5Tb3VyY2VGaWxlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsZVNoaW1Tb3VyY2VGaWxlKHNmOiB0cy5Tb3VyY2VGaWxlKTogc2YgaXMgTmdGaWxlU2hpbVNvdXJjZUZpbGUge1xuICByZXR1cm4gaXNFeHRlbmRlZChzZikgJiYgc2ZbTmdFeHRlbnNpb25dLmZpbGVTaGltICE9PSBudWxsO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYHNmYCBpcyBhIHNoaW0gYHRzLlNvdXJjZUZpbGVgIChlaXRoZXIgYSBwZXItZmlsZSBzaGltIG9yIGEgdG9wLWxldmVsIHNoaW0pLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTaGltKHNmOiB0cy5Tb3VyY2VGaWxlKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0V4dGVuZGVkKHNmKSAmJiAoc2ZbTmdFeHRlbnNpb25dLmZpbGVTaGltICE9PSBudWxsIHx8IHNmW05nRXh0ZW5zaW9uXS5pc1RvcExldmVsU2hpbSk7XG59XG5cbi8qKlxuICogQ29weSBhbnkgc2hpbSBkYXRhIGZyb20gb25lIGB0cy5Tb3VyY2VGaWxlYCB0byBhbm90aGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weUZpbGVTaGltRGF0YShmcm9tOiB0cy5Tb3VyY2VGaWxlLCB0bzogdHMuU291cmNlRmlsZSk6IHZvaWQge1xuICBpZiAoIWlzRmlsZVNoaW1Tb3VyY2VGaWxlKGZyb20pKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHNmRXh0ZW5zaW9uRGF0YSh0bykuZmlsZVNoaW0gPSBzZkV4dGVuc2lvbkRhdGEoZnJvbSkuZmlsZVNoaW07XG59XG5cbi8qKlxuICogRm9yIHRob3NlIGB0cy5Tb3VyY2VGaWxlYHMgaW4gdGhlIGBwcm9ncmFtYCB3aGljaCBoYXZlIHByZXZpb3VzbHkgYmVlbiB0YWdnZWQgYnkgYVxuICogYFNoaW1SZWZlcmVuY2VUYWdnZXJgLCByZXN0b3JlIHRoZSBvcmlnaW5hbCBgcmVmZXJlbmNlZEZpbGVzYCBhcnJheSB0aGF0IGRvZXMgbm90IGhhdmUgc2hpbSB0YWdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW50YWdBbGxUc0ZpbGVzKHByb2dyYW06IHRzLlByb2dyYW0pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBzZiBvZiBwcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkpIHtcbiAgICB1bnRhZ1RzRmlsZShzZik7XG4gIH1cbn1cblxuLyoqXG4gKiBGb3IgdGhvc2UgYHRzLlNvdXJjZUZpbGVgcyBpbiB0aGUgYHByb2dyYW1gIHdoaWNoIGhhdmUgcHJldmlvdXNseSBiZWVuIHRhZ2dlZCBieSBhXG4gKiBgU2hpbVJlZmVyZW5jZVRhZ2dlcmAsIHJlLWFwcGx5IHRoZSBlZmZlY3RzIG9mIHRhZ2dpbmcgYnkgdXBkYXRpbmcgdGhlIGByZWZlcmVuY2VkRmlsZXNgIGFycmF5IHRvXG4gKiB0aGUgdGFnZ2VkIHZlcnNpb24gcHJvZHVjZWQgcHJldmlvdXNseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJldGFnQWxsVHNGaWxlcyhwcm9ncmFtOiB0cy5Qcm9ncmFtKTogdm9pZCB7XG4gIGZvciAoY29uc3Qgc2Ygb2YgcHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpKSB7XG4gICAgcmV0YWdUc0ZpbGUoc2YpO1xuICB9XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgb3JpZ2luYWwgYHJlZmVyZW5jZWRGaWxlc2AgZm9yIHRoZSBnaXZlbiBgdHMuU291cmNlRmlsZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bnRhZ1RzRmlsZShzZjogdHMuU291cmNlRmlsZSk6IHZvaWQge1xuICBpZiAoc2YuaXNEZWNsYXJhdGlvbkZpbGUgfHwgIWlzRXh0ZW5kZWQoc2YpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZXh0ID0gc2ZFeHRlbnNpb25EYXRhKHNmKTtcbiAgaWYgKGV4dC5vcmlnaW5hbFJlZmVyZW5jZWRGaWxlcyAhPT0gbnVsbCkge1xuICAgIHNmLnJlZmVyZW5jZWRGaWxlcyA9IGV4dC5vcmlnaW5hbFJlZmVyZW5jZWRGaWxlcyBhcyBBcnJheTx0cy5GaWxlUmVmZXJlbmNlPjtcbiAgfVxufVxuXG4vKipcbiAqIEFwcGx5IHRoZSBwcmV2aW91c2x5IHRhZ2dlZCBgcmVmZXJlbmNlZEZpbGVzYCB0byB0aGUgZ2l2ZW4gYHRzLlNvdXJjZUZpbGVgLCBpZiBpdCB3YXMgcHJldmlvdXNseVxuICogdGFnZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmV0YWdUc0ZpbGUoc2Y6IHRzLlNvdXJjZUZpbGUpOiB2b2lkIHtcbiAgaWYgKHNmLmlzRGVjbGFyYXRpb25GaWxlIHx8ICFpc0V4dGVuZGVkKHNmKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGV4dCA9IHNmRXh0ZW5zaW9uRGF0YShzZik7XG4gIGlmIChleHQudGFnZ2VkUmVmZXJlbmNlRmlsZXMgIT09IG51bGwpIHtcbiAgICBzZi5yZWZlcmVuY2VkRmlsZXMgPSBleHQudGFnZ2VkUmVmZXJlbmNlRmlsZXMgYXMgQXJyYXk8dHMuRmlsZVJlZmVyZW5jZT47XG4gIH1cbn1cbiJdfQ==