@cucumber/cucumber 12.9.0 → 13.1.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.
Files changed (400) hide show
  1. package/README.md +8 -3
  2. package/bin/cucumber.js +2 -1
  3. package/lib/api/convert_configuration.d.ts +3 -4
  4. package/lib/api/convert_configuration.js +9 -11
  5. package/lib/api/emit_support_code_messages.d.ts +3 -3
  6. package/lib/api/emit_support_code_messages.js +16 -65
  7. package/lib/api/formatters.d.ts +7 -7
  8. package/lib/api/formatters.js +5 -2
  9. package/lib/api/gherkin.d.ts +3 -3
  10. package/lib/api/gherkin.js +2 -4
  11. package/lib/api/index.d.ts +2 -2
  12. package/lib/api/index.js +1 -1
  13. package/lib/api/load_configuration.d.ts +2 -2
  14. package/lib/api/load_configuration.js +4 -5
  15. package/lib/api/load_sources.d.ts +2 -2
  16. package/lib/api/load_sources.js +2 -2
  17. package/lib/api/load_support.d.ts +2 -2
  18. package/lib/api/load_support.js +3 -3
  19. package/lib/api/plugins.d.ts +2 -2
  20. package/lib/api/plugins.js +2 -2
  21. package/lib/api/run_cucumber.d.ts +3 -3
  22. package/lib/api/run_cucumber.js +19 -3
  23. package/lib/api/support.d.ts +3 -3
  24. package/lib/api/support.js +5 -5
  25. package/lib/api/test_helpers.d.ts +1 -1
  26. package/lib/api/test_helpers.js +8 -10
  27. package/lib/api/types.d.ts +9 -5
  28. package/lib/api/types.js +1 -1
  29. package/lib/api/wrapper.d.mts +5 -0
  30. package/lib/api/wrapper.mjs +6 -6
  31. package/lib/assemble/assemble_test_cases.d.ts +4 -4
  32. package/lib/assemble/assemble_test_cases.js +2 -6
  33. package/lib/assemble/index.js +1 -1
  34. package/lib/assemble/types.d.ts +1 -1
  35. package/lib/assemble/types.js +1 -1
  36. package/lib/cli/i18n.js +5 -3
  37. package/lib/cli/index.d.ts +1 -1
  38. package/lib/cli/index.js +2 -2
  39. package/lib/cli/install_validator.js +4 -3
  40. package/lib/cli/run.js +7 -6
  41. package/lib/cli/validate_node_engine_version.js +2 -4
  42. package/lib/configuration/argv_parser.d.ts +1 -1
  43. package/lib/configuration/argv_parser.js +7 -7
  44. package/lib/configuration/check_schema.d.ts +1 -1
  45. package/lib/configuration/check_schema.js +17 -6
  46. package/lib/configuration/default_configuration.d.ts +1 -1
  47. package/lib/configuration/default_configuration.js +2 -1
  48. package/lib/configuration/from_file.d.ts +2 -2
  49. package/lib/configuration/from_file.js +6 -6
  50. package/lib/configuration/helpers.js +1 -1
  51. package/lib/configuration/index.js +1 -1
  52. package/lib/configuration/locate_file.js +3 -3
  53. package/lib/configuration/merge_configurations.d.ts +1 -1
  54. package/lib/configuration/merge_configurations.js +2 -10
  55. package/lib/configuration/parse_configuration.d.ts +2 -2
  56. package/lib/configuration/parse_configuration.js +3 -11
  57. package/lib/configuration/split_format_descriptor.d.ts +1 -2
  58. package/lib/configuration/split_format_descriptor.js +11 -71
  59. package/lib/configuration/types.d.ts +26 -3
  60. package/lib/configuration/types.js +1 -1
  61. package/lib/configuration/validate_configuration.d.ts +2 -2
  62. package/lib/configuration/validate_configuration.js +5 -3
  63. package/lib/environment/console_logger.d.ts +2 -2
  64. package/lib/environment/console_logger.js +1 -1
  65. package/lib/environment/index.js +1 -1
  66. package/lib/environment/make_environment.d.ts +1 -1
  67. package/lib/environment/make_environment.js +1 -1
  68. package/lib/environment/types.d.ts +1 -1
  69. package/lib/environment/types.js +1 -1
  70. package/lib/filter/filter_plugin.d.ts +1 -1
  71. package/lib/filter/filter_plugin.js +1 -1
  72. package/lib/filter/index.d.ts +1 -1
  73. package/lib/filter/index.js +2 -2
  74. package/lib/filter/order_pickles.d.ts +2 -2
  75. package/lib/filter/order_pickles.js +1 -1
  76. package/lib/filter/types.d.ts +1 -1
  77. package/lib/filter/types.js +1 -1
  78. package/lib/filter_stack_trace.d.ts +1 -1
  79. package/lib/filter_stack_trace.js +1 -1
  80. package/lib/formatter/builder.d.ts +8 -7
  81. package/lib/formatter/builder.js +6 -7
  82. package/lib/formatter/builtin/html.js +2 -2
  83. package/lib/formatter/builtin/index.d.ts +4 -4
  84. package/lib/formatter/builtin/index.js +14 -13
  85. package/lib/formatter/builtin/message.js +2 -2
  86. package/lib/formatter/builtin/pretty.d.ts +6 -0
  87. package/lib/formatter/builtin/pretty.js +19 -0
  88. package/lib/formatter/builtin/progress-bar.d.ts +6 -0
  89. package/lib/formatter/builtin/progress-bar.js +22 -0
  90. package/lib/formatter/builtin/progress.d.ts +6 -0
  91. package/lib/formatter/builtin/progress.js +18 -0
  92. package/lib/formatter/builtin/resolve_terminal_options.d.ts +3 -0
  93. package/lib/formatter/builtin/resolve_terminal_options.js +15 -0
  94. package/lib/formatter/builtin/summary.d.ts +6 -0
  95. package/lib/formatter/builtin/summary.js +15 -0
  96. package/lib/formatter/create_stream.d.ts +2 -2
  97. package/lib/formatter/create_stream.js +4 -7
  98. package/lib/formatter/find_class_or_plugin.js +1 -1
  99. package/lib/formatter/get_color_fns.d.ts +3 -3
  100. package/lib/formatter/get_color_fns.js +23 -52
  101. package/lib/formatter/helpers/duration_helpers.d.ts +1 -1
  102. package/lib/formatter/helpers/duration_helpers.js +1 -1
  103. package/lib/formatter/helpers/event_data_collector.d.ts +15 -15
  104. package/lib/formatter/helpers/event_data_collector.js +17 -44
  105. package/lib/formatter/helpers/formatters.d.ts +1 -1
  106. package/lib/formatter/helpers/formatters.js +1 -3
  107. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  108. package/lib/formatter/helpers/gherkin_document_parser.js +20 -18
  109. package/lib/formatter/helpers/index.d.ts +3 -3
  110. package/lib/formatter/helpers/index.js +8 -8
  111. package/lib/formatter/helpers/issue_helpers.d.ts +10 -10
  112. package/lib/formatter/helpers/issue_helpers.js +2 -2
  113. package/lib/formatter/helpers/keyword_type.js +2 -2
  114. package/lib/formatter/helpers/location_helpers.d.ts +1 -1
  115. package/lib/formatter/helpers/location_helpers.js +1 -1
  116. package/lib/formatter/helpers/pickle_parser.d.ts +10 -10
  117. package/lib/formatter/helpers/pickle_parser.js +8 -9
  118. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  119. package/lib/formatter/helpers/step_argument_formatter.js +1 -1
  120. package/lib/formatter/helpers/summary_helpers.d.ts +4 -4
  121. package/lib/formatter/helpers/summary_helpers.js +19 -48
  122. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +4 -4
  123. package/lib/formatter/helpers/test_case_attempt_formatter.js +16 -49
  124. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +9 -9
  125. package/lib/formatter/helpers/test_case_attempt_parser.js +12 -45
  126. package/lib/formatter/helpers/usage_helpers/index.d.ts +6 -6
  127. package/lib/formatter/helpers/usage_helpers/index.js +13 -49
  128. package/lib/formatter/import_code.js +2 -2
  129. package/lib/formatter/index.d.ts +25 -13
  130. package/lib/formatter/index.js +2 -2
  131. package/lib/formatter/json_formatter.d.ts +22 -22
  132. package/lib/formatter/json_formatter.js +11 -49
  133. package/lib/formatter/progress_formatter.d.ts +7 -3
  134. package/lib/formatter/progress_formatter.js +11 -41
  135. package/lib/formatter/rerun_formatter.d.ts +1 -1
  136. package/lib/formatter/rerun_formatter.js +4 -37
  137. package/lib/formatter/resolve_implementation.d.ts +1 -1
  138. package/lib/formatter/resolve_implementation.js +2 -2
  139. package/lib/formatter/snippets_formatter.d.ts +1 -1
  140. package/lib/formatter/snippets_formatter.js +4 -37
  141. package/lib/formatter/step_definition_snippet_builder/index.d.ts +6 -6
  142. package/lib/formatter/step_definition_snippet_builder/index.js +3 -3
  143. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +1 -1
  144. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -5
  145. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
  146. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +1 -1
  147. package/lib/formatter/summary_formatter.d.ts +7 -4
  148. package/lib/formatter/summary_formatter.js +6 -3
  149. package/lib/formatter/usage_formatter.d.ts +1 -1
  150. package/lib/formatter/usage_formatter.js +6 -39
  151. package/lib/formatter/usage_json_formatter.d.ts +1 -1
  152. package/lib/formatter/usage_json_formatter.js +3 -3
  153. package/lib/index.d.ts +9 -14
  154. package/lib/index.js +17 -25
  155. package/lib/models/data_table.d.ts +2 -2
  156. package/lib/models/data_table.js +9 -5
  157. package/lib/models/definition.d.ts +5 -5
  158. package/lib/models/definition.js +1 -1
  159. package/lib/models/gherkin_step_keyword.js +1 -1
  160. package/lib/models/step_definition.d.ts +3 -3
  161. package/lib/models/step_definition.js +1 -1
  162. package/lib/models/test_case_hook_definition.d.ts +3 -3
  163. package/lib/models/test_case_hook_definition.js +1 -1
  164. package/lib/models/test_run_hook_definition.d.ts +1 -1
  165. package/lib/models/test_run_hook_definition.js +1 -1
  166. package/lib/models/test_step_hook_definition.d.ts +3 -3
  167. package/lib/models/test_step_hook_definition.js +1 -1
  168. package/lib/paths/index.js +1 -1
  169. package/lib/paths/paths.d.ts +3 -3
  170. package/lib/paths/paths.js +42 -18
  171. package/lib/paths/types.js +1 -1
  172. package/lib/pickle_filter.d.ts +9 -8
  173. package/lib/pickle_filter.js +3 -3
  174. package/lib/plugin/index.d.ts +1 -1
  175. package/lib/plugin/index.js +2 -2
  176. package/lib/plugin/plugin_manager.d.ts +2 -2
  177. package/lib/plugin/plugin_manager.js +1 -1
  178. package/lib/plugin/types.d.ts +59 -9
  179. package/lib/plugin/types.js +1 -1
  180. package/lib/publish/index.js +1 -1
  181. package/lib/publish/publish_plugin.d.ts +1 -1
  182. package/lib/publish/publish_plugin.js +14 -15
  183. package/lib/publish/types.js +1 -1
  184. package/lib/runtime/attachment_manager/index.d.ts +3 -3
  185. package/lib/runtime/attachment_manager/index.js +12 -48
  186. package/lib/runtime/coordinator.d.ts +16 -8
  187. package/lib/runtime/coordinator.js +38 -19
  188. package/lib/runtime/format_error.d.ts +1 -1
  189. package/lib/runtime/format_error.js +43 -15
  190. package/lib/runtime/helpers.d.ts +5 -5
  191. package/lib/runtime/helpers.js +6 -39
  192. package/lib/runtime/index.js +1 -1
  193. package/lib/runtime/make_runtime.d.ts +10 -9
  194. package/lib/runtime/make_runtime.js +5 -6
  195. package/lib/runtime/make_suggestion.d.ts +2 -2
  196. package/lib/runtime/make_suggestion.js +1 -1
  197. package/lib/runtime/parallel/adapter.d.ts +30 -39
  198. package/lib/runtime/parallel/adapter.js +134 -120
  199. package/lib/runtime/parallel/test_cases_phase.d.ts +19 -0
  200. package/lib/runtime/parallel/test_cases_phase.js +63 -0
  201. package/lib/runtime/parallel/test_run_hooks_phase.d.ts +11 -0
  202. package/lib/runtime/parallel/test_run_hooks_phase.js +33 -0
  203. package/lib/runtime/parallel/types.d.ts +38 -22
  204. package/lib/runtime/parallel/types.js +1 -1
  205. package/lib/runtime/parallel/worker.mjs +65 -0
  206. package/lib/runtime/scope/index.js +1 -1
  207. package/lib/runtime/scope/make_proxy.js +1 -1
  208. package/lib/runtime/scope/test_case_scope.d.ts +1 -1
  209. package/lib/runtime/scope/test_case_scope.js +1 -1
  210. package/lib/runtime/scope/test_run_scope.d.ts +1 -1
  211. package/lib/runtime/scope/test_run_scope.js +1 -1
  212. package/lib/runtime/serial/adapter.d.ts +15 -9
  213. package/lib/runtime/serial/adapter.js +21 -9
  214. package/lib/runtime/step_runner.d.ts +5 -5
  215. package/lib/runtime/step_runner.js +7 -40
  216. package/lib/runtime/stopwatch.d.ts +2 -2
  217. package/lib/runtime/stopwatch.js +1 -1
  218. package/lib/runtime/test_case_runner.d.ts +20 -20
  219. package/lib/runtime/test_case_runner.js +31 -60
  220. package/lib/runtime/types.d.ts +13 -4
  221. package/lib/runtime/types.js +1 -1
  222. package/lib/runtime/worker.d.ts +14 -13
  223. package/lib/runtime/worker.js +26 -44
  224. package/lib/sharding/index.js +1 -1
  225. package/lib/sharding/sharding_plugin.d.ts +1 -1
  226. package/lib/sharding/sharding_plugin.js +1 -1
  227. package/lib/step_arguments.d.ts +4 -4
  228. package/lib/step_arguments.js +1 -1
  229. package/lib/support_code_library_builder/build_parameter_type.d.ts +1 -1
  230. package/lib/support_code_library_builder/build_parameter_type.js +5 -3
  231. package/lib/support_code_library_builder/context.js +1 -1
  232. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +1 -1
  233. package/lib/support_code_library_builder/get_definition_line_and_uri.js +1 -1
  234. package/lib/support_code_library_builder/index.d.ts +7 -8
  235. package/lib/support_code_library_builder/index.js +9 -9
  236. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +1 -1
  237. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +3 -4
  238. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +2 -2
  239. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +1 -1
  240. package/lib/support_code_library_builder/types.d.ts +17 -17
  241. package/lib/support_code_library_builder/types.js +1 -1
  242. package/lib/support_code_library_builder/validate_arguments.d.ts +1 -1
  243. package/lib/support_code_library_builder/validate_arguments.js +1 -1
  244. package/lib/support_code_library_builder/world.d.ts +2 -2
  245. package/lib/support_code_library_builder/world.js +2 -2
  246. package/lib/time.d.ts +2 -2
  247. package/lib/time.js +6 -39
  248. package/lib/try_require.js +3 -2
  249. package/lib/types/index.js +1 -1
  250. package/lib/uncaught_exception_manager.js +1 -1
  251. package/lib/user_code_runner.d.ts +1 -1
  252. package/lib/user_code_runner.js +3 -3
  253. package/lib/value_checker.js +1 -1
  254. package/lib/version.d.ts +1 -1
  255. package/lib/version.js +3 -3
  256. package/lib/wrapper.d.mts +43 -0
  257. package/lib/wrapper.mjs +37 -45
  258. package/package.json +50 -75
  259. package/lib/api/convert_configuration.js.map +0 -1
  260. package/lib/api/emit_support_code_messages.js.map +0 -1
  261. package/lib/api/formatters.js.map +0 -1
  262. package/lib/api/gherkin.js.map +0 -1
  263. package/lib/api/index.js.map +0 -1
  264. package/lib/api/load_configuration.js.map +0 -1
  265. package/lib/api/load_sources.js.map +0 -1
  266. package/lib/api/load_support.js.map +0 -1
  267. package/lib/api/plugins.js.map +0 -1
  268. package/lib/api/run_cucumber.js.map +0 -1
  269. package/lib/api/support.js.map +0 -1
  270. package/lib/api/test_helpers.js.map +0 -1
  271. package/lib/api/types.js.map +0 -1
  272. package/lib/assemble/assemble_test_cases.js.map +0 -1
  273. package/lib/assemble/index.js.map +0 -1
  274. package/lib/assemble/types.js.map +0 -1
  275. package/lib/cli/i18n.js.map +0 -1
  276. package/lib/cli/index.js.map +0 -1
  277. package/lib/cli/install_validator.js.map +0 -1
  278. package/lib/cli/run.js.map +0 -1
  279. package/lib/cli/validate_node_engine_version.js.map +0 -1
  280. package/lib/configuration/argv_parser.js.map +0 -1
  281. package/lib/configuration/check_schema.js.map +0 -1
  282. package/lib/configuration/default_configuration.js.map +0 -1
  283. package/lib/configuration/from_file.js.map +0 -1
  284. package/lib/configuration/helpers.js.map +0 -1
  285. package/lib/configuration/index.js.map +0 -1
  286. package/lib/configuration/locate_file.js.map +0 -1
  287. package/lib/configuration/merge_configurations.js.map +0 -1
  288. package/lib/configuration/parse_configuration.js.map +0 -1
  289. package/lib/configuration/split_format_descriptor.js.map +0 -1
  290. package/lib/configuration/types.js.map +0 -1
  291. package/lib/configuration/validate_configuration.js.map +0 -1
  292. package/lib/environment/console_logger.js.map +0 -1
  293. package/lib/environment/index.js.map +0 -1
  294. package/lib/environment/make_environment.js.map +0 -1
  295. package/lib/environment/types.js.map +0 -1
  296. package/lib/filter/filter_plugin.js.map +0 -1
  297. package/lib/filter/index.js.map +0 -1
  298. package/lib/filter/order_pickles.js.map +0 -1
  299. package/lib/filter/types.js.map +0 -1
  300. package/lib/filter_stack_trace.js.map +0 -1
  301. package/lib/formatter/builder.js.map +0 -1
  302. package/lib/formatter/builtin/html.js.map +0 -1
  303. package/lib/formatter/builtin/index.js.map +0 -1
  304. package/lib/formatter/builtin/message.js.map +0 -1
  305. package/lib/formatter/create_stream.js.map +0 -1
  306. package/lib/formatter/find_class_or_plugin.js.map +0 -1
  307. package/lib/formatter/get_color_fns.js.map +0 -1
  308. package/lib/formatter/helpers/duration_helpers.js.map +0 -1
  309. package/lib/formatter/helpers/event_data_collector.js.map +0 -1
  310. package/lib/formatter/helpers/formatters.js.map +0 -1
  311. package/lib/formatter/helpers/gherkin_document_parser.js.map +0 -1
  312. package/lib/formatter/helpers/index.js.map +0 -1
  313. package/lib/formatter/helpers/issue_helpers.js.map +0 -1
  314. package/lib/formatter/helpers/keyword_type.js.map +0 -1
  315. package/lib/formatter/helpers/location_helpers.js.map +0 -1
  316. package/lib/formatter/helpers/pickle_parser.js.map +0 -1
  317. package/lib/formatter/helpers/step_argument_formatter.js.map +0 -1
  318. package/lib/formatter/helpers/summary_helpers.js.map +0 -1
  319. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +0 -1
  320. package/lib/formatter/helpers/test_case_attempt_parser.js.map +0 -1
  321. package/lib/formatter/helpers/usage_helpers/index.js.map +0 -1
  322. package/lib/formatter/import_code.js.map +0 -1
  323. package/lib/formatter/index.js.map +0 -1
  324. package/lib/formatter/json_formatter.js.map +0 -1
  325. package/lib/formatter/progress_bar_formatter.d.ts +0 -18
  326. package/lib/formatter/progress_bar_formatter.js +0 -103
  327. package/lib/formatter/progress_bar_formatter.js.map +0 -1
  328. package/lib/formatter/progress_formatter.js.map +0 -1
  329. package/lib/formatter/rerun_formatter.js.map +0 -1
  330. package/lib/formatter/resolve_implementation.js.map +0 -1
  331. package/lib/formatter/snippets_formatter.js.map +0 -1
  332. package/lib/formatter/step_definition_snippet_builder/index.js.map +0 -1
  333. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +0 -1
  334. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +0 -1
  335. package/lib/formatter/summary_formatter.js.map +0 -1
  336. package/lib/formatter/usage_formatter.js.map +0 -1
  337. package/lib/formatter/usage_json_formatter.js.map +0 -1
  338. package/lib/index.js.map +0 -1
  339. package/lib/models/data_table.js.map +0 -1
  340. package/lib/models/definition.js.map +0 -1
  341. package/lib/models/gherkin_step_keyword.js.map +0 -1
  342. package/lib/models/step_definition.js.map +0 -1
  343. package/lib/models/test_case_hook_definition.js.map +0 -1
  344. package/lib/models/test_run_hook_definition.js.map +0 -1
  345. package/lib/models/test_step_hook_definition.js.map +0 -1
  346. package/lib/paths/index.js.map +0 -1
  347. package/lib/paths/paths.js.map +0 -1
  348. package/lib/paths/types.js.map +0 -1
  349. package/lib/pickle_filter.js.map +0 -1
  350. package/lib/plugin/index.js.map +0 -1
  351. package/lib/plugin/plugin_manager.js.map +0 -1
  352. package/lib/plugin/types.js.map +0 -1
  353. package/lib/publish/index.js.map +0 -1
  354. package/lib/publish/publish_plugin.js.map +0 -1
  355. package/lib/publish/types.js.map +0 -1
  356. package/lib/runtime/attachment_manager/index.js.map +0 -1
  357. package/lib/runtime/coordinator.js.map +0 -1
  358. package/lib/runtime/format_error.js.map +0 -1
  359. package/lib/runtime/helpers.js.map +0 -1
  360. package/lib/runtime/index.js.map +0 -1
  361. package/lib/runtime/make_runtime.js.map +0 -1
  362. package/lib/runtime/make_suggestion.js.map +0 -1
  363. package/lib/runtime/parallel/adapter.js.map +0 -1
  364. package/lib/runtime/parallel/run_worker.js +0 -25
  365. package/lib/runtime/parallel/run_worker.js.map +0 -1
  366. package/lib/runtime/parallel/types.js.map +0 -1
  367. package/lib/runtime/parallel/worker.d.ts +0 -25
  368. package/lib/runtime/parallel/worker.js +0 -83
  369. package/lib/runtime/parallel/worker.js.map +0 -1
  370. package/lib/runtime/scope/index.js.map +0 -1
  371. package/lib/runtime/scope/make_proxy.js.map +0 -1
  372. package/lib/runtime/scope/test_case_scope.js.map +0 -1
  373. package/lib/runtime/scope/test_run_scope.js.map +0 -1
  374. package/lib/runtime/serial/adapter.js.map +0 -1
  375. package/lib/runtime/step_runner.js.map +0 -1
  376. package/lib/runtime/stopwatch.js.map +0 -1
  377. package/lib/runtime/test_case_runner.js.map +0 -1
  378. package/lib/runtime/types.js.map +0 -1
  379. package/lib/runtime/worker.js.map +0 -1
  380. package/lib/sharding/index.js.map +0 -1
  381. package/lib/sharding/sharding_plugin.js.map +0 -1
  382. package/lib/step_arguments.js.map +0 -1
  383. package/lib/support_code_library_builder/build_parameter_type.js.map +0 -1
  384. package/lib/support_code_library_builder/context.js.map +0 -1
  385. package/lib/support_code_library_builder/get_definition_line_and_uri.js.map +0 -1
  386. package/lib/support_code_library_builder/index.js.map +0 -1
  387. package/lib/support_code_library_builder/parallel_can_assign_helpers.js.map +0 -1
  388. package/lib/support_code_library_builder/sourced_parameter_type_registry.js.map +0 -1
  389. package/lib/support_code_library_builder/types.js.map +0 -1
  390. package/lib/support_code_library_builder/validate_arguments.js.map +0 -1
  391. package/lib/support_code_library_builder/world.js.map +0 -1
  392. package/lib/time.js.map +0 -1
  393. package/lib/try_require.js.map +0 -1
  394. package/lib/tsconfig.node.tsbuildinfo +0 -1
  395. package/lib/types/index.js.map +0 -1
  396. package/lib/uncaught_exception_manager.js.map +0 -1
  397. package/lib/user_code_runner.js.map +0 -1
  398. package/lib/value_checker.js.map +0 -1
  399. package/lib/version.js.map +0 -1
  400. /package/lib/runtime/parallel/{run_worker.d.ts → worker.d.mts} +0 -0
