@dev-blinq/cucumber-js 1.0.6 → 1.0.8

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 (238) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/lib/api/console_logger.d.ts +12 -12
  4. package/lib/api/console_logger.js +23 -23
  5. package/lib/api/convert_configuration.d.ts +4 -4
  6. package/lib/api/convert_configuration.js +64 -64
  7. package/lib/api/environment.d.ts +2 -2
  8. package/lib/api/environment.js +13 -13
  9. package/lib/api/formatters.d.ts +20 -20
  10. package/lib/api/formatters.js +60 -60
  11. package/lib/api/gherkin.d.ts +21 -21
  12. package/lib/api/gherkin.js +99 -99
  13. package/lib/api/index.d.ts +12 -12
  14. package/lib/api/index.js +27 -27
  15. package/lib/api/load_configuration.d.ts +9 -9
  16. package/lib/api/load_configuration.js +40 -40
  17. package/lib/api/load_sources.d.ts +9 -9
  18. package/lib/api/load_sources.js +52 -52
  19. package/lib/api/load_support.d.ts +10 -10
  20. package/lib/api/load_support.js +29 -29
  21. package/lib/api/paths.d.ts +8 -8
  22. package/lib/api/paths.js +101 -101
  23. package/lib/api/plugins.d.ts +4 -4
  24. package/lib/api/plugins.js +18 -18
  25. package/lib/api/run_cucumber.d.ts +11 -11
  26. package/lib/api/run_cucumber.js +114 -114
  27. package/lib/api/runtime.d.ts +21 -21
  28. package/lib/api/runtime.js +35 -35
  29. package/lib/api/support.d.ts +9 -9
  30. package/lib/api/support.js +25 -25
  31. package/lib/api/test_helpers.d.ts +3 -3
  32. package/lib/api/test_helpers.js +30 -30
  33. package/lib/api/types.d.ts +175 -175
  34. package/lib/api/types.js +2 -2
  35. package/lib/cli/helpers.d.ts +37 -37
  36. package/lib/cli/helpers.js +202 -202
  37. package/lib/cli/i18n.d.ts +2 -2
  38. package/lib/cli/i18n.js +69 -69
  39. package/lib/cli/index.d.ts +21 -21
  40. package/lib/cli/index.js +58 -58
  41. package/lib/cli/install_validator.d.ts +1 -1
  42. package/lib/cli/install_validator.js +13 -13
  43. package/lib/cli/run.d.ts +1 -1
  44. package/lib/cli/run.js +43 -43
  45. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  46. package/lib/cli/validate_node_engine_version.js +23 -23
  47. package/lib/configuration/argv_parser.d.ts +20 -20
  48. package/lib/configuration/argv_parser.js +100 -100
  49. package/lib/configuration/check_schema.d.ts +2 -2
  50. package/lib/configuration/check_schema.js +59 -59
  51. package/lib/configuration/default_configuration.d.ts +2 -2
  52. package/lib/configuration/default_configuration.js +26 -26
  53. package/lib/configuration/from_file.d.ts +3 -3
  54. package/lib/configuration/from_file.js +84 -84
  55. package/lib/configuration/helpers.d.ts +1 -1
  56. package/lib/configuration/helpers.js +10 -10
  57. package/lib/configuration/index.d.ts +7 -7
  58. package/lib/configuration/index.js +28 -28
  59. package/lib/configuration/locate_file.d.ts +1 -1
  60. package/lib/configuration/locate_file.js +20 -20
  61. package/lib/configuration/merge_configurations.d.ts +2 -2
  62. package/lib/configuration/merge_configurations.js +47 -47
  63. package/lib/configuration/option_splitter.d.ts +3 -3
  64. package/lib/configuration/option_splitter.js +22 -22
  65. package/lib/configuration/types.d.ts +28 -28
  66. package/lib/configuration/types.js +2 -2
  67. package/lib/configuration/validate_configuration.d.ts +3 -3
  68. package/lib/configuration/validate_configuration.js +12 -12
  69. package/lib/filter_stack_trace.d.ts +3 -3
  70. package/lib/filter_stack_trace.js +37 -37
  71. package/lib/formatter/builder.d.ts +37 -37
  72. package/lib/formatter/builder.js +100 -100
  73. package/lib/formatter/bvt_formatter.d.ts +5 -0
  74. package/lib/formatter/bvt_formatter.js +21 -0
  75. package/lib/formatter/bvt_formatter.js.map +1 -0
  76. package/lib/formatter/feature_data_format.d.ts +14 -14
  77. package/lib/formatter/feature_data_format.js +80 -80
  78. package/lib/formatter/feature_data_format.js.map +1 -1
  79. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  80. package/lib/formatter/fixtures/typescript.js +5 -5
  81. package/lib/formatter/get_color_fns.d.ts +15 -15
  82. package/lib/formatter/get_color_fns.js +55 -55
  83. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  84. package/lib/formatter/helpers/duration_helpers.js +8 -8
  85. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  86. package/lib/formatter/helpers/event_data_collector.js +125 -125
  87. package/lib/formatter/helpers/formatters.d.ts +6 -6
  88. package/lib/formatter/helpers/formatters.js +44 -42
  89. package/lib/formatter/helpers/formatters.js.map +1 -1
  90. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  91. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  92. package/lib/formatter/helpers/index.d.ts +10 -10
  93. package/lib/formatter/helpers/index.js +51 -51
  94. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  95. package/lib/formatter/helpers/issue_helpers.js +58 -58
  96. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  97. package/lib/formatter/helpers/keyword_type.js +31 -31
  98. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  99. package/lib/formatter/helpers/location_helpers.js +16 -16
  100. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  101. package/lib/formatter/helpers/pickle_parser.js +27 -27
  102. package/lib/formatter/helpers/report_generator.d.ts +91 -0
  103. package/lib/formatter/helpers/report_generator.js +235 -0
  104. package/lib/formatter/helpers/report_generator.js.map +1 -0
  105. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  106. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  107. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  108. package/lib/formatter/helpers/summary_helpers.js +95 -95
  109. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  110. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  111. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  112. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  113. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  114. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  115. package/lib/formatter/html_formatter.d.ts +7 -7
  116. package/lib/formatter/html_formatter.js +29 -29
  117. package/lib/formatter/index.d.ts +53 -53
  118. package/lib/formatter/index.js +20 -20
  119. package/lib/formatter/json_formatter.d.ts +78 -78
  120. package/lib/formatter/json_formatter.js +229 -229
  121. package/lib/formatter/junit_formatter.d.ts +17 -17
  122. package/lib/formatter/junit_formatter.js +180 -180
  123. package/lib/formatter/message_formatter.d.ts +5 -5
  124. package/lib/formatter/message_formatter.js +14 -14
  125. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  126. package/lib/formatter/progress_bar_formatter.js +98 -98
  127. package/lib/formatter/progress_formatter.d.ts +9 -9
  128. package/lib/formatter/progress_formatter.js +58 -58
  129. package/lib/formatter/rerun_formatter.d.ts +13 -13
  130. package/lib/formatter/rerun_formatter.js +79 -79
  131. package/lib/formatter/snippets_formatter.d.ts +6 -6
  132. package/lib/formatter/snippets_formatter.js +60 -60
  133. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  134. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  135. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  136. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  137. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  138. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  139. package/lib/formatter/summary_formatter.d.ts +14 -14
  140. package/lib/formatter/summary_formatter.js +67 -67
  141. package/lib/formatter/usage_formatter.d.ts +6 -6
  142. package/lib/formatter/usage_formatter.js +97 -97
  143. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  144. package/lib/formatter/usage_json_formatter.js +33 -33
  145. package/lib/index.d.ts +58 -58
  146. package/lib/index.js +108 -108
  147. package/lib/logger.d.ts +5 -5
  148. package/lib/logger.js +2 -2
  149. package/lib/models/data_table.d.ts +10 -10
  150. package/lib/models/data_table.js +45 -45
  151. package/lib/models/definition.d.ts +55 -55
  152. package/lib/models/definition.js +21 -21
  153. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  154. package/lib/models/gherkin_step_keyword.js +2 -2
  155. package/lib/models/pickle_order.d.ts +1 -1
  156. package/lib/models/pickle_order.js +2 -2
  157. package/lib/models/step_definition.d.ts +11 -11
  158. package/lib/models/step_definition.js +36 -36
  159. package/lib/models/test_case_hook_definition.d.ts +10 -10
  160. package/lib/models/test_case_hook_definition.js +26 -26
  161. package/lib/models/test_run_hook_definition.d.ts +3 -3
  162. package/lib/models/test_run_hook_definition.js +9 -9
  163. package/lib/models/test_step_hook_definition.d.ts +9 -9
  164. package/lib/models/test_step_hook_definition.js +25 -25
  165. package/lib/pickle_filter.d.ts +42 -42
  166. package/lib/pickle_filter.js +98 -98
  167. package/lib/plugin/index.d.ts +2 -2
  168. package/lib/plugin/index.js +18 -18
  169. package/lib/plugin/plugin_manager.d.ts +13 -13
  170. package/lib/plugin/plugin_manager.js +35 -35
  171. package/lib/plugin/types.d.ts +14 -14
  172. package/lib/plugin/types.js +2 -2
  173. package/lib/publish/http_stream.d.ts +30 -30
  174. package/lib/publish/http_stream.js +111 -111
  175. package/lib/publish/index.d.ts +2 -2
  176. package/lib/publish/index.js +4 -4
  177. package/lib/publish/publish_plugin.d.ts +2 -2
  178. package/lib/publish/publish_plugin.js +47 -47
  179. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  180. package/lib/runtime/assemble_test_cases.js +87 -87
  181. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  182. package/lib/runtime/attachment_manager/index.js +118 -118
  183. package/lib/runtime/format_error.d.ts +2 -2
  184. package/lib/runtime/format_error.js +35 -35
  185. package/lib/runtime/helpers.d.ts +6 -6
  186. package/lib/runtime/helpers.js +100 -100
  187. package/lib/runtime/index.d.ts +40 -40
  188. package/lib/runtime/index.js +75 -75
  189. package/lib/runtime/parallel/command_types.d.ts +32 -32
  190. package/lib/runtime/parallel/command_types.js +2 -2
  191. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  192. package/lib/runtime/parallel/coordinator.js +221 -221
  193. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  194. package/lib/runtime/parallel/run_worker.js +28 -28
  195. package/lib/runtime/parallel/worker.d.ts +26 -26
  196. package/lib/runtime/parallel/worker.js +86 -86
  197. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  198. package/lib/runtime/run_test_run_hooks.js +27 -27
  199. package/lib/runtime/step_runner.d.ts +16 -16
  200. package/lib/runtime/step_runner.js +87 -87
  201. package/lib/runtime/stopwatch.d.ts +12 -12
  202. package/lib/runtime/stopwatch.js +33 -33
  203. package/lib/runtime/test_case_runner.d.ts +54 -54
  204. package/lib/runtime/test_case_runner.js +267 -267
  205. package/lib/step_arguments.d.ts +6 -6
  206. package/lib/step_arguments.js +18 -18
  207. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  208. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  209. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  210. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  211. package/lib/support_code_library_builder/index.d.ts +74 -74
  212. package/lib/support_code_library_builder/index.js +296 -296
  213. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  214. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  215. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  216. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  217. package/lib/support_code_library_builder/types.d.ts +88 -88
  218. package/lib/support_code_library_builder/types.js +2 -2
  219. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  220. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  221. package/lib/support_code_library_builder/world.d.ts +18 -18
  222. package/lib/support_code_library_builder/world.js +10 -10
  223. package/lib/time.d.ts +18 -18
  224. package/lib/time.js +60 -60
  225. package/lib/try_require.d.ts +7 -7
  226. package/lib/try_require.js +22 -22
  227. package/lib/types/index.d.ts +4 -4
  228. package/lib/types/index.js +2 -2
  229. package/lib/uncaught_exception_manager.d.ts +7 -7
  230. package/lib/uncaught_exception_manager.js +11 -11
  231. package/lib/user_code_runner.d.ts +14 -14
  232. package/lib/user_code_runner.js +81 -81
  233. package/lib/value_checker.d.ts +3 -3
  234. package/lib/value_checker.js +18 -18
  235. package/lib/version.d.ts +1 -1
  236. package/lib/version.js +5 -5
  237. package/lib/version.js.map +1 -1
  238. package/package.json +2 -2
