@angular/compiler-cli 12.2.7 → 13.0.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/index.js +20414 -0
- package/bundles/index.js.map +6 -0
- package/bundles/linker/babel/index.js +2384 -0
- package/bundles/linker/babel/index.js.map +6 -0
- package/bundles/linker/index.js +1849 -0
- package/bundles/linker/index.js.map +6 -0
- package/bundles/ngcc/index.js +16043 -0
- package/bundles/ngcc/index.js.map +6 -0
- package/bundles/ngcc/main-ngcc.js +16131 -0
- package/bundles/ngcc/main-ngcc.js.map +6 -0
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +13855 -0
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +6 -0
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +334 -0
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js.map +6 -0
- package/bundles/private/bazel.js +97 -0
- package/bundles/private/bazel.js.map +6 -0
- package/bundles/private/localize.js +911 -0
- package/bundles/private/localize.js.map +6 -0
- package/bundles/private/migrations.js +2181 -0
- package/bundles/private/migrations.js.map +6 -0
- package/bundles/private/tooling.js +942 -0
- package/bundles/private/tooling.js.map +6 -0
- package/bundles/src/bin/ng_xi18n.js +20466 -0
- package/bundles/src/bin/ng_xi18n.js.map +6 -0
- package/bundles/src/bin/ngc.js +20468 -0
- package/bundles/src/bin/ngc.js.map +6 -0
- package/bundles_metadata.json +1 -0
- package/import_meta_url.d.ts +14 -0
- package/index.d.ts +4 -1
- package/linker/babel/src/ast/babel_ast_factory.d.ts +1 -8
- package/linker/babel/src/ast/babel_ast_host.d.ts +1 -1
- package/linker/babel/src/babel_core.d.ts +36 -0
- package/linker/babel/src/babel_declaration_scope.d.ts +1 -1
- package/linker/babel/src/babel_plugin.d.ts +1 -8
- package/linker/babel/src/es2015_linker_plugin.d.ts +2 -2
- package/linker/src/ast/typescript/typescript_ast_host.d.ts +1 -1
- package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +1 -2
- package/linker/src/file_linker/emit_scopes/iife_emit_scope.d.ts +1 -1
- package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +2 -2
- package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +1 -2
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -2
- package/ngcc/index.d.ts +15 -0
- package/ngcc/src/analysis/decoration_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/module_with_providers_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/ngcc_references_registry.d.ts +1 -1
- package/ngcc/src/analysis/ngcc_trait_compiler.d.ts +1 -1
- package/ngcc/src/analysis/private_declarations_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/switch_marker_analyzer.d.ts +1 -1
- package/ngcc/src/analysis/types.d.ts +1 -1
- package/ngcc/src/dependencies/esm_dependency_host.d.ts +1 -1
- package/ngcc/src/execution/cluster/api.d.ts +5 -1
- package/ngcc/src/execution/cluster/master.d.ts +5 -3
- package/{src/ngtsc/logging/testing/index.d.ts → ngcc/src/execution/cluster/ngcc_cluster_worker.d.ts} +2 -2
- package/ngcc/src/host/commonjs_host.d.ts +1 -1
- package/ngcc/src/host/commonjs_umd_utils.d.ts +1 -1
- package/ngcc/src/host/delegating_host.d.ts +1 -1
- package/ngcc/src/host/esm2015_host.d.ts +1 -1
- package/ngcc/src/host/esm5_host.d.ts +2 -1
- package/ngcc/src/host/ngcc_host.d.ts +1 -1
- package/ngcc/src/host/umd_host.d.ts +1 -1
- package/ngcc/src/host/utils.d.ts +1 -1
- package/ngcc/src/locking/lock_file.d.ts +1 -1
- package/ngcc/src/locking/lock_file_with_child_process/index.d.ts +2 -0
- package/ngcc/src/locking/lock_file_with_child_process/{unlocker.d.ts → ngcc_lock_unlocker.d.ts} +1 -1
- package/ngcc/src/migrations/migration.d.ts +1 -1
- package/ngcc/src/migrations/missing_injectable_migration.d.ts +1 -1
- package/ngcc/src/migrations/undecorated_child_migration.d.ts +1 -1
- package/ngcc/src/migrations/undecorated_parent_migration.d.ts +1 -1
- package/ngcc/src/migrations/utils.d.ts +1 -1
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/ngcc/src/packages/bundle_program.d.ts +1 -1
- package/ngcc/src/packages/configuration.d.ts +41 -4
- package/ngcc/src/packages/entry_point_bundle.d.ts +1 -1
- package/ngcc/src/packages/ngcc_compiler_host.d.ts +1 -1
- package/ngcc/src/packages/source_file_cache.d.ts +1 -1
- package/ngcc/src/packages/transformer.d.ts +1 -1
- package/ngcc/src/rendering/commonjs_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/dts_renderer.d.ts +1 -1
- package/ngcc/src/rendering/esm5_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/esm_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/renderer.d.ts +1 -1
- package/ngcc/src/rendering/rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/source_maps.d.ts +3 -3
- package/ngcc/src/rendering/umd_rendering_formatter.d.ts +1 -1
- package/ngcc/src/rendering/utils.d.ts +1 -1
- package/ngcc/src/utils.d.ts +1 -1
- package/package.json +52 -11
- package/private/bazel.d.ts +13 -0
- package/private/localize.d.ts +15 -0
- package/private/migrations.d.ts +16 -0
- package/{src → private}/tooling.d.ts +2 -2
- package/src/bin/ng_xi18n.d.ts +10 -0
- package/{ngcc/main-ivy-ngcc.d.ts → src/bin/ngc.d.ts} +2 -1
- package/src/diagnostics/translate_diagnostics.d.ts +1 -1
- package/src/extract_i18n.d.ts +0 -5
- package/src/main.d.ts +6 -6
- package/src/metadata/bundle_index_host.d.ts +1 -1
- package/src/metadata/bundler.d.ts +1 -1
- package/src/metadata/collector.d.ts +1 -1
- package/src/metadata/evaluator.d.ts +1 -1
- package/src/metadata/symbols.d.ts +1 -1
- package/src/ngtsc/annotations/src/component.d.ts +14 -1
- package/src/ngtsc/annotations/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/annotations/src/directive.d.ts +1 -1
- package/src/ngtsc/annotations/src/metadata.d.ts +2 -2
- package/src/ngtsc/annotations/src/ng_module.d.ts +2 -4
- package/src/ngtsc/annotations/src/pipe.d.ts +1 -1
- package/src/ngtsc/annotations/src/util.d.ts +2 -4
- package/src/ngtsc/core/api/src/adapter.d.ts +1 -1
- package/src/ngtsc/core/api/src/interfaces.d.ts +1 -12
- package/src/ngtsc/core/api/src/options.d.ts +1 -1
- package/src/ngtsc/core/src/compiler.d.ts +2 -8
- package/src/ngtsc/core/src/host.d.ts +1 -1
- package/src/ngtsc/cycles/src/analyzer.d.ts +1 -1
- package/src/ngtsc/cycles/src/imports.d.ts +1 -1
- package/src/ngtsc/diagnostics/src/error.d.ts +1 -1
- package/src/ngtsc/entry_point/src/generator.d.ts +1 -1
- package/src/ngtsc/entry_point/src/private_export_checker.d.ts +1 -1
- package/src/ngtsc/file_system/src/compiler_host.d.ts +1 -1
- package/src/ngtsc/file_system/src/logical.d.ts +1 -1
- package/src/ngtsc/file_system/src/util.d.ts +1 -1
- package/src/ngtsc/imports/src/alias.d.ts +1 -1
- package/src/ngtsc/imports/src/default.d.ts +1 -1
- package/src/ngtsc/imports/src/emitter.d.ts +1 -1
- package/src/ngtsc/imports/src/find_export.d.ts +1 -1
- package/src/ngtsc/imports/src/references.d.ts +1 -1
- package/src/ngtsc/imports/src/resolver.d.ts +1 -1
- package/src/ngtsc/incremental/api.d.ts +1 -1
- package/src/ngtsc/incremental/src/dependency_tracking.d.ts +1 -1
- package/src/ngtsc/incremental/src/incremental.d.ts +1 -1
- package/src/ngtsc/incremental/src/state.d.ts +1 -1
- package/src/ngtsc/incremental/src/strategy.d.ts +1 -1
- package/src/ngtsc/indexer/src/api.d.ts +5 -2
- package/src/ngtsc/metadata/src/api.d.ts +1 -1
- package/src/ngtsc/metadata/src/dts.d.ts +1 -1
- package/src/ngtsc/metadata/src/resource_registry.d.ts +1 -1
- package/src/ngtsc/metadata/src/util.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/index.d.ts +1 -0
- package/src/ngtsc/partial_evaluator/src/builtin.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/dynamic.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/interface.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/interpreter.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/result.d.ts +1 -1
- package/src/ngtsc/partial_evaluator/src/ts_helpers.d.ts +1 -1
- package/src/ngtsc/program.d.ts +1 -1
- package/src/ngtsc/program_driver/src/api.d.ts +1 -1
- package/src/ngtsc/program_driver/src/ts_create_program_driver.d.ts +1 -1
- package/src/ngtsc/reflection/src/host.d.ts +1 -1
- package/src/ngtsc/reflection/src/type_to_value.d.ts +1 -1
- package/src/ngtsc/reflection/src/typescript.d.ts +1 -1
- package/src/ngtsc/reflection/src/util.d.ts +1 -1
- package/src/ngtsc/resource/src/loader.d.ts +1 -1
- package/src/ngtsc/scope/src/local.d.ts +1 -1
- package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
- package/src/ngtsc/shims/api.d.ts +1 -1
- package/src/ngtsc/shims/src/adapter.d.ts +1 -1
- package/src/ngtsc/shims/src/expando.d.ts +1 -1
- package/src/ngtsc/shims/src/factory_generator.d.ts +1 -1
- package/src/ngtsc/shims/src/reference_tagger.d.ts +1 -1
- package/src/ngtsc/shims/src/summary_generator.d.ts +1 -1
- package/src/ngtsc/switch/src/switch.d.ts +1 -1
- package/src/ngtsc/transform/src/alias.d.ts +1 -1
- package/src/ngtsc/transform/src/api.d.ts +1 -1
- package/src/ngtsc/transform/src/compilation.d.ts +1 -1
- package/src/ngtsc/transform/src/declaration.d.ts +1 -1
- package/src/ngtsc/transform/src/trait.d.ts +1 -1
- package/src/ngtsc/transform/src/transform.d.ts +1 -1
- package/src/ngtsc/transform/src/utils.d.ts +1 -1
- package/src/ngtsc/translator/src/import_manager.d.ts +1 -1
- package/src/ngtsc/translator/src/translator.d.ts +0 -1
- package/src/ngtsc/translator/src/type_translator.d.ts +1 -2
- package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -1
- package/src/ngtsc/translator/src/typescript_translator.d.ts +1 -1
- package/src/ngtsc/tsc_plugin.d.ts +1 -1
- package/src/ngtsc/typecheck/api/api.d.ts +1 -1
- package/src/ngtsc/typecheck/api/checker.d.ts +8 -5
- package/src/ngtsc/typecheck/api/context.d.ts +1 -1
- package/src/ngtsc/typecheck/api/scope.d.ts +1 -1
- package/src/ngtsc/typecheck/api/symbols.d.ts +1 -1
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/api/api.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/api/extended_template_checker.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.d.ts +1 -1
- package/src/ngtsc/typecheck/extended/src/extended_template_checker.d.ts +1 -1
- package/src/ngtsc/typecheck/src/checker.d.ts +5 -5
- package/src/ngtsc/typecheck/src/comments.d.ts +1 -1
- package/src/ngtsc/typecheck/src/completion.d.ts +4 -6
- package/src/ngtsc/typecheck/src/context.d.ts +1 -1
- package/src/ngtsc/typecheck/src/diagnostics.d.ts +1 -1
- package/src/ngtsc/typecheck/src/environment.d.ts +1 -1
- package/src/ngtsc/typecheck/src/expression.d.ts +1 -1
- package/src/ngtsc/typecheck/src/oob.d.ts +3 -4
- package/src/ngtsc/typecheck/src/shim.d.ts +1 -1
- package/src/ngtsc/typecheck/src/source.d.ts +1 -1
- package/src/ngtsc/typecheck/src/tcb_util.d.ts +1 -1
- package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +1 -1
- package/src/ngtsc/typecheck/src/ts_util.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_constructor.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_emitter.d.ts +1 -1
- package/src/ngtsc/typecheck/src/type_parameter_emitter.d.ts +1 -1
- package/src/ngtsc/util/src/typescript.d.ts +1 -1
- package/src/ngtsc/util/src/visitor.d.ts +1 -1
- package/src/perform_compile.d.ts +1 -1
- package/src/perform_watch.d.ts +1 -1
- package/src/transformers/api.d.ts +2 -5
- package/src/transformers/compiler_host.d.ts +1 -1
- package/src/transformers/{downlevel_decorators_transform.d.ts → downlevel_decorators_transform/downlevel_decorators_transform.d.ts} +3 -3
- package/src/{ngtsc/routing → transformers/downlevel_decorators_transform}/index.d.ts +2 -3
- package/src/transformers/{patch_alias_reference_resolution.d.ts → downlevel_decorators_transform/patch_alias_reference_resolution.d.ts} +2 -2
- package/src/transformers/i18n.d.ts +1 -1
- package/src/transformers/inline_resources.d.ts +1 -1
- package/src/transformers/lower_expressions.d.ts +1 -1
- package/src/transformers/metadata_cache.d.ts +1 -1
- package/src/transformers/node_emitter.d.ts +2 -3
- package/src/transformers/node_emitter_transform.d.ts +1 -1
- package/src/transformers/program.d.ts +1 -1
- package/src/transformers/r3_metadata_transform.d.ts +1 -1
- package/src/transformers/r3_transform.d.ts +1 -1
- package/src/transformers/util.d.ts +1 -1
- package/index.js +0 -40
- package/linker/babel/index.js +0 -25
- package/linker/babel/src/ast/babel_ast_factory.js +0 -153
- package/linker/babel/src/ast/babel_ast_host.js +0 -181
- package/linker/babel/src/babel_declaration_scope.js +0 -67
- package/linker/babel/src/babel_plugin.js +0 -38
- package/linker/babel/src/es2015_linker_plugin.js +0 -183
- package/linker/babel/src/linker_plugin_options.js +0 -13
- package/linker/index.js +0 -27
- package/linker/src/ast/ast_host.js +0 -20
- package/linker/src/ast/ast_value.js +0 -299
- package/linker/src/ast/typescript/typescript_ast_host.js +0 -183
- package/linker/src/ast/utils.js +0 -31
- package/linker/src/fatal_linker_error.js +0 -49
- package/linker/src/file_linker/declaration_scope.js +0 -20
- package/linker/src/file_linker/emit_scopes/emit_scope.js +0 -57
- package/linker/src/file_linker/emit_scopes/iife_emit_scope.js +0 -51
- package/linker/src/file_linker/file_linker.js +0 -97
- package/linker/src/file_linker/get_source_file.js +0 -42
- package/linker/src/file_linker/linker_environment.js +0 -38
- package/linker/src/file_linker/linker_options.js +0 -29
- package/linker/src/file_linker/needs_linking.js +0 -41
- package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.js +0 -47
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.js +0 -210
- package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.js +0 -154
- package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.js +0 -70
- package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.js +0 -74
- package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.js +0 -56
- package/linker/src/file_linker/partial_linkers/partial_linker.js +0 -13
- package/linker/src/file_linker/partial_linkers/partial_linker_selector.js +0 -194
- package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.js +0 -126
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.js +0 -59
- package/linker/src/file_linker/partial_linkers/util.js +0 -95
- package/linker/src/file_linker/translator.js +0 -40
- package/linker/src/linker_import_generator.js +0 -43
- package/ngcc/index.js +0 -33
- package/ngcc/main-ivy-ngcc.js +0 -12
- package/ngcc/main-ngcc.js +0 -54
- package/ngcc/src/analysis/decoration_analyzer.js +0 -268
- package/ngcc/src/analysis/migration_host.js +0 -108
- package/ngcc/src/analysis/module_with_providers_analyzer.js +0 -197
- package/ngcc/src/analysis/ngcc_references_registry.js +0 -65
- package/ngcc/src/analysis/ngcc_trait_compiler.js +0 -117
- package/ngcc/src/analysis/private_declarations_analyzer.js +0 -63
- package/ngcc/src/analysis/switch_marker_analyzer.js +0 -50
- package/ngcc/src/analysis/types.js +0 -15
- package/ngcc/src/analysis/util.js +0 -36
- package/ngcc/src/command_line_options.js +0 -156
- package/ngcc/src/constants.js +0 -23
- package/ngcc/src/dependencies/commonjs_dependency_host.js +0 -129
- package/ngcc/src/dependencies/dependency_host.js +0 -143
- package/ngcc/src/dependencies/dependency_resolver.js +0 -180
- package/ngcc/src/dependencies/dts_dependency_host.js +0 -35
- package/ngcc/src/dependencies/esm_dependency_host.js +0 -307
- package/ngcc/src/dependencies/module_resolver.js +0 -269
- package/ngcc/src/dependencies/umd_dependency_host.js +0 -53
- package/ngcc/src/entry_point_finder/directory_walker_entry_point_finder.js +0 -70
- package/ngcc/src/entry_point_finder/entry_point_collector.js +0 -157
- package/ngcc/src/entry_point_finder/interface.js +0 -13
- package/ngcc/src/entry_point_finder/program_based_entry_point_finder.js +0 -132
- package/ngcc/src/entry_point_finder/targeted_entry_point_finder.js +0 -268
- package/ngcc/src/entry_point_finder/tracing_entry_point_finder.js +0 -78
- package/ngcc/src/entry_point_finder/utils.js +0 -234
- package/ngcc/src/execution/analyze_entry_points.js +0 -197
- package/ngcc/src/execution/api.js +0 -13
- package/ngcc/src/execution/cluster/api.js +0 -20
- package/ngcc/src/execution/cluster/executor.js +0 -52
- package/ngcc/src/execution/cluster/master.js +0 -311
- package/ngcc/src/execution/cluster/package_json_updater.js +0 -79
- package/ngcc/src/execution/cluster/utils.js +0 -77
- package/ngcc/src/execution/cluster/worker.js +0 -123
- package/ngcc/src/execution/create_compile_function.js +0 -76
- package/ngcc/src/execution/single_process_executor.js +0 -91
- package/ngcc/src/execution/tasks/api.js +0 -35
- package/ngcc/src/execution/tasks/completion.js +0 -79
- package/ngcc/src/execution/tasks/queues/base_task_queue.js +0 -120
- package/ngcc/src/execution/tasks/queues/parallel_task_queue.js +0 -87
- package/ngcc/src/execution/tasks/queues/serial_task_queue.js +0 -49
- package/ngcc/src/execution/tasks/utils.js +0 -167
- package/ngcc/src/host/commonjs_host.js +0 -261
- package/ngcc/src/host/commonjs_umd_utils.js +0 -210
- package/ngcc/src/host/delegating_host.js +0 -156
- package/ngcc/src/host/esm2015_host.js +0 -2441
- package/ngcc/src/host/esm5_host.js +0 -744
- package/ngcc/src/host/ngcc_host.js +0 -29
- package/ngcc/src/host/umd_host.js +0 -539
- package/ngcc/src/host/utils.js +0 -26
- package/ngcc/src/locking/async_locker.js +0 -121
- package/ngcc/src/locking/lock_file.js +0 -18
- package/ngcc/src/locking/lock_file_with_child_process/index.js +0 -93
- package/ngcc/src/locking/lock_file_with_child_process/unlocker.js +0 -46
- package/ngcc/src/locking/lock_file_with_child_process/util.js +0 -43
- package/ngcc/src/locking/sync_locker.js +0 -67
- package/ngcc/src/main.js +0 -163
- package/ngcc/src/migrations/migration.js +0 -13
- package/ngcc/src/migrations/missing_injectable_migration.js +0 -227
- package/ngcc/src/migrations/undecorated_child_migration.js +0 -90
- package/ngcc/src/migrations/undecorated_parent_migration.js +0 -103
- package/ngcc/src/migrations/utils.js +0 -137
- package/ngcc/src/ngcc_options.js +0 -135
- package/ngcc/src/packages/build_marker.js +0 -124
- package/ngcc/src/packages/bundle_program.js +0 -80
- package/ngcc/src/packages/configuration.js +0 -277
- package/ngcc/src/packages/entry_point.js +0 -267
- package/ngcc/src/packages/entry_point_bundle.js +0 -96
- package/ngcc/src/packages/entry_point_manifest.js +0 -207
- package/ngcc/src/packages/ngcc_compiler_host.js +0 -101
- package/ngcc/src/packages/patch_ts_expando_initializer.js +0 -174
- package/ngcc/src/packages/source_file_cache.js +0 -207
- package/ngcc/src/packages/transformer.js +0 -157
- package/ngcc/src/path_mappings.js +0 -27
- package/ngcc/src/rendering/commonjs_rendering_formatter.js +0 -106
- package/ngcc/src/rendering/dts_renderer.js +0 -170
- package/ngcc/src/rendering/esm5_rendering_formatter.js +0 -70
- package/ngcc/src/rendering/esm_rendering_formatter.js +0 -291
- package/ngcc/src/rendering/ngcc_import_rewriter.js +0 -49
- package/ngcc/src/rendering/renderer.js +0 -204
- package/ngcc/src/rendering/rendering_formatter.js +0 -15
- package/ngcc/src/rendering/source_maps.js +0 -68
- package/ngcc/src/rendering/umd_rendering_formatter.js +0 -326
- package/ngcc/src/rendering/utils.js +0 -35
- package/ngcc/src/utils.js +0 -182
- package/ngcc/src/writing/cleaning/cleaning_strategies.js +0 -80
- package/ngcc/src/writing/cleaning/package_cleaner.js +0 -126
- package/ngcc/src/writing/cleaning/utils.js +0 -30
- package/ngcc/src/writing/file_writer.js +0 -13
- package/ngcc/src/writing/in_place_file_writer.js +0 -90
- package/ngcc/src/writing/new_entry_point_file_writer.js +0 -214
- package/ngcc/src/writing/package_json_updater.js +0 -182
- package/src/diagnostics/translate_diagnostics.js +0 -61
- package/src/diagnostics/typescript_version.js +0 -96
- package/src/extract_i18n.js +0 -62
- package/src/language_services.js +0 -34
- package/src/main.js +0 -210
- package/src/metadata/bundle_index_host.js +0 -133
- package/src/metadata/bundler.js +0 -624
- package/src/metadata/collector.js +0 -799
- package/src/metadata/evaluator.js +0 -677
- package/src/metadata/index.js +0 -24
- package/src/metadata/index_writer.js +0 -80
- package/src/metadata/schema.js +0 -136
- package/src/metadata/symbols.js +0 -149
- package/src/ngtsc/annotations/index.js +0 -35
- package/src/ngtsc/annotations/src/api.js +0 -20
- package/src/ngtsc/annotations/src/component.js +0 -1286
- package/src/ngtsc/annotations/src/diagnostics.js +0 -174
- package/src/ngtsc/annotations/src/directive.js +0 -724
- package/src/ngtsc/annotations/src/factory.js +0 -32
- package/src/ngtsc/annotations/src/injectable.js +0 -277
- package/src/ngtsc/annotations/src/metadata.js +0 -159
- package/src/ngtsc/annotations/src/ng_module.js +0 -677
- package/src/ngtsc/annotations/src/pipe.js +0 -171
- package/src/ngtsc/annotations/src/references_registry.js +0 -38
- package/src/ngtsc/annotations/src/util.js +0 -566
- package/src/ngtsc/core/api/index.js +0 -25
- package/src/ngtsc/core/api/src/adapter.js +0 -20
- package/src/ngtsc/core/api/src/interfaces.js +0 -20
- package/src/ngtsc/core/api/src/options.js +0 -20
- package/src/ngtsc/core/api/src/public_options.js +0 -20
- package/src/ngtsc/core/index.js +0 -25
- package/src/ngtsc/core/src/compiler.js +0 -1142
- package/src/ngtsc/core/src/host.js +0 -273
- package/src/ngtsc/cycles/index.js +0 -26
- package/src/ngtsc/cycles/src/analyzer.js +0 -163
- package/src/ngtsc/cycles/src/imports.js +0 -175
- package/src/ngtsc/diagnostics/index.js +0 -33
- package/src/ngtsc/diagnostics/src/error.js +0 -69
- package/src/ngtsc/diagnostics/src/error_code.js +0 -235
- package/src/ngtsc/diagnostics/src/util.js +0 -35
- package/src/ngtsc/entry_point/index.js +0 -29
- package/src/ngtsc/entry_point/src/generator.js +0 -45
- package/src/ngtsc/entry_point/src/logic.js +0 -61
- package/src/ngtsc/entry_point/src/private_export_checker.js +0 -137
- package/src/ngtsc/entry_point/src/reference_graph.js +0 -91
- package/src/ngtsc/file_system/index.js +0 -45
- package/src/ngtsc/file_system/src/compiler_host.js +0 -80
- package/src/ngtsc/file_system/src/helpers.js +0 -135
- package/src/ngtsc/file_system/src/invalid_file_system.js +0 -120
- package/src/ngtsc/file_system/src/logical.js +0 -100
- package/src/ngtsc/file_system/src/node_js_file_system.js +0 -179
- package/src/ngtsc/file_system/src/types.js +0 -20
- package/src/ngtsc/file_system/src/util.js +0 -38
- package/src/ngtsc/file_system/testing/index.d.ts +0 -13
- package/src/ngtsc/file_system/testing/index.js +0 -32
- package/src/ngtsc/file_system/testing/src/mock_file_system.d.ts +0 -72
- package/src/ngtsc/file_system/testing/src/mock_file_system.js +0 -333
- package/src/ngtsc/file_system/testing/src/mock_file_system_native.d.ts +0 -16
- package/src/ngtsc/file_system/testing/src/mock_file_system_native.js +0 -85
- package/src/ngtsc/file_system/testing/src/mock_file_system_posix.d.ts +0 -13
- package/src/ngtsc/file_system/testing/src/mock_file_system_posix.js +0 -68
- package/src/ngtsc/file_system/testing/src/mock_file_system_windows.d.ts +0 -13
- package/src/ngtsc/file_system/testing/src/mock_file_system_windows.js +0 -68
- package/src/ngtsc/file_system/testing/src/test_helper.d.ts +0 -17
- package/src/ngtsc/file_system/testing/src/test_helper.js +0 -142
- package/src/ngtsc/imports/index.js +0 -43
- package/src/ngtsc/imports/src/alias.js +0 -158
- package/src/ngtsc/imports/src/core.js +0 -98
- package/src/ngtsc/imports/src/default.js +0 -153
- package/src/ngtsc/imports/src/emitter.js +0 -317
- package/src/ngtsc/imports/src/find_export.js +0 -82
- package/src/ngtsc/imports/src/reexport.js +0 -20
- package/src/ngtsc/imports/src/references.js +0 -171
- package/src/ngtsc/imports/src/resolver.js +0 -39
- package/src/ngtsc/incremental/api.js +0 -20
- package/src/ngtsc/incremental/index.js +0 -29
- package/src/ngtsc/incremental/semantic_graph/index.js +0 -34
- package/src/ngtsc/incremental/semantic_graph/src/api.js +0 -51
- package/src/ngtsc/incremental/semantic_graph/src/graph.js +0 -302
- package/src/ngtsc/incremental/semantic_graph/src/type_parameters.js +0 -55
- package/src/ngtsc/incremental/semantic_graph/src/util.js +0 -111
- package/src/ngtsc/incremental/src/dependency_tracking.js +0 -165
- package/src/ngtsc/incremental/src/incremental.js +0 -393
- package/src/ngtsc/incremental/src/noop.js +0 -26
- package/src/ngtsc/incremental/src/state.js +0 -30
- package/src/ngtsc/incremental/src/strategy.js +0 -99
- package/src/ngtsc/indexer/index.js +0 -27
- package/src/ngtsc/indexer/src/api.js +0 -45
- package/src/ngtsc/indexer/src/context.js +0 -40
- package/src/ngtsc/indexer/src/template.js +0 -328
- package/src/ngtsc/indexer/src/transform.js +0 -66
- package/src/ngtsc/logging/index.js +0 -25
- package/src/ngtsc/logging/src/console_logger.js +0 -75
- package/src/ngtsc/logging/src/logger.js +0 -28
- package/src/ngtsc/logging/testing/index.js +0 -23
- package/src/ngtsc/logging/testing/src/mock_logger.d.ts +0 -20
- package/src/ngtsc/logging/testing/src/mock_logger.js +0 -64
- package/src/ngtsc/metadata/index.js +0 -39
- package/src/ngtsc/metadata/src/api.js +0 -26
- package/src/ngtsc/metadata/src/dts.js +0 -168
- package/src/ngtsc/metadata/src/inheritance.js +0 -122
- package/src/ngtsc/metadata/src/property_mapping.js +0 -244
- package/src/ngtsc/metadata/src/registry.js +0 -133
- package/src/ngtsc/metadata/src/resource_registry.js +0 -109
- package/src/ngtsc/metadata/src/util.js +0 -275
- package/src/ngtsc/partial_evaluator/index.js +0 -31
- package/src/ngtsc/partial_evaluator/src/builtin.js +0 -125
- package/src/ngtsc/partial_evaluator/src/diagnostics.js +0 -193
- package/src/ngtsc/partial_evaluator/src/dynamic.js +0 -109
- package/src/ngtsc/partial_evaluator/src/interface.js +0 -42
- package/src/ngtsc/partial_evaluator/src/interpreter.js +0 -780
- package/src/ngtsc/partial_evaluator/src/known_declaration.js +0 -57
- package/src/ngtsc/partial_evaluator/src/result.js +0 -72
- package/src/ngtsc/partial_evaluator/src/ts_helpers.js +0 -121
- package/src/ngtsc/perf/index.js +0 -28
- package/src/ngtsc/perf/src/api.js +0 -291
- package/src/ngtsc/perf/src/clock.js +0 -30
- package/src/ngtsc/perf/src/noop.js +0 -37
- package/src/ngtsc/perf/src/recorder.js +0 -143
- package/src/ngtsc/program.js +0 -360
- package/src/ngtsc/program_driver/index.js +0 -25
- package/src/ngtsc/program_driver/src/api.js +0 -36
- package/src/ngtsc/program_driver/src/ts_create_program_driver.js +0 -200
- package/src/ngtsc/reflection/index.js +0 -36
- package/src/ngtsc/reflection/src/host.js +0 -88
- package/src/ngtsc/reflection/src/type_to_value.js +0 -259
- package/src/ngtsc/reflection/src/typescript.js +0 -640
- package/src/ngtsc/reflection/src/util.js +0 -37
- package/src/ngtsc/resource/index.js +0 -23
- package/src/ngtsc/resource/src/loader.js +0 -285
- package/src/ngtsc/routing/index.js +0 -26
- package/src/ngtsc/routing/src/analyzer.d.ts +0 -37
- package/src/ngtsc/routing/src/analyzer.js +0 -82
- package/src/ngtsc/routing/src/lazy.d.ts +0 -19
- package/src/ngtsc/routing/src/lazy.js +0 -239
- package/src/ngtsc/routing/src/route.d.ts +0 -23
- package/src/ngtsc/routing/src/route.js +0 -77
- package/src/ngtsc/scope/index.js +0 -29
- package/src/ngtsc/scope/src/api.js +0 -20
- package/src/ngtsc/scope/src/component_scope.js +0 -69
- package/src/ngtsc/scope/src/dependency.js +0 -201
- package/src/ngtsc/scope/src/local.js +0 -665
- package/src/ngtsc/scope/src/typecheck.js +0 -120
- package/src/ngtsc/shims/api.js +0 -13
- package/src/ngtsc/shims/index.js +0 -39
- package/src/ngtsc/shims/src/adapter.js +0 -266
- package/src/ngtsc/shims/src/expando.js +0 -147
- package/src/ngtsc/shims/src/factory_generator.js +0 -292
- package/src/ngtsc/shims/src/reference_tagger.js +0 -94
- package/src/ngtsc/shims/src/summary_generator.js +0 -101
- package/src/ngtsc/shims/src/util.js +0 -41
- package/src/ngtsc/sourcemaps/index.js +0 -27
- package/src/ngtsc/sourcemaps/src/content_origin.js +0 -48
- package/src/ngtsc/sourcemaps/src/raw_source_map.js +0 -13
- package/src/ngtsc/sourcemaps/src/segment_marker.js +0 -55
- package/src/ngtsc/sourcemaps/src/source_file.js +0 -519
- package/src/ngtsc/sourcemaps/src/source_file_loader.js +0 -234
- package/src/ngtsc/switch/index.js +0 -23
- package/src/ngtsc/switch/src/switch.js +0 -141
- package/src/ngtsc/transform/index.js +0 -36
- package/src/ngtsc/transform/src/alias.js +0 -46
- package/src/ngtsc/transform/src/api.js +0 -76
- package/src/ngtsc/transform/src/compilation.js +0 -862
- package/src/ngtsc/transform/src/declaration.js +0 -234
- package/src/ngtsc/transform/src/trait.js +0 -111
- package/src/ngtsc/transform/src/transform.js +0 -333
- package/src/ngtsc/transform/src/utils.js +0 -73
- package/src/ngtsc/translator/index.js +0 -37
- package/src/ngtsc/translator/src/api/ast_factory.js +0 -20
- package/src/ngtsc/translator/src/api/import_generator.js +0 -20
- package/src/ngtsc/translator/src/context.js +0 -47
- package/src/ngtsc/translator/src/import_manager.js +0 -77
- package/src/ngtsc/translator/src/translator.js +0 -353
- package/src/ngtsc/translator/src/type_translator.js +0 -223
- package/src/ngtsc/translator/src/typescript_ast_factory.js +0 -251
- package/src/ngtsc/translator/src/typescript_translator.js +0 -34
- package/src/ngtsc/tsc_plugin.js +0 -129
- package/src/ngtsc/typecheck/api/api.js +0 -20
- package/src/ngtsc/typecheck/api/checker.js +0 -44
- package/src/ngtsc/typecheck/api/completion.js +0 -29
- package/src/ngtsc/typecheck/api/context.js +0 -20
- package/src/ngtsc/typecheck/api/index.js +0 -27
- package/src/ngtsc/typecheck/api/scope.js +0 -20
- package/src/ngtsc/typecheck/api/symbols.js +0 -35
- package/src/ngtsc/typecheck/diagnostics/index.js +0 -23
- package/src/ngtsc/typecheck/diagnostics/src/diagnostic.js +0 -141
- package/src/ngtsc/typecheck/diagnostics/src/id.js +0 -37
- package/src/ngtsc/typecheck/extended/api/api.js +0 -124
- package/src/ngtsc/typecheck/extended/api/extended_template_checker.js +0 -20
- package/src/ngtsc/typecheck/extended/api/index.js +0 -23
- package/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.js +0 -52
- package/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.js +0 -64
- package/src/ngtsc/typecheck/extended/index.js +0 -23
- package/src/ngtsc/typecheck/extended/src/extended_template_checker.js +0 -55
- package/src/ngtsc/typecheck/index.js +0 -29
- package/src/ngtsc/typecheck/src/checker.js +0 -764
- package/src/ngtsc/typecheck/src/comments.js +0 -181
- package/src/ngtsc/typecheck/src/completion.js +0 -232
- package/src/ngtsc/typecheck/src/context.js +0 -424
- package/src/ngtsc/typecheck/src/diagnostics.js +0 -114
- package/src/ngtsc/typecheck/src/dom.js +0 -87
- package/src/ngtsc/typecheck/src/environment.js +0 -160
- package/src/ngtsc/typecheck/src/expression.js +0 -441
- package/src/ngtsc/typecheck/src/line_mappings.js +0 -77
- package/src/ngtsc/typecheck/src/oob.js +0 -181
- package/src/ngtsc/typecheck/src/shim.js +0 -52
- package/src/ngtsc/typecheck/src/source.js +0 -91
- package/src/ngtsc/typecheck/src/tcb_util.js +0 -165
- package/src/ngtsc/typecheck/src/template_semantics.js +0 -52
- package/src/ngtsc/typecheck/src/template_symbol_builder.js +0 -546
- package/src/ngtsc/typecheck/src/ts_util.js +0 -202
- package/src/ngtsc/typecheck/src/type_check_block.js +0 -2210
- package/src/ngtsc/typecheck/src/type_check_file.js +0 -115
- package/src/ngtsc/typecheck/src/type_constructor.js +0 -255
- package/src/ngtsc/typecheck/src/type_emitter.js +0 -164
- package/src/ngtsc/typecheck/src/type_parameter_emitter.js +0 -115
- package/src/ngtsc/util/src/path.js +0 -33
- package/src/ngtsc/util/src/typescript.js +0 -176
- package/src/ngtsc/util/src/visitor.js +0 -119
- package/src/ngtsc/xi18n/index.js +0 -22
- package/src/ngtsc/xi18n/src/context.js +0 -20
- package/src/perform_compile.js +0 -322
- package/src/perform_watch.js +0 -263
- package/src/tooling.js +0 -47
- package/src/transformers/api.js +0 -42
- package/src/transformers/compiler_host.js +0 -623
- package/src/transformers/downlevel_decorators_transform.js +0 -612
- package/src/transformers/entry_points.js +0 -25
- package/src/transformers/i18n.js +0 -76
- package/src/transformers/inline_resources.js +0 -287
- package/src/transformers/lower_expressions.js +0 -365
- package/src/transformers/metadata_cache.js +0 -96
- package/src/transformers/metadata_reader.js +0 -120
- package/src/transformers/node_emitter.js +0 -643
- package/src/transformers/node_emitter_transform.js +0 -88
- package/src/transformers/patch_alias_reference_resolution.js +0 -129
- package/src/transformers/program.js +0 -1000
- package/src/transformers/r3_metadata_transform.js +0 -73
- package/src/transformers/r3_transform.js +0 -44
- package/src/transformers/util.js +0 -122
- package/src/typescript_support.js +0 -74
- package/src/version.js +0 -28
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
(function (factory) {
|
|
2
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
-
var v = factory(require, exports);
|
|
4
|
-
if (v !== undefined) module.exports = v;
|
|
5
|
-
}
|
|
6
|
-
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define("@angular/compiler-cli/src/ngtsc/sourcemaps/src/source_file_loader", ["require", "exports", "tslib", "convert-source-map", "@angular/compiler-cli/src/ngtsc/sourcemaps/src/content_origin", "@angular/compiler-cli/src/ngtsc/sourcemaps/src/source_file"], factory);
|
|
8
|
-
}
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SourceFileLoader = void 0;
|
|
13
|
-
var tslib_1 = require("tslib");
|
|
14
|
-
/**
|
|
15
|
-
* @license
|
|
16
|
-
* Copyright Google LLC All Rights Reserved.
|
|
17
|
-
*
|
|
18
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
19
|
-
* found in the LICENSE file at https://angular.io/license
|
|
20
|
-
*/
|
|
21
|
-
var convert_source_map_1 = require("convert-source-map");
|
|
22
|
-
var content_origin_1 = require("@angular/compiler-cli/src/ngtsc/sourcemaps/src/content_origin");
|
|
23
|
-
var source_file_1 = require("@angular/compiler-cli/src/ngtsc/sourcemaps/src/source_file");
|
|
24
|
-
var SCHEME_MATCHER = /^([a-z][a-z0-9.-]*):\/\//i;
|
|
25
|
-
/**
|
|
26
|
-
* This class can be used to load a source file, its associated source map and any upstream sources.
|
|
27
|
-
*
|
|
28
|
-
* Since a source file might reference (or include) a source map, this class can load those too.
|
|
29
|
-
* Since a source map might reference other source files, these are also loaded as needed.
|
|
30
|
-
*
|
|
31
|
-
* This is done recursively. The result is a "tree" of `SourceFile` objects, each containing
|
|
32
|
-
* mappings to other `SourceFile` objects as necessary.
|
|
33
|
-
*/
|
|
34
|
-
var SourceFileLoader = /** @class */ (function () {
|
|
35
|
-
function SourceFileLoader(fs, logger,
|
|
36
|
-
/** A map of URL schemes to base paths. The scheme name should be lowercase. */
|
|
37
|
-
schemeMap) {
|
|
38
|
-
this.fs = fs;
|
|
39
|
-
this.logger = logger;
|
|
40
|
-
this.schemeMap = schemeMap;
|
|
41
|
-
this.currentPaths = [];
|
|
42
|
-
}
|
|
43
|
-
SourceFileLoader.prototype.loadSourceFile = function (sourcePath, contents, mapAndPath) {
|
|
44
|
-
if (contents === void 0) { contents = null; }
|
|
45
|
-
if (mapAndPath === void 0) { mapAndPath = null; }
|
|
46
|
-
var contentsOrigin = contents !== null ? content_origin_1.ContentOrigin.Provided : content_origin_1.ContentOrigin.FileSystem;
|
|
47
|
-
var sourceMapInfo = mapAndPath && tslib_1.__assign({ origin: content_origin_1.ContentOrigin.Provided }, mapAndPath);
|
|
48
|
-
return this.loadSourceFileInternal(sourcePath, contents, contentsOrigin, sourceMapInfo);
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* The overload used internally to load source files referenced in a source-map.
|
|
52
|
-
*
|
|
53
|
-
* In this case there is no guarantee that it will return a non-null SourceMap.
|
|
54
|
-
*
|
|
55
|
-
* @param sourcePath The path to the source file to load.
|
|
56
|
-
* @param contents The contents of the source file to load, if provided inline. If `null`,
|
|
57
|
-
* the contents will be read from the file at the `sourcePath`.
|
|
58
|
-
* @param sourceOrigin Describes where the source content came from.
|
|
59
|
-
* @param sourceMapInfo The raw contents and path of the source-map file. If `null` the
|
|
60
|
-
* source-map will be computed from the contents of the source file, either inline or loaded
|
|
61
|
-
* from the file-system.
|
|
62
|
-
*
|
|
63
|
-
* @returns a SourceFile if the content for one was provided or was able to be loaded from disk,
|
|
64
|
-
* `null` otherwise.
|
|
65
|
-
*/
|
|
66
|
-
SourceFileLoader.prototype.loadSourceFileInternal = function (sourcePath, contents, sourceOrigin, sourceMapInfo) {
|
|
67
|
-
var previousPaths = this.currentPaths.slice();
|
|
68
|
-
try {
|
|
69
|
-
if (contents === null) {
|
|
70
|
-
if (!this.fs.exists(sourcePath)) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
contents = this.readSourceFile(sourcePath);
|
|
74
|
-
}
|
|
75
|
-
// If not provided try to load the source map based on the source itself
|
|
76
|
-
if (sourceMapInfo === null) {
|
|
77
|
-
sourceMapInfo = this.loadSourceMap(sourcePath, contents, sourceOrigin);
|
|
78
|
-
}
|
|
79
|
-
var sources = [];
|
|
80
|
-
if (sourceMapInfo !== null) {
|
|
81
|
-
var basePath = sourceMapInfo.mapPath || sourcePath;
|
|
82
|
-
sources = this.processSources(basePath, sourceMapInfo);
|
|
83
|
-
}
|
|
84
|
-
return new source_file_1.SourceFile(sourcePath, contents, sourceMapInfo, sources, this.fs);
|
|
85
|
-
}
|
|
86
|
-
catch (e) {
|
|
87
|
-
this.logger.warn("Unable to fully load " + sourcePath + " for source-map flattening: " + e.message);
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
finally {
|
|
91
|
-
// We are finished with this recursion so revert the paths being tracked
|
|
92
|
-
this.currentPaths = previousPaths;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Find the source map associated with the source file whose `sourcePath` and `contents` are
|
|
97
|
-
* provided.
|
|
98
|
-
*
|
|
99
|
-
* Source maps can be inline, as part of a base64 encoded comment, or external as a separate file
|
|
100
|
-
* whose path is indicated in a comment or implied from the name of the source file itself.
|
|
101
|
-
*
|
|
102
|
-
* @param sourcePath the path to the source file.
|
|
103
|
-
* @param sourceContents the contents of the source file.
|
|
104
|
-
* @param sourceOrigin where the content of the source file came from.
|
|
105
|
-
* @returns the parsed contents and path of the source-map, if loading was successful, null
|
|
106
|
-
* otherwise.
|
|
107
|
-
*/
|
|
108
|
-
SourceFileLoader.prototype.loadSourceMap = function (sourcePath, sourceContents, sourceOrigin) {
|
|
109
|
-
// Only consider a source-map comment from the last non-empty line of the file, in case there
|
|
110
|
-
// are embedded source-map comments elsewhere in the file (as can be the case with bundlers like
|
|
111
|
-
// webpack).
|
|
112
|
-
var lastLine = this.getLastNonEmptyLine(sourceContents);
|
|
113
|
-
var inline = convert_source_map_1.commentRegex.exec(lastLine);
|
|
114
|
-
if (inline !== null) {
|
|
115
|
-
return {
|
|
116
|
-
map: convert_source_map_1.fromComment(inline.pop()).sourcemap,
|
|
117
|
-
mapPath: null,
|
|
118
|
-
origin: content_origin_1.ContentOrigin.Inline,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
if (sourceOrigin === content_origin_1.ContentOrigin.Inline) {
|
|
122
|
-
// The source file was provided inline and its contents did not include an inline source-map.
|
|
123
|
-
// So we don't try to load an external source-map from the file-system, since this can lead to
|
|
124
|
-
// invalid circular dependencies.
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
|
-
var external = convert_source_map_1.mapFileCommentRegex.exec(lastLine);
|
|
128
|
-
if (external) {
|
|
129
|
-
try {
|
|
130
|
-
var fileName = external[1] || external[2];
|
|
131
|
-
var externalMapPath = this.fs.resolve(this.fs.dirname(sourcePath), fileName);
|
|
132
|
-
return {
|
|
133
|
-
map: this.readRawSourceMap(externalMapPath),
|
|
134
|
-
mapPath: externalMapPath,
|
|
135
|
-
origin: content_origin_1.ContentOrigin.FileSystem,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
catch (e) {
|
|
139
|
-
this.logger.warn("Unable to fully load " + sourcePath + " for source-map flattening: " + e.message);
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
var impliedMapPath = this.fs.resolve(sourcePath + '.map');
|
|
144
|
-
if (this.fs.exists(impliedMapPath)) {
|
|
145
|
-
return {
|
|
146
|
-
map: this.readRawSourceMap(impliedMapPath),
|
|
147
|
-
mapPath: impliedMapPath,
|
|
148
|
-
origin: content_origin_1.ContentOrigin.FileSystem,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
return null;
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
* Iterate over each of the "sources" for this source file's source map, recursively loading each
|
|
155
|
-
* source file and its associated source map.
|
|
156
|
-
*/
|
|
157
|
-
SourceFileLoader.prototype.processSources = function (basePath, _a) {
|
|
158
|
-
var _this = this;
|
|
159
|
-
var map = _a.map, sourceMapOrigin = _a.origin;
|
|
160
|
-
var sourceRoot = this.fs.resolve(this.fs.dirname(basePath), this.replaceSchemeWithPath(map.sourceRoot || ''));
|
|
161
|
-
return map.sources.map(function (source, index) {
|
|
162
|
-
var path = _this.fs.resolve(sourceRoot, _this.replaceSchemeWithPath(source));
|
|
163
|
-
var content = map.sourcesContent && map.sourcesContent[index] || null;
|
|
164
|
-
// The origin of this source file is "inline" if we extracted it from the source-map's
|
|
165
|
-
// `sourcesContent`, except when the source-map itself was "provided" in-memory.
|
|
166
|
-
// An inline source file is treated as if it were from the file-system if the source-map that
|
|
167
|
-
// contains it was provided in-memory. The first call to `loadSourceFile()` is special in that
|
|
168
|
-
// if you "provide" the contents of the source-map in-memory then we don't want to block
|
|
169
|
-
// loading sources from the file-system just because this source-map had an inline source.
|
|
170
|
-
var sourceOrigin = content !== null && sourceMapOrigin !== content_origin_1.ContentOrigin.Provided ?
|
|
171
|
-
content_origin_1.ContentOrigin.Inline :
|
|
172
|
-
content_origin_1.ContentOrigin.FileSystem;
|
|
173
|
-
return _this.loadSourceFileInternal(path, content, sourceOrigin, null);
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
/**
|
|
177
|
-
* Load the contents of the source file from disk.
|
|
178
|
-
*
|
|
179
|
-
* @param sourcePath The path to the source file.
|
|
180
|
-
*/
|
|
181
|
-
SourceFileLoader.prototype.readSourceFile = function (sourcePath) {
|
|
182
|
-
this.trackPath(sourcePath);
|
|
183
|
-
return this.fs.readFile(sourcePath);
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* Load the source map from the file at `mapPath`, parsing its JSON contents into a `RawSourceMap`
|
|
187
|
-
* object.
|
|
188
|
-
*
|
|
189
|
-
* @param mapPath The path to the source-map file.
|
|
190
|
-
*/
|
|
191
|
-
SourceFileLoader.prototype.readRawSourceMap = function (mapPath) {
|
|
192
|
-
this.trackPath(mapPath);
|
|
193
|
-
return JSON.parse(this.fs.readFile(mapPath));
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* Track source file paths if we have loaded them from disk so that we don't get into an infinite
|
|
197
|
-
* recursion.
|
|
198
|
-
*/
|
|
199
|
-
SourceFileLoader.prototype.trackPath = function (path) {
|
|
200
|
-
if (this.currentPaths.includes(path)) {
|
|
201
|
-
throw new Error("Circular source file mapping dependency: " + this.currentPaths.join(' -> ') + " -> " + path);
|
|
202
|
-
}
|
|
203
|
-
this.currentPaths.push(path);
|
|
204
|
-
};
|
|
205
|
-
SourceFileLoader.prototype.getLastNonEmptyLine = function (contents) {
|
|
206
|
-
var trailingWhitespaceIndex = contents.length - 1;
|
|
207
|
-
while (trailingWhitespaceIndex > 0 &&
|
|
208
|
-
(contents[trailingWhitespaceIndex] === '\n' ||
|
|
209
|
-
contents[trailingWhitespaceIndex] === '\r')) {
|
|
210
|
-
trailingWhitespaceIndex--;
|
|
211
|
-
}
|
|
212
|
-
var lastRealLineIndex = contents.lastIndexOf('\n', trailingWhitespaceIndex - 1);
|
|
213
|
-
if (lastRealLineIndex === -1) {
|
|
214
|
-
lastRealLineIndex = 0;
|
|
215
|
-
}
|
|
216
|
-
return contents.substr(lastRealLineIndex + 1);
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* Replace any matched URL schemes with their corresponding path held in the schemeMap.
|
|
220
|
-
*
|
|
221
|
-
* Some build tools replace real file paths with scheme prefixed paths - e.g. `webpack://`.
|
|
222
|
-
* We use the `schemeMap` passed to this class to convert such paths to "real" file paths.
|
|
223
|
-
* In some cases, this is not possible, since the file was actually synthesized by the build tool.
|
|
224
|
-
* But the end result is better than prefixing the sourceRoot in front of the scheme.
|
|
225
|
-
*/
|
|
226
|
-
SourceFileLoader.prototype.replaceSchemeWithPath = function (path) {
|
|
227
|
-
var _this = this;
|
|
228
|
-
return path.replace(SCHEME_MATCHER, function (_, scheme) { return _this.schemeMap[scheme.toLowerCase()] || ''; });
|
|
229
|
-
};
|
|
230
|
-
return SourceFileLoader;
|
|
231
|
-
}());
|
|
232
|
-
exports.SourceFileLoader = SourceFileLoader;
|
|
233
|
-
});
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlX2ZpbGVfbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zb3VyY2VtYXBzL3NyYy9zb3VyY2VfZmlsZV9sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztJQUFBOzs7Ozs7T0FNRztJQUNILHlEQUFrRjtJQUtsRixnR0FBK0M7SUFFL0MsMEZBQXlDO0lBRXpDLElBQU0sY0FBYyxHQUFHLDJCQUEyQixDQUFDO0lBRW5EOzs7Ozs7OztPQVFHO0lBQ0g7UUFHRSwwQkFDWSxFQUFzQixFQUFVLE1BQWM7UUFDdEQsK0VBQStFO1FBQ3ZFLFNBQXlDO1lBRnpDLE9BQUUsR0FBRixFQUFFLENBQW9CO1lBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtZQUU5QyxjQUFTLEdBQVQsU0FBUyxDQUFnQztZQUw3QyxpQkFBWSxHQUFxQixFQUFFLENBQUM7UUFLWSxDQUFDO1FBNkJ6RCx5Q0FBYyxHQUFkLFVBQ0ksVUFBMEIsRUFBRSxRQUE0QixFQUN4RCxVQUFrQztZQUROLHlCQUFBLEVBQUEsZUFBNEI7WUFDeEQsMkJBQUEsRUFBQSxpQkFBa0M7WUFDcEMsSUFBTSxjQUFjLEdBQUcsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsOEJBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDhCQUFhLENBQUMsVUFBVSxDQUFDO1lBQzdGLElBQU0sYUFBYSxHQUNmLFVBQVUsdUJBQUssTUFBTSxFQUFFLDhCQUFhLENBQUMsUUFBUSxJQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7O1dBZUc7UUFDSyxpREFBc0IsR0FBOUIsVUFDSSxV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QUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFTyw4Q0FBbUIsR0FBM0IsVUFBNEIsUUFBZ0I7WUFDMUMsSUFBSSx1QkFBdUIsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNsRCxPQUFPLHVCQUF1QixHQUFHLENBQUM7Z0JBQzNCLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSTtvQkFDMUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ25ELHVCQUF1QixFQUFFLENBQUM7YUFDM0I7WUFDRCxJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzVCLGlCQUFpQixHQUFHLENBQUMsQ0FBQzthQUN2QjtZQUNELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQ7Ozs7Ozs7V0FPRztRQUNLLGdEQUFxQixHQUE3QixVQUE4QixJQUFZO1lBQTFDLGlCQUdDO1lBRkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUNmLGNBQWMsRUFBRSxVQUFDLENBQVMsRUFBRSxNQUFjLElBQUssT0FBQSxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBMUMsQ0FBMEMsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFDSCx1QkFBQztJQUFELENBQUMsQUFsUEQsSUFrUEM7SUFsUFksNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5pbXBvcnQge2NvbW1lbnRSZWdleCwgZnJvbUNvbW1lbnQsIG1hcEZpbGVDb21tZW50UmVnZXh9IGZyb20gJ2NvbnZlcnQtc291cmNlLW1hcCc7XG5cbmltcG9ydCB7QWJzb2x1dGVGc1BhdGgsIFJlYWRvbmx5RmlsZVN5c3RlbX0gZnJvbSAnLi4vLi4vZmlsZV9zeXN0ZW0nO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuXG5pbXBvcnQge0NvbnRlbnRPcmlnaW59IGZyb20gJy4vY29udGVudF9vcmlnaW4nO1xuaW1wb3J0IHtNYXBBbmRQYXRoLCBSYXdTb3VyY2VNYXAsIFNvdXJjZU1hcEluZm99IGZyb20gJy4vcmF3X3NvdXJjZV9tYXAnO1xuaW1wb3J0IHtTb3VyY2VGaWxlfSBmcm9tICcuL3NvdXJjZV9maWxlJztcblxuY29uc3QgU0NIRU1FX01BVENIRVIgPSAvXihbYS16XVthLXowLTkuLV0qKTpcXC9cXC8vaTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGNhbiBiZSB1c2VkIHRvIGxvYWQgYSBzb3VyY2UgZmlsZSwgaXRzIGFzc29jaWF0ZWQgc291cmNlIG1hcCBhbmQgYW55IHVwc3RyZWFtIHNvdXJjZXMuXG4gKlxuICogU2luY2UgYSBzb3VyY2UgZmlsZSBtaWdodCByZWZlcmVuY2UgKG9yIGluY2x1ZGUpIGEgc291cmNlIG1hcCwgdGhpcyBjbGFzcyBjYW4gbG9hZCB0aG9zZSB0b28uXG4gKiBTaW5jZSBhIHNvdXJjZSBtYXAgbWlnaHQgcmVmZXJlbmNlIG90aGVyIHNvdXJjZSBmaWxlcywgdGhlc2UgYXJlIGFsc28gbG9hZGVkIGFzIG5lZWRlZC5cbiAqXG4gKiBUaGlzIGlzIGRvbmUgcmVjdXJzaXZlbHkuIFRoZSByZXN1bHQgaXMgYSBcInRyZWVcIiBvZiBgU291cmNlRmlsZWAgb2JqZWN0cywgZWFjaCBjb250YWluaW5nXG4gKiBtYXBwaW5ncyB0byBvdGhlciBgU291cmNlRmlsZWAgb2JqZWN0cyBhcyBuZWNlc3NhcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTb3VyY2VGaWxlTG9hZGVyIHtcbiAgcHJpdmF0ZSBjdXJyZW50UGF0aHM6IEFic29sdXRlRnNQYXRoW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZnM6IFJlYWRvbmx5RmlsZVN5c3RlbSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlcixcbiAgICAgIC8qKiBBIG1hcCBvZiBVUkwgc2NoZW1lcyB0byBiYXNlIHBhdGhzLiBUaGUgc2NoZW1lIG5hbWUgc2hvdWxkIGJlIGxvd2VyY2FzZS4gKi9cbiAgICAgIHByaXZhdGUgc2NoZW1lTWFwOiBSZWNvcmQ8c3RyaW5nLCBBYnNvbHV0ZUZzUGF0aD4pIHt9XG5cbiAgLyoqXG4gICAqIExvYWQgYSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBwcm92aWRlZCBjb250ZW50IGFuZCBzb3VyY2UgbWFwLCBhbmQgcmVjdXJzaXZlbHkgbG9hZCBhbnlcbiAgICogcmVmZXJlbmNlZCBzb3VyY2UgZmlsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcGFyYW0gY29udGVudHMgVGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSB0byBsb2FkLlxuICAgKiBAcGFyYW0gbWFwQW5kUGF0aCBUaGUgcmF3IHNvdXJjZS1tYXAgYW5kIHRoZSBwYXRoIHRvIHRoZSBzb3VyY2UtbWFwIGZpbGUuXG4gICAqIEByZXR1cm5zIGEgU291cmNlRmlsZSBvYmplY3QgY3JlYXRlZCBmcm9tIHRoZSBgY29udGVudHNgIGFuZCBwcm92aWRlZCBzb3VyY2UtbWFwIGluZm8uXG4gICAqL1xuICBsb2FkU291cmNlRmlsZShzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgY29udGVudHM6IHN0cmluZywgbWFwQW5kUGF0aDogTWFwQW5kUGF0aCk6IFNvdXJjZUZpbGU7XG4gIC8qKlxuICAgKiBMb2FkIGEgc291cmNlIGZpbGUgZnJvbSB0aGUgcHJvdmlkZWQgY29udGVudCwgY29tcHV0ZSBpdHMgc291cmNlIG1hcCwgYW5kIHJlY3Vyc2l2ZWx5IGxvYWQgYW55XG4gICAqIHJlZmVyZW5jZWQgc291cmNlIGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHBhcmFtIGNvbnRlbnRzIFRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHJldHVybnMgYSBTb3VyY2VGaWxlIG9iamVjdCBjcmVhdGVkIGZyb20gdGhlIGBjb250ZW50c2AgYW5kIGNvbXB1dGVkIHNvdXJjZS1tYXAgaW5mby5cbiAgICovXG4gIGxvYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nKTogU291cmNlRmlsZTtcbiAgLyoqXG4gICAqIExvYWQgYSBzb3VyY2UgZmlsZSBmcm9tIHRoZSBmaWxlLXN5c3RlbSwgY29tcHV0ZSBpdHMgc291cmNlIG1hcCwgYW5kIHJlY3Vyc2l2ZWx5IGxvYWQgYW55XG4gICAqIHJlZmVyZW5jZWQgc291cmNlIGZpbGVzLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCBUaGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUgdG8gbG9hZC5cbiAgICogQHJldHVybnMgYSBTb3VyY2VGaWxlIG9iamVjdCBpZiBpdHMgY29udGVudHMgY291bGQgYmUgbG9hZGVkIGZyb20gZGlzaywgb3IgbnVsbCBvdGhlcndpc2UuXG4gICAqL1xuICBsb2FkU291cmNlRmlsZShzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IFNvdXJjZUZpbGV8bnVsbDtcbiAgbG9hZFNvdXJjZUZpbGUoXG4gICAgICBzb3VyY2VQYXRoOiBBYnNvbHV0ZUZzUGF0aCwgY29udGVudHM6IHN0cmluZ3xudWxsID0gbnVsbCxcbiAgICAgIG1hcEFuZFBhdGg6IE1hcEFuZFBhdGh8bnVsbCA9IG51bGwpOiBTb3VyY2VGaWxlfG51bGwge1xuICAgIGNvbnN0IGNvbnRlbnRzT3JpZ2luID0gY29udGVudHMgIT09IG51bGwgPyBDb250ZW50T3JpZ2luLlByb3ZpZGVkIDogQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtO1xuICAgIGNvbnN0IHNvdXJjZU1hcEluZm86IFNvdXJjZU1hcEluZm98bnVsbCA9XG4gICAgICAgIG1hcEFuZFBhdGggJiYge29yaWdpbjogQ29udGVudE9yaWdpbi5Qcm92aWRlZCwgLi4ubWFwQW5kUGF0aH07XG4gICAgcmV0dXJuIHRoaXMubG9hZFNvdXJjZUZpbGVJbnRlcm5hbChzb3VyY2VQYXRoLCBjb250ZW50cywgY29udGVudHNPcmlnaW4sIHNvdXJjZU1hcEluZm8pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVybG9hZCB1c2VkIGludGVybmFsbHkgdG8gbG9hZCBzb3VyY2UgZmlsZXMgcmVmZXJlbmNlZCBpbiBhIHNvdXJjZS1tYXAuXG4gICAqXG4gICAqIEluIHRoaXMgY2FzZSB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBpdCB3aWxsIHJldHVybiBhIG5vbi1udWxsIFNvdXJjZU1hcC5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQuXG4gICAqIEBwYXJhbSBjb250ZW50cyBUaGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlIHRvIGxvYWQsIGlmIHByb3ZpZGVkIGlubGluZS4gSWYgYG51bGxgLFxuICAgKiAgICAgdGhlIGNvbnRlbnRzIHdpbGwgYmUgcmVhZCBmcm9tIHRoZSBmaWxlIGF0IHRoZSBgc291cmNlUGF0aGAuXG4gICAqIEBwYXJhbSBzb3VyY2VPcmlnaW4gRGVzY3JpYmVzIHdoZXJlIHRoZSBzb3VyY2UgY29udGVudCBjYW1lIGZyb20uXG4gICAqIEBwYXJhbSBzb3VyY2VNYXBJbmZvIFRoZSByYXcgY29udGVudHMgYW5kIHBhdGggb2YgdGhlIHNvdXJjZS1tYXAgZmlsZS4gSWYgYG51bGxgIHRoZVxuICAgKiAgICAgc291cmNlLW1hcCB3aWxsIGJlIGNvbXB1dGVkIGZyb20gdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSwgZWl0aGVyIGlubGluZSBvciBsb2FkZWRcbiAgICogICAgIGZyb20gdGhlIGZpbGUtc3lzdGVtLlxuICAgKlxuICAgKiBAcmV0dXJucyBhIFNvdXJjZUZpbGUgaWYgdGhlIGNvbnRlbnQgZm9yIG9uZSB3YXMgcHJvdmlkZWQgb3Igd2FzIGFibGUgdG8gYmUgbG9hZGVkIGZyb20gZGlzayxcbiAgICogYG51bGxgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZFNvdXJjZUZpbGVJbnRlcm5hbChcbiAgICAgIHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBjb250ZW50czogc3RyaW5nfG51bGwsIHNvdXJjZU9yaWdpbjogQ29udGVudE9yaWdpbixcbiAgICAgIHNvdXJjZU1hcEluZm86IFNvdXJjZU1hcEluZm98bnVsbCk6IFNvdXJjZUZpbGV8bnVsbCB7XG4gICAgY29uc3QgcHJldmlvdXNQYXRocyA9IHRoaXMuY3VycmVudFBhdGhzLnNsaWNlKCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChjb250ZW50cyA9PT0gbnVsbCkge1xuICAgICAgICBpZiAoIXRoaXMuZnMuZXhpc3RzKHNvdXJjZVBhdGgpKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29udGVudHMgPSB0aGlzLnJlYWRTb3VyY2VGaWxlKHNvdXJjZVBhdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiBub3QgcHJvdmlkZWQgdHJ5IHRvIGxvYWQgdGhlIHNvdXJjZSBtYXAgYmFzZWQgb24gdGhlIHNvdXJjZSBpdHNlbGZcbiAgICAgIGlmIChzb3VyY2VNYXBJbmZvID09PSBudWxsKSB7XG4gICAgICAgIHNvdXJjZU1hcEluZm8gPSB0aGlzLmxvYWRTb3VyY2VNYXAoc291cmNlUGF0aCwgY29udGVudHMsIHNvdXJjZU9yaWdpbik7XG4gICAgICB9XG5cbiAgICAgIGxldCBzb3VyY2VzOiAoU291cmNlRmlsZXxudWxsKVtdID0gW107XG4gICAgICBpZiAoc291cmNlTWFwSW5mbyAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aCA9IHNvdXJjZU1hcEluZm8ubWFwUGF0aCB8fCBzb3VyY2VQYXRoO1xuICAgICAgICBzb3VyY2VzID0gdGhpcy5wcm9jZXNzU291cmNlcyhiYXNlUGF0aCwgc291cmNlTWFwSW5mbyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXcgU291cmNlRmlsZShzb3VyY2VQYXRoLCBjb250ZW50cywgc291cmNlTWFwSW5mbywgc291cmNlcywgdGhpcy5mcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICBgVW5hYmxlIHRvIGZ1bGx5IGxvYWQgJHtzb3VyY2VQYXRofSBmb3Igc291cmNlLW1hcCBmbGF0dGVuaW5nOiAke2UubWVzc2FnZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBXZSBhcmUgZmluaXNoZWQgd2l0aCB0aGlzIHJlY3Vyc2lvbiBzbyByZXZlcnQgdGhlIHBhdGhzIGJlaW5nIHRyYWNrZWRcbiAgICAgIHRoaXMuY3VycmVudFBhdGhzID0gcHJldmlvdXNQYXRocztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgc291cmNlIG1hcCBhc3NvY2lhdGVkIHdpdGggdGhlIHNvdXJjZSBmaWxlIHdob3NlIGBzb3VyY2VQYXRoYCBhbmQgYGNvbnRlbnRzYCBhcmVcbiAgICogcHJvdmlkZWQuXG4gICAqXG4gICAqIFNvdXJjZSBtYXBzIGNhbiBiZSBpbmxpbmUsIGFzIHBhcnQgb2YgYSBiYXNlNjQgZW5jb2RlZCBjb21tZW50LCBvciBleHRlcm5hbCBhcyBhIHNlcGFyYXRlIGZpbGVcbiAgICogd2hvc2UgcGF0aCBpcyBpbmRpY2F0ZWQgaW4gYSBjb21tZW50IG9yIGltcGxpZWQgZnJvbSB0aGUgbmFtZSBvZiB0aGUgc291cmNlIGZpbGUgaXRzZWxmLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlUGF0aCB0aGUgcGF0aCB0byB0aGUgc291cmNlIGZpbGUuXG4gICAqIEBwYXJhbSBzb3VyY2VDb250ZW50cyB0aGUgY29udGVudHMgb2YgdGhlIHNvdXJjZSBmaWxlLlxuICAgKiBAcGFyYW0gc291cmNlT3JpZ2luIHdoZXJlIHRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgZmlsZSBjYW1lIGZyb20uXG4gICAqIEByZXR1cm5zIHRoZSBwYXJzZWQgY29udGVudHMgYW5kIHBhdGggb2YgdGhlIHNvdXJjZS1tYXAsIGlmIGxvYWRpbmcgd2FzIHN1Y2Nlc3NmdWwsIG51bGxcbiAgICogICAgIG90aGVyd2lzZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZFNvdXJjZU1hcChcbiAgICAgIHNvdXJjZVBhdGg6IEFic29sdXRlRnNQYXRoLCBzb3VyY2VDb250ZW50czogc3RyaW5nLFxuICAgICAgc291cmNlT3JpZ2luOiBDb250ZW50T3JpZ2luKTogU291cmNlTWFwSW5mb3xudWxsIHtcbiAgICAvLyBPbmx5IGNvbnNpZGVyIGEgc291cmNlLW1hcCBjb21tZW50IGZyb20gdGhlIGxhc3Qgbm9uLWVtcHR5IGxpbmUgb2YgdGhlIGZpbGUsIGluIGNhc2UgdGhlcmVcbiAgICAvLyBhcmUgZW1iZWRkZWQgc291cmNlLW1hcCBjb21tZW50cyBlbHNld2hlcmUgaW4gdGhlIGZpbGUgKGFzIGNhbiBiZSB0aGUgY2FzZSB3aXRoIGJ1bmRsZXJzIGxpa2VcbiAgICAvLyB3ZWJwYWNrKS5cbiAgICBjb25zdCBsYXN0TGluZSA9IHRoaXMuZ2V0TGFzdE5vbkVtcHR5TGluZShzb3VyY2VDb250ZW50cyk7XG4gICAgY29uc3QgaW5saW5lID0gY29tbWVudFJlZ2V4LmV4ZWMobGFzdExpbmUpO1xuICAgIGlmIChpbmxpbmUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1hcDogZnJvbUNvbW1lbnQoaW5saW5lLnBvcCgpISkuc291cmNlbWFwLFxuICAgICAgICBtYXBQYXRoOiBudWxsLFxuICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uSW5saW5lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlT3JpZ2luID09PSBDb250ZW50T3JpZ2luLklubGluZSkge1xuICAgICAgLy8gVGhlIHNvdXJjZSBmaWxlIHdhcyBwcm92aWRlZCBpbmxpbmUgYW5kIGl0cyBjb250ZW50cyBkaWQgbm90IGluY2x1ZGUgYW4gaW5saW5lIHNvdXJjZS1tYXAuXG4gICAgICAvLyBTbyB3ZSBkb24ndCB0cnkgdG8gbG9hZCBhbiBleHRlcm5hbCBzb3VyY2UtbWFwIGZyb20gdGhlIGZpbGUtc3lzdGVtLCBzaW5jZSB0aGlzIGNhbiBsZWFkIHRvXG4gICAgICAvLyBpbnZhbGlkIGNpcmN1bGFyIGRlcGVuZGVuY2llcy5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVybmFsID0gbWFwRmlsZUNvbW1lbnRSZWdleC5leGVjKGxhc3RMaW5lKTtcbiAgICBpZiAoZXh0ZXJuYWwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZXh0ZXJuYWxbMV0gfHwgZXh0ZXJuYWxbMl07XG4gICAgICAgIGNvbnN0IGV4dGVybmFsTWFwUGF0aCA9IHRoaXMuZnMucmVzb2x2ZSh0aGlzLmZzLmRpcm5hbWUoc291cmNlUGF0aCksIGZpbGVOYW1lKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtYXA6IHRoaXMucmVhZFJhd1NvdXJjZU1hcChleHRlcm5hbE1hcFBhdGgpLFxuICAgICAgICAgIG1hcFBhdGg6IGV4dGVybmFsTWFwUGF0aCxcbiAgICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uRmlsZVN5c3RlbSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gZnVsbHkgbG9hZCAke3NvdXJjZVBhdGh9IGZvciBzb3VyY2UtbWFwIGZsYXR0ZW5pbmc6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbXBsaWVkTWFwUGF0aCA9IHRoaXMuZnMucmVzb2x2ZShzb3VyY2VQYXRoICsgJy5tYXAnKTtcbiAgICBpZiAodGhpcy5mcy5leGlzdHMoaW1wbGllZE1hcFBhdGgpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtYXA6IHRoaXMucmVhZFJhd1NvdXJjZU1hcChpbXBsaWVkTWFwUGF0aCksXG4gICAgICAgIG1hcFBhdGg6IGltcGxpZWRNYXBQYXRoLFxuICAgICAgICBvcmlnaW46IENvbnRlbnRPcmlnaW4uRmlsZVN5c3RlbSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSXRlcmF0ZSBvdmVyIGVhY2ggb2YgdGhlIFwic291cmNlc1wiIGZvciB0aGlzIHNvdXJjZSBmaWxlJ3Mgc291cmNlIG1hcCwgcmVjdXJzaXZlbHkgbG9hZGluZyBlYWNoXG4gICAqIHNvdXJjZSBmaWxlIGFuZCBpdHMgYXNzb2NpYXRlZCBzb3VyY2UgbWFwLlxuICAgKi9cbiAgcHJpdmF0ZSBwcm9jZXNzU291cmNlcyhiYXNlUGF0aDogQWJzb2x1dGVGc1BhdGgsIHttYXAsIG9yaWdpbjogc291cmNlTWFwT3JpZ2lufTogU291cmNlTWFwSW5mbyk6XG4gICAgICAoU291cmNlRmlsZXxudWxsKVtdIHtcbiAgICBjb25zdCBzb3VyY2VSb290ID0gdGhpcy5mcy5yZXNvbHZlKFxuICAgICAgICB0aGlzLmZzLmRpcm5hbWUoYmFzZVBhdGgpLCB0aGlzLnJlcGxhY2VTY2hlbWVXaXRoUGF0aChtYXAuc291cmNlUm9vdCB8fCAnJykpO1xuICAgIHJldHVybiBtYXAuc291cmNlcy5tYXAoKHNvdXJjZSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHBhdGggPSB0aGlzLmZzLnJlc29sdmUoc291cmNlUm9vdCwgdGhpcy5yZXBsYWNlU2NoZW1lV2l0aFBhdGgoc291cmNlKSk7XG4gICAgICBjb25zdCBjb250ZW50ID0gbWFwLnNvdXJjZXNDb250ZW50ICYmIG1hcC5zb3VyY2VzQ29udGVudFtpbmRleF0gfHwgbnVsbDtcbiAgICAgIC8vIFRoZSBvcmlnaW4gb2YgdGhpcyBzb3VyY2UgZmlsZSBpcyBcImlubGluZVwiIGlmIHdlIGV4dHJhY3RlZCBpdCBmcm9tIHRoZSBzb3VyY2UtbWFwJ3NcbiAgICAgIC8vIGBzb3VyY2VzQ29udGVudGAsIGV4Y2VwdCB3aGVuIHRoZSBzb3VyY2UtbWFwIGl0c2VsZiB3YXMgXCJwcm92aWRlZFwiIGluLW1lbW9yeS5cbiAgICAgIC8vIEFuIGlubGluZSBzb3VyY2UgZmlsZSBpcyB0cmVhdGVkIGFzIGlmIGl0IHdlcmUgZnJvbSB0aGUgZmlsZS1zeXN0ZW0gaWYgdGhlIHNvdXJjZS1tYXAgdGhhdFxuICAgICAgLy8gY29udGFpbnMgaXQgd2FzIHByb3ZpZGVkIGluLW1lbW9yeS4gVGhlIGZpcnN0IGNhbGwgdG8gYGxvYWRTb3VyY2VGaWxlKClgIGlzIHNwZWNpYWwgaW4gdGhhdFxuICAgICAgLy8gaWYgeW91IFwicHJvdmlkZVwiIHRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlLW1hcCBpbi1tZW1vcnkgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGJsb2NrXG4gICAgICAvLyBsb2FkaW5nIHNvdXJjZXMgZnJvbSB0aGUgZmlsZS1zeXN0ZW0ganVzdCBiZWNhdXNlIHRoaXMgc291cmNlLW1hcCBoYWQgYW4gaW5saW5lIHNvdXJjZS5cbiAgICAgIGNvbnN0IHNvdXJjZU9yaWdpbiA9IGNvbnRlbnQgIT09IG51bGwgJiYgc291cmNlTWFwT3JpZ2luICE9PSBDb250ZW50T3JpZ2luLlByb3ZpZGVkID9cbiAgICAgICAgICBDb250ZW50T3JpZ2luLklubGluZSA6XG4gICAgICAgICAgQ29udGVudE9yaWdpbi5GaWxlU3lzdGVtO1xuICAgICAgcmV0dXJuIHRoaXMubG9hZFNvdXJjZUZpbGVJbnRlcm5hbChwYXRoLCBjb250ZW50LCBzb3VyY2VPcmlnaW4sIG51bGwpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgZmlsZSBmcm9tIGRpc2suXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIFRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZFNvdXJjZUZpbGUoc291cmNlUGF0aDogQWJzb2x1dGVGc1BhdGgpOiBzdHJpbmcge1xuICAgIHRoaXMudHJhY2tQYXRoKHNvdXJjZVBhdGgpO1xuICAgIHJldHVybiB0aGlzLmZzLnJlYWRGaWxlKHNvdXJjZVBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgdGhlIHNvdXJjZSBtYXAgZnJvbSB0aGUgZmlsZSBhdCBgbWFwUGF0aGAsIHBhcnNpbmcgaXRzIEpTT04gY29udGVudHMgaW50byBhIGBSYXdTb3VyY2VNYXBgXG4gICAqIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIG1hcFBhdGggVGhlIHBhdGggdG8gdGhlIHNvdXJjZS1tYXAgZmlsZS5cbiAgICovXG4gIHByaXZhdGUgcmVhZFJhd1NvdXJjZU1hcChtYXBQYXRoOiBBYnNvbHV0ZUZzUGF0aCk6IFJhd1NvdXJjZU1hcCB7XG4gICAgdGhpcy50cmFja1BhdGgobWFwUGF0aCk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5mcy5yZWFkRmlsZShtYXBQYXRoKSkgYXMgUmF3U291cmNlTWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIHNvdXJjZSBmaWxlIHBhdGhzIGlmIHdlIGhhdmUgbG9hZGVkIHRoZW0gZnJvbSBkaXNrIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGludG8gYW4gaW5maW5pdGVcbiAgICogcmVjdXJzaW9uLlxuICAgKi9cbiAgcHJpdmF0ZSB0cmFja1BhdGgocGF0aDogQWJzb2x1dGVGc1BhdGgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGF0aHMuaW5jbHVkZXMocGF0aCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ2lyY3VsYXIgc291cmNlIGZpbGUgbWFwcGluZyBkZXBlbmRlbmN5OiAke3RoaXMuY3VycmVudFBhdGhzLmpvaW4oJyAtPiAnKX0gLT4gJHtwYXRofWApO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRQYXRocy5wdXNoKHBhdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0Tm9uRW1wdHlMaW5lKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB0cmFpbGluZ1doaXRlc3BhY2VJbmRleCA9IGNvbnRlbnRzLmxlbmd0aCAtIDE7XG4gICAgd2hpbGUgKHRyYWlsaW5nV2hpdGVzcGFjZUluZGV4ID4gMCAmJlxuICAgICAgICAgICAoY29udGVudHNbdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXhdID09PSAnXFxuJyB8fFxuICAgICAgICAgICAgY29udGVudHNbdHJhaWxpbmdXaGl0ZXNwYWNlSW5kZXhdID09PSAnXFxyJykpIHtcbiAgICAgIHRyYWlsaW5nV2hpdGVzcGFjZUluZGV4LS07XG4gICAgfVxuICAgIGxldCBsYXN0UmVhbExpbmVJbmRleCA9IGNvbnRlbnRzLmxhc3RJbmRleE9mKCdcXG4nLCB0cmFpbGluZ1doaXRlc3BhY2VJbmRleCAtIDEpO1xuICAgIGlmIChsYXN0UmVhbExpbmVJbmRleCA9PT0gLTEpIHtcbiAgICAgIGxhc3RSZWFsTGluZUluZGV4ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnRzLnN1YnN0cihsYXN0UmVhbExpbmVJbmRleCArIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgYW55IG1hdGNoZWQgVVJMIHNjaGVtZXMgd2l0aCB0aGVpciBjb3JyZXNwb25kaW5nIHBhdGggaGVsZCBpbiB0aGUgc2NoZW1lTWFwLlxuICAgKlxuICAgKiBTb21lIGJ1aWxkIHRvb2xzIHJlcGxhY2UgcmVhbCBmaWxlIHBhdGhzIHdpdGggc2NoZW1lIHByZWZpeGVkIHBhdGhzIC0gZS5nLiBgd2VicGFjazovL2AuXG4gICAqIFdlIHVzZSB0aGUgYHNjaGVtZU1hcGAgcGFzc2VkIHRvIHRoaXMgY2xhc3MgdG8gY29udmVydCBzdWNoIHBhdGhzIHRvIFwicmVhbFwiIGZpbGUgcGF0aHMuXG4gICAqIEluIHNvbWUgY2FzZXMsIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBzaW5jZSB0aGUgZmlsZSB3YXMgYWN0dWFsbHkgc3ludGhlc2l6ZWQgYnkgdGhlIGJ1aWxkIHRvb2wuXG4gICAqIEJ1dCB0aGUgZW5kIHJlc3VsdCBpcyBiZXR0ZXIgdGhhbiBwcmVmaXhpbmcgdGhlIHNvdXJjZVJvb3QgaW4gZnJvbnQgb2YgdGhlIHNjaGVtZS5cbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZVNjaGVtZVdpdGhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZShcbiAgICAgICAgU0NIRU1FX01BVENIRVIsIChfOiBzdHJpbmcsIHNjaGVtZTogc3RyaW5nKSA9PiB0aGlzLnNjaGVtZU1hcFtzY2hlbWUudG9Mb3dlckNhc2UoKV0gfHwgJycpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
(function (factory) {
|
|
9
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
-
var v = factory(require, exports);
|
|
11
|
-
if (v !== undefined) module.exports = v;
|
|
12
|
-
}
|
|
13
|
-
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/switch", ["require", "exports", "@angular/compiler-cli/src/ngtsc/switch/src/switch"], factory);
|
|
15
|
-
}
|
|
16
|
-
})(function (require, exports) {
|
|
17
|
-
"use strict";
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.ivySwitchTransform = void 0;
|
|
20
|
-
var switch_1 = require("@angular/compiler-cli/src/ngtsc/switch/src/switch");
|
|
21
|
-
Object.defineProperty(exports, "ivySwitchTransform", { enumerable: true, get: function () { return switch_1.ivySwitchTransform; } });
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3N3aXRjaC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7SUFFSCw0RUFBZ0Q7SUFBeEMsNEdBQUEsa0JBQWtCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtpdnlTd2l0Y2hUcmFuc2Zvcm19IGZyb20gJy4vc3JjL3N3aXRjaCc7XG4iXX0=
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
(function (factory) {
|
|
9
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
-
var v = factory(require, exports);
|
|
11
|
-
if (v !== undefined) module.exports = v;
|
|
12
|
-
}
|
|
13
|
-
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/switch/src/switch", ["require", "exports", "tslib", "typescript"], factory);
|
|
15
|
-
}
|
|
16
|
-
})(function (require, exports) {
|
|
17
|
-
"use strict";
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.ivySwitchTransform = void 0;
|
|
20
|
-
var tslib_1 = require("tslib");
|
|
21
|
-
var ts = require("typescript");
|
|
22
|
-
var IVY_SWITCH_PRE_SUFFIX = '__PRE_R3__';
|
|
23
|
-
var IVY_SWITCH_POST_SUFFIX = '__POST_R3__';
|
|
24
|
-
function ivySwitchTransform(_) {
|
|
25
|
-
return flipIvySwitchInFile;
|
|
26
|
-
}
|
|
27
|
-
exports.ivySwitchTransform = ivySwitchTransform;
|
|
28
|
-
function flipIvySwitchInFile(sf) {
|
|
29
|
-
// To replace the statements array, it must be copied. This only needs to happen if a statement
|
|
30
|
-
// must actually be replaced within the array, so the newStatements array is lazily initialized.
|
|
31
|
-
var newStatements = undefined;
|
|
32
|
-
// Iterate over the statements in the file.
|
|
33
|
-
for (var i = 0; i < sf.statements.length; i++) {
|
|
34
|
-
var statement = sf.statements[i];
|
|
35
|
-
// Skip over everything that isn't a variable statement.
|
|
36
|
-
if (!ts.isVariableStatement(statement) || !hasIvySwitches(statement)) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
// This statement needs to be replaced. Check if the newStatements array needs to be lazily
|
|
40
|
-
// initialized to a copy of the original statements.
|
|
41
|
-
if (newStatements === undefined) {
|
|
42
|
-
newStatements = tslib_1.__spreadArray([], tslib_1.__read(sf.statements));
|
|
43
|
-
}
|
|
44
|
-
// Flip any switches in the VariableStatement. If there were any, a new statement will be
|
|
45
|
-
// returned; otherwise the old statement will be.
|
|
46
|
-
newStatements[i] = flipIvySwitchesInVariableStatement(statement, sf.statements);
|
|
47
|
-
}
|
|
48
|
-
// Only update the statements in the SourceFile if any have changed.
|
|
49
|
-
if (newStatements !== undefined) {
|
|
50
|
-
return ts.updateSourceFileNode(sf, newStatements);
|
|
51
|
-
}
|
|
52
|
-
return sf;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Look for the ts.Identifier of a ts.Declaration with this name.
|
|
56
|
-
*
|
|
57
|
-
* The real identifier is needed (rather than fabricating one) as TypeScript decides how to
|
|
58
|
-
* reference this identifier based on information stored against its node in the AST, which a
|
|
59
|
-
* synthetic node would not have. In particular, since the post-switch variable is often exported,
|
|
60
|
-
* TypeScript needs to know this so it can write `exports.VAR` instead of just `VAR` when emitting
|
|
61
|
-
* code.
|
|
62
|
-
*
|
|
63
|
-
* Only variable, function, and class declarations are currently searched.
|
|
64
|
-
*/
|
|
65
|
-
function findPostSwitchIdentifier(statements, name) {
|
|
66
|
-
var e_1, _a;
|
|
67
|
-
try {
|
|
68
|
-
for (var statements_1 = tslib_1.__values(statements), statements_1_1 = statements_1.next(); !statements_1_1.done; statements_1_1 = statements_1.next()) {
|
|
69
|
-
var stmt = statements_1_1.value;
|
|
70
|
-
if (ts.isVariableStatement(stmt)) {
|
|
71
|
-
var decl = stmt.declarationList.declarations.find(function (decl) { return ts.isIdentifier(decl.name) && decl.name.text === name; });
|
|
72
|
-
if (decl !== undefined) {
|
|
73
|
-
return decl.name;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else if (ts.isFunctionDeclaration(stmt) || ts.isClassDeclaration(stmt)) {
|
|
77
|
-
if (stmt.name !== undefined && ts.isIdentifier(stmt.name) && stmt.name.text === name) {
|
|
78
|
-
return stmt.name;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
84
|
-
finally {
|
|
85
|
-
try {
|
|
86
|
-
if (statements_1_1 && !statements_1_1.done && (_a = statements_1.return)) _a.call(statements_1);
|
|
87
|
-
}
|
|
88
|
-
finally { if (e_1) throw e_1.error; }
|
|
89
|
-
}
|
|
90
|
-
return null;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Flip any Ivy switches which are discovered in the given ts.VariableStatement.
|
|
94
|
-
*/
|
|
95
|
-
function flipIvySwitchesInVariableStatement(stmt, statements) {
|
|
96
|
-
// Build a new list of variable declarations. Specific declarations that are initialized to a
|
|
97
|
-
// pre-switch identifier will be replaced with a declaration initialized to the post-switch
|
|
98
|
-
// identifier.
|
|
99
|
-
var newDeclarations = tslib_1.__spreadArray([], tslib_1.__read(stmt.declarationList.declarations));
|
|
100
|
-
for (var i = 0; i < newDeclarations.length; i++) {
|
|
101
|
-
var decl = newDeclarations[i];
|
|
102
|
-
// Skip declarations that aren't initialized to an identifier.
|
|
103
|
-
if (decl.initializer === undefined || !ts.isIdentifier(decl.initializer)) {
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
// Skip declarations that aren't Ivy switches.
|
|
107
|
-
if (!decl.initializer.text.endsWith(IVY_SWITCH_PRE_SUFFIX)) {
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
// Determine the name of the post-switch variable.
|
|
111
|
-
var postSwitchName = decl.initializer.text.replace(IVY_SWITCH_PRE_SUFFIX, IVY_SWITCH_POST_SUFFIX);
|
|
112
|
-
// Find the post-switch variable identifier. If one can't be found, it's an error. This is
|
|
113
|
-
// reported as a thrown error and not a diagnostic as transformers cannot output diagnostics.
|
|
114
|
-
var newIdentifier = findPostSwitchIdentifier(statements, postSwitchName);
|
|
115
|
-
if (newIdentifier === null) {
|
|
116
|
-
throw new Error("Unable to find identifier " + postSwitchName + " in " + stmt.getSourceFile().fileName + " for the Ivy switch.");
|
|
117
|
-
}
|
|
118
|
-
newDeclarations[i] = ts.updateVariableDeclaration(
|
|
119
|
-
/* node */ decl,
|
|
120
|
-
/* name */ decl.name,
|
|
121
|
-
/* type */ decl.type,
|
|
122
|
-
/* initializer */ newIdentifier);
|
|
123
|
-
}
|
|
124
|
-
var newDeclList = ts.updateVariableDeclarationList(
|
|
125
|
-
/* declarationList */ stmt.declarationList,
|
|
126
|
-
/* declarations */ newDeclarations);
|
|
127
|
-
var newStmt = ts.updateVariableStatement(
|
|
128
|
-
/* statement */ stmt,
|
|
129
|
-
/* modifiers */ stmt.modifiers,
|
|
130
|
-
/* declarationList */ newDeclList);
|
|
131
|
-
return newStmt;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Check whether the given VariableStatement has any Ivy switch variables.
|
|
135
|
-
*/
|
|
136
|
-
function hasIvySwitches(stmt) {
|
|
137
|
-
return stmt.declarationList.declarations.some(function (decl) { return decl.initializer !== undefined && ts.isIdentifier(decl.initializer) &&
|
|
138
|
-
decl.initializer.text.endsWith(IVY_SWITCH_PRE_SUFFIX); });
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXItY2xpL3NyYy9uZ3RzYy9zd2l0Y2gvc3JjL3N3aXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7O0lBRUgsK0JBQWlDO0lBRWpDLElBQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDO0lBQzNDLElBQU0sc0JBQXNCLEdBQUcsYUFBYSxDQUFDO0lBRTdDLFNBQWdCLGtCQUFrQixDQUFDLENBQTJCO1FBQzVELE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUZELGdEQUVDO0lBRUQsU0FBUyxtQkFBbUIsQ0FBQyxFQUFpQjtRQUM1QywrRkFBK0Y7UUFDL0YsZ0dBQWdHO1FBQ2hHLElBQUksYUFBYSxHQUE2QixTQUFTLENBQUM7UUFFeEQsMkNBQTJDO1FBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLHdEQUF3RDtZQUN4RCxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRSxTQUFTO2FBQ1Y7WUFFRCwyRkFBMkY7WUFDM0Ysb0RBQW9EO1lBQ3BELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtnQkFDL0IsYUFBYSw0Q0FBTyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUM7YUFDcEM7WUFFRCx5RkFBeUY7WUFDekYsaURBQWlEO1lBQ2pELGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxrQ0FBa0MsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFVB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QUMsSUFBSTtZQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDcEIsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdEM7UUFFRCxJQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsNkJBQTZCO1FBQ2hELHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlO1FBQzFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhDLElBQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUI7UUFDdEMsZUFBZSxDQUFDLElBQUk7UUFDcEIsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTO1FBQzlCLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsY0FBYyxDQUFDLElBQTBCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN2RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFEakQsQ0FDaUQsQ0FBQyxDQUFDO0lBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5cbmNvbnN0IElWWV9TV0lUQ0hfUFJFX1NVRkZJWCA9ICdfX1BSRV9SM19fJztcbmNvbnN0IElWWV9TV0lUQ0hfUE9TVF9TVUZGSVggPSAnX19QT1NUX1IzX18nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXZ5U3dpdGNoVHJhbnNmb3JtKF86IHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCk6IHRzLlRyYW5zZm9ybWVyPHRzLlNvdXJjZUZpbGU+IHtcbiAgcmV0dXJuIGZsaXBJdnlTd2l0Y2hJbkZpbGU7XG59XG5cbmZ1bmN0aW9uIGZsaXBJdnlTd2l0Y2hJbkZpbGUoc2Y6IHRzLlNvdXJjZUZpbGUpOiB0cy5Tb3VyY2VGaWxlIHtcbiAgLy8gVG8gcmVwbGFjZSB0aGUgc3RhdGVtZW50cyBhcnJheSwgaXQgbXVzdCBiZSBjb3BpZWQuIFRoaXMgb25seSBuZWVkcyB0byBoYXBwZW4gaWYgYSBzdGF0ZW1lbnRcbiAgLy8gbXVzdCBhY3R1YWxseSBiZSByZXBsYWNlZCB3aXRoaW4gdGhlIGFycmF5LCBzbyB0aGUgbmV3U3RhdGVtZW50cyBhcnJheSBpcyBsYXppbHkgaW5pdGlhbGl6ZWQuXG4gIGxldCBuZXdTdGF0ZW1lbnRzOiB0cy5TdGF0ZW1lbnRbXXx1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBzdGF0ZW1lbnRzIGluIHRoZSBmaWxlLlxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNmLnN0YXRlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzZi5zdGF0ZW1lbnRzW2ldO1xuXG4gICAgLy8gU2tpcCBvdmVyIGV2ZXJ5dGhpbmcgdGhhdCBpc24ndCBhIHZhcmlhYmxlIHN0YXRlbWVudC5cbiAgICBpZiAoIXRzLmlzVmFyaWFibGVTdGF0ZW1lbnQoc3RhdGVtZW50KSB8fCAhaGFzSXZ5U3dpdGNoZXMoc3RhdGVtZW50KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzdGF0ZW1lbnQgbmVlZHMgdG8gYmUgcmVwbGFjZWQuIENoZWNrIGlmIHRoZSBuZXdTdGF0ZW1lbnRzIGFycmF5IG5lZWRzIHRvIGJlIGxhemlseVxuICAgIC8vIGluaXRpYWxpemVkIHRvIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgc3RhdGVtZW50cy5cbiAgICBpZiAobmV3U3RhdGVtZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdTdGF0ZW1lbnRzID0gWy4uLnNmLnN0YXRlbWVudHNdO1xuICAgIH1cblxuICAgIC8vIEZsaXAgYW55IHN3aXRjaGVzIGluIHRoZSBWYXJpYWJsZVN0YXRlbWVudC4gSWYgdGhlcmUgd2VyZSBhbnksIGEgbmV3IHN0YXRlbWVudCB3aWxsIGJlXG4gICAgLy8gcmV0dXJuZWQ7IG90aGVyd2lzZSB0aGUgb2xkIHN0YXRlbWVudCB3aWxsIGJlLlxuICAgIG5ld1N0YXRlbWVudHNbaV0gPSBmbGlwSXZ5U3dpdGNoZXNJblZhcmlhYmxlU3RhdGVtZW50KHN0YXRlbWVudCwgc2Yuc3RhdGVtZW50cyk7XG4gIH1cblxuICAvLyBPbmx5IHVwZGF0ZSB0aGUgc3RhdGVtZW50cyBpbiB0aGUgU291cmNlRmlsZSBpZiBhbnkgaGF2ZSBjaGFuZ2VkLlxuICBpZiAobmV3U3RhdGVtZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHRzLnVwZGF0ZVNvdXJjZUZpbGVOb2RlKHNmLCBuZXdTdGF0ZW1lbnRzKTtcbiAgfVxuICByZXR1cm4gc2Y7XG59XG5cbi8qKlxuICogTG9vayBmb3IgdGhlIHRzLklkZW50aWZpZXIgb2YgYSB0cy5EZWNsYXJhdGlvbiB3aXRoIHRoaXMgbmFtZS5cbiAqXG4gKiBUaGUgcmVhbCBpZGVudGlmaWVyIGlzIG5lZWRlZCAocmF0aGVyIHRoYW4gZmFicmljYXRpbmcgb25lKSBhcyBUeXBlU2NyaXB0IGRlY2lkZXMgaG93IHRvXG4gKiByZWZlcmVuY2UgdGhpcyBpZGVudGlmaWVyIGJhc2VkIG9uIGluZm9ybWF0aW9uIHN0b3JlZCBhZ2FpbnN0IGl0cyBub2RlIGluIHRoZSBBU1QsIHdoaWNoIGFcbiAqIHN5bnRoZXRpYyBub2RlIHdvdWxkIG5vdCBoYXZlLiBJbiBwYXJ0aWN1bGFyLCBzaW5jZSB0aGUgcG9zdC1zd2l0Y2ggdmFyaWFibGUgaXMgb2Z0ZW4gZXhwb3J0ZWQsXG4gKiBUeXBlU2NyaXB0IG5lZWRzIHRvIGtub3cgdGhpcyBzbyBpdCBjYW4gd3JpdGUgYGV4cG9ydHMuVkFSYCBpbnN0ZWFkIG9mIGp1c3QgYFZBUmAgd2hlbiBlbWl0dGluZ1xuICogY29kZS5cbiAqXG4gKiBPbmx5IHZhcmlhYmxlLCBmdW5jdGlvbiwgYW5kIGNsYXNzIGRlY2xhcmF0aW9ucyBhcmUgY3VycmVudGx5IHNlYXJjaGVkLlxuICovXG5mdW5jdGlvbiBmaW5kUG9zdFN3aXRjaElkZW50aWZpZXIoXG4gICAgc3RhdGVtZW50czogUmVhZG9ubHlBcnJheTx0cy5TdGF0ZW1lbnQ+LCBuYW1lOiBzdHJpbmcpOiB0cy5JZGVudGlmaWVyfG51bGwge1xuICBmb3IgKGNvbnN0IHN0bXQgb2Ygc3RhdGVtZW50cykge1xuICAgIGlmICh0cy5pc1ZhcmlhYmxlU3RhdGVtZW50KHN0bXQpKSB7XG4gICAgICBjb25zdCBkZWNsID0gc3RtdC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zLmZpbmQoXG4gICAgICAgICAgZGVjbCA9PiB0cy5pc0lkZW50aWZpZXIoZGVjbC5uYW1lKSAmJiBkZWNsLm5hbWUudGV4dCA9PT0gbmFtZSk7XG4gICAgICBpZiAoZGVjbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkZWNsLm5hbWUgYXMgdHMuSWRlbnRpZmllcjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRzLmlzRnVuY3Rpb25EZWNsYXJhdGlvbihzdG10KSB8fCB0cy5pc0NsYXNzRGVjbGFyYXRpb24oc3RtdCkpIHtcbiAgICAgIGlmIChzdG10Lm5hbWUgIT09IHVuZGVmaW5lZCAmJiB0cy5pc0lkZW50aWZpZXIoc3RtdC5uYW1lKSAmJiBzdG10Lm5hbWUudGV4dCA9PT0gbmFtZSkge1xuICAgICAgICByZXR1cm4gc3RtdC5uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBGbGlwIGFueSBJdnkgc3dpdGNoZXMgd2hpY2ggYXJlIGRpc2NvdmVyZWQgaW4gdGhlIGdpdmVuIHRzLlZhcmlhYmxlU3RhdGVtZW50LlxuICovXG5mdW5jdGlvbiBmbGlwSXZ5U3dpdGNoZXNJblZhcmlhYmxlU3RhdGVtZW50KFxuICAgIHN0bXQ6IHRzLlZhcmlhYmxlU3RhdGVtZW50LCBzdGF0ZW1lbnRzOiBSZWFkb25seUFycmF5PHRzLlN0YXRlbWVudD4pOiB0cy5WYXJpYWJsZVN0YXRlbWVudCB7XG4gIC8vIEJ1aWxkIGEgbmV3IGxpc3Qgb2YgdmFyaWFibGUgZGVjbGFyYXRpb25zLiBTcGVjaWZpYyBkZWNsYXJhdGlvbnMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQgdG8gYVxuICAvLyBwcmUtc3dpdGNoIGlkZW50aWZpZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIGEgZGVjbGFyYXRpb24gaW5pdGlhbGl6ZWQgdG8gdGhlIHBvc3Qtc3dpdGNoXG4gIC8vIGlkZW50aWZpZXIuXG4gIGNvbnN0IG5ld0RlY2xhcmF0aW9ucyA9IFsuLi5zdG10LmRlY2xhcmF0aW9uTGlzdC5kZWNsYXJhdGlvbnNdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG5ld0RlY2xhcmF0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGRlY2wgPSBuZXdEZWNsYXJhdGlvbnNbaV07XG5cbiAgICAvLyBTa2lwIGRlY2xhcmF0aW9ucyB0aGF0IGFyZW4ndCBpbml0aWFsaXplZCB0byBhbiBpZGVudGlmaWVyLlxuICAgIGlmIChkZWNsLmluaXRpYWxpemVyID09PSB1bmRlZmluZWQgfHwgIXRzLmlzSWRlbnRpZmllcihkZWNsLmluaXRpYWxpemVyKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gU2tpcCBkZWNsYXJhdGlvbnMgdGhhdCBhcmVuJ3QgSXZ5IHN3aXRjaGVzLlxuICAgIGlmICghZGVjbC5pbml0aWFsaXplci50ZXh0LmVuZHNXaXRoKElWWV9TV0lUQ0hfUFJFX1NVRkZJWCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIERldGVybWluZSB0aGUgbmFtZSBvZiB0aGUgcG9zdC1zd2l0Y2ggdmFyaWFibGUuXG4gICAgY29uc3QgcG9zdFN3aXRjaE5hbWUgPVxuICAgICAgICBkZWNsLmluaXRpYWxpemVyLnRleHQucmVwbGFjZShJVllfU1dJVENIX1BSRV9TVUZGSVgsIElWWV9TV0lUQ0hfUE9TVF9TVUZGSVgpO1xuXG4gICAgLy8gRmluZCB0aGUgcG9zdC1zd2l0Y2ggdmFyaWFibGUgaWRlbnRpZmllci4gSWYgb25lIGNhbid0IGJlIGZvdW5kLCBpdCdzIGFuIGVycm9yLiBUaGlzIGlzXG4gICAgLy8gcmVwb3J0ZWQgYXMgYSB0aHJvd24gZXJyb3IgYW5kIG5vdCBhIGRpYWdub3N0aWMgYXMgdHJhbnNmb3JtZXJzIGNhbm5vdCBvdXRwdXQgZGlhZ25vc3RpY3MuXG4gICAgY29uc3QgbmV3SWRlbnRpZmllciA9IGZpbmRQb3N0U3dpdGNoSWRlbnRpZmllcihzdGF0ZW1lbnRzLCBwb3N0U3dpdGNoTmFtZSk7XG4gICAgaWYgKG5ld0lkZW50aWZpZXIgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgaWRlbnRpZmllciAke3Bvc3RTd2l0Y2hOYW1lfSBpbiAke1xuICAgICAgICAgIHN0bXQuZ2V0U291cmNlRmlsZSgpLmZpbGVOYW1lfSBmb3IgdGhlIEl2eSBzd2l0Y2guYCk7XG4gICAgfVxuXG4gICAgbmV3RGVjbGFyYXRpb25zW2ldID0gdHMudXBkYXRlVmFyaWFibGVEZWNsYXJhdGlvbihcbiAgICAgICAgLyogbm9kZSAqLyBkZWNsLFxuICAgICAgICAvKiBuYW1lICovIGRlY2wubmFtZSxcbiAgICAgICAgLyogdHlwZSAqLyBkZWNsLnR5cGUsXG4gICAgICAgIC8qIGluaXRpYWxpemVyICovIG5ld0lkZW50aWZpZXIpO1xuICB9XG5cbiAgY29uc3QgbmV3RGVjbExpc3QgPSB0cy51cGRhdGVWYXJpYWJsZURlY2xhcmF0aW9uTGlzdChcbiAgICAgIC8qIGRlY2xhcmF0aW9uTGlzdCAqLyBzdG10LmRlY2xhcmF0aW9uTGlzdCxcbiAgICAgIC8qIGRlY2xhcmF0aW9ucyAqLyBuZXdEZWNsYXJhdGlvbnMpO1xuXG4gIGNvbnN0IG5ld1N0bXQgPSB0cy51cGRhdGVWYXJpYWJsZVN0YXRlbWVudChcbiAgICAgIC8qIHN0YXRlbWVudCAqLyBzdG10LFxuICAgICAgLyogbW9kaWZpZXJzICovIHN0bXQubW9kaWZpZXJzLFxuICAgICAgLyogZGVjbGFyYXRpb25MaXN0ICovIG5ld0RlY2xMaXN0KTtcblxuICByZXR1cm4gbmV3U3RtdDtcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBWYXJpYWJsZVN0YXRlbWVudCBoYXMgYW55IEl2eSBzd2l0Y2ggdmFyaWFibGVzLlxuICovXG5mdW5jdGlvbiBoYXNJdnlTd2l0Y2hlcyhzdG10OiB0cy5WYXJpYWJsZVN0YXRlbWVudCkge1xuICByZXR1cm4gc3RtdC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zLnNvbWUoXG4gICAgICBkZWNsID0+IGRlY2wuaW5pdGlhbGl6ZXIgIT09IHVuZGVmaW5lZCAmJiB0cy5pc0lkZW50aWZpZXIoZGVjbC5pbml0aWFsaXplcikgJiZcbiAgICAgICAgICBkZWNsLmluaXRpYWxpemVyLnRleHQuZW5kc1dpdGgoSVZZX1NXSVRDSF9QUkVfU1VGRklYKSk7XG59XG4iXX0=
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
(function (factory) {
|
|
9
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
-
var v = factory(require, exports);
|
|
11
|
-
if (v !== undefined) module.exports = v;
|
|
12
|
-
}
|
|
13
|
-
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/transform", ["require", "exports", "tslib", "@angular/compiler-cli/src/ngtsc/transform/src/api", "@angular/compiler-cli/src/ngtsc/transform/src/alias", "@angular/compiler-cli/src/ngtsc/transform/src/compilation", "@angular/compiler-cli/src/ngtsc/transform/src/declaration", "@angular/compiler-cli/src/ngtsc/transform/src/trait", "@angular/compiler-cli/src/ngtsc/transform/src/transform"], factory);
|
|
15
|
-
}
|
|
16
|
-
})(function (require, exports) {
|
|
17
|
-
"use strict";
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.ivyTransformFactory = exports.TraitState = exports.Trait = exports.IvyDeclarationDtsTransform = exports.DtsTransformRegistry = exports.declarationTransformFactory = exports.TraitCompiler = exports.aliasTransformFactory = void 0;
|
|
20
|
-
var tslib_1 = require("tslib");
|
|
21
|
-
tslib_1.__exportStar(require("@angular/compiler-cli/src/ngtsc/transform/src/api"), exports);
|
|
22
|
-
var alias_1 = require("@angular/compiler-cli/src/ngtsc/transform/src/alias");
|
|
23
|
-
Object.defineProperty(exports, "aliasTransformFactory", { enumerable: true, get: function () { return alias_1.aliasTransformFactory; } });
|
|
24
|
-
var compilation_1 = require("@angular/compiler-cli/src/ngtsc/transform/src/compilation");
|
|
25
|
-
Object.defineProperty(exports, "TraitCompiler", { enumerable: true, get: function () { return compilation_1.TraitCompiler; } });
|
|
26
|
-
var declaration_1 = require("@angular/compiler-cli/src/ngtsc/transform/src/declaration");
|
|
27
|
-
Object.defineProperty(exports, "declarationTransformFactory", { enumerable: true, get: function () { return declaration_1.declarationTransformFactory; } });
|
|
28
|
-
Object.defineProperty(exports, "DtsTransformRegistry", { enumerable: true, get: function () { return declaration_1.DtsTransformRegistry; } });
|
|
29
|
-
Object.defineProperty(exports, "IvyDeclarationDtsTransform", { enumerable: true, get: function () { return declaration_1.IvyDeclarationDtsTransform; } });
|
|
30
|
-
var trait_1 = require("@angular/compiler-cli/src/ngtsc/transform/src/trait");
|
|
31
|
-
Object.defineProperty(exports, "Trait", { enumerable: true, get: function () { return trait_1.Trait; } });
|
|
32
|
-
Object.defineProperty(exports, "TraitState", { enumerable: true, get: function () { return trait_1.TraitState; } });
|
|
33
|
-
var transform_1 = require("@angular/compiler-cli/src/ngtsc/transform/src/transform");
|
|
34
|
-
Object.defineProperty(exports, "ivyTransformFactory", { enumerable: true, get: function () { return transform_1.ivyTransformFactory; } });
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3RyYW5zZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7O0lBRUgsNEZBQTBCO0lBQzFCLDZFQUFrRDtJQUExQyw4R0FBQSxxQkFBcUIsT0FBQTtJQUM3Qix5RkFBNkQ7SUFBeEMsNEdBQUEsYUFBYSxPQUFBO0lBQ2xDLHlGQUFnSDtJQUF4RywwSEFBQSwyQkFBMkIsT0FBQTtJQUFFLG1IQUFBLG9CQUFvQixPQUFBO0lBQUUseUhBQUEsMEJBQTBCLE9BQUE7SUFDckYsNkVBQXdHO0lBQXRDLDhGQUFBLEtBQUssT0FBQTtJQUFFLG1HQUFBLFVBQVUsT0FBQTtJQUNuRixxRkFBb0Q7SUFBNUMsZ0hBQUEsbUJBQW1CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBpJztcbmV4cG9ydCB7YWxpYXNUcmFuc2Zvcm1GYWN0b3J5fSBmcm9tICcuL3NyYy9hbGlhcyc7XG5leHBvcnQge0NsYXNzUmVjb3JkLCBUcmFpdENvbXBpbGVyfSBmcm9tICcuL3NyYy9jb21waWxhdGlvbic7XG5leHBvcnQge2RlY2xhcmF0aW9uVHJhbnNmb3JtRmFjdG9yeSwgRHRzVHJhbnNmb3JtUmVnaXN0cnksIEl2eURlY2xhcmF0aW9uRHRzVHJhbnNmb3JtfSBmcm9tICcuL3NyYy9kZWNsYXJhdGlvbic7XG5leHBvcnQge0FuYWx5emVkVHJhaXQsIFBlbmRpbmdUcmFpdCwgUmVzb2x2ZWRUcmFpdCwgU2tpcHBlZFRyYWl0LCBUcmFpdCwgVHJhaXRTdGF0ZX0gZnJvbSAnLi9zcmMvdHJhaXQnO1xuZXhwb3J0IHtpdnlUcmFuc2Zvcm1GYWN0b3J5fSBmcm9tICcuL3NyYy90cmFuc2Zvcm0nO1xuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
(function (factory) {
|
|
9
|
-
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
-
var v = factory(require, exports);
|
|
11
|
-
if (v !== undefined) module.exports = v;
|
|
12
|
-
}
|
|
13
|
-
else if (typeof define === "function" && define.amd) {
|
|
14
|
-
define("@angular/compiler-cli/src/ngtsc/transform/src/alias", ["require", "exports", "tslib", "typescript"], factory);
|
|
15
|
-
}
|
|
16
|
-
})(function (require, exports) {
|
|
17
|
-
"use strict";
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.aliasTransformFactory = void 0;
|
|
20
|
-
var tslib_1 = require("tslib");
|
|
21
|
-
var ts = require("typescript");
|
|
22
|
-
function aliasTransformFactory(exportStatements) {
|
|
23
|
-
return function (context) {
|
|
24
|
-
return function (file) {
|
|
25
|
-
if (ts.isBundle(file) || !exportStatements.has(file.fileName)) {
|
|
26
|
-
return file;
|
|
27
|
-
}
|
|
28
|
-
var statements = tslib_1.__spreadArray([], tslib_1.__read(file.statements));
|
|
29
|
-
exportStatements.get(file.fileName).forEach(function (_a, aliasName) {
|
|
30
|
-
var _b = tslib_1.__read(_a, 2), moduleName = _b[0], symbolName = _b[1];
|
|
31
|
-
var stmt = ts.createExportDeclaration(
|
|
32
|
-
/* decorators */ undefined,
|
|
33
|
-
/* modifiers */ undefined,
|
|
34
|
-
/* exportClause */ ts.createNamedExports([ts.createExportSpecifier(
|
|
35
|
-
/* propertyName */ symbolName,
|
|
36
|
-
/* name */ aliasName)]),
|
|
37
|
-
/* moduleSpecifier */ ts.createStringLiteral(moduleName));
|
|
38
|
-
statements.push(stmt);
|
|
39
|
-
});
|
|
40
|
-
return ts.updateSourceFileNode(file, statements);
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
exports.aliasTransformFactory = aliasTransformFactory;
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci1jbGkvc3JjL25ndHNjL3RyYW5zZm9ybS9zcmMvYWxpYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7OztJQUVILCtCQUFpQztJQUVqQyxTQUFnQixxQkFBcUIsQ0FBQyxnQkFBNEQ7UUFFaEcsT0FBTyxVQUFDLE9BQWlDO1lBQ3ZDLE9BQU8sVUFBQyxJQUFtQjtnQkFDekIsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDN0QsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsSUFBTSxVQUFVLDRDQUFPLElBQUksQ0FBQyxVQUFVLEVBQUMsQ0FBQztnQkFDeEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUF3QixFQUFFLFNBQVM7d0JBQW5DLEtBQUEscUJBQXdCLEVBQXZCLFVBQVUsUUFBQSxFQUFFLFVBQVUsUUFBQTtvQkFDbkUsSUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLHVCQUF1QjtvQkFDbkMsZ0JBQWdCLENBQUMsU0FBUztvQkFDMUIsZUFBZSxDQUFDLFNBQVM7b0JBQ3pCLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUI7d0JBQzlELGtCQUFrQixDQUFDLFVBQVU7d0JBQzdCLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUMzQixxQkFBcUIsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDOUQsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUF2QkQsc0RBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWxpYXNUcmFuc2Zvcm1GYWN0b3J5KGV4cG9ydFN0YXRlbWVudHM6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFtzdHJpbmcsIHN0cmluZ10+Pik6XG4gICAgdHMuVHJhbnNmb3JtZXJGYWN0b3J5PHRzLlNvdXJjZUZpbGU+IHtcbiAgcmV0dXJuIChjb250ZXh0OiB0cy5UcmFuc2Zvcm1hdGlvbkNvbnRleHQpID0+IHtcbiAgICByZXR1cm4gKGZpbGU6IHRzLlNvdXJjZUZpbGUpID0+IHtcbiAgICAgIGlmICh0cy5pc0J1bmRsZShmaWxlKSB8fCAhZXhwb3J0U3RhdGVtZW50cy5oYXMoZmlsZS5maWxlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZpbGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXRlbWVudHMgPSBbLi4uZmlsZS5zdGF0ZW1lbnRzXTtcbiAgICAgIGV4cG9ydFN0YXRlbWVudHMuZ2V0KGZpbGUuZmlsZU5hbWUpIS5mb3JFYWNoKChbbW9kdWxlTmFtZSwgc3ltYm9sTmFtZV0sIGFsaWFzTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBzdG10ID0gdHMuY3JlYXRlRXhwb3J0RGVjbGFyYXRpb24oXG4gICAgICAgICAgICAvKiBkZWNvcmF0b3JzICovIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC8qIG1vZGlmaWVycyAqLyB1bmRlZmluZWQsXG4gICAgICAgICAgICAvKiBleHBvcnRDbGF1c2UgKi8gdHMuY3JlYXRlTmFtZWRFeHBvcnRzKFt0cy5jcmVhdGVFeHBvcnRTcGVjaWZpZXIoXG4gICAgICAgICAgICAgICAgLyogcHJvcGVydHlOYW1lICovIHN5bWJvbE5hbWUsXG4gICAgICAgICAgICAgICAgLyogbmFtZSAqLyBhbGlhc05hbWUpXSksXG4gICAgICAgICAgICAvKiBtb2R1bGVTcGVjaWZpZXIgKi8gdHMuY3JlYXRlU3RyaW5nTGl0ZXJhbChtb2R1bGVOYW1lKSk7XG4gICAgICAgIHN0YXRlbWVudHMucHVzaChzdG10KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHMudXBkYXRlU291cmNlRmlsZU5vZGUoZmlsZSwgc3RhdGVtZW50cyk7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==
|