@@ -16,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./test_case_scope"), exports);
18
18
  __exportStar(require("./test_run_scope"), exports);
19
- //# sourceMappingURL=index.js.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9zY29wZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWlDO0FBQ2pDLG1EQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGVzdF9jYXNlX3Njb3BlJ1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0X3J1bl9zY29wZSdcbiJdfQ==
@@ -38,4 +38,4 @@ function makeProxy(getThing) {
38
38
  },
39
39
  });
40
40
  }
41
- //# sourceMappingURL=make_proxy.js.map
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9wcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL3Njb3BlL21ha2VfcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4QkF1Q0M7QUF2Q0QsU0FBZ0IsU0FBUyxDQUFJLFFBQW1CO0lBQzlDLE9BQU8sSUFBSSxLQUFLLENBQ2QsRUFBRSxFQUNGO1FBQ0UsY0FBYyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVTtZQUNwQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ2pFLENBQUM7UUFDRCxjQUFjLENBQUMsQ0FBQyxFQUFFLFFBQVE7WUFDeEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVE7WUFDYixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDdEQsQ0FBQztRQUNELHdCQUF3QixDQUFDLENBQUMsRUFBRSxRQUFRO1lBQ2xDLE9BQU8sT0FBTyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELENBQUM7UUFDRCxjQUFjLENBQUMsQ0FBQztZQUNkLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUc7WUFDUixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUNELFlBQVksQ0FBQyxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDekMsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO1lBQ1AsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDcEMsQ0FBQztRQUNELGlCQUFpQixDQUFDLENBQUM7WUFDakIsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM5QyxDQUFDO1FBQ0QsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSztZQUNwQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzdELENBQUM7UUFDRCxjQUFjLENBQUMsQ0FBQyxFQUFFLEtBQUs7WUFDckIsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xELENBQUM7S0FDRixDQUNHLENBQUE7QUFDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG1ha2VQcm94eTxUPihnZXRUaGluZzogKCkgPT4gYW55KTogVCB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAge30sXG4gICAge1xuICAgICAgZGVmaW5lUHJvcGVydHkoXywgcHJvcGVydHksIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoZ2V0VGhpbmcoKSwgcHJvcGVydHksIGF0dHJpYnV0ZXMpXG4gICAgICB9LFxuICAgICAgZGVsZXRlUHJvcGVydHkoXywgcHJvcGVydHkpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0KGdldFRoaW5nKCksIHByb3BlcnR5KVxuICAgICAgfSxcbiAgICAgIGdldChfLCBwcm9wZXJ0eSkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQoZ2V0VGhpbmcoKSwgcHJvcGVydHksIGdldFRoaW5nKCkpXG4gICAgICB9LFxuICAgICAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKF8sIHByb3BlcnR5KSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnZXRUaGluZygpLCBwcm9wZXJ0eSlcbiAgICAgIH0sXG4gICAgICBnZXRQcm90b3R5cGVPZihfKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldFByb3RvdHlwZU9mKGdldFRoaW5nKCkpXG4gICAgICB9LFxuICAgICAgaGFzKF8sIGtleSkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXMoZ2V0VGhpbmcoKSwga2V5KVxuICAgICAgfSxcbiAgICAgIGlzRXh0ZW5zaWJsZShfKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmlzRXh0ZW5zaWJsZShnZXRUaGluZygpKVxuICAgICAgfSxcbiAgICAgIG93bktleXMoXykge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5vd25LZXlzKGdldFRoaW5nKCkpXG4gICAgICB9LFxuICAgICAgcHJldmVudEV4dGVuc2lvbnMoXykge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhnZXRUaGluZygpKVxuICAgICAgfSxcbiAgICAgIHNldChfLCBwcm9wZXJ0eSwgdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KGdldFRoaW5nKCksIHByb3BlcnR5LCB2YWx1ZSwgZ2V0VGhpbmcoKSlcbiAgICAgIH0sXG4gICAgICBzZXRQcm90b3R5cGVPZihfLCBwcm90bykge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihnZXRUaGluZygpLCBwcm90bylcbiAgICAgIH0sXG4gICAgfVxuICApIGFzIFRcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { IWorld } from '../../support_code_library_builder/world';
1
+ import type { IWorld } from '../../support_code_library_builder/world';
2
2
  interface TestCaseScopeStore<ParametersType = any> {
3
3
  world: IWorld<ParametersType>;
4
4
  }