@@ -1,51 +1,51 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SupportCodeLibraryBuilder = void 0;
7
- const build_parameter_type_1 = require("./build_parameter_type");
8
- const get_definition_line_and_uri_1 = require("./get_definition_line_and_uri");
9
- const test_case_hook_definition_1 = __importDefault(require("../models/test_case_hook_definition"));
10
- const test_step_hook_definition_1 = __importDefault(require("../models/test_step_hook_definition"));
11
- const test_run_hook_definition_1 = __importDefault(require("../models/test_run_hook_definition"));
12
- const step_definition_1 = __importDefault(require("../models/step_definition"));
13
- const helpers_1 = require("../formatter/helpers");
14
- const validate_arguments_1 = __importDefault(require("./validate_arguments"));
15
- const util_arity_1 = __importDefault(require("util-arity"));
16
- const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
17
- const value_checker_1 = require("../value_checker");
18
- const world_1 = __importDefault(require("./world"));
19
- const sourced_parameter_type_registry_1 = require("./sourced_parameter_type_registry");
20
- class SupportCodeLibraryBuilder {
21
- constructor() {
22
- const methods = {
23
- After: this.defineTestCaseHook(() => this.afterTestCaseHookDefinitionConfigs),
24
- AfterAll: this.defineTestRunHook(() => this.afterTestRunHookDefinitionConfigs),
25
- AfterStep: this.defineTestStepHook(() => this.afterTestStepHookDefinitionConfigs),
26
- Before: this.defineTestCaseHook(() => this.beforeTestCaseHookDefinitionConfigs),
27
- BeforeAll: this.defineTestRunHook(() => this.beforeTestRunHookDefinitionConfigs),
28
- BeforeStep: this.defineTestStepHook(() => this.beforeTestStepHookDefinitionConfigs),
29
- defineParameterType: this.defineParameterType.bind(this),
30
- defineStep: this.defineStep('Unknown', () => this.stepDefinitionConfigs),
31
- Given: this.defineStep('Given', () => this.stepDefinitionConfigs),
32
- setDefaultTimeout: (milliseconds) => {
33
- this.defaultTimeout = milliseconds;
34
- },
35
- setDefinitionFunctionWrapper: (fn) => {
36
- this.definitionFunctionWrapper = fn;
37
- },
38
- setWorldConstructor: (fn) => {
39
- this.World = fn;
40
- },
41
- setParallelCanAssign: (fn) => {
42
- this.parallelCanAssign = fn;
43
- },
44
- Then: this.defineStep('Then', () => this.stepDefinitionConfigs),
45
- When: this.defineStep('When', () => this.stepDefinitionConfigs),
46
- };
47
- const checkInstall = (method) => {
48
- if ((0, value_checker_1.doesNotHaveValue)(this.cwd)) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SupportCodeLibraryBuilder = void 0;
7
+ const build_parameter_type_1 = require("./build_parameter_type");
8
+ const get_definition_line_and_uri_1 = require("./get_definition_line_and_uri");
9
+ const test_case_hook_definition_1 = __importDefault(require("../models/test_case_hook_definition"));
10
+ const test_step_hook_definition_1 = __importDefault(require("../models/test_step_hook_definition"));
11
+ const test_run_hook_definition_1 = __importDefault(require("../models/test_run_hook_definition"));
12
+ const step_definition_1 = __importDefault(require("../models/step_definition"));
13
+ const helpers_1 = require("../formatter/helpers");
14
+ const validate_arguments_1 = __importDefault(require("./validate_arguments"));
15
+ const util_arity_1 = __importDefault(require("util-arity"));
16
+ const cucumber_expressions_1 = require("@cucumber/cucumber-expressions");
17
+ const value_checker_1 = require("../value_checker");
18
+ const world_1 = __importDefault(require("./world"));
19
+ const sourced_parameter_type_registry_1 = require("./sourced_parameter_type_registry");
20
+ class SupportCodeLibraryBuilder {
21
+ constructor() {
22
+ const methods = {
23
+ After: this.defineTestCaseHook(() => this.afterTestCaseHookDefinitionConfigs),
24
+ AfterAll: this.defineTestRunHook(() => this.afterTestRunHookDefinitionConfigs),
25
+ AfterStep: this.defineTestStepHook(() => this.afterTestStepHookDefinitionConfigs),
26
+ Before: this.defineTestCaseHook(() => this.beforeTestCaseHookDefinitionConfigs),
27
+ BeforeAll: this.defineTestRunHook(() => this.beforeTestRunHookDefinitionConfigs),
28
+ BeforeStep: this.defineTestStepHook(() => this.beforeTestStepHookDefinitionConfigs),
29
+ defineParameterType: this.defineParameterType.bind(this),
30
+ defineStep: this.defineStep('Unknown', () => this.stepDefinitionConfigs),
31
+ Given: this.defineStep('Given', () => this.stepDefinitionConfigs),
32
+ setDefaultTimeout: (milliseconds) => {
33
+ this.defaultTimeout = milliseconds;
34
+ },
35
+ setDefinitionFunctionWrapper: (fn) => {
36
+ this.definitionFunctionWrapper = fn;
37
+ },
38
+ setWorldConstructor: (fn) => {
39
+ this.World = fn;
40
+ },
41
+ setParallelCanAssign: (fn) => {
42
+ this.parallelCanAssign = fn;
43
+ },
44
+ Then: this.defineStep('Then', () => this.stepDefinitionConfigs),
45
+ When: this.defineStep('When', () => this.stepDefinitionConfigs),
46
+ };
47
+ const checkInstall = (method) => {
48
+ if ((0, value_checker_1.doesNotHaveValue)(this.cwd)) {
49
49
  throw new Error(`
50
50
  You're calling functions (e.g. "${method}") on an instance of Cucumber that isn't running.
51
51
  This means you have an invalid installation, mostly likely due to:
@@ -53,252 +53,252 @@ class SupportCodeLibraryBuilder {
53
53
  - A project structure where your support code is depending on a different instance of Cucumber
54
54
  Either way, you'll need to address this in order for Cucumber to work.
55
55
  See https://github.com/cucumber/cucumber-js/blob/main/docs/installation.md#invalid-installations
56
- `);
57
- }
58
- };
59
- this.methods = new Proxy(methods, {
60
- get(target, method) {
61
- return (...args) => {
62
- checkInstall(method);
63
- // @ts-expect-error difficult to type this correctly
64
- return target[method](...args);
65
- };
66
- },
67
- });
68
- }
69
- defineParameterType(options) {
70
- const parameterType = (0, build_parameter_type_1.buildParameterType)(options);
71
- const source = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
72
- this.parameterTypeRegistry.defineSourcedParameterType(parameterType, source);
73
- }
74
- defineStep(keyword, getCollection) {
75
- return (pattern, options, code) => {
76
- if (typeof options === 'function') {
77
- code = options;
78
- options = {};
79
- }
80
- const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
81
- (0, validate_arguments_1.default)({
82
- args: { code, pattern, options },
83
- fnName: 'defineStep',
84
- location: (0, helpers_1.formatLocation)({ line, uri }),
85
- });
86
- getCollection().push({
87
- code,
88
- line,
89
- options,
90
- keyword,
91
- pattern,
92
- uri,
93
- });
94
- };
95
- }
96
- defineTestCaseHook(getCollection) {
97
- return (options, code) => {
98
- if (typeof options === 'string') {
99
- options = { tags: options };
100
- }
101
- else if (typeof options === 'function') {
102
- code = options;
103
- options = {};
104
- }
105
- const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
106
- (0, validate_arguments_1.default)({
107
- args: { code, options },
108
- fnName: 'defineTestCaseHook',
109
- location: (0, helpers_1.formatLocation)({ line, uri }),
110
- });
111
- getCollection().push({
112
- code,
113
- line,
114
- options,
115
- uri,
116
- });
117
- };
118
- }
119
- defineTestStepHook(getCollection) {
120
- return (options, code) => {
121
- if (typeof options === 'string') {
122
- options = { tags: options };
123
- }
124
- else if (typeof options === 'function') {
125
- code = options;
126
- options = {};
127
- }
128
- const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
129
- (0, validate_arguments_1.default)({
130
- args: { code, options },
131
- fnName: 'defineTestStepHook',
132
- location: (0, helpers_1.formatLocation)({ line, uri }),
133
- });
134
- getCollection().push({
135
- code,
136
- line,
137
- options,
138
- uri,
139
- });
140
- };
141
- }
142
- defineTestRunHook(getCollection) {
143
- return (options, code) => {
144
- if (typeof options === 'function') {
145
- code = options;
146
- options = {};
147
- }
148
- const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
149
- (0, validate_arguments_1.default)({
150
- args: { code, options },
151
- fnName: 'defineTestRunHook',
152
- location: (0, helpers_1.formatLocation)({ line, uri }),
153
- });
154
- getCollection().push({
155
- code,
156
- line,
157
- options,
158
- uri,
159
- });
160
- };
161
- }
162
- wrapCode({ code, wrapperOptions, }) {
163
- if ((0, value_checker_1.doesHaveValue)(this.definitionFunctionWrapper)) {
164
- const codeLength = code.length;
165
- const wrappedCode = this.definitionFunctionWrapper(code, wrapperOptions);
166
- if (wrappedCode !== code) {
167
- return (0, util_arity_1.default)(codeLength, wrappedCode);
168
- }
169
- return wrappedCode;
170
- }
171
- return code;
172
- }
173
- buildTestCaseHookDefinitions(configs, canonicalIds) {
174
- return configs.map(({ code, line, options, uri }, index) => {
175
- const wrappedCode = this.wrapCode({
176
- code,
177
- wrapperOptions: options.wrapperOptions,
178
- });
179
- return new test_case_hook_definition_1.default({
180
- code: wrappedCode,
181
- id: canonicalIds ? canonicalIds[index] : this.newId(),
182
- line,
183
- options,
184
- unwrappedCode: code,
185
- uri,
186
- });
187
- });
188
- }
189
- buildTestStepHookDefinitions(configs) {
190
- return configs.map(({ code, line, options, uri }) => {
191
- const wrappedCode = this.wrapCode({
192
- code,
193
- wrapperOptions: options.wrapperOptions,
194
- });
195
- return new test_step_hook_definition_1.default({
196
- code: wrappedCode,
197
- id: this.newId(),
198
- line,
199
- options,
200
- unwrappedCode: code,
201
- uri,
202
- });
203
- });
204
- }
205
- buildTestRunHookDefinitions(configs) {
206
- return configs.map(({ code, line, options, uri }) => {
207
- const wrappedCode = this.wrapCode({
208
- code,
209
- wrapperOptions: options.wrapperOptions,
210
- });
211
- return new test_run_hook_definition_1.default({
212
- code: wrappedCode,
213
- id: this.newId(),
214
- line,
215
- options,
216
- unwrappedCode: code,
217
- uri,
218
- });
219
- });
220
- }
221
- buildStepDefinitions(canonicalIds) {
222
- const stepDefinitions = [];
223
- const undefinedParameterTypes = [];
224
- this.stepDefinitionConfigs.forEach(({ code, line, options, keyword, pattern, uri }, index) => {
225
- let expression;
226
- if (typeof pattern === 'string') {
227
- try {
228
- expression = new cucumber_expressions_1.CucumberExpression(pattern, this.parameterTypeRegistry);
229
- }
230
- catch (e) {
231
- if ((0, value_checker_1.doesHaveValue)(e.undefinedParameterTypeName)) {
232
- undefinedParameterTypes.push({
233
- name: e.undefinedParameterTypeName,
234
- expression: pattern,
235
- });
236
- return;
237
- }
238
- throw e;
239
- }
240
- }
241
- else {
242
- expression = new cucumber_expressions_1.RegularExpression(pattern, this.parameterTypeRegistry);
243
- }
244
- const wrappedCode = this.wrapCode({
245
- code,
246
- wrapperOptions: options.wrapperOptions,
247
- });
248
- stepDefinitions.push(new step_definition_1.default({
249
- code: wrappedCode,
250
- expression,
251
- id: canonicalIds ? canonicalIds[index] : this.newId(),
252
- line,
253
- options,
254
- keyword,
255
- pattern,
256
- unwrappedCode: code,
257
- uri,
258
- }));
259
- });
260
- return { stepDefinitions, undefinedParameterTypes };
261
- }
262
- finalize(canonicalIds) {
263
- const stepDefinitionsResult = this.buildStepDefinitions(canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.stepDefinitionIds);
264
- return {
265
- originalCoordinates: this.originalCoordinates,
266
- afterTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.afterTestCaseHookDefinitionConfigs, canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.afterTestCaseHookDefinitionIds),
267
- afterTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.afterTestRunHookDefinitionConfigs),
268
- afterTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.afterTestStepHookDefinitionConfigs),
269
- beforeTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.beforeTestCaseHookDefinitionConfigs, canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.beforeTestCaseHookDefinitionIds),
270
- beforeTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.beforeTestRunHookDefinitionConfigs),
271
- beforeTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.beforeTestStepHookDefinitionConfigs),
272
- defaultTimeout: this.defaultTimeout,
273
- parameterTypeRegistry: this.parameterTypeRegistry,
274
- undefinedParameterTypes: stepDefinitionsResult.undefinedParameterTypes,
275
- stepDefinitions: stepDefinitionsResult.stepDefinitions,
276
- World: this.World,
277
- parallelCanAssign: this.parallelCanAssign,
278
- };
279
- }
280
- reset(cwd, newId, originalCoordinates = {
281
- requireModules: [],
282
- requirePaths: [],
283
- importPaths: [],
284
- }) {
285
- this.cwd = cwd;
286
- this.newId = newId;
287
- this.originalCoordinates = originalCoordinates;
288
- this.afterTestCaseHookDefinitionConfigs = [];
289
- this.afterTestRunHookDefinitionConfigs = [];
290
- this.afterTestStepHookDefinitionConfigs = [];
291
- this.beforeTestCaseHookDefinitionConfigs = [];
292
- this.beforeTestRunHookDefinitionConfigs = [];
293
- this.beforeTestStepHookDefinitionConfigs = [];
294
- this.definitionFunctionWrapper = null;
295
- this.defaultTimeout = 5000;
296
- this.parameterTypeRegistry = new sourced_parameter_type_registry_1.SourcedParameterTypeRegistry();
297
- this.stepDefinitionConfigs = [];
298
- this.parallelCanAssign = () => true;
299
- this.World = world_1.default;
300
- }
301
- }
302
- exports.SupportCodeLibraryBuilder = SupportCodeLibraryBuilder;
303
- exports.default = new SupportCodeLibraryBuilder();
56
+ `);
57
+ }
58
+ };
59
+ this.methods = new Proxy(methods, {
60
+ get(target, method) {
61
+ return (...args) => {
62
+ checkInstall(method);
63
+ // @ts-expect-error difficult to type this correctly
64
+ return target[method](...args);
65
+ };
66
+ },
67
+ });
68
+ }
69
+ defineParameterType(options) {
70
+ const parameterType = (0, build_parameter_type_1.buildParameterType)(options);
71
+ const source = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
72
+ this.parameterTypeRegistry.defineSourcedParameterType(parameterType, source);
73
+ }
74
+ defineStep(keyword, getCollection) {
75
+ return (pattern, options, code) => {
76
+ if (typeof options === 'function') {
77
+ code = options;
78
+ options = {};
79
+ }
80
+ const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
81
+ (0, validate_arguments_1.default)({
82
+ args: { code, pattern, options },
83
+ fnName: 'defineStep',
84
+ location: (0, helpers_1.formatLocation)({ line, uri }),
85
+ });
86
+ getCollection().push({
87
+ code,
88
+ line,
89
+ options,
90
+ keyword,
91
+ pattern,
92
+ uri,
93
+ });
94
+ };
95
+ }
96
+ defineTestCaseHook(getCollection) {
97
+ return (options, code) => {
98
+ if (typeof options === 'string') {
99
+ options = { tags: options };
100
+ }
101
+ else if (typeof options === 'function') {
102
+ code = options;
103
+ options = {};
104
+ }
105
+ const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
106
+ (0, validate_arguments_1.default)({
107
+ args: { code, options },
108
+ fnName: 'defineTestCaseHook',
109
+ location: (0, helpers_1.formatLocation)({ line, uri }),
110
+ });
111
+ getCollection().push({
112
+ code,
113
+ line,
114
+ options,
115
+ uri,
116
+ });
117
+ };
118
+ }
119
+ defineTestStepHook(getCollection) {
120
+ return (options, code) => {
121
+ if (typeof options === 'string') {
122
+ options = { tags: options };
123
+ }
124
+ else if (typeof options === 'function') {
125
+ code = options;
126
+ options = {};
127
+ }
128
+ const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
129
+ (0, validate_arguments_1.default)({
130
+ args: { code, options },
131
+ fnName: 'defineTestStepHook',
132
+ location: (0, helpers_1.formatLocation)({ line, uri }),
133
+ });
134
+ getCollection().push({
135
+ code,
136
+ line,
137
+ options,
138
+ uri,
139
+ });
140
+ };
141
+ }
142
+ defineTestRunHook(getCollection) {
143
+ return (options, code) => {
144
+ if (typeof options === 'function') {
145
+ code = options;
146
+ options = {};
147
+ }
148
+ const { line, uri } = (0, get_definition_line_and_uri_1.getDefinitionLineAndUri)(this.cwd);
149
+ (0, validate_arguments_1.default)({
150
+ args: { code, options },
151
+ fnName: 'defineTestRunHook',
152
+ location: (0, helpers_1.formatLocation)({ line, uri }),
153
+ });
154
+ getCollection().push({
155
+ code,
156
+ line,
157
+ options,
158
+ uri,
159
+ });
160
+ };
161
+ }
162
+ wrapCode({ code, wrapperOptions, }) {
163
+ if ((0, value_checker_1.doesHaveValue)(this.definitionFunctionWrapper)) {
164
+ const codeLength = code.length;
165
+ const wrappedCode = this.definitionFunctionWrapper(code, wrapperOptions);
166
+ if (wrappedCode !== code) {
167
+ return (0, util_arity_1.default)(codeLength, wrappedCode);
168
+ }
169
+ return wrappedCode;
170
+ }
171
+ return code;
172
+ }
173
+ buildTestCaseHookDefinitions(configs, canonicalIds) {
174
+ return configs.map(({ code, line, options, uri }, index) => {
175
+ const wrappedCode = this.wrapCode({
176
+ code,
177
+ wrapperOptions: options.wrapperOptions,
178
+ });
179
+ return new test_case_hook_definition_1.default({
180
+ code: wrappedCode,
181
+ id: canonicalIds ? canonicalIds[index] : this.newId(),
182
+ line,
183
+ options,
184
+ unwrappedCode: code,
185
+ uri,
186
+ });
187
+ });
188
+ }
189
+ buildTestStepHookDefinitions(configs) {
190
+ return configs.map(({ code, line, options, uri }) => {
191
+ const wrappedCode = this.wrapCode({
192
+ code,
193
+ wrapperOptions: options.wrapperOptions,
194
+ });
195
+ return new test_step_hook_definition_1.default({
196
+ code: wrappedCode,
197
+ id: this.newId(),
198
+ line,
199
+ options,
200
+ unwrappedCode: code,
201
+ uri,
202
+ });
203
+ });
204
+ }
205
+ buildTestRunHookDefinitions(configs) {
206
+ return configs.map(({ code, line, options, uri }) => {
207
+ const wrappedCode = this.wrapCode({
208
+ code,
209
+ wrapperOptions: options.wrapperOptions,
210
+ });
211
+ return new test_run_hook_definition_1.default({
212
+ code: wrappedCode,
213
+ id: this.newId(),
214
+ line,
215
+ options,
216
+ unwrappedCode: code,
217
+ uri,
218
+ });
219
+ });
220
+ }
221
+ buildStepDefinitions(canonicalIds) {
222
+ const stepDefinitions = [];
223
+ const undefinedParameterTypes = [];
224
+ this.stepDefinitionConfigs.forEach(({ code, line, options, keyword, pattern, uri }, index) => {
225
+ let expression;
226
+ if (typeof pattern === 'string') {
227
+ try {
228
+ expression = new cucumber_expressions_1.CucumberExpression(pattern, this.parameterTypeRegistry);
229
+ }
230
+ catch (e) {
231
+ if ((0, value_checker_1.doesHaveValue)(e.undefinedParameterTypeName)) {
232
+ undefinedParameterTypes.push({
233
+ name: e.undefinedParameterTypeName,
234
+ expression: pattern,
235
+ });
236
+ return;
237
+ }
238
+ throw e;
239
+ }
240
+ }
241
+ else {
242
+ expression = new cucumber_expressions_1.RegularExpression(pattern, this.parameterTypeRegistry);
243
+ }
244
+ const wrappedCode = this.wrapCode({
245
+ code,
246
+ wrapperOptions: options.wrapperOptions,
247
+ });
248
+ stepDefinitions.push(new step_definition_1.default({
249
+ code: wrappedCode,
250
+ expression,
251
+ id: canonicalIds ? canonicalIds[index] : this.newId(),
252
+ line,
253
+ options,
254
+ keyword,
255
+ pattern,
256
+ unwrappedCode: code,
257
+ uri,
258
+ }));
259
+ });
260
+ return { stepDefinitions, undefinedParameterTypes };
261
+ }
262
+ finalize(canonicalIds) {
263
+ const stepDefinitionsResult = this.buildStepDefinitions(canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.stepDefinitionIds);
264
+ return {
265
+ originalCoordinates: this.originalCoordinates,
266
+ afterTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.afterTestCaseHookDefinitionConfigs, canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.afterTestCaseHookDefinitionIds),
267
+ afterTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.afterTestRunHookDefinitionConfigs),
268
+ afterTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.afterTestStepHookDefinitionConfigs),
269
+ beforeTestCaseHookDefinitions: this.buildTestCaseHookDefinitions(this.beforeTestCaseHookDefinitionConfigs, canonicalIds === null || canonicalIds === void 0 ? void 0 : canonicalIds.beforeTestCaseHookDefinitionIds),
270
+ beforeTestRunHookDefinitions: this.buildTestRunHookDefinitions(this.beforeTestRunHookDefinitionConfigs),
271
+ beforeTestStepHookDefinitions: this.buildTestStepHookDefinitions(this.beforeTestStepHookDefinitionConfigs),
272
+ defaultTimeout: this.defaultTimeout,
273
+ parameterTypeRegistry: this.parameterTypeRegistry,
274
+ undefinedParameterTypes: stepDefinitionsResult.undefinedParameterTypes,
275
+ stepDefinitions: stepDefinitionsResult.stepDefinitions,
276
+ World: this.World,
277
+ parallelCanAssign: this.parallelCanAssign,
278
+ };
279
+ }
280
+ reset(cwd, newId, originalCoordinates = {
281
+ requireModules: [],
282
+ requirePaths: [],
283
+ importPaths: [],
284
+ }) {
285
+ this.cwd = cwd;
286
+ this.newId = newId;
287
+ this.originalCoordinates = originalCoordinates;
288
+ this.afterTestCaseHookDefinitionConfigs = [];
289
+ this.afterTestRunHookDefinitionConfigs = [];
290
+ this.afterTestStepHookDefinitionConfigs = [];
291
+ this.beforeTestCaseHookDefinitionConfigs = [];
292
+ this.beforeTestRunHookDefinitionConfigs = [];
293
+ this.beforeTestStepHookDefinitionConfigs = [];
294
+ this.definitionFunctionWrapper = null;
295
+ this.defaultTimeout = 5000;
296
+ this.parameterTypeRegistry = new sourced_parameter_type_registry_1.SourcedParameterTypeRegistry();
297
+ this.stepDefinitionConfigs = [];
298
+ this.parallelCanAssign = () => true;
299
+ this.World = world_1.default;
300
+ }
301
+ }
302
+ exports.SupportCodeLibraryBuilder = SupportCodeLibraryBuilder;
303
+ exports.default = new SupportCodeLibraryBuilder();
304
304
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import { ParallelAssignmentValidator } from './types';
2
- export declare function atMostOnePicklePerTag(tagNames: string[]): ParallelAssignmentValidator;
1
+ import { ParallelAssignmentValidator } from './types';
2
+ export declare function atMostOnePicklePerTag(tagNames: string[]): ParallelAssignmentValidator;
@@ -1,16 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.atMostOnePicklePerTag = void 0;
4
- function hasTag(pickle, tagName) {
5
- return pickle.tags.some((t) => t.name == tagName);
6
- }
7
- function atMostOnePicklePerTag(tagNames) {
8
- return (inQuestion, inProgress) => {
9
- return tagNames.every((tagName) => {
10
- return (!hasTag(inQuestion, tagName) ||
11
- inProgress.every((p) => !hasTag(p, tagName)));
12
- });
13
- };
14
- }
15
- exports.atMostOnePicklePerTag = atMostOnePicklePerTag;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.atMostOnePicklePerTag = void 0;
4
+ function hasTag(pickle, tagName) {
5
+ return pickle.tags.some((t) => t.name == tagName);
6
+ }
7
+ function atMostOnePicklePerTag(tagNames) {
8
+ return (inQuestion, inProgress) => {
9
+ return tagNames.every((tagName) => {
10
+ return (!hasTag(inQuestion, tagName) ||
11
+ inProgress.every((p) => !hasTag(p, tagName)));
12
+ });
13
+ };
14
+ }
15
+ exports.atMostOnePicklePerTag = atMostOnePicklePerTag;
16
16
  //# sourceMappingURL=parallel_can_assign_helpers.js.map
@@ -1,7 +1,7 @@
1
- import { ParameterType, ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
2
- import { ILineAndUri } from '../types';
3
- export declare class SourcedParameterTypeRegistry extends ParameterTypeRegistry {
4
- private parameterTypeToSource;
5
- defineSourcedParameterType(parameterType: ParameterType<unknown>, source: ILineAndUri): void;
6
- lookupSource(parameterType: ParameterType<unknown>): ILineAndUri;
7
- }
1
+ import { ParameterType, ParameterTypeRegistry } from '@cucumber/cucumber-expressions';
2
+ import { ILineAndUri } from '../types';
3
+ export declare class SourcedParameterTypeRegistry extends ParameterTypeRegistry {
4
+ private parameterTypeToSource;
5
+ defineSourcedParameterType(parameterType: ParameterType<unknown>, source: ILineAndUri): void;
6
+ lookupSource(parameterType: ParameterType<unknown>): ILineAndUri;
7
+ }