@cucumber/cucumber 12.9.0 → 13.0.0
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/README.md +8 -3
- package/bin/cucumber.js +2 -1
- package/lib/api/convert_configuration.d.ts +3 -4
- package/lib/api/convert_configuration.js +9 -11
- package/lib/api/emit_support_code_messages.d.ts +3 -3
- package/lib/api/emit_support_code_messages.js +13 -28
- package/lib/api/formatters.d.ts +7 -7
- package/lib/api/formatters.js +5 -2
- package/lib/api/gherkin.d.ts +3 -3
- package/lib/api/gherkin.js +2 -4
- package/lib/api/index.d.ts +2 -2
- package/lib/api/index.js +1 -1
- package/lib/api/load_configuration.d.ts +2 -2
- package/lib/api/load_configuration.js +4 -5
- package/lib/api/load_sources.d.ts +2 -2
- package/lib/api/load_sources.js +2 -2
- package/lib/api/load_support.d.ts +2 -2
- package/lib/api/load_support.js +3 -3
- package/lib/api/plugins.d.ts +2 -2
- package/lib/api/plugins.js +2 -2
- package/lib/api/run_cucumber.d.ts +3 -3
- package/lib/api/run_cucumber.js +17 -1
- package/lib/api/support.d.ts +3 -3
- package/lib/api/support.js +5 -5
- package/lib/api/test_helpers.d.ts +1 -1
- package/lib/api/test_helpers.js +8 -10
- package/lib/api/types.d.ts +9 -5
- package/lib/api/types.js +1 -1
- package/lib/assemble/assemble_test_cases.d.ts +4 -4
- package/lib/assemble/assemble_test_cases.js +2 -6
- package/lib/assemble/index.js +1 -1
- package/lib/assemble/types.d.ts +1 -1
- package/lib/assemble/types.js +1 -1
- package/lib/cli/i18n.js +5 -3
- package/lib/cli/index.d.ts +1 -1
- package/lib/cli/index.js +2 -2
- package/lib/cli/install_validator.js +4 -3
- package/lib/cli/run.js +7 -6
- package/lib/cli/validate_node_engine_version.js +2 -4
- package/lib/configuration/argv_parser.d.ts +1 -1
- package/lib/configuration/argv_parser.js +7 -7
- package/lib/configuration/check_schema.d.ts +1 -1
- package/lib/configuration/check_schema.js +17 -6
- package/lib/configuration/default_configuration.d.ts +1 -1
- package/lib/configuration/default_configuration.js +2 -1
- package/lib/configuration/from_file.d.ts +2 -2
- package/lib/configuration/from_file.js +6 -6
- package/lib/configuration/helpers.js +1 -1
- package/lib/configuration/index.js +1 -1
- package/lib/configuration/locate_file.js +3 -3
- package/lib/configuration/merge_configurations.d.ts +1 -1
- package/lib/configuration/merge_configurations.js +2 -10
- package/lib/configuration/parse_configuration.d.ts +2 -2
- package/lib/configuration/parse_configuration.js +3 -11
- package/lib/configuration/split_format_descriptor.d.ts +1 -2
- package/lib/configuration/split_format_descriptor.js +11 -71
- package/lib/configuration/types.d.ts +26 -3
- package/lib/configuration/types.js +1 -1
- package/lib/configuration/validate_configuration.d.ts +2 -2
- package/lib/configuration/validate_configuration.js +5 -3
- package/lib/environment/console_logger.d.ts +2 -2
- package/lib/environment/console_logger.js +1 -1
- package/lib/environment/index.js +1 -1
- package/lib/environment/make_environment.d.ts +1 -1
- package/lib/environment/make_environment.js +1 -1
- package/lib/environment/types.d.ts +1 -1
- package/lib/environment/types.js +1 -1
- package/lib/filter/filter_plugin.d.ts +1 -1
- package/lib/filter/filter_plugin.js +1 -1
- package/lib/filter/index.d.ts +1 -1
- package/lib/filter/index.js +2 -2
- package/lib/filter/order_pickles.d.ts +2 -2
- package/lib/filter/order_pickles.js +1 -1
- package/lib/filter/types.d.ts +1 -1
- package/lib/filter/types.js +1 -1
- package/lib/filter_stack_trace.d.ts +1 -1
- package/lib/filter_stack_trace.js +1 -1
- package/lib/formatter/builder.d.ts +7 -6
- package/lib/formatter/builder.js +6 -7
- package/lib/formatter/builtin/html.js +2 -2
- package/lib/formatter/builtin/index.d.ts +4 -4
- package/lib/formatter/builtin/index.js +14 -13
- package/lib/formatter/builtin/message.js +2 -2
- package/lib/formatter/builtin/pretty.d.ts +6 -0
- package/lib/formatter/builtin/pretty.js +19 -0
- package/lib/formatter/builtin/progress-bar.d.ts +6 -0
- package/lib/formatter/builtin/progress-bar.js +22 -0
- package/lib/formatter/builtin/progress.d.ts +6 -0
- package/lib/formatter/builtin/progress.js +18 -0
- package/lib/formatter/builtin/resolve_terminal_options.d.ts +3 -0
- package/lib/formatter/builtin/resolve_terminal_options.js +15 -0
- package/lib/formatter/builtin/summary.d.ts +6 -0
- package/lib/formatter/builtin/summary.js +15 -0
- package/lib/formatter/create_stream.d.ts +2 -2
- package/lib/formatter/create_stream.js +3 -5
- package/lib/formatter/find_class_or_plugin.js +1 -1
- package/lib/formatter/get_color_fns.d.ts +3 -3
- package/lib/formatter/get_color_fns.js +23 -52
- package/lib/formatter/helpers/duration_helpers.d.ts +1 -1
- package/lib/formatter/helpers/duration_helpers.js +1 -1
- package/lib/formatter/helpers/event_data_collector.d.ts +2 -2
- package/lib/formatter/helpers/event_data_collector.js +4 -6
- package/lib/formatter/helpers/formatters.d.ts +1 -1
- package/lib/formatter/helpers/formatters.js +1 -3
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +1 -1
- package/lib/formatter/helpers/gherkin_document_parser.js +20 -18
- package/lib/formatter/helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/index.js +8 -8
- package/lib/formatter/helpers/issue_helpers.d.ts +5 -5
- package/lib/formatter/helpers/issue_helpers.js +2 -2
- package/lib/formatter/helpers/keyword_type.js +2 -2
- package/lib/formatter/helpers/location_helpers.d.ts +1 -1
- package/lib/formatter/helpers/location_helpers.js +1 -1
- package/lib/formatter/helpers/pickle_parser.d.ts +2 -2
- package/lib/formatter/helpers/pickle_parser.js +8 -9
- package/lib/formatter/helpers/step_argument_formatter.d.ts +1 -1
- package/lib/formatter/helpers/step_argument_formatter.js +1 -1
- package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
- package/lib/formatter/helpers/summary_helpers.js +8 -4
- package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +4 -4
- package/lib/formatter/helpers/test_case_attempt_formatter.js +5 -5
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +4 -4
- package/lib/formatter/helpers/test_case_attempt_parser.js +4 -9
- package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/usage_helpers/index.js +5 -6
- package/lib/formatter/import_code.js +2 -2
- package/lib/formatter/index.d.ts +25 -13
- package/lib/formatter/index.js +2 -2
- package/lib/formatter/json_formatter.d.ts +2 -2
- package/lib/formatter/json_formatter.js +9 -14
- package/lib/formatter/progress_formatter.d.ts +4 -1
- package/lib/formatter/progress_formatter.js +4 -1
- package/lib/formatter/rerun_formatter.d.ts +1 -1
- package/lib/formatter/rerun_formatter.js +2 -2
- package/lib/formatter/resolve_implementation.d.ts +1 -1
- package/lib/formatter/resolve_implementation.js +2 -2
- package/lib/formatter/snippets_formatter.d.ts +1 -1
- package/lib/formatter/snippets_formatter.js +2 -2
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +4 -4
- package/lib/formatter/step_definition_snippet_builder/index.js +3 -3
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -5
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +1 -1
- package/lib/formatter/summary_formatter.d.ts +6 -3
- package/lib/formatter/summary_formatter.js +6 -3
- package/lib/formatter/usage_formatter.d.ts +1 -1
- package/lib/formatter/usage_formatter.js +4 -4
- package/lib/formatter/usage_json_formatter.d.ts +1 -1
- package/lib/formatter/usage_json_formatter.js +3 -3
- package/lib/index.d.ts +6 -11
- package/lib/index.js +13 -20
- package/lib/models/data_table.d.ts +1 -1
- package/lib/models/data_table.js +9 -5
- package/lib/models/definition.d.ts +4 -4
- package/lib/models/definition.js +1 -1
- package/lib/models/gherkin_step_keyword.js +1 -1
- package/lib/models/step_definition.d.ts +3 -3
- package/lib/models/step_definition.js +1 -1
- package/lib/models/test_case_hook_definition.d.ts +2 -2
- package/lib/models/test_case_hook_definition.js +1 -1
- package/lib/models/test_run_hook_definition.d.ts +1 -1
- package/lib/models/test_run_hook_definition.js +1 -1
- package/lib/models/test_step_hook_definition.d.ts +2 -2
- package/lib/models/test_step_hook_definition.js +1 -1
- package/lib/paths/index.js +1 -1
- package/lib/paths/paths.d.ts +3 -3
- package/lib/paths/paths.js +42 -18
- package/lib/paths/types.js +1 -1
- package/lib/pickle_filter.d.ts +1 -1
- package/lib/pickle_filter.js +3 -3
- package/lib/plugin/index.d.ts +1 -1
- package/lib/plugin/index.js +2 -2
- package/lib/plugin/plugin_manager.d.ts +2 -2
- package/lib/plugin/plugin_manager.js +1 -1
- package/lib/plugin/types.d.ts +59 -9
- package/lib/plugin/types.js +1 -1
- package/lib/publish/index.js +1 -1
- package/lib/publish/publish_plugin.d.ts +1 -1
- package/lib/publish/publish_plugin.js +14 -15
- package/lib/publish/types.js +1 -1
- package/lib/runtime/attachment_manager/index.d.ts +1 -1
- package/lib/runtime/attachment_manager/index.js +3 -6
- package/lib/runtime/coordinator.d.ts +13 -6
- package/lib/runtime/coordinator.js +26 -18
- package/lib/runtime/format_error.d.ts +1 -1
- package/lib/runtime/format_error.js +43 -15
- package/lib/runtime/helpers.d.ts +2 -2
- package/lib/runtime/helpers.js +2 -2
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/make_runtime.d.ts +10 -9
- package/lib/runtime/make_runtime.js +4 -5
- package/lib/runtime/make_suggestion.d.ts +2 -2
- package/lib/runtime/make_suggestion.js +1 -1
- package/lib/runtime/parallel/adapter.d.ts +27 -39
- package/lib/runtime/parallel/adapter.js +124 -122
- package/lib/runtime/parallel/test_cases_phase.d.ts +19 -0
- package/lib/runtime/parallel/test_cases_phase.js +63 -0
- package/lib/runtime/parallel/test_run_hooks_phase.d.ts +11 -0
- package/lib/runtime/parallel/test_run_hooks_phase.js +33 -0
- package/lib/runtime/parallel/types.d.ts +38 -22
- package/lib/runtime/parallel/types.js +1 -1
- package/lib/runtime/parallel/worker.mjs +65 -0
- package/lib/runtime/scope/index.js +1 -1
- package/lib/runtime/scope/make_proxy.js +1 -1
- package/lib/runtime/scope/test_case_scope.d.ts +1 -1
- package/lib/runtime/scope/test_case_scope.js +1 -1
- package/lib/runtime/scope/test_run_scope.d.ts +1 -1
- package/lib/runtime/scope/test_run_scope.js +1 -1
- package/lib/runtime/serial/adapter.d.ts +15 -9
- package/lib/runtime/serial/adapter.js +21 -9
- package/lib/runtime/step_runner.d.ts +2 -2
- package/lib/runtime/step_runner.js +2 -2
- package/lib/runtime/stopwatch.d.ts +1 -1
- package/lib/runtime/stopwatch.js +1 -1
- package/lib/runtime/test_case_runner.d.ts +10 -9
- package/lib/runtime/test_case_runner.js +20 -12
- package/lib/runtime/types.d.ts +7 -3
- package/lib/runtime/types.js +1 -1
- package/lib/runtime/worker.d.ts +14 -13
- package/lib/runtime/worker.js +26 -44
- package/lib/sharding/index.js +1 -1
- package/lib/sharding/sharding_plugin.d.ts +1 -1
- package/lib/sharding/sharding_plugin.js +1 -1
- package/lib/step_arguments.d.ts +1 -1
- package/lib/step_arguments.js +1 -1
- package/lib/support_code_library_builder/build_parameter_type.d.ts +1 -1
- package/lib/support_code_library_builder/build_parameter_type.js +5 -3
- package/lib/support_code_library_builder/context.js +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +1 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js +1 -1
- package/lib/support_code_library_builder/index.d.ts +7 -7
- package/lib/support_code_library_builder/index.js +9 -9
- package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +1 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +3 -4
- package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +2 -2
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js +1 -1
- package/lib/support_code_library_builder/types.d.ts +8 -8
- package/lib/support_code_library_builder/types.js +1 -1
- package/lib/support_code_library_builder/validate_arguments.d.ts +1 -1
- package/lib/support_code_library_builder/validate_arguments.js +1 -1
- package/lib/support_code_library_builder/world.d.ts +2 -2
- package/lib/support_code_library_builder/world.js +2 -2
- package/lib/time.js +2 -2
- package/lib/try_require.js +3 -2
- package/lib/types/index.js +1 -1
- package/lib/uncaught_exception_manager.js +1 -1
- package/lib/user_code_runner.d.ts +1 -1
- package/lib/user_code_runner.js +3 -3
- package/lib/value_checker.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/wrapper.mjs +1 -5
- package/package.json +40 -63
- package/lib/api/convert_configuration.js.map +0 -1
- package/lib/api/emit_support_code_messages.js.map +0 -1
- package/lib/api/formatters.js.map +0 -1
- package/lib/api/gherkin.js.map +0 -1
- package/lib/api/index.js.map +0 -1
- package/lib/api/load_configuration.js.map +0 -1
- package/lib/api/load_sources.js.map +0 -1
- package/lib/api/load_support.js.map +0 -1
- package/lib/api/plugins.js.map +0 -1
- package/lib/api/run_cucumber.js.map +0 -1
- package/lib/api/support.js.map +0 -1
- package/lib/api/test_helpers.js.map +0 -1
- package/lib/api/types.js.map +0 -1
- package/lib/assemble/assemble_test_cases.js.map +0 -1
- package/lib/assemble/index.js.map +0 -1
- package/lib/assemble/types.js.map +0 -1
- package/lib/cli/i18n.js.map +0 -1
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/install_validator.js.map +0 -1
- package/lib/cli/run.js.map +0 -1
- package/lib/cli/validate_node_engine_version.js.map +0 -1
- package/lib/configuration/argv_parser.js.map +0 -1
- package/lib/configuration/check_schema.js.map +0 -1
- package/lib/configuration/default_configuration.js.map +0 -1
- package/lib/configuration/from_file.js.map +0 -1
- package/lib/configuration/helpers.js.map +0 -1
- package/lib/configuration/index.js.map +0 -1
- package/lib/configuration/locate_file.js.map +0 -1
- package/lib/configuration/merge_configurations.js.map +0 -1
- package/lib/configuration/parse_configuration.js.map +0 -1
- package/lib/configuration/split_format_descriptor.js.map +0 -1
- package/lib/configuration/types.js.map +0 -1
- package/lib/configuration/validate_configuration.js.map +0 -1
- package/lib/environment/console_logger.js.map +0 -1
- package/lib/environment/index.js.map +0 -1
- package/lib/environment/make_environment.js.map +0 -1
- package/lib/environment/types.js.map +0 -1
- package/lib/filter/filter_plugin.js.map +0 -1
- package/lib/filter/index.js.map +0 -1
- package/lib/filter/order_pickles.js.map +0 -1
- package/lib/filter/types.js.map +0 -1
- package/lib/filter_stack_trace.js.map +0 -1
- package/lib/formatter/builder.js.map +0 -1
- package/lib/formatter/builtin/html.js.map +0 -1
- package/lib/formatter/builtin/index.js.map +0 -1
- package/lib/formatter/builtin/message.js.map +0 -1
- package/lib/formatter/create_stream.js.map +0 -1
- package/lib/formatter/find_class_or_plugin.js.map +0 -1
- package/lib/formatter/get_color_fns.js.map +0 -1
- package/lib/formatter/helpers/duration_helpers.js.map +0 -1
- package/lib/formatter/helpers/event_data_collector.js.map +0 -1
- package/lib/formatter/helpers/formatters.js.map +0 -1
- package/lib/formatter/helpers/gherkin_document_parser.js.map +0 -1
- package/lib/formatter/helpers/index.js.map +0 -1
- package/lib/formatter/helpers/issue_helpers.js.map +0 -1
- package/lib/formatter/helpers/keyword_type.js.map +0 -1
- package/lib/formatter/helpers/location_helpers.js.map +0 -1
- package/lib/formatter/helpers/pickle_parser.js.map +0 -1
- package/lib/formatter/helpers/step_argument_formatter.js.map +0 -1
- package/lib/formatter/helpers/summary_helpers.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_formatter.js.map +0 -1
- package/lib/formatter/helpers/test_case_attempt_parser.js.map +0 -1
- package/lib/formatter/helpers/usage_helpers/index.js.map +0 -1
- package/lib/formatter/import_code.js.map +0 -1
- package/lib/formatter/index.js.map +0 -1
- package/lib/formatter/json_formatter.js.map +0 -1
- package/lib/formatter/progress_bar_formatter.d.ts +0 -18
- package/lib/formatter/progress_bar_formatter.js +0 -103
- package/lib/formatter/progress_bar_formatter.js.map +0 -1
- package/lib/formatter/progress_formatter.js.map +0 -1
- package/lib/formatter/rerun_formatter.js.map +0 -1
- package/lib/formatter/resolve_implementation.js.map +0 -1
- package/lib/formatter/snippets_formatter.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/index.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +0 -1
- package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +0 -1
- package/lib/formatter/summary_formatter.js.map +0 -1
- package/lib/formatter/usage_formatter.js.map +0 -1
- package/lib/formatter/usage_json_formatter.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/models/data_table.js.map +0 -1
- package/lib/models/definition.js.map +0 -1
- package/lib/models/gherkin_step_keyword.js.map +0 -1
- package/lib/models/step_definition.js.map +0 -1
- package/lib/models/test_case_hook_definition.js.map +0 -1
- package/lib/models/test_run_hook_definition.js.map +0 -1
- package/lib/models/test_step_hook_definition.js.map +0 -1
- package/lib/paths/index.js.map +0 -1
- package/lib/paths/paths.js.map +0 -1
- package/lib/paths/types.js.map +0 -1
- package/lib/pickle_filter.js.map +0 -1
- package/lib/plugin/index.js.map +0 -1
- package/lib/plugin/plugin_manager.js.map +0 -1
- package/lib/plugin/types.js.map +0 -1
- package/lib/publish/index.js.map +0 -1
- package/lib/publish/publish_plugin.js.map +0 -1
- package/lib/publish/types.js.map +0 -1
- package/lib/runtime/attachment_manager/index.js.map +0 -1
- package/lib/runtime/coordinator.js.map +0 -1
- package/lib/runtime/format_error.js.map +0 -1
- package/lib/runtime/helpers.js.map +0 -1
- package/lib/runtime/index.js.map +0 -1
- package/lib/runtime/make_runtime.js.map +0 -1
- package/lib/runtime/make_suggestion.js.map +0 -1
- package/lib/runtime/parallel/adapter.js.map +0 -1
- package/lib/runtime/parallel/run_worker.js +0 -25
- package/lib/runtime/parallel/run_worker.js.map +0 -1
- package/lib/runtime/parallel/types.js.map +0 -1
- package/lib/runtime/parallel/worker.d.ts +0 -25
- package/lib/runtime/parallel/worker.js +0 -83
- package/lib/runtime/parallel/worker.js.map +0 -1
- package/lib/runtime/scope/index.js.map +0 -1
- package/lib/runtime/scope/make_proxy.js.map +0 -1
- package/lib/runtime/scope/test_case_scope.js.map +0 -1
- package/lib/runtime/scope/test_run_scope.js.map +0 -1
- package/lib/runtime/serial/adapter.js.map +0 -1
- package/lib/runtime/step_runner.js.map +0 -1
- package/lib/runtime/stopwatch.js.map +0 -1
- package/lib/runtime/test_case_runner.js.map +0 -1
- package/lib/runtime/types.js.map +0 -1
- package/lib/runtime/worker.js.map +0 -1
- package/lib/sharding/index.js.map +0 -1
- package/lib/sharding/sharding_plugin.js.map +0 -1
- package/lib/step_arguments.js.map +0 -1
- package/lib/support_code_library_builder/build_parameter_type.js.map +0 -1
- package/lib/support_code_library_builder/context.js.map +0 -1
- package/lib/support_code_library_builder/get_definition_line_and_uri.js.map +0 -1
- package/lib/support_code_library_builder/index.js.map +0 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js.map +0 -1
- package/lib/support_code_library_builder/sourced_parameter_type_registry.js.map +0 -1
- package/lib/support_code_library_builder/types.js.map +0 -1
- package/lib/support_code_library_builder/validate_arguments.js.map +0 -1
- package/lib/support_code_library_builder/world.js.map +0 -1
- package/lib/time.js.map +0 -1
- package/lib/try_require.js.map +0 -1
- package/lib/tsconfig.node.tsbuildinfo +0 -1
- package/lib/types/index.js.map +0 -1
- package/lib/uncaught_exception_manager.js.map +0 -1
- package/lib/user_code_runner.js.map +0 -1
- package/lib/value_checker.js.map +0 -1
- package/lib/version.js.map +0 -1
- /package/lib/runtime/parallel/{run_worker.d.ts → worker.d.mts} +0 -0
package/lib/formatter/index.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { FormatterPlugin } from '../plugin';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
import type { Writable } from 'node:stream';
|
|
3
|
+
import type { FormatCodeFunction, Theme } from '@cucumber/pretty-formatter';
|
|
4
|
+
import type { FormatterPlugin } from '../plugin';
|
|
5
|
+
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
6
|
+
import type { IColorFns } from './get_color_fns';
|
|
7
|
+
import type { EventDataCollector } from './helpers';
|
|
8
|
+
import type StepDefinitionSnippetBuilder from './step_definition_snippet_builder';
|
|
9
|
+
import type { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax';
|
|
10
|
+
export type { FormatCodeFunction, Theme } from '@cucumber/pretty-formatter';
|
|
12
11
|
export interface FormatOptions {
|
|
13
12
|
/**
|
|
14
13
|
* @deprecated use `FORCE_COLOR` instead; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
@@ -17,10 +16,23 @@ export interface FormatOptions {
|
|
|
17
16
|
html?: {
|
|
18
17
|
externalAttachments?: boolean | ReadonlyArray<string>;
|
|
19
18
|
};
|
|
20
|
-
|
|
19
|
+
includeAttachments?: boolean;
|
|
20
|
+
pretty?: {
|
|
21
|
+
includeFeatureLine?: boolean;
|
|
22
|
+
includeRuleLine?: boolean;
|
|
23
|
+
useStatusIcon?: boolean;
|
|
24
|
+
formatCode?: FormatCodeFunction;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated alias for `includeAttachments`; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
28
|
+
*/
|
|
29
|
+
printAttachments?: boolean;
|
|
30
|
+
rerun?: {
|
|
31
|
+
separator?: string;
|
|
32
|
+
};
|
|
21
33
|
snippetInterface?: SnippetInterface;
|
|
22
34
|
snippetSyntax?: string;
|
|
23
|
-
|
|
35
|
+
theme?: Theme;
|
|
24
36
|
[customKey: string]: any;
|
|
25
37
|
}
|
|
26
38
|
export type FormatterImplementation = typeof Formatter | FormatterPlugin;
|
package/lib/formatter/index.js
CHANGED
|
@@ -21,11 +21,11 @@ class Formatter {
|
|
|
21
21
|
this.stream = options.stream;
|
|
22
22
|
this.supportCodeLibrary = options.supportCodeLibrary;
|
|
23
23
|
this.cleanup = options.cleanup;
|
|
24
|
-
this.printAttachments = (0, value_checker_1.valueOrDefault)(options.parsedArgvOptions.printAttachments, true);
|
|
24
|
+
this.printAttachments = (0, value_checker_1.valueOrDefault)(options.parsedArgvOptions.includeAttachments ?? options.parsedArgvOptions.printAttachments, true);
|
|
25
25
|
}
|
|
26
26
|
async finished() {
|
|
27
27
|
await this.cleanup();
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.default = Formatter;
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9ybWF0dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esb0RBQWlEO0FBc0RqRCxNQUFxQixTQUFTO0lBQ2xCLFFBQVEsQ0FBVztJQUNuQixHQUFHLENBQVE7SUFDWCxrQkFBa0IsQ0FBb0I7SUFDdEMsR0FBRyxDQUFpQjtJQUNwQixjQUFjLENBQThCO0lBQzVDLE1BQU0sQ0FBVTtJQUNoQixrQkFBa0IsQ0FBb0I7SUFDdEMsZ0JBQWdCLENBQVM7SUFDbEIsT0FBTyxDQUFxQjtJQUM3QyxNQUFNLENBQVUsYUFBYSxDQUFRO0lBRXJDLFlBQVksT0FBMEI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFBO1FBQ3BELElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUE7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUE7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQ3BDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQzFGLElBQUksQ0FDTCxDQUFBO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDdEIsQ0FBQztDQUNGO0FBOUJELDRCQThCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnbm9kZTpldmVudHMnXG5pbXBvcnQgdHlwZSB7IFdyaXRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nXG5pbXBvcnQgdHlwZSB7IEZvcm1hdENvZGVGdW5jdGlvbiwgVGhlbWUgfSBmcm9tICdAY3VjdW1iZXIvcHJldHR5LWZvcm1hdHRlcidcbmltcG9ydCB0eXBlIHsgRm9ybWF0dGVyUGx1Z2luIH0gZnJvbSAnLi4vcGx1Z2luJ1xuaW1wb3J0IHR5cGUgeyBTdXBwb3J0Q29kZUxpYnJhcnkgfSBmcm9tICcuLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3R5cGVzJ1xuaW1wb3J0IHsgdmFsdWVPckRlZmF1bHQgfSBmcm9tICcuLi92YWx1ZV9jaGVja2VyJ1xuaW1wb3J0IHR5cGUgeyBJQ29sb3JGbnMgfSBmcm9tICcuL2dldF9jb2xvcl9mbnMnXG5pbXBvcnQgdHlwZSB7IEV2ZW50RGF0YUNvbGxlY3RvciB9IGZyb20gJy4vaGVscGVycydcbmltcG9ydCB0eXBlIFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXIgZnJvbSAnLi9zdGVwX2RlZmluaXRpb25fc25pcHBldF9idWlsZGVyJ1xuaW1wb3J0IHR5cGUgeyBTbmlwcGV0SW50ZXJmYWNlIH0gZnJvbSAnLi9zdGVwX2RlZmluaXRpb25fc25pcHBldF9idWlsZGVyL3NuaXBwZXRfc3ludGF4J1xuXG5leHBvcnQgdHlwZSB7IEZvcm1hdENvZGVGdW5jdGlvbiwgVGhlbWUgfSBmcm9tICdAY3VjdW1iZXIvcHJldHR5LWZvcm1hdHRlcidcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgRk9SQ0VfQ09MT1JgIGluc3RlYWQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vY3VjdW1iZXIvY3VjdW1iZXItanMvYmxvYi9tYWluL2RvY3MvZGVwcmVjYXRpb25zLm1kXG4gICAqL1xuICBjb2xvcnNFbmFibGVkPzogYm9vbGVhblxuICBodG1sPzoge1xuICAgIGV4dGVybmFsQXR0YWNobWVudHM/OiBib29sZWFuIHwgUmVhZG9ubHlBcnJheTxzdHJpbmc+XG4gIH1cbiAgaW5jbHVkZUF0dGFjaG1lbnRzPzogYm9vbGVhblxuICBwcmV0dHk/OiB7XG4gICAgaW5jbHVkZUZlYXR1cmVMaW5lPzogYm9vbGVhblxuICAgIGluY2x1ZGVSdWxlTGluZT86IGJvb2xlYW5cbiAgICB1c2VTdGF0dXNJY29uPzogYm9vbGVhblxuICAgIGZvcm1hdENvZGU/OiBGb3JtYXRDb2RlRnVuY3Rpb25cbiAgfVxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgYWxpYXMgZm9yIGBpbmNsdWRlQXR0YWNobWVudHNgOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyLWpzL2Jsb2IvbWFpbi9kb2NzL2RlcHJlY2F0aW9ucy5tZFxuICAgKi9cbiAgcHJpbnRBdHRhY2htZW50cz86IGJvb2xlYW5cbiAgcmVydW4/OiB7XG4gICAgc2VwYXJhdG9yPzogc3RyaW5nXG4gIH1cbiAgc25pcHBldEludGVyZmFjZT86IFNuaXBwZXRJbnRlcmZhY2VcbiAgc25pcHBldFN5bnRheD86IHN0cmluZ1xuICB0aGVtZT86IFRoZW1lXG4gIFtjdXN0b21LZXk6IHN0cmluZ106IGFueVxufVxuXG5leHBvcnQgdHlwZSBGb3JtYXR0ZXJJbXBsZW1lbnRhdGlvbiA9IHR5cGVvZiBGb3JtYXR0ZXIgfCBGb3JtYXR0ZXJQbHVnaW5cbmV4cG9ydCB0eXBlIElGb3JtYXR0ZXJTdHJlYW0gPSBXcml0YWJsZVxuZXhwb3J0IHR5cGUgSUZvcm1hdHRlckxvZ0ZuID0gKGJ1ZmZlcjogc3RyaW5nIHwgVWludDhBcnJheSkgPT4gdm9pZFxuZXhwb3J0IHR5cGUgSUZvcm1hdHRlckNsZWFudXBGbiA9ICgpID0+IFByb21pc2U8YW55PlxuXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtYXR0ZXJPcHRpb25zIHtcbiAgY29sb3JGbnM6IElDb2xvckZuc1xuICBjd2Q6IHN0cmluZ1xuICBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXJcbiAgZXZlbnREYXRhQ29sbGVjdG9yOiBFdmVudERhdGFDb2xsZWN0b3JcbiAgbG9nOiBJRm9ybWF0dGVyTG9nRm5cbiAgcGFyc2VkQXJndk9wdGlvbnM6IEZvcm1hdE9wdGlvbnNcbiAgc25pcHBldEJ1aWxkZXI6IFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXJcbiAgc3RyZWFtOiBXcml0YWJsZVxuICBjbGVhbnVwOiBJRm9ybWF0dGVyQ2xlYW51cEZuXG4gIHN1cHBvcnRDb2RlTGlicmFyeTogU3VwcG9ydENvZGVMaWJyYXJ5XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcm1hdHRlciB7XG4gIHByb3RlY3RlZCBjb2xvckZuczogSUNvbG9yRm5zXG4gIHByb3RlY3RlZCBjd2Q6IHN0cmluZ1xuICBwcm90ZWN0ZWQgZXZlbnREYXRhQ29sbGVjdG9yOiBFdmVudERhdGFDb2xsZWN0b3JcbiAgcHJvdGVjdGVkIGxvZzogSUZvcm1hdHRlckxvZ0ZuXG4gIHByb3RlY3RlZCBzbmlwcGV0QnVpbGRlcjogU3RlcERlZmluaXRpb25TbmlwcGV0QnVpbGRlclxuICBwcm90ZWN0ZWQgc3RyZWFtOiBXcml0YWJsZVxuICBwcm90ZWN0ZWQgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnlcbiAgcHJvdGVjdGVkIHByaW50QXR0YWNobWVudHM6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSBjbGVhbnVwOiBJRm9ybWF0dGVyQ2xlYW51cEZuXG4gIHN0YXRpYyByZWFkb25seSBkb2N1bWVudGF0aW9uOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJRm9ybWF0dGVyT3B0aW9ucykge1xuICAgIHRoaXMuY29sb3JGbnMgPSBvcHRpb25zLmNvbG9yRm5zXG4gICAgdGhpcy5jd2QgPSBvcHRpb25zLmN3ZFxuICAgIHRoaXMuZXZlbnREYXRhQ29sbGVjdG9yID0gb3B0aW9ucy5ldmVudERhdGFDb2xsZWN0b3JcbiAgICB0aGlzLmxvZyA9IG9wdGlvbnMubG9nXG4gICAgdGhpcy5zbmlwcGV0QnVpbGRlciA9IG9wdGlvbnMuc25pcHBldEJ1aWxkZXJcbiAgICB0aGlzLnN0cmVhbSA9IG9wdGlvbnMuc3RyZWFtXG4gICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkgPSBvcHRpb25zLnN1cHBvcnRDb2RlTGlicmFyeVxuICAgIHRoaXMuY2xlYW51cCA9IG9wdGlvbnMuY2xlYW51cFxuICAgIHRoaXMucHJpbnRBdHRhY2htZW50cyA9IHZhbHVlT3JEZWZhdWx0KFxuICAgICAgb3B0aW9ucy5wYXJzZWRBcmd2T3B0aW9ucy5pbmNsdWRlQXR0YWNobWVudHMgPz8gb3B0aW9ucy5wYXJzZWRBcmd2T3B0aW9ucy5wcmludEF0dGFjaG1lbnRzLFxuICAgICAgdHJ1ZVxuICAgIClcbiAgfVxuXG4gIGFzeW5jIGZpbmlzaGVkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xlYW51cCgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as messages from '@cucumber/messages';
|
|
2
|
-
import Formatter, { IFormatterOptions } from './';
|
|
2
|
+
import Formatter, { type IFormatterOptions } from './';
|
|
3
3
|
export interface IJsonFeature {
|
|
4
4
|
description: string;
|
|
5
5
|
elements: IJsonScenario[];
|
|
@@ -63,7 +63,7 @@ export default class JsonFormatter extends Formatter {
|
|
|
63
63
|
formatDocString(docString: messages.PickleDocString, gherkinStep: messages.Step): any;
|
|
64
64
|
formatStepArgument(stepArgument: messages.PickleStepArgument, gherkinStep: messages.Step): any;
|
|
65
65
|
onTestRunFinished(): void;
|
|
66
|
-
getFeatureData({ feature, elements, uri
|
|
66
|
+
getFeatureData({ feature, elements, uri }: IBuildJsonFeatureOptions): IJsonFeature;
|
|
67
67
|
getScenarioData({ feature, gherkinScenarioLocationMap, gherkinExampleRuleMap, gherkinScenarioMap, pickle, steps, }: IBuildJsonScenarioOptions): IJsonScenario;
|
|
68
68
|
private formatScenarioId;
|
|
69
69
|
getStepData({ isBeforeHook, gherkinStepMap, pickleStepMap, testStep, testStepAttachments, testStepResult, }: IBuildJsonStepOptions): IJsonStep;
|
|
@@ -37,12 +37,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const messages = __importStar(require("@cucumber/messages"));
|
|
40
|
-
const value_checker_1 = require("../value_checker");
|
|
41
40
|
const step_arguments_1 = require("../step_arguments");
|
|
41
|
+
const value_checker_1 = require("../value_checker");
|
|
42
|
+
const _1 = __importDefault(require("./"));
|
|
42
43
|
const helpers_1 = require("./helpers");
|
|
43
|
-
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
44
44
|
const duration_helpers_1 = require("./helpers/duration_helpers");
|
|
45
|
-
const
|
|
45
|
+
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
46
46
|
const { getGherkinStepMap, getGherkinScenarioMap } = helpers_1.GherkinDocumentParser;
|
|
47
47
|
const { getScenarioDescription, getPickleStepMap, getStepKeyword } = helpers_1.PickleParser;
|
|
48
48
|
class JsonFormatter extends _1.default {
|
|
@@ -84,9 +84,7 @@ class JsonFormatter extends _1.default {
|
|
|
84
84
|
}
|
|
85
85
|
onTestRunFinished() {
|
|
86
86
|
const groupedTestCaseAttempts = {};
|
|
87
|
-
this.eventDataCollector
|
|
88
|
-
.getTestCaseAttempts()
|
|
89
|
-
.forEach((testCaseAttempt) => {
|
|
87
|
+
this.eventDataCollector.getTestCaseAttempts().forEach((testCaseAttempt) => {
|
|
90
88
|
if (!testCaseAttempt.willBeRetried) {
|
|
91
89
|
const uri = testCaseAttempt.pickle.uri;
|
|
92
90
|
if ((0, value_checker_1.doesNotHaveValue)(groupedTestCaseAttempts[uri])) {
|
|
@@ -134,7 +132,7 @@ class JsonFormatter extends _1.default {
|
|
|
134
132
|
});
|
|
135
133
|
this.log(JSON.stringify(features, null, 2));
|
|
136
134
|
}
|
|
137
|
-
getFeatureData({ feature, elements, uri
|
|
135
|
+
getFeatureData({ feature, elements, uri }) {
|
|
138
136
|
return {
|
|
139
137
|
description: feature.description,
|
|
140
138
|
elements,
|
|
@@ -186,8 +184,7 @@ class JsonFormatter extends _1.default {
|
|
|
186
184
|
data.keyword = isBeforeHook ? 'Before' : 'After';
|
|
187
185
|
data.hidden = true;
|
|
188
186
|
}
|
|
189
|
-
if ((0, value_checker_1.doesHaveValue)(testStep.stepDefinitionIds) &&
|
|
190
|
-
testStep.stepDefinitionIds.length === 1) {
|
|
187
|
+
if ((0, value_checker_1.doesHaveValue)(testStep.stepDefinitionIds) && testStep.stepDefinitionIds.length === 1) {
|
|
191
188
|
const stepDefinition = this.supportCodeLibrary.stepDefinitions.find((s) => s.id === testStep.stepDefinitionIds[0]);
|
|
192
189
|
data.match = { location: (0, helpers_1.formatLocation)(stepDefinition) };
|
|
193
190
|
}
|
|
@@ -198,14 +195,12 @@ class JsonFormatter extends _1.default {
|
|
|
198
195
|
if ((0, value_checker_1.doesHaveValue)(testStepResult.duration)) {
|
|
199
196
|
data.result.duration = (0, duration_helpers_1.durationToNanoseconds)(testStepResult.duration);
|
|
200
197
|
}
|
|
201
|
-
if (status === messages.TestStepResultStatus.FAILED &&
|
|
202
|
-
(0, value_checker_1.doesHaveValue)(message)) {
|
|
198
|
+
if (status === messages.TestStepResultStatus.FAILED && (0, value_checker_1.doesHaveValue)(message)) {
|
|
203
199
|
data.result.error_message = message;
|
|
204
200
|
}
|
|
205
201
|
if (testStepAttachments?.length > 0) {
|
|
206
202
|
data.embeddings = testStepAttachments.map((attachment) => ({
|
|
207
|
-
data: attachment.contentEncoding ===
|
|
208
|
-
messages.AttachmentContentEncoding.IDENTITY
|
|
203
|
+
data: attachment.contentEncoding === messages.AttachmentContentEncoding.IDENTITY
|
|
209
204
|
? Buffer.from(attachment.body).toString('base64')
|
|
210
205
|
: attachment.body,
|
|
211
206
|
mime_type: attachment.mediaType,
|
|
@@ -239,4 +234,4 @@ class JsonFormatter extends _1.default {
|
|
|
239
234
|
}
|
|
240
235
|
}
|
|
241
236
|
exports.default = JsonFormatter;
|
|
242
|
-
//# sourceMappingURL=json_formatter.js.map
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9ybWF0dGVyL2pzb25fZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQThDO0FBQzlDLHNEQUFxRDtBQUNyRCxvREFBa0U7QUFDbEUsMENBQXNEO0FBQ3RELHVDQUErRTtBQUMvRSxpRUFBa0U7QUFFbEUsK0VBRzBDO0FBRTFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLCtCQUFxQixDQUFBO0FBRTFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsR0FBRyxzQkFBWSxDQUFBO0FBb0VqRixNQUFxQixhQUFjLFNBQVEsVUFBUztJQUMzQyxNQUFNLENBQVUsYUFBYSxHQUNsQyxrTUFBa00sQ0FBQTtJQUVwTSxZQUFZLE9BQTBCO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNkLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBMkIsRUFBRSxFQUFFO1lBQ3RFLElBQUksSUFBQSw2QkFBYSxFQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQXVDO1FBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBK0I7UUFDN0MsT0FBTztZQUNMLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFB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LEdBQW1CLEVBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRTdGLE1BQU0sR0FBRyxHQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDL0IsUUFBUSxDQUFDLFFBQVE7aUJBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2lCQUNsQixNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztpQkFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXRCLE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSTtTQUMxQixDQUFBO0lBQ0gsQ0FBQzs7QUFwUEgsZ0NBcVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbWVzc2FnZXMgZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgcGFyc2VTdGVwQXJndW1lbnQgfSBmcm9tICcuLi9zdGVwX2FyZ3VtZW50cydcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUgfSBmcm9tICcuLi92YWx1ZV9jaGVja2VyJ1xuaW1wb3J0IEZvcm1hdHRlciwgeyB0eXBlIElGb3JtYXR0ZXJPcHRpb25zIH0gZnJvbSAnLi8nXG5pbXBvcnQgeyBmb3JtYXRMb2NhdGlvbiwgR2hlcmtpbkRvY3VtZW50UGFyc2VyLCBQaWNrbGVQYXJzZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgeyBkdXJhdGlvblRvTmFub3NlY29uZHMgfSBmcm9tICcuL2hlbHBlcnMvZHVyYXRpb25faGVscGVycydcbmltcG9ydCB0eXBlIHsgSVRlc3RDYXNlQXR0ZW1wdCB9IGZyb20gJy4vaGVscGVycy9ldmVudF9kYXRhX2NvbGxlY3RvcidcbmltcG9ydCB7XG4gIGdldEdoZXJraW5FeGFtcGxlUnVsZU1hcCxcbiAgZ2V0R2hlcmtpblNjZW5hcmlvTG9jYXRpb25NYXAsXG59IGZyb20gJy4vaGVscGVycy9naGVya2luX2RvY3VtZW50X3BhcnNlcidcblxuY29uc3QgeyBnZXRHaGVya2luU3RlcE1hcCwgZ2V0R2hlcmtpblNjZW5hcmlvTWFwIH0gPSBHaGVya2luRG9jdW1lbnRQYXJzZXJcblxuY29uc3QgeyBnZXRTY2VuYXJpb0Rlc2NyaXB0aW9uLCBnZXRQaWNrbGVTdGVwTWFwLCBnZXRTdGVwS2V5d29yZCB9ID0gUGlja2xlUGFyc2VyXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25GZWF0dXJlIHtcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBlbGVtZW50czogSUpzb25TY2VuYXJpb1tdXG4gIGlkOiBzdHJpbmdcbiAga2V5d29yZDogc3RyaW5nXG4gIGxpbmU6IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbiAgdGFnczogSUpzb25UYWdbXVxuICB1cmk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElKc29uU2NlbmFyaW8ge1xuICBkZXNjcmlwdGlvbjogc3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAga2V5d29yZDogc3RyaW5nXG4gIGxpbmU6IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbiAgc3RlcHM6IElKc29uU3RlcFtdXG4gIHRhZ3M6IElKc29uVGFnW11cbiAgdHlwZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25TdGVwIHtcbiAgYXJndW1lbnRzPzogYW55IC8vIFRPRE9cbiAgZW1iZWRkaW5ncz86IGFueSAvLyBUT0RPXG4gIGhpZGRlbj86IGJvb2xlYW5cbiAga2V5d29yZD86IHN0cmluZyAvLyBUT0RPLCBub3Qgb3B0aW9uYWxcbiAgbGluZT86IG51bWJlclxuICBtYXRjaD86IGFueSAvLyBUT0RPXG4gIG5hbWU/OiBzdHJpbmdcbiAgcmVzdWx0PzogYW55IC8vIFRPRE9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSnNvblRhZyB7XG4gIG5hbWU6IHN0cmluZ1xuICBsaW5lOiBudW1iZXJcbn1cblxuaW50ZXJmYWNlIElCdWlsZEpzb25GZWF0dXJlT3B0aW9ucyB7XG4gIGZlYXR1cmU6IG1lc3NhZ2VzLkZlYXR1cmVcbiAgZWxlbWVudHM6IElKc29uU2NlbmFyaW9bXVxuICB1cmk6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgSUJ1aWxkSnNvblNjZW5hcmlvT3B0aW9ucyB7XG4gIGZlYXR1cmU6IG1lc3NhZ2VzLkZlYXR1cmVcbiAgZ2hlcmtpblNjZW5hcmlvTWFwOiBSZWNvcmQ8c3RyaW5nLCBtZXNzYWdlcy5TY2VuYXJpbz5cbiAgZ2hlcmtpbkV4YW1wbGVSdWxlTWFwOiBSZWNvcmQ8c3RyaW5nLCBtZXNzYWdlcy5SdWxlPlxuICBnaGVya2luU2NlbmFyaW9Mb2NhdGlvbk1hcDogUmVjb3JkPHN0cmluZywgbWVzc2FnZXMuTG9jYXRpb24+XG4gIHBpY2tsZTogbWVzc2FnZXMuUGlja2xlXG4gIHN0ZXBzOiBJSnNvblN0ZXBbXVxufVxuXG5pbnRlcmZhY2UgSUJ1aWxkSnNvblN0ZXBPcHRpb25zIHtcbiAgaXNCZWZvcmVIb29rOiBib29sZWFuXG4gIGdoZXJraW5TdGVwTWFwOiBSZWNvcmQ8c3RyaW5nLCBtZXNzYWdlcy5TdGVwPlxuICBwaWNrbGVTdGVwTWFwOiBSZWNvcmQ8c3RyaW5nLCBtZXNzYWdlcy5QaWNrbGVTdGVwPlxuICB0ZXN0U3RlcDogbWVzc2FnZXMuVGVzdFN0ZXBcbiAgdGVzdFN0ZXBBdHRhY2htZW50czogbWVzc2FnZXMuQXR0YWNobWVudFtdXG4gIHRlc3RTdGVwUmVzdWx0OiBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFxufVxuXG5pbnRlcmZhY2UgVXJpVG9UZXN0Q2FzZUF0dGVtcHRzTWFwIHtcbiAgW3VyaTogc3RyaW5nXTogSVRlc3RDYXNlQXR0ZW1wdFtdXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpzb25Gb3JtYXR0ZXIgZXh0ZW5kcyBGb3JtYXR0ZXIge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRvY3VtZW50YXRpb246IHN0cmluZyA9XG4gICAgJ1ByaW50cyB0aGUgZmVhdHVyZSBhcyBKU09OLiBUaGUgSlNPTiBmb3JtYXQgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZS4gUGxlYXNlIGNvbnNpZGVyIHVzaW5nIHRoZSBtZXNzYWdlIGZvcm1hdHRlciB3aXRoIHRoZSBzdGFuZGFsb25lIGpzb24tZm9ybWF0dGVyIChodHRwczovL2dpdGh1Yi5jb20vY3VjdW1iZXIvanNvbi1mb3JtYXR0ZXIpLidcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJRm9ybWF0dGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpXG4gICAgb3B0aW9ucy5ldmVudEJyb2FkY2FzdGVyLm9uKCdlbnZlbG9wZScsIChlbnZlbG9wZTogbWVzc2FnZXMuRW52ZWxvcGUpID0+IHtcbiAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKGVudmVsb3BlLnRlc3RSdW5GaW5pc2hlZCkpIHtcbiAgICAgICAgdGhpcy5vblRlc3RSdW5GaW5pc2hlZCgpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGNvbnZlcnROYW1lVG9JZChvYmo6IG1lc3NhZ2VzLkZlYXR1cmUgfCBtZXNzYWdlcy5QaWNrbGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBvYmoubmFtZS5yZXBsYWNlKC8gL2csICctJykudG9Mb3dlckNhc2UoKVxuICB9XG5cbiAgZm9ybWF0RGF0YVRhYmxlKGRhdGFUYWJsZTogbWVzc2FnZXMuUGlja2xlVGFibGUpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICByb3dzOiBkYXRhVGFibGUucm93cy5tYXAoKHJvdykgPT4gKHtcbiAgICAgICAgY2VsbHM6IHJvdy5jZWxscy5tYXAoKHgpID0+IHgudmFsdWUpLFxuICAgICAgfSkpLFxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdERvY1N0cmluZyhkb2NTdHJpbmc6IG1lc3NhZ2VzLlBpY2tsZURvY1N0cmluZywgZ2hlcmtpblN0ZXA6IG1lc3NhZ2VzLlN0ZXApOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBkb2NTdHJpbmcuY29udGVudCxcbiAgICAgIGxpbmU6IGdoZXJraW5TdGVwLmRvY1N0cmluZy5sb2NhdGlvbi5saW5lLFxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFN0ZXBBcmd1bWVudChzdGVwQXJndW1lbnQ6IG1lc3NhZ2VzLlBpY2tsZVN0ZXBBcmd1bWVudCwgZ2hlcmtpblN0ZXA6IG1lc3NhZ2VzLlN0ZXApOiBhbnkge1xuICAgIGlmIChkb2VzTm90SGF2ZVZhbHVlKHN0ZXBBcmd1bWVudCkpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgcGFyc2VTdGVwQXJndW1lbnQ8YW55PihzdGVwQXJndW1lbnQsIHtcbiAgICAgICAgZGF0YVRhYmxlOiAoZGF0YVRhYmxlKSA9PiB0aGlzLmZvcm1hdERhdGFUYWJsZShkYXRhVGFibGUpLFxuICAgICAgICBkb2NTdHJpbmc6IChkb2NTdHJpbmcpID0+IHRoaXMuZm9ybWF0RG9jU3RyaW5nKGRvY1N0cmluZywgZ2hlcmtpblN0ZXApLFxuICAgICAgfSksXG4gICAgXVxuICB9XG5cbiAgb25UZXN0UnVuRmluaXNoZWQoKTogdm9pZCB7XG4gICAgY29uc3QgZ3JvdXBlZFRlc3RDYXNlQXR0ZW1wdHM6IFVyaVRvVGVzdENhc2VBdHRlbXB0c01hcCA9IHt9XG4gICAgdGhpcy5ldmVudERhdGFDb2xsZWN0b3IuZ2V0VGVzdENhc2VBdHRlbXB0cygpLmZvckVhY2goKHRlc3RDYXNlQXR0ZW1wdDogSVRlc3RDYXNlQXR0ZW1wdCkgPT4ge1xuICAgICAgaWYgKCF0ZXN0Q2FzZUF0dGVtcHQud2lsbEJlUmV0cmllZCkge1xuICAgICAgICBjb25zdCB1cmkgPSB0ZXN0Q2FzZUF0dGVtcHQucGlja2xlLnVyaVxuICAgICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShncm91cGVkVGVzdENhc2VBdHRlbXB0c1t1cmldKSkge1xuICAgICAgICAgIGdyb3VwZWRUZXN0Q2FzZUF0dGVtcHRzW3VyaV0gPSBbXVxuICAgICAgICB9XG4gICAgICAgIGdyb3VwZWRUZXN0Q2FzZUF0dGVtcHRzW3VyaV0ucHVzaCh0ZXN0Q2FzZUF0dGVtcHQpXG4gICAgICB9XG4gICAgfSlcbiAgICBjb25zdCBmZWF0dXJlcyA9IE9iamVjdC5rZXlzKGdyb3VwZWRUZXN0Q2FzZUF0dGVtcHRzKS5tYXAoKHVyaSkgPT4ge1xuICAgICAgY29uc3QgZ3JvdXAgPSBncm91cGVkVGVzdENhc2VBdHRlbXB0c1t1cmldXG4gICAgICBjb25zdCB7IGdoZXJraW5Eb2N1bWVudCB9ID0gZ3JvdXBbMF1cbiAgICAgIGNvbnN0IGdoZXJraW5TdGVwTWFwID0gZ2V0R2hlcmtpblN0ZXBNYXAoZ2hlcmtpbkRvY3VtZW50KVxuICAgICAgY29uc3QgZ2hlcmtpblNjZW5hcmlvTWFwID0gZ2V0R2hlcmtpblNjZW5hcmlvTWFwKGdoZXJraW5Eb2N1bWVudClcbiAgICAgIGNvbnN0IGdoZXJraW5FeGFtcGxlUnVsZU1hcCA9IGdldEdoZXJraW5FeGFtcGxlUnVsZU1hcChnaGVya2luRG9jdW1lbnQpXG4gICAgICBjb25zdCBnaGVya2luU2NlbmFyaW9Mb2NhdGlvbk1hcCA9IGdldEdoZXJraW5TY2VuYXJpb0xvY2F0aW9uTWFwKGdoZXJraW5Eb2N1bWVudClcbiAgICAgIGNvbnN0IGVsZW1lbnRzID0gZ3JvdXAubWFwKCh0ZXN0Q2FzZUF0dGVtcHQ6IElUZXN0Q2FzZUF0dGVtcHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBwaWNrbGUgfSA9IHRlc3RDYXNlQXR0ZW1wdFxuICAgICAgICBjb25zdCBwaWNrbGVTdGVwTWFwID0gZ2V0UGlja2xlU3RlcE1hcChwaWNrbGUpXG4gICAgICAgIGxldCBpc0JlZm9yZUhvb2sgPSB0cnVlXG4gICAgICAgIGNvbnN0IHN0ZXBzID0gdGVzdENhc2VBdHRlbXB0LnRlc3RDYXNlLnRlc3RTdGVwcy5tYXAoKHRlc3RTdGVwKSA9PiB7XG4gICAgICAgICAgaXNCZWZvcmVIb29rID0gaXNCZWZvcmVIb29rICYmICFkb2VzSGF2ZVZhbHVlKHRlc3RTdGVwLnBpY2tsZVN0ZXBJZClcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGVwRGF0YSh7XG4gICAgICAgICAgICBpc0JlZm9yZUhvb2ssXG4gICAgICAgICAgICBnaGVya2luU3RlcE1hcCxcbiAgICAgICAgICAgIHBpY2tsZVN0ZXBNYXAsXG4gICAgICAgICAgICB0ZXN0U3RlcCxcbiAgICAgICAgICAgIHRlc3RTdGVwQXR0YWNobWVudHM6IHRlc3RDYXNlQXR0ZW1wdC5zdGVwQXR0YWNobWVudHNbdGVzdFN0ZXAuaWRdLFxuICAgICAgICAgICAgdGVzdFN0ZXBSZXN1bHQ6IHRlc3RDYXNlQXR0ZW1wdC5zdGVwUmVzdWx0c1t0ZXN0U3RlcC5pZF0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NlbmFyaW9EYXRhKHtcbiAgICAgICAgICBmZWF0dXJlOiBnaGVya2luRG9jdW1lbnQuZmVhdHVyZSxcbiAgICAgICAgICBnaGVya2luU2NlbmFyaW9Mb2NhdGlvbk1hcCxcbiAgICAgICAgICBnaGVya2luRXhhbXBsZVJ1bGVNYXAsXG4gICAgICAgICAgZ2hlcmtpblNjZW5hcmlvTWFwLFxuICAgICAgICAgIHBpY2tsZSxcbiAgICAgICAgICBzdGVwcyxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlRGF0YSh7XG4gICAgICAgIGZlYXR1cmU6IGdoZXJraW5Eb2N1bWVudC5mZWF0dXJlLFxuICAgICAgICBlbGVtZW50cyxcbiAgICAgICAgdXJpLFxuICAgICAgfSlcbiAgICB9KVxuICAgIHRoaXMubG9nKEpTT04uc3RyaW5naWZ5KGZlYXR1cmVzLCBudWxsLCAyKSlcbiAgfVxuXG4gIGdldEZlYXR1cmVEYXRhKHsgZmVhdHVyZSwgZWxlbWVudHMsIHVyaSB9OiBJQnVpbGRKc29uRmVhdHVyZU9wdGlvbnMpOiBJSnNvbkZlYXR1cmUge1xuICAgIHJldHVybiB7XG4gICAgICBkZXNjcmlwdGlvbjogZmVhdHVyZS5kZXNjcmlwdGlvbixcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgaWQ6IHRoaXMuY29udmVydE5hbWVUb0lkKGZlYXR1cmUpLFxuICAgICAgbGluZTogZmVhdHVyZS5sb2NhdGlvbi5saW5lLFxuICAgICAga2V5d29yZDogZmVhdHVyZS5rZXl3b3JkLFxuICAgICAgbmFtZTogZmVhdHVyZS5uYW1lLFxuICAgICAgdGFnczogdGhpcy5nZXRGZWF0dXJlVGFncyhmZWF0dXJlKSxcbiAgICAgIHVyaSxcbiAgICB9XG4gIH1cblxuICBnZXRTY2VuYXJpb0RhdGEoe1xuICAgIGZlYXR1cmUsXG4gICAgZ2hlcmtpblNjZW5hcmlvTG9jYXRpb25NYXAsXG4gICAgZ2hlcmtpbkV4YW1wbGVSdWxlTWFwLFxuICAgIGdoZXJraW5TY2VuYXJpb01hcCxcbiAgICBwaWNrbGUsXG4gICAgc3RlcHMsXG4gIH06IElCdWlsZEpzb25TY2VuYXJpb09wdGlvbnMpOiBJSnNvblNjZW5hcmlvIHtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGdldFNjZW5hcmlvRGVzY3JpcHRpb24oe1xuICAgICAgcGlja2xlLFxuICAgICAgZ2hlcmtpblNjZW5hcmlvTWFwLFxuICAgIH0pXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgaWQ6IHRoaXMuZm9ybWF0U2NlbmFyaW9JZCh7IGZlYXR1cmUsIHBpY2tsZSwgZ2hlcmtpbkV4YW1wbGVSdWxlTWFwIH0pLFxuICAgICAga2V5d29yZDogZ2hlcmtpblNjZW5hcmlvTWFwW3BpY2tsZS5hc3ROb2RlSWRzWzBdXS5rZXl3b3JkLFxuICAgICAgbGluZTogZ2hlcmtpblNjZW5hcmlvTG9jYXRpb25NYXBbcGlja2xlLmFzdE5vZGVJZHNbcGlja2xlLmFzdE5vZGVJZHMubGVuZ3RoIC0gMV1dLmxpbmUsXG4gICAgICBuYW1lOiBwaWNrbGUubmFtZSxcbiAgICAgIHN0ZXBzLFxuICAgICAgdGFnczogdGhpcy5nZXRTY2VuYXJpb1RhZ3MoeyBmZWF0dXJlLCBwaWNrbGUsIGdoZXJraW5TY2VuYXJpb01hcCB9KSxcbiAgICAgIHR5cGU6ICdzY2VuYXJpbycsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRTY2VuYXJpb0lkKHtcbiAgICBmZWF0dXJlLFxuICAgIHBpY2tsZSxcbiAgICBnaGVya2luRXhhbXBsZVJ1bGVNYXAsXG4gIH06IHtcbiAgICBmZWF0dXJlOiBtZXNzYWdlcy5GZWF0dXJlXG4gICAgcGlja2xlOiBtZXNzYWdlcy5QaWNrbGVcbiAgICBnaGVya2luRXhhbXBsZVJ1bGVNYXA6IFJlY29yZDxzdHJpbmcsIG1lc3NhZ2VzLlJ1bGU+XG4gIH0pOiBzdHJpbmcge1xuICAgIGxldCBwYXJ0czogYW55W11cbiAgICBjb25zdCBydWxlID0gZ2hlcmtpbkV4YW1wbGVSdWxlTWFwW3BpY2tsZS5hc3ROb2RlSWRzWzBdXVxuICAgIGlmIChkb2VzSGF2ZVZhbHVlKHJ1bGUpKSB7XG4gICAgICBwYXJ0cyA9IFtmZWF0dXJlLCBydWxlLCBwaWNrbGVdXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRzID0gW2ZlYXR1cmUsIHBpY2tsZV1cbiAgICB9XG4gICAgcmV0dXJuIHBhcnRzLm1hcCgocGFydCkgPT4gdGhpcy5jb252ZXJ0TmFtZVRvSWQocGFydCkpLmpvaW4oJzsnKVxuICB9XG5cbiAgZ2V0U3RlcERhdGEoe1xuICAgIGlzQmVmb3JlSG9vayxcbiAgICBnaGVya2luU3RlcE1hcCxcbiAgICBwaWNrbGVTdGVwTWFwLFxuICAgIHRlc3RTdGVwLFxuICAgIHRlc3RTdGVwQXR0YWNobWVudHMsXG4gICAgdGVzdFN0ZXBSZXN1bHQsXG4gIH06IElCdWlsZEpzb25TdGVwT3B0aW9ucyk6IElKc29uU3RlcCB7XG4gICAgY29uc3QgZGF0YTogSUpzb25TdGVwID0ge31cbiAgICBpZiAoZG9lc0hhdmVWYWx1ZSh0ZXN0U3RlcC5waWNrbGVTdGVwSWQpKSB7XG4gICAgICBjb25zdCBwaWNrbGVTdGVwID0gcGlja2xlU3RlcE1hcFt0ZXN0U3RlcC5waWNrbGVTdGVwSWRdXG4gICAgICBkYXRhLmFyZ3VtZW50cyA9IHRoaXMuZm9ybWF0U3RlcEFyZ3VtZW50KFxuICAgICAgICBwaWNrbGVTdGVwLmFyZ3VtZW50LFxuICAgICAgICBnaGVya2luU3RlcE1hcFtwaWNrbGVTdGVwLmFzdE5vZGVJZHNbMF1dXG4gICAgICApXG4gICAgICBkYXRhLmtleXdvcmQgPSBnZXRTdGVwS2V5d29yZCh7IHBpY2tsZVN0ZXAsIGdoZXJraW5TdGVwTWFwIH0pXG4gICAgICBkYXRhLmxpbmUgPSBnaGVya2luU3RlcE1hcFtwaWNrbGVTdGVwLmFzdE5vZGVJZHNbMF1dLmxvY2F0aW9uLmxpbmVcbiAgICAgIGRhdGEubmFtZSA9IHBpY2tsZVN0ZXAudGV4dFxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRhLmtleXdvcmQgPSBpc0JlZm9yZUhvb2sgPyAnQmVmb3JlJyA6ICdBZnRlcidcbiAgICAgIGRhdGEuaGlkZGVuID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAoZG9lc0hhdmVWYWx1ZSh0ZXN0U3RlcC5zdGVwRGVmaW5pdGlvbklkcykgJiYgdGVzdFN0ZXAuc3RlcERlZmluaXRpb25JZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBzdGVwRGVmaW5pdGlvbiA9IHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LnN0ZXBEZWZpbml0aW9ucy5maW5kKFxuICAgICAgICAocykgPT4gcy5pZCA9PT0gdGVzdFN0ZXAuc3RlcERlZmluaXRpb25JZHNbMF1cbiAgICAgIClcbiAgICAgIGRhdGEubWF0Y2ggPSB7IGxvY2F0aW9uOiBmb3JtYXRMb2NhdGlvbihzdGVwRGVmaW5pdGlvbikgfVxuICAgIH1cbiAgICBjb25zdCB7IG1lc3NhZ2UsIHN0YXR1cyB9ID0gdGVzdFN0ZXBSZXN1bHRcbiAgICBkYXRhLnJlc3VsdCA9IHtcbiAgICAgIHN0YXR1czogbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXNbc3RhdHVzXS50b0xvd2VyQ2FzZSgpLFxuICAgIH1cbiAgICBpZiAoZG9lc0hhdmVWYWx1ZSh0ZXN0U3RlcFJlc3VsdC5kdXJhdGlvbikpIHtcbiAgICAgIGRhdGEucmVzdWx0LmR1cmF0aW9uID0gZHVyYXRpb25Ub05hbm9zZWNvbmRzKHRlc3RTdGVwUmVzdWx0LmR1cmF0aW9uKVxuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSBtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cy5GQUlMRUQgJiYgZG9lc0hhdmVWYWx1ZShtZXNzYWdlKSkge1xuICAgICAgZGF0YS5yZXN1bHQuZXJyb3JfbWVzc2FnZSA9IG1lc3NhZ2VcbiAgICB9XG4gICAgaWYgKHRlc3RTdGVwQXR0YWNobWVudHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGRhdGEuZW1iZWRkaW5ncyA9IHRlc3RTdGVwQXR0YWNobWVudHMubWFwKChhdHRhY2htZW50KSA9PiAoe1xuICAgICAgICBkYXRhOlxuICAgICAgICAgIGF0dGFjaG1lbnQuY29udGVudEVuY29kaW5nID09PSBtZXNzYWdlcy5BdHRhY2htZW50Q29udGVudEVuY29kaW5nLklERU5USVRZXG4gICAgICAgICAgICA/IEJ1ZmZlci5mcm9tKGF0dGFjaG1lbnQuYm9keSkudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICAgICAgICA6IGF0dGFjaG1lbnQuYm9keSxcbiAgICAgICAgbWltZV90eXBlOiBhdHRhY2htZW50Lm1lZGlhVHlwZSxcbiAgICAgIH0pKVxuICAgIH1cbiAgICByZXR1cm4gZGF0YVxuICB9XG5cbiAgZ2V0RmVhdHVyZVRhZ3MoZmVhdHVyZTogbWVzc2FnZXMuRmVhdHVyZSk6IElKc29uVGFnW10ge1xuICAgIHJldHVybiBmZWF0dXJlLnRhZ3MubWFwKCh0YWdEYXRhKSA9PiAoe1xuICAgICAgbmFtZTogdGFnRGF0YS5uYW1lLFxuICAgICAgbGluZTogdGFnRGF0YS5sb2NhdGlvbi5saW5lLFxuICAgIH0pKVxuICB9XG5cbiAgZ2V0U2NlbmFyaW9UYWdzKHtcbiAgICBmZWF0dXJlLFxuICAgIHBpY2tsZSxcbiAgICBnaGVya2luU2NlbmFyaW9NYXAsXG4gIH06IHtcbiAgICBmZWF0dXJlOiBtZXNzYWdlcy5GZWF0dXJlXG4gICAgcGlja2xlOiBtZXNzYWdlcy5QaWNrbGVcbiAgICBnaGVya2luU2NlbmFyaW9NYXA6IFJlY29yZDxzdHJpbmcsIG1lc3NhZ2VzLlNjZW5hcmlvPlxuICB9KTogSUpzb25UYWdbXSB7XG4gICAgY29uc3Qgc2NlbmFyaW8gPSBnaGVya2luU2NlbmFyaW9NYXBbcGlja2xlLmFzdE5vZGVJZHNbMF1dXG5cbiAgICByZXR1cm4gcGlja2xlLnRhZ3MubWFwKFxuICAgICAgKHRhZ0RhdGE6IG1lc3NhZ2VzLlBpY2tsZVRhZyk6IElKc29uVGFnID0+IHRoaXMuZ2V0U2NlbmFyaW9UYWcodGFnRGF0YSwgZmVhdHVyZSwgc2NlbmFyaW8pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY2VuYXJpb1RhZyhcbiAgICB0YWdEYXRhOiBtZXNzYWdlcy5QaWNrbGVUYWcsXG4gICAgZmVhdHVyZTogbWVzc2FnZXMuRmVhdHVyZSxcbiAgICBzY2VuYXJpbzogbWVzc2FnZXMuU2NlbmFyaW9cbiAgKTogSUpzb25UYWcge1xuICAgIGNvbnN0IGJ5QXN0Tm9kZUlkID0gKHRhZzogbWVzc2FnZXMuVGFnKTogYm9vbGVhbiA9PiB0YWcuaWQgPT09IHRhZ0RhdGEuYXN0Tm9kZUlkXG4gICAgY29uc3QgZmxhdHRlbiA9IChhY2M6IG1lc3NhZ2VzLlRhZ1tdLCB2YWw6IG1lc3NhZ2VzLlRhZ1tdKTogbWVzc2FnZXMuVGFnW10gPT4gYWNjLmNvbmNhdCh2YWwpXG5cbiAgICBjb25zdCB0YWcgPVxuICAgICAgZmVhdHVyZS50YWdzLmZpbmQoYnlBc3ROb2RlSWQpIHx8XG4gICAgICBzY2VuYXJpby50YWdzLmZpbmQoYnlBc3ROb2RlSWQpIHx8XG4gICAgICBzY2VuYXJpby5leGFtcGxlc1xuICAgICAgICAubWFwKChlKSA9PiBlLnRhZ3MpXG4gICAgICAgIC5yZWR1Y2UoZmxhdHRlbiwgW10pXG4gICAgICAgIC5maW5kKGJ5QXN0Tm9kZUlkKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRhZ0RhdGEubmFtZSxcbiAgICAgIGxpbmU6IHRhZz8ubG9jYXRpb24/LmxpbmUsXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as messages from '@cucumber/messages';
|
|
2
|
+
import type { IFormatterOptions } from './index';
|
|
2
3
|
import SummaryFormatter from './summary_formatter';
|
|
3
|
-
import { IFormatterOptions } from './index';
|
|
4
4
|
import ITestStepFinished = messages.TestStepFinished;
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated the built-in `progress` formatter is now plugin-based and no longer uses this class; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
7
|
+
*/
|
|
5
8
|
export default class ProgressFormatter extends SummaryFormatter {
|
|
6
9
|
static readonly documentation: string;
|
|
7
10
|
constructor(options: IFormatterOptions);
|
|
@@ -47,6 +47,9 @@ const STATUS_CHARACTER_MAPPING = new Map([
|
|
|
47
47
|
[messages.TestStepResultStatus.SKIPPED, '-'],
|
|
48
48
|
[messages.TestStepResultStatus.UNDEFINED, 'U'],
|
|
49
49
|
]);
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated the built-in `progress` formatter is now plugin-based and no longer uses this class; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
52
|
+
*/
|
|
50
53
|
class ProgressFormatter extends summary_formatter_1.default {
|
|
51
54
|
static documentation = 'Prints one character per scenario.';
|
|
52
55
|
constructor(options) {
|
|
@@ -66,4 +69,4 @@ class ProgressFormatter extends summary_formatter_1.default {
|
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
exports.default = ProgressFormatter;
|
|
69
|
-
//# sourceMappingURL=
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3NfZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci9wcm9ncmVzc19mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBOEM7QUFDOUMsb0RBQWdEO0FBRWhELDRFQUFrRDtBQUtsRCxNQUFNLHdCQUF3QixHQUErQyxJQUFJLEdBQUcsQ0FBQztJQUNuRixDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDO0lBQzlDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7SUFDM0MsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztJQUMzQyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO0lBQzVDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7SUFDNUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztDQUMvQyxDQUFDLENBQUE7QUFFRjs7R0FFRztBQUNILE1BQXFCLGlCQUFrQixTQUFRLDJCQUFnQjtJQUN0RCxNQUFNLENBQVUsYUFBYSxHQUFXLG9DQUFvQyxDQUFBO0lBRW5GLFlBQVksT0FBMEI7UUFDcEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFtQixFQUFFLEVBQUU7WUFDOUQsSUFBSSxJQUFBLDZCQUFhLEVBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDbEIsQ0FBQztpQkFBTSxJQUFJLElBQUEsNkJBQWEsRUFBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNoQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQXFCO1FBQzNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3ZGLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckIsQ0FBQzs7QUFqQkgsb0NBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbWVzc2FnZXMgZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlX2NoZWNrZXInXG5pbXBvcnQgdHlwZSB7IElGb3JtYXR0ZXJPcHRpb25zIH0gZnJvbSAnLi9pbmRleCdcbmltcG9ydCBTdW1tYXJ5Rm9ybWF0dGVyIGZyb20gJy4vc3VtbWFyeV9mb3JtYXR0ZXInXG5cbmltcG9ydCBJRW52ZWxvcGUgPSBtZXNzYWdlcy5FbnZlbG9wZVxuaW1wb3J0IElUZXN0U3RlcEZpbmlzaGVkID0gbWVzc2FnZXMuVGVzdFN0ZXBGaW5pc2hlZFxuXG5jb25zdCBTVEFUVVNfQ0hBUkFDVEVSX01BUFBJTkc6IE1hcDxtZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cywgc3RyaW5nPiA9IG5ldyBNYXAoW1xuICBbbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuQU1CSUdVT1VTLCAnQSddLFxuICBbbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuRkFJTEVELCAnRiddLFxuICBbbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VELCAnLiddLFxuICBbbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEVORElORywgJ1AnXSxcbiAgW21lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzLlNLSVBQRUQsICctJ10sXG4gIFttZXNzYWdlcy5UZXN0U3RlcFJlc3VsdFN0YXR1cy5VTkRFRklORUQsICdVJ10sXG5dKVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHRoZSBidWlsdC1pbiBgcHJvZ3Jlc3NgIGZvcm1hdHRlciBpcyBub3cgcGx1Z2luLWJhc2VkIGFuZCBubyBsb25nZXIgdXNlcyB0aGlzIGNsYXNzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyLWpzL2Jsb2IvbWFpbi9kb2NzL2RlcHJlY2F0aW9ucy5tZFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9ncmVzc0Zvcm1hdHRlciBleHRlbmRzIFN1bW1hcnlGb3JtYXR0ZXIge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRvY3VtZW50YXRpb246IHN0cmluZyA9ICdQcmludHMgb25lIGNoYXJhY3RlciBwZXIgc2NlbmFyaW8uJ1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElGb3JtYXR0ZXJPcHRpb25zKSB7XG4gICAgb3B0aW9ucy5ldmVudEJyb2FkY2FzdGVyLm9uKCdlbnZlbG9wZScsIChlbnZlbG9wZTogSUVudmVsb3BlKSA9PiB7XG4gICAgICBpZiAoZG9lc0hhdmVWYWx1ZShlbnZlbG9wZS50ZXN0UnVuRmluaXNoZWQpKSB7XG4gICAgICAgIHRoaXMubG9nKCdcXG5cXG4nKVxuICAgICAgfSBlbHNlIGlmIChkb2VzSGF2ZVZhbHVlKGVudmVsb3BlLnRlc3RTdGVwRmluaXNoZWQpKSB7XG4gICAgICAgIHRoaXMubG9nUHJvZ3Jlc3MoZW52ZWxvcGUudGVzdFN0ZXBGaW5pc2hlZClcbiAgICAgIH1cbiAgICB9KVxuICAgIHN1cGVyKG9wdGlvbnMpXG4gIH1cblxuICBsb2dQcm9ncmVzcyh7IHRlc3RTdGVwUmVzdWx0OiB7IHN0YXR1cyB9IH06IElUZXN0U3RlcEZpbmlzaGVkKTogdm9pZCB7XG4gICAgY29uc3QgY2hhcmFjdGVyID0gdGhpcy5jb2xvckZucy5mb3JTdGF0dXMoc3RhdHVzKShTVEFUVVNfQ0hBUkFDVEVSX01BUFBJTkcuZ2V0KHN0YXR1cykpXG4gICAgdGhpcy5sb2coY2hhcmFjdGVyKVxuICB9XG59XG4iXX0=
|
|
@@ -38,8 +38,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const messages = __importStar(require("@cucumber/messages"));
|
|
40
40
|
const value_checker_1 = require("../value_checker");
|
|
41
|
-
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
42
41
|
const _1 = __importDefault(require("./"));
|
|
42
|
+
const gherkin_document_parser_1 = require("./helpers/gherkin_document_parser");
|
|
43
43
|
const DEFAULT_SEPARATOR = '\n';
|
|
44
44
|
function isFailedAttempt(worstTestStepResult) {
|
|
45
45
|
return worstTestStepResult.status !== messages.TestStepResultStatus.PASSED;
|
|
@@ -88,4 +88,4 @@ class RerunFormatter extends _1.default {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
exports.default = RerunFormatter;
|
|
91
|
-
//# sourceMappingURL=
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVydW5fZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci9yZXJ1bl9mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBOEM7QUFDOUMsb0RBQWtGO0FBQ2xGLDBDQUFzRDtBQUN0RCwrRUFBaUY7QUFFakYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUE7QUFNOUIsU0FBUyxlQUFlLENBQUMsbUJBQTRDO0lBQ25FLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUE7QUFDNUUsQ0FBQztBQUVELE1BQXFCLGNBQWUsU0FBUSxVQUFTO0lBQ2hDLFNBQVMsQ0FBUTtJQUM3QixNQUFNLENBQVUsYUFBYSxHQUFXLHlDQUF5QyxDQUFBO0lBRXhGLFlBQVksT0FBMEI7UUFDcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUEyQixFQUFFLEVBQUU7WUFDdEUsSUFBSSxJQUFBLDZCQUFhLEVBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1lBQzNCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUEsOEJBQWMsRUFBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBQSw4QkFBYyxFQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUE7UUFDakMsSUFBSSxDQUFDLGtCQUFrQjthQUNwQixtQkFBbUIsRUFBRTthQUNyQixPQUFPLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtZQUMzRSxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7Z0JBQzlCLE1BQU0sSUFBSSxHQUNSLElBQUEsdURBQTZCLEVBQUMsZUFBZSxDQUFDLENBQzVDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQ2hELENBQUMsSUFBSSxDQUFBO2dCQUNSLElBQUksSUFBQSxnQ0FBZ0IsRUFBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMzQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFBO2dCQUMzQixDQUFDO2dCQUNELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUosT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFFcEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4QixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMxQixPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtRQUNwQyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUMzQixDQUFDOztBQWxESCxpQ0FtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBkb2VzSGF2ZVZhbHVlLCBkb2VzTm90SGF2ZVZhbHVlLCB2YWx1ZU9yRGVmYXVsdCB9IGZyb20gJy4uL3ZhbHVlX2NoZWNrZXInXG5pbXBvcnQgRm9ybWF0dGVyLCB7IHR5cGUgSUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLydcbmltcG9ydCB7IGdldEdoZXJraW5TY2VuYXJpb0xvY2F0aW9uTWFwIH0gZnJvbSAnLi9oZWxwZXJzL2doZXJraW5fZG9jdW1lbnRfcGFyc2VyJ1xuXG5jb25zdCBERUZBVUxUX1NFUEFSQVRPUiA9ICdcXG4nXG5cbmludGVyZmFjZSBVcmlUb0xpbmVzTWFwIHtcbiAgW3VyaTogc3RyaW5nXTogbnVtYmVyW11cbn1cblxuZnVuY3Rpb24gaXNGYWlsZWRBdHRlbXB0KHdvcnN0VGVzdFN0ZXBSZXN1bHQ6IG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0KSB7XG4gIHJldHVybiB3b3JzdFRlc3RTdGVwUmVzdWx0LnN0YXR1cyAhPT0gbWVzc2FnZXMuVGVzdFN0ZXBSZXN1bHRTdGF0dXMuUEFTU0VEXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcnVuRm9ybWF0dGVyIGV4dGVuZHMgRm9ybWF0dGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcGFyYXRvcjogc3RyaW5nXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZG9jdW1lbnRhdGlvbjogc3RyaW5nID0gJ1ByaW50cyBmYWlsaW5nIGZpbGVzIHdpdGggbGluZSBudW1iZXJzLidcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJRm9ybWF0dGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpXG4gICAgb3B0aW9ucy5ldmVudEJyb2FkY2FzdGVyLm9uKCdlbnZlbG9wZScsIChlbnZlbG9wZTogbWVzc2FnZXMuRW52ZWxvcGUpID0+IHtcbiAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKGVudmVsb3BlLnRlc3RSdW5GaW5pc2hlZCkpIHtcbiAgICAgICAgdGhpcy5sb2dGYWlsZWRUZXN0Q2FzZXMoKVxuICAgICAgfVxuICAgIH0pXG4gICAgY29uc3QgcmVydW5PcHRpb25zID0gdmFsdWVPckRlZmF1bHQob3B0aW9ucy5wYXJzZWRBcmd2T3B0aW9ucy5yZXJ1biwge30pXG4gICAgdGhpcy5zZXBhcmF0b3IgPSB2YWx1ZU9yRGVmYXVsdChyZXJ1bk9wdGlvbnMuc2VwYXJhdG9yLCBERUZBVUxUX1NFUEFSQVRPUilcbiAgfVxuXG4gIGdldEZhaWx1cmVNYXAoKTogVXJpVG9MaW5lc01hcCB7XG4gICAgY29uc3QgbWFwcGluZzogVXJpVG9MaW5lc01hcCA9IHt9XG4gICAgdGhpcy5ldmVudERhdGFDb2xsZWN0b3JcbiAgICAgIC5nZXRUZXN0Q2FzZUF0dGVtcHRzKClcbiAgICAgIC5mb3JFYWNoKCh7IGdoZXJraW5Eb2N1bWVudCwgcGlja2xlLCB3b3JzdFRlc3RTdGVwUmVzdWx0LCB3aWxsQmVSZXRyaWVkIH0pID0+IHtcbiAgICAgICAgaWYgKGlzRmFpbGVkQXR0ZW1wdCh3b3JzdFRlc3RTdGVwUmVzdWx0KSAmJiAhd2lsbEJlUmV0cmllZCkge1xuICAgICAgICAgIGNvbnN0IHJlbGF0aXZlVXJpID0gcGlja2xlLnVyaVxuICAgICAgICAgIGNvbnN0IGxpbmUgPVxuICAgICAgICAgICAgZ2V0R2hlcmtpblNjZW5hcmlvTG9jYXRpb25NYXAoZ2hlcmtpbkRvY3VtZW50KVtcbiAgICAgICAgICAgICAgcGlja2xlLmFzdE5vZGVJZHNbcGlja2xlLmFzdE5vZGVJZHMubGVuZ3RoIC0gMV1cbiAgICAgICAgICAgIF0ubGluZVxuICAgICAgICAgIGlmIChkb2VzTm90SGF2ZVZhbHVlKG1hcHBpbmdbcmVsYXRpdmVVcmldKSkge1xuICAgICAgICAgICAgbWFwcGluZ1tyZWxhdGl2ZVVyaV0gPSBbXVxuICAgICAgICAgIH1cbiAgICAgICAgICBtYXBwaW5nW3JlbGF0aXZlVXJpXS5wdXNoKGxpbmUpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICByZXR1cm4gbWFwcGluZ1xuICB9XG5cbiAgZm9ybWF0RmFpbGVkVGVzdENhc2VzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZ2V0RmFpbHVyZU1hcCgpXG5cbiAgICByZXR1cm4gT2JqZWN0LmtleXMobWFwcGluZylcbiAgICAgIC5tYXAoKHVyaSkgPT4ge1xuICAgICAgICBjb25zdCBsaW5lcyA9IG1hcHBpbmdbdXJpXVxuICAgICAgICByZXR1cm4gYCR7dXJpfToke2xpbmVzLmpvaW4oJzonKX1gXG4gICAgICB9KVxuICAgICAgLmpvaW4odGhpcy5zZXBhcmF0b3IpXG4gIH1cblxuICBsb2dGYWlsZWRUZXN0Q2FzZXMoKTogdm9pZCB7XG4gICAgY29uc3QgZmFpbGVkVGVzdENhc2VzID0gdGhpcy5mb3JtYXRGYWlsZWRUZXN0Q2FzZXMoKVxuICAgIHRoaXMubG9nKGZhaWxlZFRlc3RDYXNlcylcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FormatterImplementation } from './index';
|
|
1
|
+
import type { FormatterImplementation } from './index';
|
|
2
2
|
export declare function resolveImplementation(specifier: string, cwd: string): Promise<FormatterImplementation>;
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.resolveImplementation = resolveImplementation;
|
|
7
7
|
const builtin_1 = __importDefault(require("./builtin"));
|
|
8
|
-
const import_code_1 = require("./import_code");
|
|
9
8
|
const find_class_or_plugin_1 = require("./find_class_or_plugin");
|
|
9
|
+
const import_code_1 = require("./import_code");
|
|
10
10
|
async function resolveImplementation(specifier, cwd) {
|
|
11
11
|
const fromBuiltin = builtin_1.default[specifier];
|
|
12
12
|
if (fromBuiltin) {
|
|
@@ -24,4 +24,4 @@ async function resolveImplementation(specifier, cwd) {
|
|
|
24
24
|
}
|
|
25
25
|
return found;
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZV9pbXBsZW1lbnRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtYXR0ZXIvcmVzb2x2ZV9pbXBsZW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHNEQWtCQztBQXZCRCx3REFBK0I7QUFDL0IsaUVBQTBEO0FBQzFELCtDQUEwQztBQUduQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLFNBQWlCLEVBQ2pCLEdBQVc7SUFFWCxNQUFNLFdBQVcsR0FBRyxpQkFBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3RDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxPQUFPLFdBQVcsQ0FBQTtRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsR0FBRyxXQUFXLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsd0JBQVUsRUFBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBQSx3Q0FBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUN6QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsU0FBUyxtQ0FBbUMsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbHRpbiBmcm9tICcuL2J1aWx0aW4nXG5pbXBvcnQgeyBmaW5kQ2xhc3NPclBsdWdpbiB9IGZyb20gJy4vZmluZF9jbGFzc19vcl9wbHVnaW4nXG5pbXBvcnQgeyBpbXBvcnRDb2RlIH0gZnJvbSAnLi9pbXBvcnRfY29kZSdcbmltcG9ydCB0eXBlIHsgRm9ybWF0dGVySW1wbGVtZW50YXRpb24gfSBmcm9tICcuL2luZGV4J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUltcGxlbWVudGF0aW9uKFxuICBzcGVjaWZpZXI6IHN0cmluZyxcbiAgY3dkOiBzdHJpbmdcbik6IFByb21pc2U8Rm9ybWF0dGVySW1wbGVtZW50YXRpb24+IHtcbiAgY29uc3QgZnJvbUJ1aWx0aW4gPSBidWlsdGluW3NwZWNpZmllcl1cbiAgaWYgKGZyb21CdWlsdGluKSB7XG4gICAgaWYgKHR5cGVvZiBmcm9tQnVpbHRpbiAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmcm9tQnVpbHRpblxuICAgIH0gZWxzZSB7XG4gICAgICBzcGVjaWZpZXIgPSBmcm9tQnVpbHRpblxuICAgIH1cbiAgfVxuICBjb25zdCBpbXBvcnRlZCA9IGF3YWl0IGltcG9ydENvZGUoc3BlY2lmaWVyLCBjd2QpXG4gIGNvbnN0IGZvdW5kID0gZmluZENsYXNzT3JQbHVnaW4oaW1wb3J0ZWQpXG4gIGlmICghZm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7c3BlY2lmaWVyfSBkb2VzIG5vdCBleHBvcnQgYSBmdW5jdGlvbi9jbGFzc2ApXG4gIH1cbiAgcmV0dXJuIGZvdW5kXG59XG4iXX0=
|
|
@@ -38,8 +38,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const messages = __importStar(require("@cucumber/messages"));
|
|
40
40
|
const value_checker_1 = require("../value_checker");
|
|
41
|
-
const helpers_1 = require("./helpers");
|
|
42
41
|
const _1 = __importDefault(require("./"));
|
|
42
|
+
const helpers_1 = require("./helpers");
|
|
43
43
|
class SnippetsFormatter extends _1.default {
|
|
44
44
|
static documentation = "The Snippets Formatter doesn't output anything regarding the test run; it just prints snippets to implement any undefined steps";
|
|
45
45
|
constructor(options) {
|
|
@@ -68,4 +68,4 @@ class SnippetsFormatter extends _1.default {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
exports.default = SnippetsFormatter;
|
|
71
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25pcHBldHNfZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci9zbmlwcGV0c19mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBOEM7QUFDOUMsb0RBQWdEO0FBQ2hELDBDQUFzRDtBQUN0RCx1Q0FBZ0Q7QUFJaEQsTUFBcUIsaUJBQWtCLFNBQVEsVUFBUztJQUMvQyxNQUFNLENBQVUsYUFBYSxHQUNsQyxpSUFBaUksQ0FBQTtJQUVuSSxZQUFZLE9BQTBCO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNkLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBbUIsRUFBRSxFQUFFO1lBQzlELElBQUksSUFBQSw2QkFBYSxFQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBb0IsRUFBQztnQkFDbEMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUNuQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUMzQyxlQUFlO2FBQ2hCLENBQUMsQ0FBQTtZQUNGLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN2RSxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDakMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNqQyxDQUFDOztBQTVCSCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBkb2VzSGF2ZVZhbHVlIH0gZnJvbSAnLi4vdmFsdWVfY2hlY2tlcidcbmltcG9ydCBGb3JtYXR0ZXIsIHsgdHlwZSBJRm9ybWF0dGVyT3B0aW9ucyB9IGZyb20gJy4vJ1xuaW1wb3J0IHsgcGFyc2VUZXN0Q2FzZUF0dGVtcHQgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmltcG9ydCBJRW52ZWxvcGUgPSBtZXNzYWdlcy5FbnZlbG9wZVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbmlwcGV0c0Zvcm1hdHRlciBleHRlbmRzIEZvcm1hdHRlciB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZG9jdW1lbnRhdGlvbjogc3RyaW5nID1cbiAgICBcIlRoZSBTbmlwcGV0cyBGb3JtYXR0ZXIgZG9lc24ndCBvdXRwdXQgYW55dGhpbmcgcmVnYXJkaW5nIHRoZSB0ZXN0IHJ1bjsgaXQganVzdCBwcmludHMgc25pcHBldHMgdG8gaW1wbGVtZW50IGFueSB1bmRlZmluZWQgc3RlcHNcIlxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElGb3JtYXR0ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucylcbiAgICBvcHRpb25zLmV2ZW50QnJvYWRjYXN0ZXIub24oJ2VudmVsb3BlJywgKGVudmVsb3BlOiBJRW52ZWxvcGUpID0+IHtcbiAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKGVudmVsb3BlLnRlc3RSdW5GaW5pc2hlZCkpIHtcbiAgICAgICAgdGhpcy5sb2dTbmlwcGV0cygpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGxvZ1NuaXBwZXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNuaXBwZXRzOiBzdHJpbmdbXSA9IFtdXG4gICAgdGhpcy5ldmVudERhdGFDb2xsZWN0b3IuZ2V0VGVzdENhc2VBdHRlbXB0cygpLmZvckVhY2goKHRlc3RDYXNlQXR0ZW1wdCkgPT4ge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VUZXN0Q2FzZUF0dGVtcHQoe1xuICAgICAgICBzbmlwcGV0QnVpbGRlcjogdGhpcy5zbmlwcGV0QnVpbGRlcixcbiAgICAgICAgc3VwcG9ydENvZGVMaWJyYXJ5OiB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICAgICAgdGVzdENhc2VBdHRlbXB0LFxuICAgICAgfSlcbiAgICAgIHBhcnNlZC50ZXN0U3RlcHMuZm9yRWFjaCgodGVzdFN0ZXApID0+IHtcbiAgICAgICAgaWYgKHRlc3RTdGVwLnJlc3VsdC5zdGF0dXMgPT09IG1lc3NhZ2VzLlRlc3RTdGVwUmVzdWx0U3RhdHVzLlVOREVGSU5FRCkge1xuICAgICAgICAgIHNuaXBwZXRzLnB1c2godGVzdFN0ZXAuc25pcHBldClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICAgIHRoaXMubG9nKHNuaXBwZXRzLmpvaW4oJ1xcblxcbicpKVxuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
|
|
2
|
-
import * as messages from '@cucumber/messages';
|
|
1
|
+
import { type ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
|
|
2
|
+
import type * as messages from '@cucumber/messages';
|
|
3
3
|
import { KeywordType } from '../helpers';
|
|
4
|
-
import { ISnippetSnytax } from './snippet_syntax';
|
|
4
|
+
import type { ISnippetSnytax } from './snippet_syntax';
|
|
5
5
|
export interface INewStepDefinitionSnippetBuilderOptions {
|
|
6
6
|
snippetSyntax: ISnippetSnytax;
|
|
7
7
|
parameterTypeRegistry: ParameterTypeRegistry;
|
|
@@ -13,7 +13,7 @@ export interface IBuildRequest {
|
|
|
13
13
|
export default class StepDefinitionSnippetBuilder {
|
|
14
14
|
private readonly snippetSyntax;
|
|
15
15
|
private readonly cucumberExpressionGenerator;
|
|
16
|
-
constructor({ snippetSyntax, parameterTypeRegistry
|
|
16
|
+
constructor({ snippetSyntax, parameterTypeRegistry }: INewStepDefinitionSnippetBuilderOptions);
|
|
17
17
|
build({ keywordType, pickleStep }: IBuildRequest): string;
|
|
18
18
|
buildMultiple({ keywordType, pickleStep }: IBuildRequest): string[];
|
|
19
19
|
getFunctionName(keywordType: KeywordType): string;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
|
|
4
|
-
const helpers_1 = require("../helpers");
|
|
5
4
|
const step_arguments_1 = require("../../step_arguments");
|
|
6
5
|
const value_checker_1 = require("../../value_checker");
|
|
6
|
+
const helpers_1 = require("../helpers");
|
|
7
7
|
class StepDefinitionSnippetBuilder {
|
|
8
8
|
snippetSyntax;
|
|
9
9
|
cucumberExpressionGenerator;
|
|
10
|
-
constructor({ snippetSyntax, parameterTypeRegistry
|
|
10
|
+
constructor({ snippetSyntax, parameterTypeRegistry }) {
|
|
11
11
|
this.snippetSyntax = snippetSyntax;
|
|
12
12
|
this.cucumberExpressionGenerator = new cucumber_expressions_1.CucumberExpressionGenerator(() => parameterTypeRegistry.parameterTypes);
|
|
13
13
|
}
|
|
@@ -59,4 +59,4 @@ class StepDefinitionSnippetBuilder {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
exports.default = StepDefinitionSnippetBuilder;
|
|
62
|
-
//# sourceMappingURL=
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybWF0dGVyL3N0ZXBfZGVmaW5pdGlvbl9zbmlwcGV0X2J1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5RUFHdUM7QUFFdkMseURBQXdEO0FBQ3hELHVEQUFtRDtBQUNuRCx3Q0FBd0M7QUFheEMsTUFBcUIsNEJBQTRCO0lBQzlCLGFBQWEsQ0FBZ0I7SUFDN0IsMkJBQTJCLENBQTZCO0lBRXpFLFlBQVksRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQTJDO1FBQzNGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1FBQ2xDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLGtEQUEyQixDQUNoRSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQzNDLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBaUI7UUFDOUMsTUFBTSxPQUFPLEdBQUcsbUVBQW1FLENBQUE7UUFDbkYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUN0RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FDL0UsVUFBVSxDQUFDLElBQUksQ0FDaEIsQ0FBQTtRQUNELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDOUIsT0FBTztZQUNQLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsa0JBQWtCO1NBQ25CLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFpQjtRQUN0RCxNQUFNLE9BQU8sR0FBRyxtRUFBbUUsQ0FBQTtRQUNuRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLG1CQUFtQixDQUMvRSxVQUFVLENBQUMsSUFBSSxDQUNoQixDQUFBO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakUsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7Z0JBQzlCLE9BQU87Z0JBQ1AsWUFBWTtnQkFDWixvQkFBb0IsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUMzQyxrQkFBa0I7YUFDbkIsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQXdCO1FBQ3RDLFFBQVEsV0FBVyxFQUFFLENBQUM7WUFDcEIsS0FBSyxxQkFBVyxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sTUFBTSxDQUFBO1lBQ2YsS0FBSyxxQkFBVyxDQUFDLE9BQU87Z0JBQ3RCLE9BQU8sTUFBTSxDQUFBO1lBQ2YsS0FBSyxxQkFBVyxDQUFDLFlBQVk7Z0JBQzNCLE9BQU8sT0FBTyxDQUFBO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBeUI7UUFDN0MsSUFBSSxJQUFBLDZCQUFhLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBQSxrQ0FBaUIsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNwRCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVztnQkFDNUIsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVc7YUFDN0IsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7Q0FDRjtBQWhFRCwrQ0FnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDdWN1bWJlckV4cHJlc3Npb25HZW5lcmF0b3IsXG4gIHR5cGUgUGFyYW1ldGVyVHlwZVJlZ2lzdHJ5LFxufSBmcm9tICdAY3VjdW1iZXIvY3VjdW1iZXItZXhwcmVzc2lvbnMnXG5pbXBvcnQgdHlwZSAqIGFzIG1lc3NhZ2VzIGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IHBhcnNlU3RlcEFyZ3VtZW50IH0gZnJvbSAnLi4vLi4vc3RlcF9hcmd1bWVudHMnXG5pbXBvcnQgeyBkb2VzSGF2ZVZhbHVlIH0gZnJvbSAnLi4vLi4vdmFsdWVfY2hlY2tlcidcbmltcG9ydCB7IEtleXdvcmRUeXBlIH0gZnJvbSAnLi4vaGVscGVycydcbmltcG9ydCB0eXBlIHsgSVNuaXBwZXRTbnl0YXggfSBmcm9tICcuL3NuaXBwZXRfc3ludGF4J1xuXG5leHBvcnQgaW50ZXJmYWNlIElOZXdTdGVwRGVmaW5pdGlvblNuaXBwZXRCdWlsZGVyT3B0aW9ucyB7XG4gIHNuaXBwZXRTeW50YXg6IElTbmlwcGV0U255dGF4XG4gIHBhcmFtZXRlclR5cGVSZWdpc3RyeTogUGFyYW1ldGVyVHlwZVJlZ2lzdHJ5XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1aWxkUmVxdWVzdCB7XG4gIGtleXdvcmRUeXBlOiBLZXl3b3JkVHlwZVxuICBwaWNrbGVTdGVwOiBtZXNzYWdlcy5QaWNrbGVTdGVwXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNuaXBwZXRTeW50YXg6IElTbmlwcGV0U255dGF4XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VjdW1iZXJFeHByZXNzaW9uR2VuZXJhdG9yOiBDdWN1bWJlckV4cHJlc3Npb25HZW5lcmF0b3JcblxuICBjb25zdHJ1Y3Rvcih7IHNuaXBwZXRTeW50YXgsIHBhcmFtZXRlclR5cGVSZWdpc3RyeSB9OiBJTmV3U3RlcERlZmluaXRpb25TbmlwcGV0QnVpbGRlck9wdGlvbnMpIHtcbiAgICB0aGlzLnNuaXBwZXRTeW50YXggPSBzbmlwcGV0U3ludGF4XG4gICAgdGhpcy5jdWN1bWJlckV4cHJlc3Npb25HZW5lcmF0b3IgPSBuZXcgQ3VjdW1iZXJFeHByZXNzaW9uR2VuZXJhdG9yKFxuICAgICAgKCkgPT4gcGFyYW1ldGVyVHlwZVJlZ2lzdHJ5LnBhcmFtZXRlclR5cGVzXG4gICAgKVxuICB9XG5cbiAgYnVpbGQoeyBrZXl3b3JkVHlwZSwgcGlja2xlU3RlcCB9OiBJQnVpbGRSZXF1ZXN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21tZW50ID0gJ1dyaXRlIGNvZGUgaGVyZSB0aGF0IHR1cm5zIHRoZSBwaHJhc2UgYWJvdmUgaW50byBjb25jcmV0ZSBhY3Rpb25zJ1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHRoaXMuZ2V0RnVuY3Rpb25OYW1lKGtleXdvcmRUeXBlKVxuICAgIGNvbnN0IGdlbmVyYXRlZEV4cHJlc3Npb25zID0gdGhpcy5jdWN1bWJlckV4cHJlc3Npb25HZW5lcmF0b3IuZ2VuZXJhdGVFeHByZXNzaW9ucyhcbiAgICAgIHBpY2tsZVN0ZXAudGV4dFxuICAgIClcbiAgICBjb25zdCBzdGVwUGFyYW1ldGVyTmFtZXMgPSB0aGlzLmdldFN0ZXBQYXJhbWV0ZXJOYW1lcyhwaWNrbGVTdGVwKVxuICAgIHJldHVybiB0aGlzLnNuaXBwZXRTeW50YXguYnVpbGQoe1xuICAgICAgY29tbWVudCxcbiAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgIGdlbmVyYXRlZEV4cHJlc3Npb25zLFxuICAgICAgc3RlcFBhcmFtZXRlck5hbWVzLFxuICAgIH0pXG4gIH1cblxuICBidWlsZE11bHRpcGxlKHsga2V5d29yZFR5cGUsIHBpY2tsZVN0ZXAgfTogSUJ1aWxkUmVxdWVzdCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb21tZW50ID0gJ1dyaXRlIGNvZGUgaGVyZSB0aGF0IHR1cm5zIHRoZSBwaHJhc2UgYWJvdmUgaW50byBjb25jcmV0ZSBhY3Rpb25zJ1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHRoaXMuZ2V0RnVuY3Rpb25OYW1lKGtleXdvcmRUeXBlKVxuICAgIGNvbnN0IGdlbmVyYXRlZEV4cHJlc3Npb25zID0gdGhpcy5jdWN1bWJlckV4cHJlc3Npb25HZW5lcmF0b3IuZ2VuZXJhdGVFeHByZXNzaW9ucyhcbiAgICAgIHBpY2tsZVN0ZXAudGV4dFxuICAgIClcbiAgICBjb25zdCBzdGVwUGFyYW1ldGVyTmFtZXMgPSB0aGlzLmdldFN0ZXBQYXJhbWV0ZXJOYW1lcyhwaWNrbGVTdGVwKVxuICAgIHJldHVybiBnZW5lcmF0ZWRFeHByZXNzaW9ucy5tYXAoKGdlbmVyYXRlZEV4cHJlc3Npb24pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnNuaXBwZXRTeW50YXguYnVpbGQoe1xuICAgICAgICBjb21tZW50LFxuICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgIGdlbmVyYXRlZEV4cHJlc3Npb25zOiBbZ2VuZXJhdGVkRXhwcmVzc2lvbl0sXG4gICAgICAgIHN0ZXBQYXJhbWV0ZXJOYW1lcyxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIGdldEZ1bmN0aW9uTmFtZShrZXl3b3JkVHlwZTogS2V5d29yZFR5cGUpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoa2V5d29yZFR5cGUpIHtcbiAgICAgIGNhc2UgS2V5d29yZFR5cGUuRXZlbnQ6XG4gICAgICAgIHJldHVybiAnV2hlbidcbiAgICAgIGNhc2UgS2V5d29yZFR5cGUuT3V0Y29tZTpcbiAgICAgICAgcmV0dXJuICdUaGVuJ1xuICAgICAgY2FzZSBLZXl3b3JkVHlwZS5QcmVjb25kaXRpb246XG4gICAgICAgIHJldHVybiAnR2l2ZW4nXG4gICAgfVxuICB9XG5cbiAgZ2V0U3RlcFBhcmFtZXRlck5hbWVzKHN0ZXA6IG1lc3NhZ2VzLlBpY2tsZVN0ZXApOiBzdHJpbmdbXSB7XG4gICAgaWYgKGRvZXNIYXZlVmFsdWUoc3RlcC5hcmd1bWVudCkpIHtcbiAgICAgIGNvbnN0IGFyZ3VtZW50TmFtZSA9IHBhcnNlU3RlcEFyZ3VtZW50KHN0ZXAuYXJndW1lbnQsIHtcbiAgICAgICAgZGF0YVRhYmxlOiAoKSA9PiAnZGF0YVRhYmxlJyxcbiAgICAgICAgZG9jU3RyaW5nOiAoKSA9PiAnZG9jU3RyaW5nJyxcbiAgICAgIH0pXG4gICAgICByZXR1cm4gW2FyZ3VtZW50TmFtZV1cbiAgICB9XG4gICAgcmV0dXJuIFtdXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISnippetSnytax, ISnippetSyntaxBuildOptions, SnippetInterface } from './snippet_syntax';
|
|
1
|
+
import { type ISnippetSnytax, type ISnippetSyntaxBuildOptions, SnippetInterface } from './snippet_syntax';
|
|
2
2
|
export default class JavaScriptSnippetSyntax implements ISnippetSnytax {
|
|
3
3
|
private readonly snippetInterface;
|
|
4
4
|
constructor(snippetInterface: SnippetInterface);
|
|
@@ -10,7 +10,7 @@ class JavaScriptSnippetSyntax {
|
|
|
10
10
|
build({ comment, generatedExpressions, functionName, stepParameterNames, }) {
|
|
11
11
|
let functionKeyword = 'function ';
|
|
12
12
|
if (this.snippetInterface === snippet_syntax_1.SnippetInterface.AsyncAwait) {
|
|
13
|
-
functionKeyword =
|
|
13
|
+
functionKeyword = `async ${functionKeyword}`;
|
|
14
14
|
}
|
|
15
15
|
let implementation;
|
|
16
16
|
if (this.snippetInterface === snippet_syntax_1.SnippetInterface.Callback) {
|
|
@@ -30,9 +30,7 @@ class JavaScriptSnippetSyntax {
|
|
|
30
30
|
}
|
|
31
31
|
return `${prefix + functionName}('${this.escapeSpecialCharacters(generatedExpression)}', ${functionKeyword}(${allParameterNames.join(', ')}) {\n`;
|
|
32
32
|
});
|
|
33
|
-
return
|
|
34
|
-
` ${implementation}\n` +
|
|
35
|
-
'});');
|
|
33
|
+
return `${definitionChoices.join('')} // ${comment}\n ${implementation}\n});`;
|
|
36
34
|
}
|
|
37
35
|
escapeSpecialCharacters(generatedExpression) {
|
|
38
36
|
let source = generatedExpression.source;
|
|
@@ -44,4 +42,4 @@ class JavaScriptSnippetSyntax {
|
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
exports.default = JavaScriptSnippetSyntax;
|
|
47
|
-
//# sourceMappingURL=
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdF9zbmlwcGV0X3N5bnRheC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0ZXIvc3RlcF9kZWZpbml0aW9uX3NuaXBwZXRfYnVpbGRlci9qYXZhc2NyaXB0X3NuaXBwZXRfc3ludGF4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscURBSXlCO0FBRXpCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQTtBQUVoQyxNQUFxQix1QkFBdUI7SUFDekIsZ0JBQWdCLENBQWtCO0lBRW5ELFlBQVksZ0JBQWtDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEVBQ0osT0FBTyxFQUNQLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osa0JBQWtCLEdBQ1M7UUFDM0IsSUFBSSxlQUFlLEdBQUcsV0FBVyxDQUFBO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGlDQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFELGVBQWUsR0FBRyxTQUFTLGVBQWUsRUFBRSxDQUFBO1FBQzlDLENBQUM7UUFFRCxJQUFJLGNBQXNCLENBQUE7UUFDMUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssaUNBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEQsY0FBYyxHQUFHLEdBQUcsYUFBYSxvQkFBb0IsQ0FBQTtRQUN2RCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssaUNBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUQsY0FBYyxHQUFHLG9DQUFvQyxDQUFBO1FBQ3ZELENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxHQUFHLG1CQUFtQixDQUFBO1FBQ3RDLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hGLE1BQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO1lBQ3ZDLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQ3ZGLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGlDQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDdkMsQ0FBQztZQUNELE9BQU8sR0FBRyxNQUFNLEdBQUcsWUFBWSxLQUFLLElBQUksQ0FBQyx1QkFBdUIsQ0FDOUQsbUJBQW1CLENBQ3BCLE1BQU0sZUFBZSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO1FBQy9ELENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxPQUFPLE9BQU8sY0FBYyxPQUFPLENBQUE7SUFDakYsQ0FBQztJQUVPLHVCQUF1QixDQUFDLG1CQUF3QztRQUN0RSxJQUFJLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUE7UUFDdkMsaUVBQWlFO1FBQ2pFLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUN0Qyw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBakRELDBDQWlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR2VuZXJhdGVkRXhwcmVzc2lvbiB9IGZyb20gJ0BjdWN1bWJlci9jdWN1bWJlci1leHByZXNzaW9ucydcbmltcG9ydCB7XG4gIHR5cGUgSVNuaXBwZXRTbnl0YXgsXG4gIHR5cGUgSVNuaXBwZXRTeW50YXhCdWlsZE9wdGlvbnMsXG4gIFNuaXBwZXRJbnRlcmZhY2UsXG59IGZyb20gJy4vc25pcHBldF9zeW50YXgnXG5cbmNvbnN0IENBTExCQUNLX05BTUUgPSAnY2FsbGJhY2snXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEphdmFTY3JpcHRTbmlwcGV0U3ludGF4IGltcGxlbWVudHMgSVNuaXBwZXRTbnl0YXgge1xuICBwcml2YXRlIHJlYWRvbmx5IHNuaXBwZXRJbnRlcmZhY2U6IFNuaXBwZXRJbnRlcmZhY2VcblxuICBjb25zdHJ1Y3RvcihzbmlwcGV0SW50ZXJmYWNlOiBTbmlwcGV0SW50ZXJmYWNlKSB7XG4gICAgdGhpcy5zbmlwcGV0SW50ZXJmYWNlID0gc25pcHBldEludGVyZmFjZVxuICB9XG5cbiAgYnVpbGQoe1xuICAgIGNvbW1lbnQsXG4gICAgZ2VuZXJhdGVkRXhwcmVzc2lvbnMsXG4gICAgZnVuY3Rpb25OYW1lLFxuICAgIHN0ZXBQYXJhbWV0ZXJOYW1lcyxcbiAgfTogSVNuaXBwZXRTeW50YXhCdWlsZE9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGxldCBmdW5jdGlvbktleXdvcmQgPSAnZnVuY3Rpb24gJ1xuICAgIGlmICh0aGlzLnNuaXBwZXRJbnRlcmZhY2UgPT09IFNuaXBwZXRJbnRlcmZhY2UuQXN5bmNBd2FpdCkge1xuICAgICAgZnVuY3Rpb25LZXl3b3JkID0gYGFzeW5jICR7ZnVuY3Rpb25LZXl3b3JkfWBcbiAgICB9XG5cbiAgICBsZXQgaW1wbGVtZW50YXRpb246IHN0cmluZ1xuICAgIGlmICh0aGlzLnNuaXBwZXRJbnRlcmZhY2UgPT09IFNuaXBwZXRJbnRlcmZhY2UuQ2FsbGJhY2spIHtcbiAgICAgIGltcGxlbWVudGF0aW9uID0gYCR7Q0FMTEJBQ0tfTkFNRX0obnVsbCwgJ3BlbmRpbmcnKTtgXG4gICAgfSBlbHNlIGlmICh0aGlzLnNuaXBwZXRJbnRlcmZhY2UgPT09IFNuaXBwZXRJbnRlcmZhY2UuUHJvbWlzZSkge1xuICAgICAgaW1wbGVtZW50YXRpb24gPSBcInJldHVybiBQcm9taXNlLnJlc29sdmUoJ3BlbmRpbmcnKTtcIlxuICAgIH0gZWxzZSB7XG4gICAgICBpbXBsZW1lbnRhdGlvbiA9IFwicmV0dXJuICdwZW5kaW5nJztcIlxuICAgIH1cblxuICAgIGNvbnN0IGRlZmluaXRpb25DaG9pY2VzID0gZ2VuZXJhdGVkRXhwcmVzc2lvbnMubWFwKChnZW5lcmF0ZWRFeHByZXNzaW9uLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gaW5kZXggPT09IDAgPyAnJyA6ICcvLyAnXG4gICAgICBjb25zdCBhbGxQYXJhbWV0ZXJOYW1lcyA9IGdlbmVyYXRlZEV4cHJlc3Npb24ucGFyYW1ldGVyTmFtZXMuY29uY2F0KHN0ZXBQYXJhbWV0ZXJOYW1lcylcbiAgICAgIGlmICh0aGlzLnNuaXBwZXRJbnRlcmZhY2UgPT09IFNuaXBwZXRJbnRlcmZhY2UuQ2FsbGJhY2spIHtcbiAgICAgICAgYWxsUGFyYW1ldGVyTmFtZXMucHVzaChDQUxMQkFDS19OQU1FKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGAke3ByZWZpeCArIGZ1bmN0aW9uTmFtZX0oJyR7dGhpcy5lc2NhcGVTcGVjaWFsQ2hhcmFjdGVycyhcbiAgICAgICAgZ2VuZXJhdGVkRXhwcmVzc2lvblxuICAgICAgKX0nLCAke2Z1bmN0aW9uS2V5d29yZH0oJHthbGxQYXJhbWV0ZXJOYW1lcy5qb2luKCcsICcpfSkge1xcbmBcbiAgICB9KVxuXG4gICAgcmV0dXJuIGAke2RlZmluaXRpb25DaG9pY2VzLmpvaW4oJycpfSAgLy8gJHtjb21tZW50fVxcbiAgJHtpbXBsZW1lbnRhdGlvbn1cXG59KTtgXG4gIH1cblxuICBwcml2YXRlIGVzY2FwZVNwZWNpYWxDaGFyYWN0ZXJzKGdlbmVyYXRlZEV4cHJlc3Npb246IEdlbmVyYXRlZEV4cHJlc3Npb24pIHtcbiAgICBsZXQgc291cmNlID0gZ2VuZXJhdGVkRXhwcmVzc2lvbi5zb3VyY2VcbiAgICAvLyBkb3VibGUgdXAgYW55IGJhY2tzbGFzaGVzIGJlY2F1c2Ugd2UncmUgaW4gYSBqYXZhc2NyaXB0IHN0cmluZ1xuICAgIHNvdXJjZSA9IHNvdXJjZS5yZXBsYWNlKC9cXFxcL2csICdcXFxcXFxcXCcpXG4gICAgLy8gZXNjYXBlIGFueSBzaW5nbGUgcXVvdGVzIGJlY2F1c2UgdGhhdCdzIG91ciBxdW90ZSBkZWxpbWl0ZXJcbiAgICBzb3VyY2UgPSBzb3VyY2UucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpXG4gICAgcmV0dXJuIHNvdXJjZVxuICB9XG59XG4iXX0=
|
|
@@ -8,4 +8,4 @@ var SnippetInterface;
|
|
|
8
8
|
SnippetInterface["Promise"] = "promise";
|
|
9
9
|
SnippetInterface["Synchronous"] = "synchronous";
|
|
10
10
|
})(SnippetInterface || (exports.SnippetInterface = SnippetInterface = {}));
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25pcHBldF9zeW50YXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZm9ybWF0dGVyL3N0ZXBfZGVmaW5pdGlvbl9zbmlwcGV0X2J1aWxkZXIvc25pcHBldF9zeW50YXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLDhDQUEwQixDQUFBO0lBQzFCLHlDQUFxQixDQUFBO0lBQ3JCLHVDQUFtQixDQUFBO0lBQ25CLCtDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFMVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUszQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR2VuZXJhdGVkRXhwcmVzc2lvbiB9IGZyb20gJ0BjdWN1bWJlci9jdWN1bWJlci1leHByZXNzaW9ucydcblxuZXhwb3J0IGVudW0gU25pcHBldEludGVyZmFjZSB7XG4gIEFzeW5jQXdhaXQgPSAnYXN5bmMtYXdhaXQnLFxuICBDYWxsYmFjayA9ICdjYWxsYmFjaycsXG4gIFByb21pc2UgPSAncHJvbWlzZScsXG4gIFN5bmNocm9ub3VzID0gJ3N5bmNocm9ub3VzJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU25pcHBldFN5bnRheEJ1aWxkT3B0aW9ucyB7XG4gIGNvbW1lbnQ6IHN0cmluZ1xuICBmdW5jdGlvbk5hbWU6IHN0cmluZ1xuICBnZW5lcmF0ZWRFeHByZXNzaW9uczogcmVhZG9ubHkgR2VuZXJhdGVkRXhwcmVzc2lvbltdXG4gIHN0ZXBQYXJhbWV0ZXJOYW1lczogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU25pcHBldFNueXRheCB7XG4gIGJ1aWxkOiAob3B0aW9uczogSVNuaXBwZXRTeW50YXhCdWlsZE9wdGlvbnMpID0+IHN0cmluZ1xufVxuIl19
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import * as messages from '@cucumber/messages';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import type * as messages from '@cucumber/messages';
|
|
2
|
+
import Formatter, { type IFormatterOptions } from './';
|
|
3
|
+
import type { ITestCaseAttempt } from './helpers/event_data_collector';
|
|
4
4
|
interface ILogIssuesRequest {
|
|
5
5
|
issues: ITestCaseAttempt[];
|
|
6
6
|
title: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated the built-in `summary` formatter is now plugin-based and no longer uses this class; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
10
|
+
*/
|
|
8
11
|
export default class SummaryFormatter extends Formatter {
|
|
9
12
|
static readonly documentation: string;
|
|
10
13
|
constructor(options: IFormatterOptions);
|
|
@@ -3,11 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const value_checker_1 = require("../value_checker");
|
|
7
6
|
const time_1 = require("../time");
|
|
7
|
+
const value_checker_1 = require("../value_checker");
|
|
8
|
+
const _1 = __importDefault(require("./"));
|
|
8
9
|
const helpers_1 = require("./helpers");
|
|
9
10
|
const issue_helpers_1 = require("./helpers/issue_helpers");
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated the built-in `summary` formatter is now plugin-based and no longer uses this class; see https://github.com/cucumber/cucumber-js/blob/main/docs/deprecations.md
|
|
13
|
+
*/
|
|
11
14
|
class SummaryFormatter extends _1.default {
|
|
12
15
|
static documentation = 'Summary output of feature and scenarios';
|
|
13
16
|
constructor(options) {
|
|
@@ -65,4 +68,4 @@ class SummaryFormatter extends _1.default {
|
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
70
|
exports.default = SummaryFormatter;
|
|
68
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeV9mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9ybWF0dGVyL3N1bW1hcnlfZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esa0NBQW1EO0FBQ25ELG9EQUFnRDtBQUNoRCwwQ0FBc0Q7QUFDdEQsdUNBQTRFO0FBRTVFLDJEQUF1RTtBQU92RTs7R0FFRztBQUNILE1BQXFCLGdCQUFpQixTQUFRLFVBQVM7SUFDOUMsTUFBTSxDQUFVLGFBQWEsR0FBVyx5Q0FBeUMsQ0FBQTtJQUV4RixZQUFZLE9BQTBCO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNkLElBQUksdUJBQTJDLENBQUE7UUFDL0MsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUEyQixFQUFFLEVBQUU7WUFDdEUsSUFBSSxJQUFBLDZCQUFhLEVBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFBO1lBQzdELENBQUM7WUFDRCxJQUFJLElBQUEsNkJBQWEsRUFBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDNUMsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtnQkFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FDYixJQUFBLGdDQUF5QixFQUFDLHVCQUF1QixFQUFFLHdCQUF3QixDQUFDLENBQzdFLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLGVBQWtDO1FBQzNDLE1BQU0sUUFBUSxHQUF1QixFQUFFLENBQUE7UUFDdkMsTUFBTSxRQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO1FBQ3RFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNDLElBQUksSUFBQSxtQkFBUyxFQUFDLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDbEYsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUNoQyxDQUFDO2lCQUFNLElBQUksSUFBQSxtQkFBUyxFQUFDLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDekYsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFBLDZDQUE2QixFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUE7UUFDMUYsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUN6RCxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUNOLElBQUEsdUJBQWEsRUFBQztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixnQkFBZ0I7WUFDaEIsZUFBZTtTQUNoQixDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQjtRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQTtRQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxHQUFHLENBQ04sSUFBQSxxQkFBVyxFQUFDO2dCQUNWLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsTUFBTSxFQUFFLEtBQUssR0FBRyxDQUFDO2dCQUNqQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7Z0JBQ25DLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7Z0JBQzNDLGVBQWU7Z0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN4QyxDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7QUE5REgsbUNBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyBtZXNzYWdlcyBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgeyBkdXJhdGlvbkJldHdlZW5UaW1lc3RhbXBzIH0gZnJvbSAnLi4vdGltZSdcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUgfSBmcm9tICcuLi92YWx1ZV9jaGVja2VyJ1xuaW1wb3J0IEZvcm1hdHRlciwgeyB0eXBlIElGb3JtYXR0ZXJPcHRpb25zIH0gZnJvbSAnLi8nXG5pbXBvcnQgeyBmb3JtYXRJc3N1ZSwgZm9ybWF0U3VtbWFyeSwgaXNGYWlsdXJlLCBpc1dhcm5pbmcgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQgdHlwZSB7IElUZXN0Q2FzZUF0dGVtcHQgfSBmcm9tICcuL2hlbHBlcnMvZXZlbnRfZGF0YV9jb2xsZWN0b3InXG5pbXBvcnQgeyBmb3JtYXRVbmRlZmluZWRQYXJhbWV0ZXJUeXBlcyB9IGZyb20gJy4vaGVscGVycy9pc3N1ZV9oZWxwZXJzJ1xuXG5pbnRlcmZhY2UgSUxvZ0lzc3Vlc1JlcXVlc3Qge1xuICBpc3N1ZXM6IElUZXN0Q2FzZUF0dGVtcHRbXVxuICB0aXRsZTogc3RyaW5nXG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdGhlIGJ1aWx0LWluIGBzdW1tYXJ5YCBmb3JtYXR0ZXIgaXMgbm93IHBsdWdpbi1iYXNlZCBhbmQgbm8gbG9uZ2VyIHVzZXMgdGhpcyBjbGFzczsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9jdWN1bWJlci1qcy9ibG9iL21haW4vZG9jcy9kZXByZWNhdGlvbnMubWRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VtbWFyeUZvcm1hdHRlciBleHRlbmRzIEZvcm1hdHRlciB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZG9jdW1lbnRhdGlvbjogc3RyaW5nID0gJ1N1bW1hcnkgb3V0cHV0IG9mIGZlYXR1cmUgYW5kIHNjZW5hcmlvcydcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJRm9ybWF0dGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpXG4gICAgbGV0IHRlc3RSdW5TdGFydGVkVGltZXN0YW1wOiBtZXNzYWdlcy5UaW1lc3RhbXBcbiAgICBvcHRpb25zLmV2ZW50QnJvYWRjYXN0ZXIub24oJ2VudmVsb3BlJywgKGVudmVsb3BlOiBtZXNzYWdlcy5FbnZlbG9wZSkgPT4ge1xuICAgICAgaWYgKGRvZXNIYXZlVmFsdWUoZW52ZWxvcGUudGVzdFJ1blN0YXJ0ZWQpKSB7XG4gICAgICAgIHRlc3RSdW5TdGFydGVkVGltZXN0YW1wID0gZW52ZWxvcGUudGVzdFJ1blN0YXJ0ZWQudGltZXN0YW1wXG4gICAgICB9XG4gICAgICBpZiAoZG9lc0hhdmVWYWx1ZShlbnZlbG9wZS50ZXN0UnVuRmluaXNoZWQpKSB7XG4gICAgICAgIGNvbnN0IHRlc3RSdW5GaW5pc2hlZFRpbWVzdGFtcCA9IGVudmVsb3BlLnRlc3RSdW5GaW5pc2hlZC50aW1lc3RhbXBcbiAgICAgICAgdGhpcy5sb2dTdW1tYXJ5KFxuICAgICAgICAgIGR1cmF0aW9uQmV0d2VlblRpbWVzdGFtcHModGVzdFJ1blN0YXJ0ZWRUaW1lc3RhbXAsIHRlc3RSdW5GaW5pc2hlZFRpbWVzdGFtcClcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBsb2dTdW1tYXJ5KHRlc3RSdW5EdXJhdGlvbjogbWVzc2FnZXMuRHVyYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBmYWlsdXJlczogSVRlc3RDYXNlQXR0ZW1wdFtdID0gW11cbiAgICBjb25zdCB3YXJuaW5nczogSVRlc3RDYXNlQXR0ZW1wdFtdID0gW11cbiAgICBjb25zdCB0ZXN0Q2FzZUF0dGVtcHRzID0gdGhpcy5ldmVudERhdGFDb2xsZWN0b3IuZ2V0VGVzdENhc2VBdHRlbXB0cygpXG4gICAgdGVzdENhc2VBdHRlbXB0cy5mb3JFYWNoKCh0ZXN0Q2FzZUF0dGVtcHQpID0+IHtcbiAgICAgIGlmIChpc0ZhaWx1cmUodGVzdENhc2VBdHRlbXB0LndvcnN0VGVzdFN0ZXBSZXN1bHQsIHRlc3RDYXNlQXR0ZW1wdC53aWxsQmVSZXRyaWVkKSkge1xuICAgICAgICBmYWlsdXJlcy5wdXNoKHRlc3RDYXNlQXR0ZW1wdClcbiAgICAgIH0gZWxzZSBpZiAoaXNXYXJuaW5nKHRlc3RDYXNlQXR0ZW1wdC53b3JzdFRlc3RTdGVwUmVzdWx0LCB0ZXN0Q2FzZUF0dGVtcHQud2lsbEJlUmV0cmllZCkpIHtcbiAgICAgICAgd2FybmluZ3MucHVzaCh0ZXN0Q2FzZUF0dGVtcHQpXG4gICAgICB9XG4gICAgfSlcbiAgICBpZiAodGhpcy5ldmVudERhdGFDb2xsZWN0b3IudW5kZWZpbmVkUGFyYW1ldGVyVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2coZm9ybWF0VW5kZWZpbmVkUGFyYW1ldGVyVHlwZXModGhpcy5ldmVudERhdGFDb2xsZWN0b3IudW5kZWZpbmVkUGFyYW1ldGVyVHlwZXMpKVxuICAgIH1cbiAgICBpZiAoZmFpbHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2dJc3N1ZXMoeyBpc3N1ZXM6IGZhaWx1cmVzLCB0aXRsZTogJ0ZhaWx1cmVzJyB9KVxuICAgIH1cbiAgICBpZiAod2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2dJc3N1ZXMoeyBpc3N1ZXM6IHdhcm5pbmdzLCB0aXRsZTogJ1dhcm5pbmdzJyB9KVxuICAgIH1cbiAgICB0aGlzLmxvZyhcbiAgICAgIGZvcm1hdFN1bW1hcnkoe1xuICAgICAgICBjb2xvckZuczogdGhpcy5jb2xvckZucyxcbiAgICAgICAgdGVzdENhc2VBdHRlbXB0cyxcbiAgICAgICAgdGVzdFJ1bkR1cmF0aW9uLFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBsb2dJc3N1ZXMoeyBpc3N1ZXMsIHRpdGxlIH06IElMb2dJc3N1ZXNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5sb2coYCR7dGl0bGV9OlxcblxcbmApXG4gICAgaXNzdWVzLmZvckVhY2goKHRlc3RDYXNlQXR0ZW1wdCwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMubG9nKFxuICAgICAgICBmb3JtYXRJc3N1ZSh7XG4gICAgICAgICAgY29sb3JGbnM6IHRoaXMuY29sb3JGbnMsXG4gICAgICAgICAgbnVtYmVyOiBpbmRleCArIDEsXG4gICAgICAgICAgc25pcHBldEJ1aWxkZXI6IHRoaXMuc25pcHBldEJ1aWxkZXIsXG4gICAgICAgICAgc3VwcG9ydENvZGVMaWJyYXJ5OiB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICAgICAgICB0ZXN0Q2FzZUF0dGVtcHQsXG4gICAgICAgICAgcHJpbnRBdHRhY2htZW50czogdGhpcy5wcmludEF0dGFjaG1lbnRzLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -36,11 +36,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
40
39
|
const messages = __importStar(require("@cucumber/messages"));
|
|
40
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
41
41
|
const value_checker_1 = require("../value_checker");
|
|
42
|
-
const helpers_1 = require("./helpers");
|
|
43
42
|
const _1 = __importDefault(require("./"));
|
|
43
|
+
const helpers_1 = require("./helpers");
|
|
44
44
|
class UsageFormatter extends _1.default {
|
|
45
45
|
static documentation = 'Prints where step definitions are used. The slowest step definitions (with duration) are listed first. If --dry-run is used the duration is not shown, and step definitions are sorted by filename instead.';
|
|
46
46
|
constructor(options) {
|
|
@@ -70,7 +70,7 @@ class UsageFormatter extends _1.default {
|
|
|
70
70
|
usage.forEach(({ line, matches, meanDuration, pattern, patternType, uri }) => {
|
|
71
71
|
let formattedPattern = pattern;
|
|
72
72
|
if (patternType === 'RegularExpression') {
|
|
73
|
-
formattedPattern =
|
|
73
|
+
formattedPattern = `/${formattedPattern}/`;
|
|
74
74
|
}
|
|
75
75
|
const col1 = [formattedPattern];
|
|
76
76
|
const col2 = [];
|
|
@@ -105,4 +105,4 @@ class UsageFormatter extends _1.default {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
exports.default = UsageFormatter;
|
|
108
|
-
//# sourceMappingURL=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2VfZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zvcm1hdHRlci91c2FnZV9mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBOEM7QUFDOUMsNERBQThCO0FBQzlCLG9EQUFnRDtBQUNoRCwwQ0FBc0Q7QUFDdEQsdUNBQW9EO0FBSXBELE1BQXFCLGNBQWUsU0FBUSxVQUFTO0lBQzVDLE1BQU0sQ0FBVSxhQUFhLEdBQ2xDLDZNQUE2TSxDQUFBO0lBRS9NLFlBQVksT0FBMEI7UUFDcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFtQixFQUFFLEVBQUU7WUFDOUQsSUFBSSxJQUFBLDZCQUFhLEVBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUEsa0JBQVEsRUFBQztZQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWU7WUFDeEQsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUM1QyxDQUFDLENBQUE7UUFDRixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBQy9CLE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBSyxDQUFDO1lBQ3RCLElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7WUFDaEQsS0FBSyxFQUFFO2dCQUNMLE1BQU0sRUFBRSxFQUFFO2dCQUNWLElBQUksRUFBRSxFQUFFO2FBQ1Q7U0FDRixDQUFDLENBQUE7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7WUFDM0UsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLENBQUE7WUFDOUIsSUFBSSxXQUFXLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztnQkFDeEMsZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsR0FBRyxDQUFBO1lBQzVDLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDL0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1lBQ2YsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLElBQUEsNkJBQWEsRUFBQyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUMzRixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ3JCLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLElBQUEsd0JBQWMsRUFBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDNUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtnQkFDNUIsSUFBSSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakYsQ0FBQTtnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDaEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUEsd0JBQWMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1lBQ2xDLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUN4RCxDQUFDO1lBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFRLENBQUMsQ0FBQTtRQUN4RSxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25DLENBQUM7O0FBL0RILGlDQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG1lc3NhZ2VzIGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCBUYWJsZSBmcm9tICdjbGktdGFibGUzJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlX2NoZWNrZXInXG5pbXBvcnQgRm9ybWF0dGVyLCB7IHR5cGUgSUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLydcbmltcG9ydCB7IGZvcm1hdExvY2F0aW9uLCBnZXRVc2FnZSB9IGZyb20gJy4vaGVscGVycydcblxuaW1wb3J0IElFbnZlbG9wZSA9IG1lc3NhZ2VzLkVudmVsb3BlXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVzYWdlRm9ybWF0dGVyIGV4dGVuZHMgRm9ybWF0dGVyIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBkb2N1bWVudGF0aW9uOiBzdHJpbmcgPVxuICAgICdQcmludHMgd2hlcmUgc3RlcCBkZWZpbml0aW9ucyBhcmUgdXNlZC4gVGhlIHNsb3dlc3Qgc3RlcCBkZWZpbml0aW9ucyAod2l0aCBkdXJhdGlvbikgYXJlIGxpc3RlZCBmaXJzdC4gSWYgLS1kcnktcnVuIGlzIHVzZWQgdGhlIGR1cmF0aW9uIGlzIG5vdCBzaG93biwgYW5kIHN0ZXAgZGVmaW5pdGlvbnMgYXJlIHNvcnRlZCBieSBmaWxlbmFtZSBpbnN0ZWFkLidcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJRm9ybWF0dGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpXG4gICAgb3B0aW9ucy5ldmVudEJyb2FkY2FzdGVyLm9uKCdlbnZlbG9wZScsIChlbnZlbG9wZTogSUVudmVsb3BlKSA9PiB7XG4gICAgICBpZiAoZG9lc0hhdmVWYWx1ZShlbnZlbG9wZS50ZXN0UnVuRmluaXNoZWQpKSB7XG4gICAgICAgIHRoaXMubG9nVXNhZ2UoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBsb2dVc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCB1c2FnZSA9IGdldFVzYWdlKHtcbiAgICAgIHN0ZXBEZWZpbml0aW9uczogdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkuc3RlcERlZmluaXRpb25zLFxuICAgICAgZXZlbnREYXRhQ29sbGVjdG9yOiB0aGlzLmV2ZW50RGF0YUNvbGxlY3RvcixcbiAgICB9KVxuICAgIGlmICh1c2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubG9nKCdObyBzdGVwIGRlZmluaXRpb25zJylcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7XG4gICAgICBoZWFkOiBbJ1BhdHRlcm4gLyBUZXh0JywgJ0R1cmF0aW9uJywgJ0xvY2F0aW9uJ10sXG4gICAgICBzdHlsZToge1xuICAgICAgICBib3JkZXI6IFtdLFxuICAgICAgICBoZWFkOiBbXSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICB1c2FnZS5mb3JFYWNoKCh7IGxpbmUsIG1hdGNoZXMsIG1lYW5EdXJhdGlvbiwgcGF0dGVybiwgcGF0dGVyblR5cGUsIHVyaSB9KSA9PiB7XG4gICAgICBsZXQgZm9ybWF0dGVkUGF0dGVybiA9IHBhdHRlcm5cbiAgICAgIGlmIChwYXR0ZXJuVHlwZSA9PT0gJ1JlZ3VsYXJFeHByZXNzaW9uJykge1xuICAgICAgICBmb3JtYXR0ZWRQYXR0ZXJuID0gYC8ke2Zvcm1hdHRlZFBhdHRlcm59L2BcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbDEgPSBbZm9ybWF0dGVkUGF0dGVybl1cbiAgICAgIGNvbnN0IGNvbDIgPSBbXVxuICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoZG9lc0hhdmVWYWx1ZShtZWFuRHVyYXRpb24pKSB7XG4gICAgICAgICAgY29sMi5wdXNoKGAke21lc3NhZ2VzLlRpbWVDb252ZXJzaW9uLmR1cmF0aW9uVG9NaWxsaXNlY29uZHMobWVhbkR1cmF0aW9uKS50b0ZpeGVkKDIpfW1zYClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2wyLnB1c2goJy0nKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2wyLnB1c2goJ1VOVVNFRCcpXG4gICAgICB9XG4gICAgICBjb25zdCBjb2wzID0gW2Zvcm1hdExvY2F0aW9uKHsgbGluZSwgdXJpIH0pXVxuICAgICAgbWF0Y2hlcy5zbGljZSgwLCA1KS5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgICAgICBjb2wxLnB1c2goYCAgJHttYXRjaC50ZXh0fWApXG4gICAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKG1hdGNoLmR1cmF0aW9uKSkge1xuICAgICAgICAgIGNvbDIucHVzaChcbiAgICAgICAgICAgIGAke21lc3NhZ2VzLlRpbWVDb252ZXJzaW9uLmR1cmF0aW9uVG9NaWxsaXNlY29uZHMobWF0Y2guZHVyYXRpb24pLnRvRml4ZWQoMil9bXNgXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbDIucHVzaCgnLScpXG4gICAgICAgIH1cbiAgICAgICAgY29sMy5wdXNoKGZvcm1hdExvY2F0aW9uKG1hdGNoKSlcbiAgICAgIH0pXG4gICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiA1KSB7XG4gICAgICAgIGNvbDEucHVzaChgICAkeyhtYXRjaGVzLmxlbmd0aCAtIDUpLnRvU3RyaW5nKCl9IG1vcmVgKVxuICAgICAgfVxuICAgICAgdGFibGUucHVzaChbY29sMS5qb2luKCdcXG4nKSwgY29sMi5qb2luKCdcXG4nKSwgY29sMy5qb2luKCdcXG4nKV0gYXMgYW55KVxuICAgIH0pXG4gICAgdGhpcy5sb2coYCR7dGFibGUudG9TdHJpbmcoKX1cXG5gKVxuICB9XG59XG4iXX0=
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const value_checker_1 = require("../value_checker");
|
|
7
|
-
const helpers_1 = require("./helpers");
|
|
8
7
|
const _1 = __importDefault(require("./"));
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
9
|
class UsageJsonFormatter extends _1.default {
|
|
10
10
|
static documentation = 'Does what the Usage Formatter does, but outputs JSON, which can be output to a file and then consumed by other tools.';
|
|
11
11
|
constructor(options) {
|
|
@@ -25,10 +25,10 @@ class UsageJsonFormatter extends _1.default {
|
|
|
25
25
|
}
|
|
26
26
|
replacer(key, value) {
|
|
27
27
|
if (key === 'seconds') {
|
|
28
|
-
return parseInt(value);
|
|
28
|
+
return parseInt(value, 10);
|
|
29
29
|
}
|
|
30
30
|
return value;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
exports.default = UsageJsonFormatter;
|
|
34
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2VfanNvbl9mb3JtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9ybWF0dGVyL3VzYWdlX2pzb25fZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esb0RBQWdEO0FBQ2hELDBDQUFzRDtBQUN0RCx1Q0FBb0M7QUFJcEMsTUFBcUIsa0JBQW1CLFNBQVEsVUFBUztJQUNoRCxNQUFNLENBQVUsYUFBYSxHQUNsQyx1SEFBdUgsQ0FBQTtJQUV6SCxZQUFZLE9BQTBCO1FBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNkLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBbUIsRUFBRSxFQUFFO1lBQzlELElBQUksSUFBQSw2QkFBYSxFQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFBLGtCQUFRLEVBQUM7WUFDckIsZUFBZSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlO1lBQ3hELGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDNUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUM5QixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDNUIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs7QUExQkgscUNBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbWVzc2FnZXMgZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlX2NoZWNrZXInXG5pbXBvcnQgRm9ybWF0dGVyLCB7IHR5cGUgSUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLydcbmltcG9ydCB7IGdldFVzYWdlIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5pbXBvcnQgSUVudmVsb3BlID0gbWVzc2FnZXMuRW52ZWxvcGVcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXNhZ2VKc29uRm9ybWF0dGVyIGV4dGVuZHMgRm9ybWF0dGVyIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBkb2N1bWVudGF0aW9uOiBzdHJpbmcgPVxuICAgICdEb2VzIHdoYXQgdGhlIFVzYWdlIEZvcm1hdHRlciBkb2VzLCBidXQgb3V0cHV0cyBKU09OLCB3aGljaCBjYW4gYmUgb3V0cHV0IHRvIGEgZmlsZSBhbmQgdGhlbiBjb25zdW1lZCBieSBvdGhlciB0b29scy4nXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSUZvcm1hdHRlck9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKVxuICAgIG9wdGlvbnMuZXZlbnRCcm9hZGNhc3Rlci5vbignZW52ZWxvcGUnLCAoZW52ZWxvcGU6IElFbnZlbG9wZSkgPT4ge1xuICAgICAgaWYgKGRvZXNIYXZlVmFsdWUoZW52ZWxvcGUudGVzdFJ1bkZpbmlzaGVkKSkge1xuICAgICAgICB0aGlzLmxvZ1VzYWdlKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbG9nVXNhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdXNhZ2UgPSBnZXRVc2FnZSh7XG4gICAgICBzdGVwRGVmaW5pdGlvbnM6IHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LnN0ZXBEZWZpbml0aW9ucyxcbiAgICAgIGV2ZW50RGF0YUNvbGxlY3RvcjogdGhpcy5ldmVudERhdGFDb2xsZWN0b3IsXG4gICAgfSlcbiAgICB0aGlzLmxvZyhKU09OLnN0cmluZ2lmeSh1c2FnZSwgdGhpcy5yZXBsYWNlciwgMikpXG4gIH1cblxuICByZXBsYWNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKGtleSA9PT0gJ3NlY29uZHMnKSB7XG4gICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuIl19
|