@@ -26,4 +26,4 @@ function getWorld() {
26
26
  * otherwise).
27
27
  */
28
28
  exports.worldProxy = (0, make_proxy_1.makeProxy)(getWorld);
29
- //# sourceMappingURL=test_case_scope.js.map
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jYXNlX3Njb3BlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2NvcGUvdGVzdF9jYXNlX3Njb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLGdEQUtDO0FBZkQsdURBQW9EO0FBRXBELDZDQUF3QztBQU14QyxNQUFNLGFBQWEsR0FBRyxJQUFJLG9DQUFpQixFQUFzQixDQUFBO0FBRTFELEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsS0FBeUIsRUFDekIsUUFBNEI7SUFFNUIsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsU0FBUyxRQUFRO0lBQ2YsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUdBQWlHLENBQ2xHLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsS0FBK0IsQ0FBQTtBQUM5QyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsSUFBQSxzQkFBUyxFQUFTLFFBQVEsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNMb2NhbFN0b3JhZ2UgfSBmcm9tICdub2RlOmFzeW5jX2hvb2tzJ1xuaW1wb3J0IHR5cGUgeyBJV29ybGQgfSBmcm9tICcuLi8uLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3dvcmxkJ1xuaW1wb3J0IHsgbWFrZVByb3h5IH0gZnJvbSAnLi9tYWtlX3Byb3h5J1xuXG5pbnRlcmZhY2UgVGVzdENhc2VTY29wZVN0b3JlPFBhcmFtZXRlcnNUeXBlID0gYW55PiB7XG4gIHdvcmxkOiBJV29ybGQ8UGFyYW1ldGVyc1R5cGU+XG59XG5cbmNvbnN0IHRlc3RDYXNlU2NvcGUgPSBuZXcgQXN5bmNMb2NhbFN0b3JhZ2U8VGVzdENhc2VTY29wZVN0b3JlPigpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5JblRlc3RDYXNlU2NvcGU8UmVzcG9uc2VUeXBlPihcbiAgc3RvcmU6IFRlc3RDYXNlU2NvcGVTdG9yZSxcbiAgY2FsbGJhY2s6ICgpID0+IFJlc3BvbnNlVHlwZVxuKSB7XG4gIHJldHVybiB0ZXN0Q2FzZVNjb3BlLnJ1bihzdG9yZSwgY2FsbGJhY2spXG59XG5cbmZ1bmN0aW9uIGdldFdvcmxkPFBhcmFtZXRlcnNUeXBlID0gYW55PigpOiBJV29ybGQ8UGFyYW1ldGVyc1R5cGU+IHtcbiAgY29uc3Qgc3RvcmUgPSB0ZXN0Q2FzZVNjb3BlLmdldFN0b3JlKClcbiAgaWYgKCFzdG9yZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdBdHRlbXB0ZWQgdG8gYWNjZXNzIGB3b3JsZGAgZnJvbSBpbmNvcnJlY3Qgc2NvcGU7IG9ubHkgYXBwbGljYWJsZSB0byBzdGVwcyBhbmQgY2FzZS1sZXZlbCBob29rcydcbiAgICApXG4gIH1cbiAgcmV0dXJuIHN0b3JlLndvcmxkIGFzIElXb3JsZDxQYXJhbWV0ZXJzVHlwZT5cbn1cblxuLyoqXG4gKiBBIHByb3h5IHRvIHRoZSBXb3JsZCBpbnN0YW5jZSBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpbmcgdGVzdCBjYXNlXG4gKlxuICogQGJldGFcbiAqIEByZW1hcmtzXG4gKiBVc2VmdWwgZm9yIGdldHRpbmcgYSBoYW5kbGUgb24gdGhlIFdvcmxkIHdoZW4gdXNpbmcgYXJyb3cgZnVuY3Rpb25zIGFuZCB0aHVzXG4gKiBiZWluZyB1bmFibGUgdG8gcmVseSBvbiB0aGUgdmFsdWUgb2YgYHRoaXNgLiBPbmx5IGNhbGxhYmxlIGZyb20gdGhlIGJvZHkgb2YgYVxuICogc3RlcCBvciBhIGBCZWZvcmVgLCBgQWZ0ZXJgLCBgQmVmb3JlU3RlcGAgb3IgYEFmdGVyU3RlcGAgaG9vayAod2lsbCB0aHJvd1xuICogb3RoZXJ3aXNlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHdvcmxkUHJveHkgPSBtYWtlUHJveHk8SVdvcmxkPihnZXRXb3JsZClcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { IContext } from '../../support_code_library_builder/context';
1
+ import type { IContext } from '../../support_code_library_builder/context';
2
2
  interface TestRunScopeStore<ParametersType = any> {
3
3
  context: IContext<ParametersType>;
4
4
  }
