@dev-blinq/cucumber-js 1.0.36 → 1.0.37-stage

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 (251) hide show
  1. package/bin/cucumber-js +0 -0
  2. package/bin/cucumber.js +0 -0
  3. package/bin/download-install.js +51 -10
  4. package/lib/api/console_logger.d.ts +12 -12
  5. package/lib/api/console_logger.js +23 -23
  6. package/lib/api/convert_configuration.d.ts +4 -4
  7. package/lib/api/convert_configuration.js +65 -65
  8. package/lib/api/environment.d.ts +2 -2
  9. package/lib/api/environment.js +13 -13
  10. package/lib/api/formatters.d.ts +20 -20
  11. package/lib/api/formatters.js +60 -60
  12. package/lib/api/gherkin.d.ts +21 -21
  13. package/lib/api/gherkin.js +145 -99
  14. package/lib/api/gherkin.js.map +1 -1
  15. package/lib/api/index.d.ts +12 -12
  16. package/lib/api/index.js +27 -27
  17. package/lib/api/load_configuration.d.ts +9 -9
  18. package/lib/api/load_configuration.js +40 -40
  19. package/lib/api/load_sources.d.ts +9 -9
  20. package/lib/api/load_sources.js +52 -52
  21. package/lib/api/load_support.d.ts +10 -10
  22. package/lib/api/load_support.js +29 -29
  23. package/lib/api/paths.d.ts +8 -8
  24. package/lib/api/paths.js +101 -101
  25. package/lib/api/plugins.d.ts +4 -4
  26. package/lib/api/plugins.js +18 -18
  27. package/lib/api/run_cucumber.d.ts +11 -11
  28. package/lib/api/run_cucumber.js +114 -114
  29. package/lib/api/runtime.d.ts +21 -21
  30. package/lib/api/runtime.js +35 -35
  31. package/lib/api/support.d.ts +9 -9
  32. package/lib/api/support.js +25 -25
  33. package/lib/api/test_helpers.d.ts +3 -3
  34. package/lib/api/test_helpers.js +30 -30
  35. package/lib/api/types.d.ts +177 -177
  36. package/lib/api/types.js +2 -2
  37. package/lib/cli/helpers.d.ts +39 -39
  38. package/lib/cli/helpers.js +223 -223
  39. package/lib/cli/i18n.d.ts +2 -2
  40. package/lib/cli/i18n.js +69 -69
  41. package/lib/cli/index.d.ts +21 -21
  42. package/lib/cli/index.js +63 -63
  43. package/lib/cli/install_validator.d.ts +1 -1
  44. package/lib/cli/install_validator.js +13 -13
  45. package/lib/cli/run.d.ts +1 -1
  46. package/lib/cli/run.js +43 -43
  47. package/lib/cli/validate_node_engine_version.d.ts +10 -10
  48. package/lib/cli/validate_node_engine_version.js +23 -23
  49. package/lib/configuration/argv_parser.d.ts +20 -20
  50. package/lib/configuration/argv_parser.js +102 -102
  51. package/lib/configuration/axios_client.d.ts +1 -0
  52. package/lib/configuration/axios_client.js +40 -0
  53. package/lib/configuration/axios_client.js.map +1 -0
  54. package/lib/configuration/check_schema.d.ts +2 -2
  55. package/lib/configuration/check_schema.js +59 -59
  56. package/lib/configuration/default_configuration.d.ts +2 -2
  57. package/lib/configuration/default_configuration.js +28 -28
  58. package/lib/configuration/from_file.d.ts +3 -3
  59. package/lib/configuration/from_file.js +84 -84
  60. package/lib/configuration/helpers.d.ts +1 -1
  61. package/lib/configuration/helpers.js +10 -10
  62. package/lib/configuration/index.d.ts +7 -7
  63. package/lib/configuration/index.js +28 -28
  64. package/lib/configuration/locate_file.d.ts +1 -1
  65. package/lib/configuration/locate_file.js +20 -20
  66. package/lib/configuration/merge_configurations.d.ts +2 -2
  67. package/lib/configuration/merge_configurations.js +47 -47
  68. package/lib/configuration/option_splitter.d.ts +3 -3
  69. package/lib/configuration/option_splitter.js +22 -22
  70. package/lib/configuration/types.d.ts +30 -30
  71. package/lib/configuration/types.js +2 -2
  72. package/lib/configuration/validate_configuration.d.ts +3 -3
  73. package/lib/configuration/validate_configuration.js +12 -12
  74. package/lib/filter_stack_trace.d.ts +3 -3
  75. package/lib/filter_stack_trace.js +37 -37
  76. package/lib/formatter/api.d.ts +2 -0
  77. package/lib/formatter/api.js +53 -0
  78. package/lib/formatter/api.js.map +1 -0
  79. package/lib/formatter/builder.d.ts +37 -37
  80. package/lib/formatter/builder.js +100 -100
  81. package/lib/formatter/bvt_analysis_formatter.d.ts +19 -18
  82. package/lib/formatter/bvt_analysis_formatter.js +243 -192
  83. package/lib/formatter/bvt_analysis_formatter.js.map +1 -1
  84. package/lib/formatter/feature_data_format.d.ts +23 -14
  85. package/lib/formatter/feature_data_format.js +178 -80
  86. package/lib/formatter/feature_data_format.js.map +1 -1
  87. package/lib/formatter/fixtures/typescript.d.ts +2 -2
  88. package/lib/formatter/fixtures/typescript.js +5 -5
  89. package/lib/formatter/get_color_fns.d.ts +15 -15
  90. package/lib/formatter/get_color_fns.js +55 -55
  91. package/lib/formatter/helpers/duration_helpers.d.ts +2 -2
  92. package/lib/formatter/helpers/duration_helpers.js +8 -8
  93. package/lib/formatter/helpers/event_data_collector.d.ts +30 -30
  94. package/lib/formatter/helpers/event_data_collector.js +125 -125
  95. package/lib/formatter/helpers/formatters.d.ts +6 -6
  96. package/lib/formatter/helpers/formatters.js +44 -44
  97. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
  98. package/lib/formatter/helpers/gherkin_document_parser.js +65 -65
  99. package/lib/formatter/helpers/index.d.ts +10 -10
  100. package/lib/formatter/helpers/index.js +51 -51
  101. package/lib/formatter/helpers/issue_helpers.d.ts +19 -19
  102. package/lib/formatter/helpers/issue_helpers.js +58 -58
  103. package/lib/formatter/helpers/keyword_type.d.ts +11 -11
  104. package/lib/formatter/helpers/keyword_type.js +31 -31
  105. package/lib/formatter/helpers/location_helpers.d.ts +2 -2
  106. package/lib/formatter/helpers/location_helpers.js +16 -16
  107. package/lib/formatter/helpers/pickle_parser.d.ts +17 -17
  108. package/lib/formatter/helpers/pickle_parser.js +27 -27
  109. package/lib/formatter/helpers/report_generator.d.ts +135 -103
  110. package/lib/formatter/helpers/report_generator.js +433 -247
  111. package/lib/formatter/helpers/report_generator.js.map +1 -1
  112. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  113. package/lib/formatter/helpers/step_argument_formatter.js +47 -47
  114. package/lib/formatter/helpers/summary_helpers.d.ts +9 -9
  115. package/lib/formatter/helpers/summary_helpers.js +95 -95
  116. package/lib/formatter/helpers/test_case_attempt_formatter.d.ts +12 -12
  117. package/lib/formatter/helpers/test_case_attempt_formatter.js +113 -113
  118. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +32 -32
  119. package/lib/formatter/helpers/test_case_attempt_parser.js +134 -134
  120. package/lib/formatter/helpers/upload_serivce.d.ts +14 -9
  121. package/lib/formatter/helpers/upload_serivce.js +171 -46
  122. package/lib/formatter/helpers/upload_serivce.js.map +1 -1
  123. package/lib/formatter/helpers/uploader.d.ts +11 -11
  124. package/lib/formatter/helpers/uploader.js +130 -56
  125. package/lib/formatter/helpers/uploader.js.map +1 -1
  126. package/lib/formatter/helpers/usage_helpers/index.d.ts +23 -23
  127. package/lib/formatter/helpers/usage_helpers/index.js +110 -110
  128. package/lib/formatter/html_formatter.d.ts +7 -7
  129. package/lib/formatter/html_formatter.js +29 -29
  130. package/lib/formatter/index.d.ts +53 -53
  131. package/lib/formatter/index.js +20 -20
  132. package/lib/formatter/json_formatter.d.ts +78 -78
  133. package/lib/formatter/json_formatter.js +229 -229
  134. package/lib/formatter/junit_formatter.d.ts +17 -17
  135. package/lib/formatter/junit_formatter.js +180 -180
  136. package/lib/formatter/message_formatter.d.ts +5 -5
  137. package/lib/formatter/message_formatter.js +14 -14
  138. package/lib/formatter/progress_bar_formatter.d.ts +18 -18
  139. package/lib/formatter/progress_bar_formatter.js +98 -98
  140. package/lib/formatter/progress_formatter.d.ts +9 -9
  141. package/lib/formatter/progress_formatter.js +58 -58
  142. package/lib/formatter/rerun_formatter.d.ts +13 -13
  143. package/lib/formatter/rerun_formatter.js +79 -79
  144. package/lib/formatter/snippets_formatter.d.ts +6 -6
  145. package/lib/formatter/snippets_formatter.js +60 -60
  146. package/lib/formatter/step_definition_snippet_builder/index.d.ts +20 -20
  147. package/lib/formatter/step_definition_snippet_builder/index.js +45 -45
  148. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.d.ts +7 -7
  149. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +45 -45
  150. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +16 -16
  151. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js +10 -10
  152. package/lib/formatter/summary_formatter.d.ts +14 -14
  153. package/lib/formatter/summary_formatter.js +67 -67
  154. package/lib/formatter/usage_formatter.d.ts +6 -6
  155. package/lib/formatter/usage_formatter.js +97 -97
  156. package/lib/formatter/usage_json_formatter.d.ts +7 -7
  157. package/lib/formatter/usage_json_formatter.js +33 -33
  158. package/lib/index.d.ts +58 -58
  159. package/lib/index.js +108 -108
  160. package/lib/logger.d.ts +5 -5
  161. package/lib/logger.js +2 -2
  162. package/lib/models/data_table.d.ts +10 -10
  163. package/lib/models/data_table.js +45 -45
  164. package/lib/models/definition.d.ts +55 -55
  165. package/lib/models/definition.js +21 -21
  166. package/lib/models/gherkin_step_keyword.d.ts +1 -1
  167. package/lib/models/gherkin_step_keyword.js +2 -2
  168. package/lib/models/pickle_order.d.ts +1 -1
  169. package/lib/models/pickle_order.js +2 -2
  170. package/lib/models/step_definition.d.ts +11 -11
  171. package/lib/models/step_definition.js +36 -36
  172. package/lib/models/test_case_hook_definition.d.ts +10 -10
  173. package/lib/models/test_case_hook_definition.js +26 -26
  174. package/lib/models/test_run_hook_definition.d.ts +3 -3
  175. package/lib/models/test_run_hook_definition.js +9 -9
  176. package/lib/models/test_step_hook_definition.d.ts +9 -9
  177. package/lib/models/test_step_hook_definition.js +25 -25
  178. package/lib/pickle_filter.d.ts +42 -42
  179. package/lib/pickle_filter.js +98 -98
  180. package/lib/plugin/index.d.ts +2 -2
  181. package/lib/plugin/index.js +18 -18
  182. package/lib/plugin/plugin_manager.d.ts +13 -13
  183. package/lib/plugin/plugin_manager.js +35 -35
  184. package/lib/plugin/types.d.ts +14 -14
  185. package/lib/plugin/types.js +2 -2
  186. package/lib/publish/http_stream.d.ts +30 -30
  187. package/lib/publish/http_stream.js +111 -111
  188. package/lib/publish/index.d.ts +2 -2
  189. package/lib/publish/index.js +4 -4
  190. package/lib/publish/publish_plugin.d.ts +2 -2
  191. package/lib/publish/publish_plugin.js +47 -47
  192. package/lib/runtime/assemble_test_cases.d.ts +13 -13
  193. package/lib/runtime/assemble_test_cases.js +87 -87
  194. package/lib/runtime/attachment_manager/index.d.ts +33 -33
  195. package/lib/runtime/attachment_manager/index.js +118 -118
  196. package/lib/runtime/format_error.d.ts +2 -2
  197. package/lib/runtime/format_error.js +35 -35
  198. package/lib/runtime/helpers.d.ts +6 -6
  199. package/lib/runtime/helpers.js +100 -100
  200. package/lib/runtime/index.d.ts +40 -40
  201. package/lib/runtime/index.js +75 -75
  202. package/lib/runtime/parallel/command_types.d.ts +32 -32
  203. package/lib/runtime/parallel/command_types.js +2 -2
  204. package/lib/runtime/parallel/coordinator.d.ts +72 -72
  205. package/lib/runtime/parallel/coordinator.js +221 -221
  206. package/lib/runtime/parallel/run_worker.d.ts +1 -1
  207. package/lib/runtime/parallel/run_worker.js +28 -28
  208. package/lib/runtime/parallel/worker.d.ts +26 -26
  209. package/lib/runtime/parallel/worker.js +86 -86
  210. package/lib/runtime/run_test_run_hooks.d.ts +3 -3
  211. package/lib/runtime/run_test_run_hooks.js +27 -27
  212. package/lib/runtime/step_runner.d.ts +16 -16
  213. package/lib/runtime/step_runner.js +87 -87
  214. package/lib/runtime/stopwatch.d.ts +12 -12
  215. package/lib/runtime/stopwatch.js +33 -33
  216. package/lib/runtime/test_case_runner.d.ts +54 -54
  217. package/lib/runtime/test_case_runner.js +267 -267
  218. package/lib/step_arguments.d.ts +6 -6
  219. package/lib/step_arguments.js +18 -18
  220. package/lib/support_code_library_builder/build_parameter_type.d.ts +3 -3
  221. package/lib/support_code_library_builder/build_parameter_type.js +12 -12
  222. package/lib/support_code_library_builder/get_definition_line_and_uri.d.ts +3 -3
  223. package/lib/support_code_library_builder/get_definition_line_and_uri.js +28 -28
  224. package/lib/support_code_library_builder/index.d.ts +74 -74
  225. package/lib/support_code_library_builder/index.js +296 -296
  226. package/lib/support_code_library_builder/parallel_can_assign_helpers.d.ts +2 -2
  227. package/lib/support_code_library_builder/parallel_can_assign_helpers.js +15 -15
  228. package/lib/support_code_library_builder/sourced_parameter_type_registry.d.ts +7 -7
  229. package/lib/support_code_library_builder/sourced_parameter_type_registry.js +18 -18
  230. package/lib/support_code_library_builder/types.d.ts +88 -88
  231. package/lib/support_code_library_builder/types.js +2 -2
  232. package/lib/support_code_library_builder/validate_arguments.d.ts +12 -12
  233. package/lib/support_code_library_builder/validate_arguments.js +72 -72
  234. package/lib/support_code_library_builder/world.d.ts +18 -18
  235. package/lib/support_code_library_builder/world.js +10 -10
  236. package/lib/time.d.ts +18 -18
  237. package/lib/time.js +60 -60
  238. package/lib/try_require.d.ts +7 -7
  239. package/lib/try_require.js +22 -22
  240. package/lib/types/index.d.ts +4 -4
  241. package/lib/types/index.js +2 -2
  242. package/lib/uncaught_exception_manager.d.ts +7 -7
  243. package/lib/uncaught_exception_manager.js +11 -11
  244. package/lib/user_code_runner.d.ts +14 -14
  245. package/lib/user_code_runner.js +81 -81
  246. package/lib/value_checker.d.ts +3 -3
  247. package/lib/value_checker.js +18 -18
  248. package/lib/version.d.ts +1 -1
  249. package/lib/version.js +5 -5
  250. package/lib/version.js.map +1 -1
  251. package/package.json +4 -1
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Provides a try guarded require call that will throw a more detailed error when
5
- * the ERR_REQUIRE_ESM error code is encountered.
6
- *
7
- * @param {string} path File path to require from.
8
- */
9
- function tryRequire(path) {
10
- try {
11
- return require(path);
12
- }
13
- catch (error) {
14
- if (error.code === 'ERR_REQUIRE_ESM') {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Provides a try guarded require call that will throw a more detailed error when
5
+ * the ERR_REQUIRE_ESM error code is encountered.
6
+ *
7
+ * @param {string} path File path to require from.
8
+ */
9
+ function tryRequire(path) {
10
+ try {
11
+ return require(path);
12
+ }
13
+ catch (error) {
14
+ if (error.code === 'ERR_REQUIRE_ESM') {
15
15
  throw Error(`Cucumber expected a CommonJS module at '${path}' but found an ES module.
16
16
  Either change the file to CommonJS syntax or use the --import directive instead of --require.
17
17
 
18
- Original error message: ${error.message}`);
19
- }
20
- else {
21
- throw error;
22
- }
23
- }
24
- }
25
- exports.default = tryRequire;
18
+ Original error message: ${error.message}`);
19
+ }
20
+ else {
21
+ throw error;
22
+ }
23
+ }
24
+ }
25
+ exports.default = tryRequire;
26
26
  //# sourceMappingURL=try_require.js.map
@@ -1,4 +1,4 @@
1
- export interface ILineAndUri {
2
- line: number;
3
- uri: string;
4
- }
1
+ export interface ILineAndUri {
2
+ line: number;
3
+ uri: string;
4
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
- /// <reference types="node" />
2
- import UncaughtExceptionListener = NodeJS.UncaughtExceptionListener;
3
- declare const UncaughtExceptionManager: {
4
- registerHandler(handler: UncaughtExceptionListener): void;
5
- unregisterHandler(handler: UncaughtExceptionListener): void;
6
- };
7
- export default UncaughtExceptionManager;
1
+ /// <reference types="node" />
2
+ import UncaughtExceptionListener = NodeJS.UncaughtExceptionListener;
3
+ declare const UncaughtExceptionManager: {
4
+ registerHandler(handler: UncaughtExceptionListener): void;
5
+ unregisterHandler(handler: UncaughtExceptionListener): void;
6
+ };
7
+ export default UncaughtExceptionManager;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const UncaughtExceptionManager = {
4
- registerHandler(handler) {
5
- process.addListener('uncaughtException', handler);
6
- },
7
- unregisterHandler(handler) {
8
- process.removeListener('uncaughtException', handler);
9
- },
10
- };
11
- exports.default = UncaughtExceptionManager;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const UncaughtExceptionManager = {
4
+ registerHandler(handler) {
5
+ process.addListener('uncaughtException', handler);
6
+ },
7
+ unregisterHandler(handler) {
8
+ process.removeListener('uncaughtException', handler);
9
+ },
10
+ };
11
+ exports.default = UncaughtExceptionManager;
12
12
  //# sourceMappingURL=uncaught_exception_manager.js.map
@@ -1,14 +1,14 @@
1
- export interface IRunRequest {
2
- argsArray: any[];
3
- thisArg: any;
4
- fn: Function;
5
- timeoutInMilliseconds: number;
6
- }
7
- export interface IRunResponse {
8
- error?: any;
9
- result?: any;
10
- }
11
- declare const UserCodeRunner: {
12
- run({ argsArray, thisArg, fn, timeoutInMilliseconds, }: IRunRequest): Promise<IRunResponse>;
13
- };
14
- export default UserCodeRunner;
1
+ export interface IRunRequest {
2
+ argsArray: any[];
3
+ thisArg: any;
4
+ fn: Function;
5
+ timeoutInMilliseconds: number;
6
+ }
7
+ export interface IRunResponse {
8
+ error?: any;
9
+ result?: any;
10
+ }
11
+ declare const UserCodeRunner: {
12
+ run({ argsArray, thisArg, fn, timeoutInMilliseconds, }: IRunRequest): Promise<IRunResponse>;
13
+ };
14
+ export default UserCodeRunner;
@@ -1,82 +1,82 @@
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
- const time_1 = require("./time");
7
- const uncaught_exception_manager_1 = __importDefault(require("./uncaught_exception_manager"));
8
- const util_1 = __importDefault(require("util"));
9
- const value_checker_1 = require("./value_checker");
10
- const UserCodeRunner = {
11
- async run({ argsArray, thisArg, fn, timeoutInMilliseconds, }) {
12
- const callbackPromise = new Promise((resolve, reject) => {
13
- argsArray.push((error, result) => {
14
- if ((0, value_checker_1.doesHaveValue)(error)) {
15
- reject(error);
16
- }
17
- else {
18
- resolve(result);
19
- }
20
- });
21
- });
22
- let fnReturn;
23
- try {
24
- fnReturn = fn.apply(thisArg, argsArray);
25
- }
26
- catch (e) {
27
- const error = e instanceof Error ? e : util_1.default.format(e);
28
- return { error };
29
- }
30
- const racingPromises = [];
31
- const callbackInterface = fn.length === argsArray.length;
32
- const promiseInterface = (0, value_checker_1.doesHaveValue)(fnReturn) && typeof fnReturn.then === 'function';
33
- if (callbackInterface && promiseInterface) {
34
- return {
35
- error: new Error('function uses multiple asynchronous interfaces: callback and promise\n' +
36
- 'to use the callback interface: do not return a promise\n' +
37
- 'to use the promise interface: remove the last argument to the function'),
38
- };
39
- }
40
- else if (callbackInterface) {
41
- racingPromises.push(callbackPromise);
42
- }
43
- else if (promiseInterface) {
44
- racingPromises.push(fnReturn);
45
- }
46
- else {
47
- return { result: fnReturn };
48
- }
49
- let exceptionHandler;
50
- const uncaughtExceptionPromise = new Promise((resolve, reject) => {
51
- exceptionHandler = reject;
52
- uncaught_exception_manager_1.default.registerHandler(exceptionHandler);
53
- });
54
- racingPromises.push(uncaughtExceptionPromise);
55
- let finalPromise = Promise.race(racingPromises);
56
- if (timeoutInMilliseconds >= 0) {
57
- const timeoutMessage = 'function timed out, ensure the ' +
58
- (callbackInterface ? 'callback is executed' : 'promise resolves') +
59
- ` within ${timeoutInMilliseconds.toString()} milliseconds`;
60
- finalPromise = (0, time_1.wrapPromiseWithTimeout)(finalPromise, timeoutInMilliseconds, timeoutMessage);
61
- }
62
- let error, result;
63
- try {
64
- result = await finalPromise;
65
- }
66
- catch (e) {
67
- if (e instanceof Error) {
68
- error = e;
69
- }
70
- else if ((0, value_checker_1.doesHaveValue)(e)) {
71
- error = util_1.default.format(e);
72
- }
73
- else {
74
- error = new Error('Promise rejected without a reason');
75
- }
76
- }
77
- uncaught_exception_manager_1.default.unregisterHandler(exceptionHandler);
78
- return { error, result };
79
- },
80
- };
81
- exports.default = UserCodeRunner;
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
+ const time_1 = require("./time");
7
+ const uncaught_exception_manager_1 = __importDefault(require("./uncaught_exception_manager"));
8
+ const util_1 = __importDefault(require("util"));
9
+ const value_checker_1 = require("./value_checker");
10
+ const UserCodeRunner = {
11
+ async run({ argsArray, thisArg, fn, timeoutInMilliseconds, }) {
12
+ const callbackPromise = new Promise((resolve, reject) => {
13
+ argsArray.push((error, result) => {
14
+ if ((0, value_checker_1.doesHaveValue)(error)) {
15
+ reject(error);
16
+ }
17
+ else {
18
+ resolve(result);
19
+ }
20
+ });
21
+ });
22
+ let fnReturn;
23
+ try {
24
+ fnReturn = fn.apply(thisArg, argsArray);
25
+ }
26
+ catch (e) {
27
+ const error = e instanceof Error ? e : util_1.default.format(e);
28
+ return { error };
29
+ }
30
+ const racingPromises = [];
31
+ const callbackInterface = fn.length === argsArray.length;
32
+ const promiseInterface = (0, value_checker_1.doesHaveValue)(fnReturn) && typeof fnReturn.then === 'function';
33
+ if (callbackInterface && promiseInterface) {
34
+ return {
35
+ error: new Error('function uses multiple asynchronous interfaces: callback and promise\n' +
36
+ 'to use the callback interface: do not return a promise\n' +
37
+ 'to use the promise interface: remove the last argument to the function'),
38
+ };
39
+ }
40
+ else if (callbackInterface) {
41
+ racingPromises.push(callbackPromise);
42
+ }
43
+ else if (promiseInterface) {
44
+ racingPromises.push(fnReturn);
45
+ }
46
+ else {
47
+ return { result: fnReturn };
48
+ }
49
+ let exceptionHandler;
50
+ const uncaughtExceptionPromise = new Promise((resolve, reject) => {
51
+ exceptionHandler = reject;
52
+ uncaught_exception_manager_1.default.registerHandler(exceptionHandler);
53
+ });
54
+ racingPromises.push(uncaughtExceptionPromise);
55
+ let finalPromise = Promise.race(racingPromises);
56
+ if (timeoutInMilliseconds >= 0) {
57
+ const timeoutMessage = 'function timed out, ensure the ' +
58
+ (callbackInterface ? 'callback is executed' : 'promise resolves') +
59
+ ` within ${timeoutInMilliseconds.toString()} milliseconds`;
60
+ finalPromise = (0, time_1.wrapPromiseWithTimeout)(finalPromise, timeoutInMilliseconds, timeoutMessage);
61
+ }
62
+ let error, result;
63
+ try {
64
+ result = await finalPromise;
65
+ }
66
+ catch (e) {
67
+ if (e instanceof Error) {
68
+ error = e;
69
+ }
70
+ else if ((0, value_checker_1.doesHaveValue)(e)) {
71
+ error = util_1.default.format(e);
72
+ }
73
+ else {
74
+ error = new Error('Promise rejected without a reason');
75
+ }
76
+ }
77
+ uncaught_exception_manager_1.default.unregisterHandler(exceptionHandler);
78
+ return { error, result };
79
+ },
80
+ };
81
+ exports.default = UserCodeRunner;
82
82
  //# sourceMappingURL=user_code_runner.js.map
@@ -1,3 +1,3 @@
1
- export declare function doesHaveValue<T>(value: T): boolean;
2
- export declare function doesNotHaveValue<T>(value: T): boolean;
3
- export declare function valueOrDefault<T>(value: T, defaultValue: T): T;
1
+ export declare function doesHaveValue<T>(value: T): boolean;
2
+ export declare function doesNotHaveValue<T>(value: T): boolean;
3
+ export declare function valueOrDefault<T>(value: T, defaultValue: T): T;
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.valueOrDefault = exports.doesNotHaveValue = exports.doesHaveValue = void 0;
4
- function doesHaveValue(value) {
5
- return !doesNotHaveValue(value);
6
- }
7
- exports.doesHaveValue = doesHaveValue;
8
- function doesNotHaveValue(value) {
9
- return value === null || value === undefined;
10
- }
11
- exports.doesNotHaveValue = doesNotHaveValue;
12
- function valueOrDefault(value, defaultValue) {
13
- if (doesHaveValue(value)) {
14
- return value;
15
- }
16
- return defaultValue;
17
- }
18
- exports.valueOrDefault = valueOrDefault;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valueOrDefault = exports.doesNotHaveValue = exports.doesHaveValue = void 0;
4
+ function doesHaveValue(value) {
5
+ return !doesNotHaveValue(value);
6
+ }
7
+ exports.doesHaveValue = doesHaveValue;
8
+ function doesNotHaveValue(value) {
9
+ return value === null || value === undefined;
10
+ }
11
+ exports.doesNotHaveValue = doesNotHaveValue;
12
+ function valueOrDefault(value, defaultValue) {
13
+ if (doesHaveValue(value)) {
14
+ return value;
15
+ }
16
+ return defaultValue;
17
+ }
18
+ exports.valueOrDefault = valueOrDefault;
19
19
  //# sourceMappingURL=value_checker.js.map
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "1.0.36";
1
+ export declare const version = "1.0.37-stage";
package/lib/version.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.version = void 0;
4
- // Generated by genversion.
5
- exports.version = '1.0.36';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.version = void 0;
4
+ // Generated by genversion.
5
+ exports.version = '1.0.37-stage';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AACd,QAAA,OAAO,GAAG,QAAQ,CAAA","sourcesContent":["// Generated by genversion.\nexport const version = '1.0.36'\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AACd,QAAA,OAAO,GAAG,cAAc,CAAA","sourcesContent":["// Generated by genversion.\nexport const version = '1.0.37-stage'\n"]}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "gherkin",
9
9
  "tests"
10
10
  ],
11
- "version": "1.0.36",
11
+ "version": "1.0.37-stage",
12
12
  "homepage": "https://github.com/blinq-io/cucumber-js",
13
13
  "author": "blinq.io",
14
14
  "contributors": [
@@ -60,6 +60,7 @@
60
60
  "@cucumber/messages": "22.0.0",
61
61
  "@cucumber/tag-expressions": "5.0.1",
62
62
  "@faker-js/faker": "^8.0.2",
63
+ "@types/tunnel": "^0.0.7",
63
64
  "assertion-error-formatter": "^3.0.0",
64
65
  "axios": "^1.6.2",
65
66
  "capital-case": "^1.0.4",
@@ -74,6 +75,7 @@
74
75
  "indent-string": "^4.0.0",
75
76
  "is-installed-globally": "^0.4.0",
76
77
  "is-stream": "^2.0.0",
78
+ "json5": "^2.2.3",
77
79
  "jszip": "^3.10.1",
78
80
  "knuth-shuffle-seeded": "^1.0.6",
79
81
  "lodash.merge": "^4.6.2",
@@ -89,6 +91,7 @@
89
91
  "supports-color": "^8.1.1",
90
92
  "tmp": "^0.2.1",
91
93
  "tmp-promise": "^3.0.3",
94
+ "tunnel": "^0.0.6",
92
95
  "util-arity": "^1.1.0",
93
96
  "verror": "^1.10.0",
94
97
  "xmlbuilder": "^15.1.1",