@@ -25,4 +25,4 @@ function getContext() {
25
25
  * `BeforeAll` or `AfterAll` hook (will throw otherwise).
26
26
  */
27
27
  exports.contextProxy = (0, make_proxy_1.makeProxy)(getContext);
28
- //# sourceMappingURL=test_run_scope.js.map
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9ydW5fc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9zY29wZS90ZXN0X3J1bl9zY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSw4Q0FLQztBQWZELHVEQUFvRDtBQUVwRCw2Q0FBd0M7QUFNeEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxvQ0FBaUIsRUFBcUIsQ0FBQTtBQUV4RCxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLEtBQXdCLEVBQ3hCLFFBQTRCO0lBRTVCLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVELFNBQVMsVUFBVTtJQUNqQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYix3RkFBd0YsQ0FDekYsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFtQyxDQUFBO0FBQ2xELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNVLFFBQUEsWUFBWSxHQUFHLElBQUEsc0JBQVMsRUFBVyxVQUFVLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jTG9jYWxTdG9yYWdlIH0gZnJvbSAnbm9kZTphc3luY19ob29rcydcbmltcG9ydCB0eXBlIHsgSUNvbnRleHQgfSBmcm9tICcuLi8uLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL2NvbnRleHQnXG5pbXBvcnQgeyBtYWtlUHJveHkgfSBmcm9tICcuL21ha2VfcHJveHknXG5cbmludGVyZmFjZSBUZXN0UnVuU2NvcGVTdG9yZTxQYXJhbWV0ZXJzVHlwZSA9IGFueT4ge1xuICBjb250ZXh0OiBJQ29udGV4dDxQYXJhbWV0ZXJzVHlwZT5cbn1cblxuY29uc3QgdGVzdFJ1blNjb3BlID0gbmV3IEFzeW5jTG9jYWxTdG9yYWdlPFRlc3RSdW5TY29wZVN0b3JlPigpXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5JblRlc3RSdW5TY29wZTxSZXNwb25zZVR5cGU+KFxuICBzdG9yZTogVGVzdFJ1blNjb3BlU3RvcmUsXG4gIGNhbGxiYWNrOiAoKSA9PiBSZXNwb25zZVR5cGVcbikge1xuICByZXR1cm4gdGVzdFJ1blNjb3BlLnJ1bihzdG9yZSwgY2FsbGJhY2spXG59XG5cbmZ1bmN0aW9uIGdldENvbnRleHQ8UGFyYW1ldGVyc1R5cGUgPSBhbnk+KCk6IElDb250ZXh0PFBhcmFtZXRlcnNUeXBlPiB7XG4gIGNvbnN0IHN0b3JlID0gdGVzdFJ1blNjb3BlLmdldFN0b3JlKClcbiAgaWYgKCFzdG9yZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdBdHRlbXB0ZWQgdG8gYWNjZXNzIGBjb250ZXh0YCBmcm9tIGluY29ycmVjdCBzY29wZTsgb25seSBhcHBsaWNhYmxlIHRvIHJ1bi1sZXZlbCBob29rcydcbiAgICApXG4gIH1cbiAgcmV0dXJuIHN0b3JlLmNvbnRleHQgYXMgSUNvbnRleHQ8UGFyYW1ldGVyc1R5cGU+XG59XG5cbi8qKlxuICogQSBwcm94eSB0byB0aGUgY29udGV4dCBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpbmcgdGVzdCBydW4uXG4gKlxuICogQGJldGFcbiAqIEByZW1hcmtzXG4gKiBVc2VmdWwgZm9yIGdldHRpbmcgYSBoYW5kbGUgb24gdGhlIGNvbnRleHQgd2hlbiB1c2luZyBhcnJvdyBmdW5jdGlvbnMgYW5kIHRodXNcbiAqIGJlaW5nIHVuYWJsZSB0byByZWx5IG9uIHRoZSB2YWx1ZSBvZiBgdGhpc2AuIE9ubHkgY2FsbGFibGUgZnJvbSB0aGUgYm9keSBvZiBhXG4gKiBgQmVmb3JlQWxsYCBvciBgQWZ0ZXJBbGxgIGhvb2sgKHdpbGwgdGhyb3cgb3RoZXJ3aXNlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbnRleHRQcm94eSA9IG1ha2VQcm94eTxJQ29udGV4dD4oZ2V0Q29udGV4dClcbiJdfQ==
@@ -1,13 +1,19 @@
1
- import { EventEmitter } from 'node:events';
2
- import { IdGenerator } from '@cucumber/messages';
3
- import { RuntimeAdapter } from '../types';
4
- import { AssembledTestCase } from '../../assemble';
5
- import { RuntimeOptions } from '../index';
6
- import { SupportCodeLibrary } from '../../support_code_library_builder/types';
7
- import StepDefinitionSnippetBuilder from '../../formatter/step_definition_snippet_builder';
1
+ import type { EventEmitter } from 'node:events';
2
+ import type { IdGenerator } from '@cucumber/messages';
3
+ import type { AssembledTestCase } from '../../assemble';
4
+ import type StepDefinitionSnippetBuilder from '../../formatter/step_definition_snippet_builder';
5
+ import type { SupportCodeLibrary } from '../../support_code_library_builder/types';
6
+ import type { RuntimeOptions } from '../index';
7
+ import type { RuntimeAdapter } from '../types';
8
+ /**
9
+ * A simple adapter that executes all work in serial on the main thread
10
+ */
8
11
  export declare class InProcessAdapter implements RuntimeAdapter {
9
12
  private readonly worker;
10
- private failing;
11
13
  constructor(testRunStartedId: string, eventBroadcaster: EventEmitter, newId: IdGenerator.NewId, options: RuntimeOptions, supportCodeLibrary: SupportCodeLibrary, snippetBuilder: StepDefinitionSnippetBuilder);
12
- run(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
14
+ setup(): Promise<void>;
15
+ teardown(): Promise<void>;
16
+ runBeforeAllHooks(): Promise<boolean>;
17
+ runTestCases(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
18
+ runAfterAllHooks(): Promise<boolean>;
13
19
  }
@@ -2,23 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InProcessAdapter = void 0;
4
4
  const worker_1 = require("../worker");
5
+ /**
6
+ * A simple adapter that executes all work in serial on the main thread
7
+ */
5
8
  class InProcessAdapter {
6
9
  worker;
7
- failing = false;
8
10
  constructor(testRunStartedId, eventBroadcaster, newId, options, supportCodeLibrary, snippetBuilder) {
9
11
  this.worker = new worker_1.Worker(testRunStartedId, undefined, eventBroadcaster, newId, options, supportCodeLibrary, snippetBuilder);
10
12
  }
11
- async run(assembledTestCases) {
12
- await this.worker.runBeforeAllHooks();
13
+ async setup() {
14
+ // no-op for serial runtime
15
+ }
16
+ async teardown() {
17
+ // no-op for serial runtime
18
+ }
19
+ async runBeforeAllHooks() {
20
+ return await this.worker.runBeforeAllHooks();
21
+ }
22
+ async runTestCases(assembledTestCases) {
23
+ let failing = false;
13
24
  for (const item of assembledTestCases) {
14
- const success = await this.worker.runTestCase(item, this.failing);
15
- if (!success) {
16
- this.failing = true;
25
+ if (!(await this.worker.runTestCase(item, failing))) {
26
+ failing = true;
17
27
  }
18
28
  }
19
- await this.worker.runAfterAllHooks();
20
- return !this.failing;
29
+ return !failing;
30
+ }
31
+ async runAfterAllHooks() {
32
+ return await this.worker.runAfterAllHooks();
21
33
  }
22
34
  }
23
35
  exports.InProcessAdapter = InProcessAdapter;
24
- //# sourceMappingURL=adapter.js.map
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL3NlcmlhbC9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLHNDQUFrQztBQUVsQzs7R0FFRztBQUNILE1BQWEsZ0JBQWdCO0lBQ1YsTUFBTSxDQUFRO0lBRS9CLFlBQ0UsZ0JBQXdCLEVBQ3hCLGdCQUE4QixFQUM5QixLQUF3QixFQUN4QixPQUF1QixFQUN2QixrQkFBc0MsRUFDdEMsY0FBNEM7UUFFNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FDdEIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLE9BQU8sRUFDUCxrQkFBa0IsRUFDbEIsY0FBYyxDQUNmLENBQUE7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCwyQkFBMkI7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osMkJBQTJCO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCO1FBQ3JCLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUE7SUFDOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsa0JBQW9EO1FBQ3JFLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUNuQixLQUFLLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ2hCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQzdDLENBQUM7Q0FDRjtBQS9DRCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJ1xuaW1wb3J0IHR5cGUgeyBJZEdlbmVyYXRvciB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB0eXBlIHsgQXNzZW1ibGVkVGVzdENhc2UgfSBmcm9tICcuLi8uLi9hc3NlbWJsZSdcbmltcG9ydCB0eXBlIFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXIgZnJvbSAnLi4vLi4vZm9ybWF0dGVyL3N0ZXBfZGVmaW5pdGlvbl9zbmlwcGV0X2J1aWxkZXInXG5pbXBvcnQgdHlwZSB7IFN1cHBvcnRDb2RlTGlicmFyeSB9IGZyb20gJy4uLy4uL3N1cHBvcnRfY29kZV9saWJyYXJ5X2J1aWxkZXIvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWVPcHRpb25zIH0gZnJvbSAnLi4vaW5kZXgnXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWVBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBXb3JrZXIgfSBmcm9tICcuLi93b3JrZXInXG5cbi8qKlxuICogQSBzaW1wbGUgYWRhcHRlciB0aGF0IGV4ZWN1dGVzIGFsbCB3b3JrIGluIHNlcmlhbCBvbiB0aGUgbWFpbiB0aHJlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEluUHJvY2Vzc0FkYXB0ZXIgaW1wbGVtZW50cyBSdW50aW1lQWRhcHRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2VyOiBXb3JrZXJcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0ZXN0UnVuU3RhcnRlZElkOiBzdHJpbmcsXG4gICAgZXZlbnRCcm9hZGNhc3RlcjogRXZlbnRFbWl0dGVyLFxuICAgIG5ld0lkOiBJZEdlbmVyYXRvci5OZXdJZCxcbiAgICBvcHRpb25zOiBSdW50aW1lT3B0aW9ucyxcbiAgICBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICBzbmlwcGV0QnVpbGRlcjogU3RlcERlZmluaXRpb25TbmlwcGV0QnVpbGRlclxuICApIHtcbiAgICB0aGlzLndvcmtlciA9IG5ldyBXb3JrZXIoXG4gICAgICB0ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgIG5ld0lkLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICAgIHNuaXBwZXRCdWlsZGVyXG4gICAgKVxuICB9XG5cbiAgYXN5bmMgc2V0dXAoKSB7XG4gICAgLy8gbm8tb3AgZm9yIHNlcmlhbCBydW50aW1lXG4gIH1cblxuICBhc3luYyB0ZWFyZG93bigpIHtcbiAgICAvLyBuby1vcCBmb3Igc2VyaWFsIHJ1bnRpbWVcbiAgfVxuXG4gIGFzeW5jIHJ1bkJlZm9yZUFsbEhvb2tzKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndvcmtlci5ydW5CZWZvcmVBbGxIb29rcygpXG4gIH1cblxuICBhc3luYyBydW5UZXN0Q2FzZXMoYXNzZW1ibGVkVGVzdENhc2VzOiBSZWFkb25seUFycmF5PEFzc2VtYmxlZFRlc3RDYXNlPikge1xuICAgIGxldCBmYWlsaW5nID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXNzZW1ibGVkVGVzdENhc2VzKSB7XG4gICAgICBpZiAoIShhd2FpdCB0aGlzLndvcmtlci5ydW5UZXN0Q2FzZShpdGVtLCBmYWlsaW5nKSkpIHtcbiAgICAgICAgZmFpbGluZyA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuICFmYWlsaW5nXG4gIH1cblxuICBhc3luYyBydW5BZnRlckFsbEhvb2tzKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndvcmtlci5ydW5BZnRlckFsbEhvb2tzKClcbiAgfVxufVxuIl19
@@ -1,16 +1,16 @@
1
- import * as messages from '@cucumber/messages';
2
- import { ITestCaseHookParameter } from '../support_code_library_builder/types';
3
- import { IDefinition } from '../models/definition';
1
+ import { type PickleStep, type TestStepResult } from '@cucumber/messages';
2
+ import type { IDefinition } from '../models/definition';
3
+ import type { ITestCaseHookParameter } from '../support_code_library_builder/types';
4
4
  export interface IRunOptions {
5
5
  defaultTimeout: number;
6
6
  filterStackTraces: boolean;
7
7
  hookParameter: ITestCaseHookParameter;
8
- step: messages.PickleStep;
8
+ step: PickleStep;
9
9
  stepDefinition: IDefinition;
10
10
  world: any;
11
11
  }
12
12
  export interface RunStepResult {
13
- result: messages.TestStepResult;
13
+ result: TestStepResult;
14
14
  error?: any;
15
15
  }
16
16
  export declare function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }: IRunOptions): Promise<RunStepResult>;
@@ -1,48 +1,15 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.run = run;
40
- const messages = __importStar(require("@cucumber/messages"));
7
+ const messages_1 = require("@cucumber/messages");
41
8
  const user_code_runner_1 = __importDefault(require("../user_code_runner"));
42
9
  const value_checker_1 = require("../value_checker");
10
+ const format_error_1 = require("./format_error");
43
11
  const scope_1 = require("./scope");
44
12
  const stopwatch_1 = require("./stopwatch");
45
- const format_error_1 = require("./format_error");
46
13
  async function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }) {
47
14
  const stopwatch = (0, stopwatch_1.create)().start();
48
15
  let error, result, invocationData;
@@ -78,16 +45,16 @@ async function run({ defaultTimeout, filterStackTraces, hookParameter, step, ste
78
45
  let status;
79
46
  let details = {};
80
47
  if (result === 'skipped') {
81
- status = messages.TestStepResultStatus.SKIPPED;
48
+ status = messages_1.TestStepResultStatus.SKIPPED;
82
49
  }
83
50
  else if (result === 'pending') {
84
- status = messages.TestStepResultStatus.PENDING;
51
+ status = messages_1.TestStepResultStatus.PENDING;
85
52
  }
86
53
  else if ((0, value_checker_1.doesHaveValue)(error)) {
87
- status = messages.TestStepResultStatus.FAILED;
54
+ status = messages_1.TestStepResultStatus.FAILED;
88
55
  }
89
56
  else {
90
- status = messages.TestStepResultStatus.PASSED;
57
+ status = messages_1.TestStepResultStatus.PASSED;
91
58
  }
92
59
  if ((0, value_checker_1.doesHaveValue)(error)) {
93
60
  details = (0, format_error_1.formatError)(error, filterStackTraces);
@@ -102,4 +69,4 @@ async function run({ defaultTimeout, filterStackTraces, hookParameter, step, ste
102
69
  };
103
70
  }
104
71
  exports.default = { run };
105
- //# sourceMappingURL=step_runner.js.map
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcF9ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9zdGVwX3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXVCQSxrQkFtRUM7QUExRkQsaURBQStGO0FBRy9GLDJFQUFnRDtBQUNoRCxvREFBa0Y7QUFDbEYsaURBQTRDO0FBQzVDLG1DQUE0QztBQUM1QywyQ0FBb0M7QUFnQjdCLEtBQUssVUFBVSxHQUFHLENBQUMsRUFDeEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEdBQ087SUFDWixNQUFNLFNBQVMsR0FBRyxJQUFBLGtCQUFNLEdBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNsQyxJQUFJLEtBQVUsRUFBRSxNQUFXLEVBQUUsY0FBMEMsQ0FBQTtJQUV2RSxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUEsMEJBQWtCLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3QyxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQUMsdUJBQXVCLENBQUM7Z0JBQzVELGFBQWE7Z0JBQ2IsSUFBSTtnQkFDSixLQUFLO2FBQ04sQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEtBQUssR0FBRyxHQUFHLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSSxJQUFBLGdDQUFnQixFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFFNUYsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsMEJBQWtCLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUMxRCwwQkFBYyxDQUFDLEdBQUcsQ0FBQztnQkFDakIsU0FBUyxFQUFFLGNBQWMsQ0FBQyxVQUFVO2dCQUNwQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLHFCQUFxQjthQUN0QixDQUFDLENBQ0gsQ0FBQTtZQUNELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1lBQ2xCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzVDLElBQUksTUFBNEIsQ0FBQTtJQUNoQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDaEIsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDekIsTUFBTSxHQUFHLCtCQUFvQixDQUFDLE9BQU8sQ0FBQTtJQUN2QyxDQUFDO1NBQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLCtCQUFvQixDQUFDLE9BQU8sQ0FBQTtJQUN2QyxDQUFDO1NBQU0sSUFBSSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEdBQUcsK0JBQW9CLENBQUMsTUFBTSxDQUFBO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxHQUFHLCtCQUFvQixDQUFDLE1BQU0sQ0FBQTtJQUN0QyxDQUFDO0lBRUQsSUFBSSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsSUFBQSwwQkFBVyxFQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLE1BQU07WUFDTixHQUFHLE9BQU87U0FDWDtRQUNELEtBQUs7S0FDTixDQUFBO0FBQ0gsQ0FBQztBQUVELGtCQUFlLEVBQUUsR0FBRyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBpY2tsZVN0ZXAsIHR5cGUgVGVzdFN0ZXBSZXN1bHQsIFRlc3RTdGVwUmVzdWx0U3RhdHVzIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBJRGVmaW5pdGlvbiwgSUdldEludm9jYXRpb25EYXRhUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvZGVmaW5pdGlvbidcbmltcG9ydCB0eXBlIHsgSVRlc3RDYXNlSG9va1BhcmFtZXRlciB9IGZyb20gJy4uL3N1cHBvcnRfY29kZV9saWJyYXJ5X2J1aWxkZXIvdHlwZXMnXG5pbXBvcnQgVXNlckNvZGVSdW5uZXIgZnJvbSAnLi4vdXNlcl9jb2RlX3J1bm5lcidcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUsIHZhbHVlT3JEZWZhdWx0IH0gZnJvbSAnLi4vdmFsdWVfY2hlY2tlcidcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnLi9mb3JtYXRfZXJyb3InXG5pbXBvcnQgeyBydW5JblRlc3RDYXNlU2NvcGUgfSBmcm9tICcuL3Njb3BlJ1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi9zdG9wd2F0Y2gnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bk9wdGlvbnMge1xuICBkZWZhdWx0VGltZW91dDogbnVtYmVyXG4gIGZpbHRlclN0YWNrVHJhY2VzOiBib29sZWFuXG4gIGhvb2tQYXJhbWV0ZXI6IElUZXN0Q2FzZUhvb2tQYXJhbWV0ZXJcbiAgc3RlcDogUGlja2xlU3RlcFxuICBzdGVwRGVmaW5pdGlvbjogSURlZmluaXRpb25cbiAgd29ybGQ6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1blN0ZXBSZXN1bHQge1xuICByZXN1bHQ6IFRlc3RTdGVwUmVzdWx0XG4gIGVycm9yPzogYW55XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW4oe1xuICBkZWZhdWx0VGltZW91dCxcbiAgZmlsdGVyU3RhY2tUcmFjZXMsXG4gIGhvb2tQYXJhbWV0ZXIsXG4gIHN0ZXAsXG4gIHN0ZXBEZWZpbml0aW9uLFxuICB3b3JsZCxcbn06IElSdW5PcHRpb25zKTogUHJvbWlzZTxSdW5TdGVwUmVzdWx0PiB7XG4gIGNvbnN0IHN0b3B3YXRjaCA9IGNyZWF0ZSgpLnN0YXJ0KClcbiAgbGV0IGVycm9yOiBhbnksIHJlc3VsdDogYW55LCBpbnZvY2F0aW9uRGF0YTogSUdldEludm9jYXRpb25EYXRhUmVzcG9uc2VcblxuICB0cnkge1xuICAgIGF3YWl0IHJ1bkluVGVzdENhc2VTY29wZSh7IHdvcmxkIH0sIGFzeW5jICgpID0+IHtcbiAgICAgIGludm9jYXRpb25EYXRhID0gYXdhaXQgc3RlcERlZmluaXRpb24uZ2V0SW52b2NhdGlvblBhcmFtZXRlcnMoe1xuICAgICAgICBob29rUGFyYW1ldGVyLFxuICAgICAgICBzdGVwLFxuICAgICAgICB3b3JsZCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgZXJyb3IgPSBlcnJcbiAgfVxuXG4gIGlmIChkb2VzTm90SGF2ZVZhbHVlKGVycm9yKSkge1xuICAgIGNvbnN0IHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA9IHZhbHVlT3JEZWZhdWx0KHN0ZXBEZWZpbml0aW9uLm9wdGlvbnMudGltZW91dCwgZGVmYXVsdFRpbWVvdXQpXG5cbiAgICBpZiAoaW52b2NhdGlvbkRhdGEudmFsaWRDb2RlTGVuZ3Rocy5pbmNsdWRlcyhzdGVwRGVmaW5pdGlvbi5jb2RlLmxlbmd0aCkpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBydW5JblRlc3RDYXNlU2NvcGUoeyB3b3JsZCB9LCBhc3luYyAoKSA9PlxuICAgICAgICBVc2VyQ29kZVJ1bm5lci5ydW4oe1xuICAgICAgICAgIGFyZ3NBcnJheTogaW52b2NhdGlvbkRhdGEucGFyYW1ldGVycyxcbiAgICAgICAgICBmbjogc3RlcERlZmluaXRpb24uY29kZSxcbiAgICAgICAgICB0aGlzQXJnOiB3b3JsZCxcbiAgICAgICAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBlcnJvciA9IGRhdGEuZXJyb3JcbiAgICAgIHJlc3VsdCA9IGRhdGEucmVzdWx0XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yID0gaW52b2NhdGlvbkRhdGEuZ2V0SW52YWxpZENvZGVMZW5ndGhNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IHN0b3B3YXRjaC5zdG9wKCkuZHVyYXRpb24oKVxuICBsZXQgc3RhdHVzOiBUZXN0U3RlcFJlc3VsdFN0YXR1c1xuICBsZXQgZGV0YWlscyA9IHt9XG4gIGlmIChyZXN1bHQgPT09ICdza2lwcGVkJykge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlNLSVBQRURcbiAgfSBlbHNlIGlmIChyZXN1bHQgPT09ICdwZW5kaW5nJykge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBFTkRJTkdcbiAgfSBlbHNlIGlmIChkb2VzSGF2ZVZhbHVlKGVycm9yKSkge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRFxuICB9IGVsc2Uge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRFxuICB9XG5cbiAgaWYgKGRvZXNIYXZlVmFsdWUoZXJyb3IpKSB7XG4gICAgZGV0YWlscyA9IGZvcm1hdEVycm9yKGVycm9yLCBmaWx0ZXJTdGFja1RyYWNlcylcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVzdWx0OiB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHN0YXR1cyxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgfSxcbiAgICBlcnJvcixcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7IHJ1biB9XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Duration } from '@cucumber/messages';
1
+ import { type Duration } from '@cucumber/messages';
2
2
  /**
3
3
  * A utility for timing test run operations and returning duration and
4
4
  * timestamp objects in messages-compatible formats
@@ -9,4 +9,4 @@ export interface IStopwatch {
9
9
  duration: () => Duration;
10
10
  }
11
11
  export declare const create: (base?: Duration) => IStopwatch;
12
- export declare const timestamp: () => import("@cucumber/messages").Timestamp;
12
+ export declare const timestamp: () => import("@cucumber/messages", { with: { "resolution-mode": "import" } }).Timestamp;
@@ -32,4 +32,4 @@ const create = (base) => new StopwatchImpl(base);
32
32
  exports.create = create;
33
33
  const timestamp = () => messages_1.TimeConversion.millisecondsSinceEpochToTimestamp(time_1.default.Date.now());
34
34
  exports.timestamp = timestamp;
35
- //# sourceMappingURL=stopwatch.js.map
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcHdhdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvc3RvcHdhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUFrRTtBQUNsRSxtREFBNkI7QUFZN0IsTUFBTSxhQUFhO0lBR0c7SUFGWixPQUFPLENBQVE7SUFFdkIsWUFBb0IsT0FBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFBekMsU0FBSSxHQUFKLElBQUksQ0FBcUM7SUFBRyxDQUFDO0lBRWpFLEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDeEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFBO1FBQ3hCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDbEIsQ0FBQztRQUNELE9BQU8seUJBQWMsQ0FBQyxZQUFZLENBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQ1QseUJBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDaEYsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVNLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBZSxFQUFjLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUFqRSxRQUFBLE1BQU0sVUFBMkQ7QUFFdkUsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMseUJBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxjQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFBdEYsUUFBQSxTQUFTLGFBQTZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEdXJhdGlvbiwgVGltZUNvbnZlcnNpb24gfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgbWV0aG9kcyBmcm9tICcuLi90aW1lJ1xuXG4vKipcbiAqIEEgdXRpbGl0eSBmb3IgdGltaW5nIHRlc3QgcnVuIG9wZXJhdGlvbnMgYW5kIHJldHVybmluZyBkdXJhdGlvbiBhbmRcbiAqIHRpbWVzdGFtcCBvYmplY3RzIGluIG1lc3NhZ2VzLWNvbXBhdGlibGUgZm9ybWF0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdG9wd2F0Y2gge1xuICBzdGFydDogKCkgPT4gSVN0b3B3YXRjaFxuICBzdG9wOiAoKSA9PiBJU3RvcHdhdGNoXG4gIGR1cmF0aW9uOiAoKSA9PiBEdXJhdGlvblxufVxuXG5jbGFzcyBTdG9wd2F0Y2hJbXBsIGltcGxlbWVudHMgSVN0b3B3YXRjaCB7XG4gIHByaXZhdGUgc3RhcnRlZDogbnVtYmVyXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlOiBEdXJhdGlvbiA9IHsgc2Vjb25kczogMCwgbmFub3M6IDAgfSkge31cblxuICBzdGFydCgpOiBJU3RvcHdhdGNoIHtcbiAgICB0aGlzLnN0YXJ0ZWQgPSBtZXRob2RzLnBlcmZvcm1hbmNlLm5vdygpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHN0b3AoKTogSVN0b3B3YXRjaCB7XG4gICAgdGhpcy5iYXNlID0gdGhpcy5kdXJhdGlvbigpXG4gICAgdGhpcy5zdGFydGVkID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGR1cmF0aW9uKCk6IER1cmF0aW9uIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuc3RhcnRlZCAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLmJhc2VcbiAgICB9XG4gICAgcmV0dXJuIFRpbWVDb252ZXJzaW9uLmFkZER1cmF0aW9ucyhcbiAgICAgIHRoaXMuYmFzZSxcbiAgICAgIFRpbWVDb252ZXJzaW9uLm1pbGxpc2Vjb25kc1RvRHVyYXRpb24obWV0aG9kcy5wZXJmb3JtYW5jZS5ub3coKSAtIHRoaXMuc3RhcnRlZClcbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZSA9IChiYXNlPzogRHVyYXRpb24pOiBJU3RvcHdhdGNoID0+IG5ldyBTdG9wd2F0Y2hJbXBsKGJhc2UpXG5cbmV4cG9ydCBjb25zdCB0aW1lc3RhbXAgPSAoKSA9PiBUaW1lQ29udmVyc2lvbi5taWxsaXNlY29uZHNTaW5jZUVwb2NoVG9UaW1lc3RhbXAobWV0aG9kcy5EYXRlLm5vdygpKVxuIl19
@@ -1,20 +1,19 @@
1
- import { EventEmitter } from 'node:events';
2
- import * as messages from '@cucumber/messages';
3
- import { IdGenerator } from '@cucumber/messages';
4
- import { JsonObject } from 'type-fest';
5
- import { ITestCaseHookParameter, SupportCodeLibrary } from '../support_code_library_builder/types';
6
- import TestCaseHookDefinition from '../models/test_case_hook_definition';
7
- import TestStepHookDefinition from '../models/test_step_hook_definition';
8
- import { IDefinition } from '../models/definition';
9
- import StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
10
- import { RunStepResult } from './step_runner';
1
+ import type { EventEmitter } from 'node:events';
2
+ import { type GherkinDocument, type IdGenerator, type Pickle, type PickleStep, type TestCase, type TestStep, type TestStepResult, TestStepResultStatus } from '@cucumber/messages';
3
+ import type { JsonObject } from 'type-fest';
4
+ import type StepDefinitionSnippetBuilder from '../formatter/step_definition_snippet_builder';
5
+ import type { IDefinition } from '../models/definition';
6
+ import type TestCaseHookDefinition from '../models/test_case_hook_definition';
7
+ import type TestStepHookDefinition from '../models/test_step_hook_definition';
8
+ import type { ITestCaseHookParameter, SupportCodeLibrary } from '../support_code_library_builder/types';
9
+ import { type RunStepResult } from './step_runner';
11
10
  export interface INewTestCaseRunnerOptions {
12
11
  workerId?: string;
13
12
  eventBroadcaster: EventEmitter;
14
- gherkinDocument: messages.GherkinDocument;
13
+ gherkinDocument: GherkinDocument;
15
14
  newId: IdGenerator.NewId;
16
- pickle: messages.Pickle;
17
- testCase: messages.TestCase;
15
+ pickle: Pickle;
16
+ testCase: TestCase;
18
17
  retries: number;
19
18
  skip: boolean;
20
19
  filterStackTraces: boolean;
@@ -44,14 +43,15 @@ export default class TestCaseRunner {
44
43
  resetTestProgressData(): void;
45
44
  getBeforeStepHookDefinitions(): TestStepHookDefinition[];
46
45
  getAfterStepHookDefinitions(): TestStepHookDefinition[];
47
- getWorstStepResult(): messages.TestStepResult;
48
- invokeStep(step: messages.PickleStep, stepDefinition: IDefinition, hookParameter?: ITestCaseHookParameter): Promise<RunStepResult>;
46
+ getWorstStepResult(): TestStepResult;
47
+ invokeStep(step: PickleStep, stepDefinition: IDefinition, hookParameter?: ITestCaseHookParameter): Promise<RunStepResult>;
49
48
  isSkippingSteps(): boolean;
49
+ isExplicitlySkipped(): boolean;
50
50
  shouldSkipHook(isBeforeHook: boolean): boolean;
51
- aroundTestStep(testStepId: string, runStepFn: () => Promise<messages.TestStepResult>): Promise<void>;
52
- run(): Promise<messages.TestStepResultStatus>;
51
+ aroundTestStep(testStepId: string, runStepFn: () => Promise<TestStepResult>): Promise<void>;
52
+ run(): Promise<TestStepResultStatus>;
53
53
  runAttempt(attempt: number, moreAttemptsRemaining: boolean): Promise<boolean>;
54
- runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise<messages.TestStepResult>;
55
- runStepHooks(stepHooks: TestStepHookDefinition[], pickleStep: messages.PickleStep, stepResult?: RunStepResult): Promise<messages.TestStepResult[]>;
56
- runStep(pickleStep: messages.PickleStep, testStep: messages.TestStep): Promise<RunStepResult>;
54
+ runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise<TestStepResult>;
55
+ runStepHooks(stepHooks: TestStepHookDefinition[], pickleStep: PickleStep, stepResult?: RunStepResult): Promise<TestStepResult[]>;
56
+ runStep(pickleStep: PickleStep, testStep: TestStep): Promise<RunStepResult>;
57
57
  }
@@ -1,49 +1,14 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
- const messages = __importStar(require("@cucumber/messages"));
40
6
  const messages_1 = require("@cucumber/messages");
41
7
  const value_checker_1 = require("../value_checker");
42
- const stopwatch_1 = require("./stopwatch");
43
- const step_runner_1 = __importDefault(require("./step_runner"));
44
8
  const attachment_manager_1 = __importDefault(require("./attachment_manager"));
45
- const helpers_1 = require("./helpers");
46
9
  const make_suggestion_1 = require("./make_suggestion");
10
+ const step_runner_1 = __importDefault(require("./step_runner"));
11
+ const stopwatch_1 = require("./stopwatch");
47
12
  class TestCaseRunner {
48
13
  workerId;
49
14
  attachmentManager;
@@ -115,10 +80,8 @@ class TestCaseRunner {
115
80
  getWorstStepResult() {
116
81
  if (this.testStepResults.length === 0) {
117
82
  return {
118
- status: this.skip
119
- ? messages.TestStepResultStatus.SKIPPED
120
- : messages.TestStepResultStatus.PASSED,
121
- duration: messages.TimeConversion.millisecondsToDuration(0),
83
+ status: this.skip ? messages_1.TestStepResultStatus.SKIPPED : messages_1.TestStepResultStatus.PASSED,
84
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
122
85
  };
123
86
  }
124
87
  return (0, messages_1.getWorstTestStepResult)(this.testStepResults);
@@ -134,7 +97,10 @@ class TestCaseRunner {
134
97
  });
135
98
  }
136
99
  isSkippingSteps() {
137
- return (this.getWorstStepResult().status !== messages.TestStepResultStatus.PASSED);
100
+ return this.getWorstStepResult().status !== messages_1.TestStepResultStatus.PASSED;
101
+ }
102
+ isExplicitlySkipped() {
103
+ return !this.skip && this.getWorstStepResult().status === messages_1.TestStepResultStatus.SKIPPED;
138
104
  }
139
105
  shouldSkipHook(isBeforeHook) {
140
106
  return this.skip || (this.isSkippingSteps() && isBeforeHook);
@@ -202,8 +168,8 @@ class TestCaseRunner {
202
168
  hookParameter.result = this.getWorstStepResult();
203
169
  hookParameter.error = error;
204
170
  hookParameter.willBeRetried =
205
- this.getWorstStepResult().status ===
206
- messages.TestStepResultStatus.FAILED && moreAttemptsRemaining;
171
+ this.getWorstStepResult().status === messages_1.TestStepResultStatus.FAILED &&
172
+ moreAttemptsRemaining;
207
173
  }
208
174
  return await this.runHook(findHookDefinition(testStep.hookId, this.supportCodeLibrary), hookParameter, !didWeRunStepsYet);
209
175
  }
@@ -216,8 +182,7 @@ class TestCaseRunner {
216
182
  }
217
183
  });
218
184
  }
219
- const willBeRetried = this.getWorstStepResult().status ===
220
- messages.TestStepResultStatus.FAILED && moreAttemptsRemaining;
185
+ const willBeRetried = this.getWorstStepResult().status === messages_1.TestStepResultStatus.FAILED && moreAttemptsRemaining;
221
186
  const testCaseFinished = {
222
187
  testCaseFinished: {
223
188
  testCaseStartedId: this.currentTestCaseStartedId,
@@ -231,8 +196,8 @@ class TestCaseRunner {
231
196
  async runHook(hookDefinition, hookParameter, isBeforeHook) {
232
197
  if (this.shouldSkipHook(isBeforeHook)) {
233
198
  return {
234
- status: messages.TestStepResultStatus.SKIPPED,
235
- duration: messages.TimeConversion.millisecondsToDuration(0),
199
+ status: messages_1.TestStepResultStatus.SKIPPED,
200
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
236
201
  };
237
202
  }
238
203
  const { result } = await this.invokeStep(null, hookDefinition, hookParameter);
@@ -256,6 +221,14 @@ class TestCaseRunner {
256
221
  return stepHooksResult;
257
222
  }
258
223
  async runStep(pickleStep, testStep) {
224
+ if (this.isExplicitlySkipped()) {
225
+ return {
226
+ result: {
227
+ status: messages_1.TestStepResultStatus.SKIPPED,
228
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
229
+ },
230
+ };
231
+ }
259
232
  const stepDefinitions = testStep.stepDefinitionIds.map((stepDefinitionId) => {
260
233
  return findStepDefinition(stepDefinitionId, this.supportCodeLibrary);
261
234
  });
@@ -269,33 +242,31 @@ class TestCaseRunner {
269
242
  });
270
243
  return {
271
244
  result: {
272
- status: messages.TestStepResultStatus.UNDEFINED,
273
- duration: messages.TimeConversion.millisecondsToDuration(0),
245
+ status: messages_1.TestStepResultStatus.UNDEFINED,
246
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
274
247
  },
275
248
  };
276
249
  }
277
250
  else if (stepDefinitions.length > 1) {
278
251
  return {
279
252
  result: {
280
- message: (0, helpers_1.getAmbiguousStepException)(stepDefinitions),
281
- status: messages.TestStepResultStatus.AMBIGUOUS,
282
- duration: messages.TimeConversion.millisecondsToDuration(0),
253
+ status: messages_1.TestStepResultStatus.AMBIGUOUS,
254
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
283
255
  },
284
256
  };
285
257
  }
286
258
  else if (this.isSkippingSteps()) {
287
259
  return {
288
260
  result: {
289
- status: messages.TestStepResultStatus.SKIPPED,
290
- duration: messages.TimeConversion.millisecondsToDuration(0),
261
+ status: messages_1.TestStepResultStatus.SKIPPED,
262
+ duration: messages_1.TimeConversion.millisecondsToDuration(0),
291
263
  },
292
264
  };
293
265
  }
294
266
  let stepResult;
295
267
  let error;
296
268
  let stepResults = await this.runStepHooks(this.getBeforeStepHookDefinitions(), pickleStep);
297
- if ((0, messages_1.getWorstTestStepResult)(stepResults).status !==
298
- messages.TestStepResultStatus.FAILED) {
269
+ if ((0, messages_1.getWorstTestStepResult)(stepResults).status !== messages_1.TestStepResultStatus.FAILED) {
299
270
  stepResult = await this.invokeStep(pickleStep, stepDefinitions[0]);
300
271
  stepResults.push(stepResult.result);
301
272
  error = stepResult.error;
@@ -303,9 +274,9 @@ class TestCaseRunner {
303
274
  const afterStepHookResults = await this.runStepHooks(this.getAfterStepHookDefinitions(), pickleStep, stepResult);
304
275
  stepResults = stepResults.concat(afterStepHookResults);
305
276
  const finalStepResult = (0, messages_1.getWorstTestStepResult)(stepResults);
306
- let finalDuration = messages.TimeConversion.millisecondsToDuration(0);
277
+ let finalDuration = messages_1.TimeConversion.millisecondsToDuration(0);
307
278
  for (const result of stepResults) {
308
- finalDuration = messages.TimeConversion.addDurations(finalDuration, result.duration);
279
+ finalDuration = messages_1.TimeConversion.addDurations(finalDuration, result.duration);
309
280
  }
310
281
  finalStepResult.duration = finalDuration;
311
282
  return {
@@ -324,4 +295,4 @@ function findHookDefinition(id, supportCodeLibrary) {
324
295
  function findStepDefinition(id, supportCodeLibrary) {
325
296
  return supportCodeLibrary.stepDefinitions.find((definition) => definition.id === id);
326
297
  }
327
- //# sourceMappingURL=test_case_runner.js.map
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jYXNlX3J1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL3Rlc3RfY2FzZV9ydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpREFZMkI7QUFhM0Isb0RBQWtFO0FBQ2xFLDhFQUFvRDtBQUNwRCx1REFBa0Q7QUFDbEQsZ0VBQThEO0FBQzlELDJDQUF1QztBQWlCdkMsTUFBcUIsY0FBYztJQUNoQixRQUFRLENBQW9CO0lBQzVCLGlCQUFpQixDQUFtQjtJQUM3Qyx3QkFBd0IsQ0FBUTtJQUNoQyxpQkFBaUIsQ0FBUTtJQUNoQixnQkFBZ0IsQ0FBYztJQUM5QixlQUFlLENBQWlCO0lBQ2hDLEtBQUssQ0FBbUI7SUFDeEIsTUFBTSxDQUFRO0lBQ2QsUUFBUSxDQUFVO0lBQ2xCLFdBQVcsQ0FBUTtJQUNuQixJQUFJLENBQVM7SUFDYixpQkFBaUIsQ0FBUztJQUMxQixrQkFBa0IsQ0FBb0I7SUFDdEMsY0FBYyxDQUE4QjtJQUNyRCxlQUFlLENBQWtCO0lBQ2pDLEtBQUssQ0FBSztJQUNELGVBQWUsQ0FBWTtJQUU1QyxZQUFZLEVBQ1YsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsS0FBSyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxHQUFHLENBQUMsRUFDWCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsY0FBYyxHQUNZO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLDRCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDM0UsSUFBSSxJQUFBLGdDQUFnQixFQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0dBQXNH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RUFBRSxDQUFDO1lBQ2pDLGFBQWEsR0FBRyx5QkFBYyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzdFLENBQUM7UUFDRCxlQUFlLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQTtRQUN4QyxPQUFPO1lBQ0wsTUFBTSxFQUFFLGVBQWU7WUFDdkIsS0FBSztTQUNOLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFoVkQsaUNBZ1ZDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsRUFBVSxFQUNWLGtCQUFzQztJQUV0QyxPQUFPO1FBQ0wsR0FBRyxrQkFBa0IsQ0FBQyw2QkFBNkI7UUFDbkQsR0FBRyxrQkFBa0IsQ0FBQyw0QkFBNEI7S0FDbkQsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDOUMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsRUFBVSxFQUFFLGtCQUFzQztJQUM1RSxPQUFPLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnbm9kZTpldmVudHMnXG5pbXBvcnQge1xuICB0eXBlIEVudmVsb3BlLFxuICB0eXBlIEdoZXJraW5Eb2N1bWVudCxcbiAgZ2V0V29yc3RUZXN0U3RlcFJlc3VsdCxcbiAgdHlwZSBJZEdlbmVyYXRvcixcbiAgdHlwZSBQaWNrbGUsXG4gIHR5cGUgUGlja2xlU3RlcCxcbiAgdHlwZSBUZXN0Q2FzZSxcbiAgdHlwZSBUZXN0U3RlcCxcbiAgdHlwZSBUZXN0U3RlcFJlc3VsdCxcbiAgVGVzdFN0ZXBSZXN1bHRTdGF0dXMsXG4gIFRpbWVDb252ZXJzaW9uLFxufSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IEpzb25PYmplY3QgfSBmcm9tICd0eXBlLWZlc3QnXG5pbXBvcnQgdHlwZSBTdGVwRGVmaW5pdGlvblNuaXBwZXRCdWlsZGVyIGZyb20gJy4uL2Zvcm1hdHRlci9zdGVwX2RlZmluaXRpb25fc25pcHBldF9idWlsZGVyJ1xuaW1wb3J0IHR5cGUgeyBJRGVmaW5pdGlvbiB9IGZyb20gJy4uL21vZGVscy9kZWZpbml0aW9uJ1xuaW1wb3J0IHR5cGUgU3RlcERlZmluaXRpb24gZnJvbSAnLi4vbW9kZWxzL3N0ZXBfZGVmaW5pdGlvbidcbmltcG9ydCB0eXBlIFRlc3RDYXNlSG9va0RlZmluaXRpb24gZnJvbSAnLi4vbW9kZWxzL3Rlc3RfY2FzZV9ob29rX2RlZmluaXRpb24nXG5pbXBvcnQgdHlwZSBUZXN0U3RlcEhvb2tEZWZpbml0aW9uIGZyb20gJy4uL21vZGVscy90ZXN0X3N0ZXBfaG9va19kZWZpbml0aW9uJ1xuaW1wb3J0IHR5cGUge1xuICBJVGVzdENhc2VIb29rUGFyYW1ldGVyLFxuICBJVGVzdFN0ZXBIb29rUGFyYW1ldGVyLFxuICBTdXBwb3J0Q29kZUxpYnJhcnksXG59IGZyb20gJy4uL3N1cHBvcnRfY29kZV9saWJyYXJ5X2J1aWxkZXIvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IElXb3JsZE9wdGlvbnMgfSBmcm9tICcuLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3dvcmxkJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSwgZG9lc05vdEhhdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlX2NoZWNrZXInXG5pbXBvcnQgQXR0YWNobWVudE1hbmFnZXIgZnJvbSAnLi9hdHRhY2htZW50X21hbmFnZXInXG5pbXBvcnQgeyBtYWtlU3VnZ2VzdGlvbiB9IGZyb20gJy4vbWFrZV9zdWdnZXN0aW9uJ1xuaW1wb3J0IFN0ZXBSdW5uZXIsIHsgdHlwZSBSdW5TdGVwUmVzdWx0IH0gZnJvbSAnLi9zdGVwX3J1bm5lcidcbmltcG9ydCB7IHRpbWVzdGFtcCB9IGZyb20gJy4vc3RvcHdhdGNoJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElOZXdUZXN0Q2FzZVJ1bm5lck9wdGlvbnMge1xuICB3b3JrZXJJZD86IHN0cmluZ1xuICBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXJcbiAgZ2hlcmtpbkRvY3VtZW50OiBHaGVya2luRG9jdW1lbnRcbiAgbmV3SWQ6IElkR2VuZXJhdG9yLk5ld0lkXG4gIHBpY2tsZTogUGlja2xlXG4gIHRlc3RDYXNlOiBUZXN0Q2FzZVxuICByZXRyaWVzOiBudW1iZXJcbiAgc2tpcDogYm9vbGVhblxuICBmaWx0ZXJTdGFja1RyYWNlczogYm9vbGVhblxuICBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeVxuICB3b3JsZFBhcmFtZXRlcnM6IEpzb25PYmplY3RcbiAgc25pcHBldEJ1aWxkZXI6IFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVzdENhc2VSdW5uZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtlcklkOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSByZWFkb25seSBhdHRhY2htZW50TWFuYWdlcjogQXR0YWNobWVudE1hbmFnZXJcbiAgcHJpdmF0ZSBjdXJyZW50VGVzdENhc2VTdGFydGVkSWQ6IHN0cmluZ1xuICBwcml2YXRlIGN1cnJlbnRUZXN0U3RlcElkOiBzdHJpbmdcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXJcbiAgcHJpdmF0ZSByZWFkb25seSBnaGVya2luRG9jdW1lbnQ6IEdoZXJraW5Eb2N1bWVudFxuICBwcml2YXRlIHJlYWRvbmx5IG5ld0lkOiBJZEdlbmVyYXRvci5OZXdJZFxuICBwcml2YXRlIHJlYWRvbmx5IHBpY2tsZTogUGlja2xlXG4gIHByaXZhdGUgcmVhZG9ubHkgdGVzdENhc2U6IFRlc3RDYXNlXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4QXR0ZW1wdHM6IG51bWJlclxuICBwcml2YXRlIHJlYWRvbmx5IHNraXA6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTdGFja1RyYWNlczogYm9vbGVhblxuICBwcml2YXRlIHJlYWRvbmx5IHN1cHBvcnRDb2RlTGlicmFyeTogU3VwcG9ydENvZGVMaWJyYXJ5XG4gIHByaXZhdGUgcmVhZG9ubHkgc25pcHBldEJ1aWxkZXI6IFN0ZXBEZWZpbml0aW9uU25pcHBldEJ1aWxkZXJcbiAgcHJpdmF0ZSB0ZXN0U3RlcFJlc3VsdHM6IFRlc3RTdGVwUmVzdWx0W11cbiAgcHJpdmF0ZSB3b3JsZDogYW55XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ybGRQYXJhbWV0ZXJzOiBKc29uT2JqZWN0XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIHdvcmtlcklkLFxuICAgIGV2ZW50QnJvYWRjYXN0ZXIsXG4gICAgZ2hlcmtpbkRvY3VtZW50LFxuICAgIG5ld0lkLFxuICAgIHBpY2tsZSxcbiAgICB0ZXN0Q2FzZSxcbiAgICByZXRyaWVzID0gMCxcbiAgICBza2lwLFxuICAgIGZpbHRlclN0YWNrVHJhY2VzLFxuICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICB3b3JsZFBhcmFtZXRlcnMsXG4gICAgc25pcHBldEJ1aWxkZXIsXG4gIH06IElOZXdUZXN0Q2FzZVJ1bm5lck9wdGlvbnMpIHtcbiAgICB0aGlzLndvcmtlcklkID0gd29ya2VySWRcbiAgICB0aGlzLmF0dGFjaG1lbnRNYW5hZ2VyID0gbmV3IEF0dGFjaG1lbnRNYW5hZ2VyKCh7IGRhdGEsIG1lZGlhLCBmaWxlTmFtZSB9KSA9PiB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZSh0aGlzLmN1cnJlbnRUZXN0U3RlcElkKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ0Nhbm5vdCBhdHRhY2ggd2hlbiBhIHN0ZXAvaG9vayBpcyBub3QgcnVubmluZy4gRW5zdXJlIHlvdXIgc3RlcC9ob29rIHdhaXRzIGZvciB0aGUgYXR0YWNoIHRvIGZpbmlzaC4nXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGNvbnN0IGF0dGFjaG1lbnQ6IEVudmVsb3BlID0ge1xuICAgICAgICBhdHRhY2htZW50OiB7XG4gICAgICAgICAgYm9keTogZGF0YSxcbiAgICAgICAgICBjb250ZW50RW5jb2Rpbmc6IG1lZGlhLmVuY29kaW5nLFxuICAgICAgICAgIG1lZGlhVHlwZTogbWVkaWEuY29udGVudFR5cGUsXG4gICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgdGVzdENhc2VTdGFydGVkSWQ6IHRoaXMuY3VycmVudFRlc3RDYXNlU3RhcnRlZElkLFxuICAgICAgICAgIHRlc3RTdGVwSWQ6IHRoaXMuY3VycmVudFRlc3RTdGVwSWQsXG4gICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAoKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3Rlci5lbWl0KCdlbnZlbG9wZScsIGF0dGFjaG1lbnQpXG4gICAgfSlcbiAgICB0aGlzLmV2ZW50QnJvYWRjYXN0ZXIgPSBldmVudEJyb2FkY2FzdGVyXG4gICAgdGhpcy5naGVya2luRG9jdW1lbnQgPSBnaGVya2luRG9jdW1lbnRcbiAgICB0aGlzLm1heEF0dGVtcHRzID0gMSArIChza2lwID8gMCA6IHJldHJpZXMpXG4gICAgdGhpcy5uZXdJZCA9IG5ld0lkXG4gICAgdGhpcy5waWNrbGUgPSBwaWNrbGVcbiAgICB0aGlzLnRlc3RDYXNlID0gdGVzdENhc2VcbiAgICB0aGlzLnNraXAgPSBza2lwXG4gICAgdGhpcy5maWx0ZXJTdGFja1RyYWNlcyA9IGZpbHRlclN0YWNrVHJhY2VzXG4gICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkgPSBzdXBwb3J0Q29kZUxpYnJhcnlcbiAgICB0aGlzLndvcmxkUGFyYW1ldGVycyA9IHdvcmxkUGFyYW1ldGVyc1xuICAgIHRoaXMuc25pcHBldEJ1aWxkZXIgPSBzbmlwcGV0QnVpbGRlclxuICAgIHRoaXMucmVzZXRUZXN0UHJvZ3Jlc3NEYXRhKClcbiAgfVxuXG4gIHJlc2V0VGVzdFByb2dyZXNzRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLndvcmxkID0gbmV3IHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LldvcmxkKHtcbiAgICAgIGF0dGFjaDogdGhpcy5hdHRhY2htZW50TWFuYWdlci5jcmVhdGUuYmluZCh0aGlzLmF0dGFjaG1lbnRNYW5hZ2VyKSxcbiAgICAgIGxvZzogdGhpcy5hdHRhY2htZW50TWFuYWdlci5sb2cuYmluZCh0aGlzLmF0dGFjaG1lbnRNYW5hZ2VyKSxcbiAgICAgIGxpbms6IHRoaXMuYXR0YWNobWVudE1hbmFnZXIubGluay5iaW5kKHRoaXMuYXR0YWNobWVudE1hbmFnZXIpLFxuICAgICAgcGFyYW1ldGVyczogc3RydWN0dXJlZENsb25lKHRoaXMud29ybGRQYXJhbWV0ZXJzKSxcbiAgICB9IHNhdGlzZmllcyBJV29ybGRPcHRpb25zKVxuICAgIHRoaXMudGVzdFN0ZXBSZXN1bHRzID0gW11cbiAgfVxuXG4gIGdldEJlZm9yZVN0ZXBIb29rRGVmaW5pdGlvbnMoKTogVGVzdFN0ZXBIb29rRGVmaW5pdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkuYmVmb3JlVGVzdFN0ZXBIb29rRGVmaW5pdGlvbnMuZmlsdGVyKChob29rRGVmaW5pdGlvbikgPT5cbiAgICAgIGhvb2tEZWZpbml0aW9uLmFwcGxpZXNUb1Rlc3RDYXNlKHRoaXMucGlja2xlKVxuICAgIClcbiAgfVxuXG4gIGdldEFmdGVyU3RlcEhvb2tEZWZpbml0aW9ucygpOiBUZXN0U3RlcEhvb2tEZWZpbml0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5hZnRlclRlc3RTdGVwSG9va0RlZmluaXRpb25zXG4gICAgICAuc2xpY2UoMClcbiAgICAgIC5yZXZlcnNlKClcbiAgICAgIC5maWx0ZXIoKGhvb2tEZWZpbml0aW9uKSA9PiBob29rRGVmaW5pdGlvbi5hcHBsaWVzVG9UZXN0Q2FzZSh0aGlzLnBpY2tsZSkpXG4gIH1cblxuICBnZXRXb3JzdFN0ZXBSZXN1bHQoKTogVGVzdFN0ZXBSZXN1bHQge1xuICAgIGlmICh0aGlzLnRlc3RTdGVwUmVzdWx0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogdGhpcy5za2lwID8gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuU0tJUFBFRCA6IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRCxcbiAgICAgICAgZHVyYXRpb246IFRpbWVDb252ZXJzaW9uLm1pbGxpc2Vjb25kc1RvRHVyYXRpb24oMCksXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBnZXRXb3JzdFRlc3RTdGVwUmVzdWx0KHRoaXMudGVzdFN0ZXBSZXN1bHRzKVxuICB9XG5cbiAgYXN5bmMgaW52b2tlU3RlcChcbiAgICBzdGVwOiBQaWNrbGVTdGVwLFxuICAgIHN0ZXBEZWZpbml0aW9uOiBJRGVmaW5pdGlvbixcbiAgICBob29rUGFyYW1ldGVyPzogSVRlc3RDYXNlSG9va1BhcmFtZXRlclxuICApOiBQcm9taXNlPFJ1blN0ZXBSZXN1bHQ+IHtcbiAgICByZXR1cm4gYXdhaXQgU3RlcFJ1bm5lci5ydW4oe1xuICAgICAgZGVmYXVsdFRpbWVvdXQ6IHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LmRlZmF1bHRUaW1lb3V0LFxuICAgICAgZmlsdGVyU3RhY2tUcmFjZXM6IHRoaXMuZmlsdGVyU3RhY2tUcmFjZXMsXG4gICAgICBob29rUGFyYW1ldGVyLFxuICAgICAgc3RlcCxcbiAgICAgIHN0ZXBEZWZpbml0aW9uLFxuICAgICAgd29ybGQ6IHRoaXMud29ybGQsXG4gICAgfSlcbiAgfVxuXG4gIGlzU2tpcHBpbmdTdGVwcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JzdFN0ZXBSZXN1bHQoKS5zdGF0dXMgIT09IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRFxuICB9XG5cbiAgaXNFeHBsaWNpdGx5U2tpcHBlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2tpcCAmJiB0aGlzLmdldFdvcnN0U3RlcFJlc3VsdCgpLnN0YXR1cyA9PT0gVGVzdFN0ZXBSZXN1bHRTdGF0dXMuU0tJUFBFRFxuICB9XG5cbiAgc2hvdWxkU2tpcEhvb2soaXNCZWZvcmVIb29rOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2tpcCB8fCAodGhpcy5pc1NraXBwaW5nU3RlcHMoKSAmJiBpc0JlZm9yZUhvb2spXG4gIH1cblxuICBhc3luYyBhcm91bmRUZXN0U3RlcChcbiAgICB0ZXN0U3RlcElkOiBzdHJpbmcsXG4gICAgcnVuU3RlcEZuOiAoKSA9PiBQcm9taXNlPFRlc3RTdGVwUmVzdWx0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0ZXN0U3RlcFN0YXJ0ZWQ6IEVudmVsb3BlID0ge1xuICAgICAgdGVzdFN0ZXBTdGFydGVkOiB7XG4gICAgICAgIHRlc3RDYXNlU3RhcnRlZElkOiB0aGlzLmN1cnJlbnRUZXN0Q2FzZVN0YXJ0ZWRJZCxcbiAgICAgICAgdGVzdFN0ZXBJZCxcbiAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAoKSxcbiAgICAgIH0sXG4gICAgfVxuICAgIHRoaXMuZXZlbnRCcm9hZGNhc3Rlci5lbWl0KCdlbnZlbG9wZScsIHRlc3RTdGVwU3RhcnRlZClcbiAgICB0aGlzLmN1cnJlbnRUZXN0U3RlcElkID0gdGVzdFN0ZXBJZFxuICAgIGNvbnN0IHRlc3RTdGVwUmVzdWx0ID0gYXdhaXQgcnVuU3RlcEZuKClcbiAgICB0aGlzLmN1cnJlbnRUZXN0U3RlcElkID0gbnVsbFxuICAgIHRoaXMudGVzdFN0ZXBSZXN1bHRzLnB1c2godGVzdFN0ZXBSZXN1bHQpXG4gICAgY29uc3QgdGVzdFN0ZXBGaW5pc2hlZDogRW52ZWxvcGUgPSB7XG4gICAgICB0ZXN0U3RlcEZpbmlzaGVkOiB7XG4gICAgICAgIHRlc3RDYXNlU3RhcnRlZElkOiB0aGlzLmN1cnJlbnRUZXN0Q2FzZVN0YXJ0ZWRJZCxcbiAgICAgICAgdGVzdFN0ZXBJZCxcbiAgICAgICAgdGVzdFN0ZXBSZXN1bHQsXG4gICAgICAgIHRpbWVzdGFtcDogdGltZXN0YW1wKCksXG4gICAgICB9LFxuICAgIH1cbiAgICB0aGlzLmV2ZW50QnJvYWRjYXN0ZXIuZW1pdCgnZW52ZWxvcGUnLCB0ZXN0U3RlcEZpbmlzaGVkKVxuICB9XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8VGVzdFN0ZXBSZXN1bHRTdGF0dXM+IHtcbiAgICBmb3IgKGxldCBhdHRlbXB0ID0gMDsgYXR0ZW1wdCA8IHRoaXMubWF4QXR0ZW1wdHM7IGF0dGVtcHQrKykge1xuICAgICAgY29uc3QgbW9yZUF0dGVtcHRzUmVtYWluaW5nID0gYXR0ZW1wdCArIDEgPCB0aGlzLm1heEF0dGVtcHRzXG5cbiAgICAgIGNvbnN0IHdpbGxCZVJldHJpZWQgPSBhd2FpdCB0aGlzLnJ1bkF0dGVtcHQoYXR0ZW1wdCwgbW9yZUF0dGVtcHRzUmVtYWluaW5nKVxuXG4gICAgICBpZiAoIXdpbGxCZVJldHJpZWQpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVzZXRUZXN0UHJvZ3Jlc3NEYXRhKClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0V29yc3RTdGVwUmVzdWx0KCkuc3RhdHVzXG4gIH1cblxuICBhc3luYyBydW5BdHRlbXB0KGF0dGVtcHQ6IG51bWJlciwgbW9yZUF0dGVtcHRzUmVtYWluaW5nOiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jdXJyZW50VGVzdENhc2VTdGFydGVkSWQgPSB0aGlzLm5ld0lkKClcbiAgICBjb25zdCB0ZXN0Q2FzZVN0YXJ0ZWQ6IEVudmVsb3BlID0ge1xuICAgICAgdGVzdENhc2VTdGFydGVkOiB7XG4gICAgICAgIGF0dGVtcHQsXG4gICAgICAgIHRlc3RDYXNlSWQ6IHRoaXMudGVzdENhc2UuaWQsXG4gICAgICAgIGlkOiB0aGlzLmN1cnJlbnRUZXN0Q2FzZVN0YXJ0ZWRJZCxcbiAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXAoKSxcbiAgICAgIH0sXG4gICAgfVxuICAgIGlmICh0aGlzLndvcmtlcklkKSB7XG4gICAgICB0ZXN0Q2FzZVN0YXJ0ZWQudGVzdENhc2VTdGFydGVkLndvcmtlcklkID0gdGhpcy53b3JrZXJJZFxuICAgIH1cbiAgICB0aGlzLmV2ZW50QnJvYWRjYXN0ZXIuZW1pdCgnZW52ZWxvcGUnLCB0ZXN0Q2FzZVN0YXJ0ZWQpXG4gICAgLy8gdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIGhvb2sgaXMgYSBCZWZvcmUgb3IgQWZ0ZXJcbiAgICBsZXQgZGlkV2VSdW5TdGVwc1lldCA9IGZhbHNlXG4gICAgbGV0IGVycm9yID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IHRlc3RTdGVwIG9mIHRoaXMudGVzdENhc2UudGVzdFN0ZXBzKSB7XG4gICAgICBhd2FpdCB0aGlzLmFyb3VuZFRlc3RTdGVwKHRlc3RTdGVwLmlkLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmIChkb2VzSGF2ZVZhbHVlKHRlc3RTdGVwLmhvb2tJZCkpIHtcbiAgICAgICAgICBjb25zdCBob29rUGFyYW1ldGVyOiBJVGVzdENhc2VIb29rUGFyYW1ldGVyID0ge1xuICAgICAgICAgICAgZ2hlcmtpbkRvY3VtZW50OiB0aGlzLmdoZXJraW5Eb2N1bWVudCxcbiAgICAgICAgICAgIHBpY2tsZTogdGhpcy5waWNrbGUsXG4gICAgICAgICAgICB0ZXN0Q2FzZVN0YXJ0ZWRJZDogdGhpcy5jdXJyZW50VGVzdENhc2VTdGFydGVkSWQsXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChkaWRXZVJ1blN0ZXBzWWV0KSB7XG4gICAgICAgICAgICBob29rUGFyYW1ldGVyLnJlc3VsdCA9IHRoaXMuZ2V0V29yc3RTdGVwUmVzdWx0KClcbiAgICAgICAgICAgIGhvb2tQYXJhbWV0ZXIuZXJyb3IgPSBlcnJvclxuICAgICAgICAgICAgaG9va1BhcmFtZXRlci53aWxsQmVSZXRyaWVkID1cbiAgICAgICAgICAgICAgdGhpcy5nZXRXb3JzdFN0ZXBSZXN1bHQoKS5zdGF0dXMgPT09IFRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRCAmJlxuICAgICAgICAgICAgICBtb3JlQXR0ZW1wdHNSZW1haW5pbmdcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucnVuSG9vayhcbiAgICAgICAgICAgIGZpbmRIb29rRGVmaW5pdGlvbih0ZXN0U3RlcC5ob29rSWQsIHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5KSxcbiAgICAgICAgICAgIGhvb2tQYXJhbWV0ZXIsXG4gICAgICAgICAgICAhZGlkV2VSdW5TdGVwc1lldFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBwaWNrbGVTdGVwID0gdGhpcy5waWNrbGUuc3RlcHMuZmluZChcbiAgICAgICAgICAgIChwaWNrbGVTdGVwKSA9PiBwaWNrbGVTdGVwLmlkID09PSB0ZXN0U3RlcC5waWNrbGVTdGVwSWRcbiAgICAgICAgICApXG4gICAgICAgICAgY29uc3QgdGVzdFN0ZXBSZXN1bHQgPSBhd2FpdCB0aGlzLnJ1blN0ZXAocGlja2xlU3RlcCwgdGVzdFN0ZXApXG4gICAgICAgICAgZGlkV2VSdW5TdGVwc1lldCA9IHRydWVcbiAgICAgICAgICBlcnJvciA9IHRlc3RTdGVwUmVzdWx0LmVycm9yXG4gICAgICAgICAgcmV0dXJuIHRlc3RTdGVwUmVzdWx0LnJlc3VsdFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IHdpbGxCZVJldHJpZWQgPVxuICAgICAgdGhpcy5nZXRXb3JzdFN0ZXBSZXN1bHQoKS5zdGF0dXMgPT09IFRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRCAmJiBtb3JlQXR0ZW1wdHNSZW1haW5pbmdcbiAgICBjb25zdCB0ZXN0Q2FzZUZpbmlzaGVkOiBFbnZlbG9wZSA9IHtcbiAgICAgIHRlc3RDYXNlRmluaXNoZWQ6IHtcbiAgICAgICAgdGVzdENhc2VTdGFydGVkSWQ6IHRoaXMuY3VycmVudFRlc3RDYXNlU3RhcnRlZElkLFxuICAgICAgICB0aW1lc3RhbXA6IHRpbWVzdGFtcCgpLFxuICAgICAgICB3aWxsQmVSZXRyaWVkLFxuICAgICAgfSxcbiAgICB9XG4gICAgdGhpcy5ldmVudEJyb2FkY2FzdGVyLmVtaXQoJ2VudmVsb3BlJywgdGVzdENhc2VGaW5pc2hlZClcblxuICAgIHJldHVybiB3aWxsQmVSZXRyaWVkXG4gIH1cblxuICBhc3luYyBydW5Ib29rKFxuICAgIGhvb2tEZWZpbml0aW9uOiBUZXN0Q2FzZUhvb2tEZWZpbml0aW9uLFxuICAgIGhvb2tQYXJhbWV0ZXI6IElUZXN0Q2FzZUhvb2tQYXJhbWV0ZXIsXG4gICAgaXNCZWZvcmVIb29rOiBib29sZWFuXG4gICk6IFByb21pc2U8VGVzdFN0ZXBSZXN1bHQ+IHtcbiAgICBpZiAodGhpcy5zaG91bGRTa2lwSG9vayhpc0JlZm9yZUhvb2spKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlNLSVBQRUQsXG4gICAgICAgIGR1cmF0aW9uOiBUaW1lQ29udmVyc2lvbi5taWxsaXNlY29uZHNUb0R1cmF0aW9uKDApLFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgdGhpcy5pbnZva2VTdGVwKG51bGwsIGhvb2tEZWZpbml0aW9uLCBob29rUGFyYW1ldGVyKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGFzeW5jIHJ1blN0ZXBIb29rcyhcbiAgICBzdGVwSG9va3M6IFRlc3RTdGVwSG9va0RlZmluaXRpb25bXSxcbiAgICBwaWNrbGVTdGVwOiBQaWNrbGVTdGVwLFxuICAgIHN0ZXBSZXN1bHQ/OiBSdW5TdGVwUmVzdWx0XG4gICk6IFByb21pc2U8VGVzdFN0ZXBSZXN1bHRbXT4ge1xuICAgIGNvbnN0IHN0ZXBIb29rc1Jlc3VsdCA9IFtdXG4gICAgY29uc3QgaG9va1BhcmFtZXRlcjogSVRlc3RTdGVwSG9va1BhcmFtZXRlciA9IHtcbiAgICAgIGdoZXJraW5Eb2N1bWVudDogdGhpcy5naGVya2luRG9jdW1lbnQsXG4gICAgICBwaWNrbGU6IHRoaXMucGlja2xlLFxuICAgICAgcGlja2xlU3RlcCxcbiAgICAgIHRlc3RDYXNlU3RhcnRlZElkOiB0aGlzLmN1cnJlbnRUZXN0Q2FzZVN0YXJ0ZWRJZCxcbiAgICAgIHRlc3RTdGVwSWQ6IHRoaXMuY3VycmVudFRlc3RTdGVwSWQsXG4gICAgICByZXN1bHQ6IHN0ZXBSZXN1bHQ/LnJlc3VsdCxcbiAgICAgIGVycm9yOiBzdGVwUmVzdWx0Py5lcnJvcixcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdGVwSG9va0RlZmluaXRpb24gb2Ygc3RlcEhvb2tzKSB7XG4gICAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgdGhpcy5pbnZva2VTdGVwKG51bGwsIHN0ZXBIb29rRGVmaW5pdGlvbiwgaG9va1BhcmFtZXRlcilcbiAgICAgIHN0ZXBIb29rc1Jlc3VsdC5wdXNoKHJlc3VsdClcbiAgICB9XG4gICAgcmV0dXJuIHN0ZXBIb29rc1Jlc3VsdFxuICB9XG5cbiAgYXN5bmMgcnVuU3RlcChwaWNrbGVTdGVwOiBQaWNrbGVTdGVwLCB0ZXN0U3RlcDogVGVzdFN0ZXApOiBQcm9taXNlPFJ1blN0ZXBSZXN1bHQ+IHtcbiAgICBpZiAodGhpcy5pc0V4cGxpY2l0bHlTa2lwcGVkKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlc3VsdDoge1xuICAgICAgICAgIHN0YXR1czogVGVzdFN0ZXBSZXN1bHRTdGF0dXMuU0tJUFBFRCxcbiAgICAgICAgICBkdXJhdGlvbjogVGltZUNvbnZlcnNpb24ubWlsbGlzZWNvbmRzVG9EdXJhdGlvbigwKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc3RlcERlZmluaXRpb25zID0gdGVzdFN0ZXAuc3RlcERlZmluaXRpb25JZHMubWFwKChzdGVwRGVmaW5pdGlvbklkKSA9PiB7XG4gICAgICByZXR1cm4gZmluZFN0ZXBEZWZpbml0aW9uKHN0ZXBEZWZpbml0aW9uSWQsIHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5KVxuICAgIH0pXG4gICAgaWYgKHN0ZXBEZWZpbml0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3Rlci5lbWl0KCdlbnZlbG9wZScsIHtcbiAgICAgICAgc3VnZ2VzdGlvbjogbWFrZVN1Z2dlc3Rpb24oe1xuICAgICAgICAgIG5ld0lkOiB0aGlzLm5ld0lkLFxuICAgICAgICAgIHNuaXBwZXRCdWlsZGVyOiB0aGlzLnNuaXBwZXRCdWlsZGVyLFxuICAgICAgICAgIHBpY2tsZVN0ZXAsXG4gICAgICAgIH0pLFxuICAgICAgfSBzYXRpc2ZpZXMgRW52ZWxvcGUpXG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXN1bHQ6IHtcbiAgICAgICAgICBzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlVOREVGSU5FRCxcbiAgICAgICAgICBkdXJhdGlvbjogVGltZUNvbnZlcnNpb24ubWlsbGlzZWNvbmRzVG9EdXJhdGlvbigwKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHN0ZXBEZWZpbml0aW9ucy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXN1bHQ6IHtcbiAgICAgICAgICBzdGF0dXM6IFRlc3RTdGVwUmVzdWx0U3RhdHVzLkFNQklHVU9VUyxcbiAgICAgICAgICBkdXJhdGlvbjogVGltZUNvbnZlcnNpb24ubWlsbGlzZWNvbmRzVG9EdXJhdGlvbigwKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNTa2lwcGluZ1N0ZXBzKCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlc3VsdDoge1xuICAgICAgICAgIHN0YXR1czogVGVzdFN0ZXBSZXN1bHRTdGF0dXMuU0tJUFBFRCxcbiAgICAgICAgICBkdXJhdGlvbjogVGltZUNvbnZlcnNpb24ubWlsbGlzZWNvbmRzVG9EdXJhdGlvbigwKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgc3RlcFJlc3VsdDogYW55XG4gICAgbGV0IGVycm9yOiBhbnlcbiAgICBsZXQgc3RlcFJlc3VsdHMgPSBhd2FpdCB0aGlzLnJ1blN0ZXBIb29rcyh0aGlzLmdldEJlZm9yZVN0ZXBIb29rRGVmaW5pdGlvbnMoKSwgcGlja2xlU3RlcClcbiAgICBpZiAoZ2V0V29yc3RUZXN0U3RlcFJlc3VsdChzdGVwUmVzdWx0cykuc3RhdHVzICE9PSBUZXN0U3RlcFJlc3VsdFN0YXR1cy5GQUlMRUQpIHtcbiAgICAgIHN0ZXBSZXN1bHQgPSBhd2FpdCB0aGlzLmludm9rZVN0ZXAocGlja2xlU3RlcCwgc3RlcERlZmluaXRpb25zWzBdKVxuICAgICAgc3RlcFJlc3VsdHMucHVzaChzdGVwUmVzdWx0LnJlc3VsdClcbiAgICAgIGVycm9yID0gc3RlcFJlc3VsdC5lcnJvclxuICAgIH1cbiAgICBjb25zdCBhZnRlclN0ZXBIb29rUmVzdWx0cyA9IGF3YWl0IHRoaXMucnVuU3RlcEhvb2tzKFxuICAgICAgdGhpcy5nZXRBZnRlclN0ZXBIb29rRGVmaW5pdGlvbnMoKSxcbiAgICAgIHBpY2tsZVN0ZXAsXG4gICAgICBzdGVwUmVzdWx0XG4gICAgKVxuICAgIHN0ZXBSZXN1bHRzID0gc3RlcFJlc3VsdHMuY29uY2F0KGFmdGVyU3RlcEhvb2tSZXN1bHRzKVxuXG4gICAgY29uc3QgZmluYWxTdGVwUmVzdWx0ID0gZ2V0V29yc3RUZXN0U3RlcFJlc3VsdChzdGVwUmVzdWx0cylcbiAgICBsZXQgZmluYWxEdXJhdGlvbiA9IFRpbWVDb252ZXJzaW9uLm1pbGxpc2Vjb25kc1RvRHVyYXRpb24oMClcbiAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiBzdGVwUmVzdWx0cykge1xuICAgICAgZmluYWxEdXJhdGlvbiA9IFRpbWVDb252ZXJzaW9uLmFkZER1cmF0aW9ucyhmaW5hbER1cmF0aW9uLCByZXN1bHQuZHVyYXRpb24pXG4gICAgfVxuICAgIGZpbmFsU3RlcFJlc3VsdC5kdXJhdGlvbiA9IGZpbmFsRHVyYXRpb25cbiAgICByZXR1cm4ge1xuICAgICAgcmVzdWx0OiBmaW5hbFN0ZXBSZXN1bHQsXG4gICAgICBlcnJvcixcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEhvb2tEZWZpbml0aW9uKFxuICBpZDogc3RyaW5nLFxuICBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeVxuKTogVGVzdENhc2VIb29rRGVmaW5pdGlvbiB7XG4gIHJldHVybiBbXG4gICAgLi4uc3VwcG9ydENvZGVMaWJyYXJ5LmJlZm9yZVRlc3RDYXNlSG9va0RlZmluaXRpb25zLFxuICAgIC4uLnN1cHBvcnRDb2RlTGlicmFyeS5hZnRlclRlc3RDYXNlSG9va0RlZmluaXRpb25zLFxuICBdLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24uaWQgPT09IGlkKVxufVxuXG5mdW5jdGlvbiBmaW5kU3RlcERlZmluaXRpb24oaWQ6IHN0cmluZywgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnkpOiBTdGVwRGVmaW5pdGlvbiB7XG4gIHJldHVybiBzdXBwb3J0Q29kZUxpYnJhcnkuc3RlcERlZmluaXRpb25zLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24uaWQgPT09IGlkKVxufVxuIl19
@@ -1,5 +1,6 @@
1
- import { JsonObject } from 'type-fest';
2
- import { AssembledTestCase } from '../assemble';
1
+ import type { Exception } from '@cucumber/messages';
2
+ import type { JsonObject } from 'type-fest';
3
+ import type { AssembledTestCase } from '../assemble';
3
4
  export interface RuntimeOptions {
4
5
  dryRun: boolean;
5
6
  failFast: boolean;
@@ -9,9 +10,17 @@ export interface RuntimeOptions {
9
10
  strict: boolean;
10
11
  worldParameters: JsonObject;
11
12
  }
13
+ export interface RuntimeResult {
14
+ success: boolean;
15
+ exception?: Exception;
16
+ }
12
17
  export interface Runtime {
13
- run: () => Promise<boolean>;
18
+ run: () => Promise<RuntimeResult>;
14
19
  }
15
20
  export interface RuntimeAdapter {
16
- run(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
21
+ setup(): Promise<void>;
22
+ runBeforeAllHooks(): Promise<boolean>;
23
+ runTestCases(assembledTestCases: ReadonlyArray<AssembledTestCase>): Promise<boolean>;
24
+ runAfterAllHooks(): Promise<boolean>;
25
+ teardown(): Promise<void>;
17
26
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeGNlcHRpb24gfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IEpzb25PYmplY3QgfSBmcm9tICd0eXBlLWZlc3QnXG5pbXBvcnQgdHlwZSB7IEFzc2VtYmxlZFRlc3RDYXNlIH0gZnJvbSAnLi4vYXNzZW1ibGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZU9wdGlvbnMge1xuICBkcnlSdW46IGJvb2xlYW5cbiAgZmFpbEZhc3Q6IGJvb2xlYW5cbiAgZmlsdGVyU3RhY2t0cmFjZXM6IGJvb2xlYW5cbiAgcmV0cnk6IG51bWJlclxuICByZXRyeVRhZ0ZpbHRlcjogc3RyaW5nXG4gIHN0cmljdDogYm9vbGVhblxuICB3b3JsZFBhcmFtZXRlcnM6IEpzb25PYmplY3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhblxuICBleGNlcHRpb24/OiBFeGNlcHRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lIHtcbiAgcnVuOiAoKSA9PiBQcm9taXNlPFJ1bnRpbWVSZXN1bHQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUFkYXB0ZXIge1xuICBzZXR1cCgpOiBQcm9taXNlPHZvaWQ+XG4gIHJ1bkJlZm9yZUFsbEhvb2tzKCk6IFByb21pc2U8Ym9vbGVhbj5cbiAgcnVuVGVzdENhc2VzKGFzc2VtYmxlZFRlc3RDYXNlczogUmVhZG9ubHlBcnJheTxBc3NlbWJsZWRUZXN0Q2FzZT4pOiBQcm9taXNlPGJvb2xlYW4+XG4gIHJ1bkFmdGVyQWxsSG9va3MoKTogUHJvbWlzZTxib29sZWFuPlxuICB0ZWFyZG93bigpOiBQcm9taXNlPHZvaWQ+XG59XG4iXX0=