@redocly/respect-core 2.0.0-next.8 → 2.0.0-next.9

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 (261) hide show
  1. package/lib/generate.d.ts +12 -0
  2. package/lib/generate.d.ts.map +1 -0
  3. package/lib/generate.js +5 -0
  4. package/lib/generate.js.map +1 -0
  5. package/lib/index.d.ts +6 -4
  6. package/lib/index.d.ts.map +1 -1
  7. package/lib/index.js +6 -1
  8. package/lib/index.js.map +1 -1
  9. package/lib/modules/arazzo-description-generator/generate-arazzo-description.d.ts +2 -2
  10. package/lib/modules/arazzo-description-generator/generate-arazzo-description.d.ts.map +1 -1
  11. package/lib/modules/arazzo-description-generator/generate-arazzo-description.js +5 -2
  12. package/lib/modules/arazzo-description-generator/generate-arazzo-description.js.map +1 -1
  13. package/lib/modules/arazzo-description-generator/generate-example-value.d.ts +2 -1
  14. package/lib/modules/arazzo-description-generator/generate-example-value.d.ts.map +1 -1
  15. package/lib/modules/arazzo-description-generator/generate-example-value.js +2 -2
  16. package/lib/modules/arazzo-description-generator/generate-example-value.js.map +1 -1
  17. package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.d.ts +2 -1
  18. package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.d.ts.map +1 -1
  19. package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.js +1 -3
  20. package/lib/modules/arazzo-description-generator/generate-test-data-from-json-schema.js.map +1 -1
  21. package/lib/modules/context-parser/get-value-from-context.d.ts +13 -4
  22. package/lib/modules/context-parser/get-value-from-context.d.ts.map +1 -1
  23. package/lib/modules/context-parser/get-value-from-context.js +26 -24
  24. package/lib/modules/context-parser/get-value-from-context.js.map +1 -1
  25. package/lib/modules/context-parser/handle-request-body-replacements.d.ts +7 -1
  26. package/lib/modules/context-parser/handle-request-body-replacements.d.ts.map +1 -1
  27. package/lib/modules/context-parser/handle-request-body-replacements.js +2 -1
  28. package/lib/modules/context-parser/handle-request-body-replacements.js.map +1 -1
  29. package/lib/modules/context-parser/parse-request-body.d.ts +1 -3
  30. package/lib/modules/context-parser/parse-request-body.d.ts.map +1 -1
  31. package/lib/modules/context-parser/parse-request-body.js +17 -46
  32. package/lib/modules/context-parser/parse-request-body.js.map +1 -1
  33. package/lib/modules/context-parser/resolve-reusable-object-reference.js +1 -1
  34. package/lib/modules/context-parser/resolve-reusable-object-reference.js.map +1 -1
  35. package/lib/modules/description-parser/bundle-openapi.d.ts +9 -1
  36. package/lib/modules/description-parser/bundle-openapi.d.ts.map +1 -1
  37. package/lib/modules/description-parser/bundle-openapi.js +13 -35
  38. package/lib/modules/description-parser/bundle-openapi.js.map +1 -1
  39. package/lib/modules/description-parser/get-request-data-from-openapi.d.ts +2 -1
  40. package/lib/modules/description-parser/get-request-data-from-openapi.d.ts.map +1 -1
  41. package/lib/modules/description-parser/get-request-data-from-openapi.js +6 -6
  42. package/lib/modules/description-parser/get-request-data-from-openapi.js.map +1 -1
  43. package/lib/modules/flow-runner/call-api-and-analyze-results.d.ts.map +1 -1
  44. package/lib/modules/flow-runner/call-api-and-analyze-results.js +2 -0
  45. package/lib/modules/flow-runner/call-api-and-analyze-results.js.map +1 -1
  46. package/lib/modules/flow-runner/context/create-test-context.d.ts.map +1 -1
  47. package/lib/modules/flow-runner/context/create-test-context.js +23 -10
  48. package/lib/modules/flow-runner/context/create-test-context.js.map +1 -1
  49. package/lib/modules/flow-runner/get-server-url.d.ts.map +1 -1
  50. package/lib/modules/flow-runner/get-server-url.js +5 -1
  51. package/lib/modules/flow-runner/get-server-url.js.map +1 -1
  52. package/lib/modules/flow-runner/get-test-description-from-file.d.ts +12 -2
  53. package/lib/modules/flow-runner/get-test-description-from-file.d.ts.map +1 -1
  54. package/lib/modules/flow-runner/get-test-description-from-file.js +26 -24
  55. package/lib/modules/flow-runner/get-test-description-from-file.js.map +1 -1
  56. package/lib/modules/flow-runner/get-workflows-to-run.d.ts +7 -1
  57. package/lib/modules/flow-runner/get-workflows-to-run.d.ts.map +1 -1
  58. package/lib/modules/flow-runner/get-workflows-to-run.js +8 -10
  59. package/lib/modules/flow-runner/get-workflows-to-run.js.map +1 -1
  60. package/lib/modules/flow-runner/index.d.ts +0 -1
  61. package/lib/modules/flow-runner/index.d.ts.map +1 -1
  62. package/lib/modules/flow-runner/index.js +0 -1
  63. package/lib/modules/flow-runner/index.js.map +1 -1
  64. package/lib/modules/flow-runner/prepare-request.d.ts.map +1 -1
  65. package/lib/modules/flow-runner/prepare-request.js +9 -3
  66. package/lib/modules/flow-runner/prepare-request.js.map +1 -1
  67. package/lib/modules/flow-runner/resolve-x-security-parameters.d.ts.map +1 -1
  68. package/lib/modules/flow-runner/resolve-x-security-parameters.js +1 -0
  69. package/lib/modules/flow-runner/resolve-x-security-parameters.js.map +1 -1
  70. package/lib/modules/flow-runner/run-step.d.ts.map +1 -1
  71. package/lib/modules/flow-runner/run-step.js +27 -13
  72. package/lib/modules/flow-runner/run-step.js.map +1 -1
  73. package/lib/modules/flow-runner/runner.d.ts +4 -8
  74. package/lib/modules/flow-runner/runner.d.ts.map +1 -1
  75. package/lib/modules/flow-runner/runner.js +52 -52
  76. package/lib/modules/flow-runner/runner.js.map +1 -1
  77. package/lib/modules/flow-runner/schema/schema-checker.d.ts.map +1 -1
  78. package/lib/modules/flow-runner/schema/schema-checker.js +2 -4
  79. package/lib/modules/flow-runner/schema/schema-checker.js.map +1 -1
  80. package/lib/modules/flow-runner/success-criteria/check-success-criteria.d.ts.map +1 -1
  81. package/lib/modules/flow-runner/success-criteria/check-success-criteria.js +3 -3
  82. package/lib/modules/flow-runner/success-criteria/check-success-criteria.js.map +1 -1
  83. package/lib/modules/logger-output/calculate-tests-passed.d.ts.map +1 -0
  84. package/lib/modules/logger-output/calculate-tests-passed.js.map +1 -0
  85. package/lib/modules/logger-output/display-checks.d.ts +10 -0
  86. package/lib/modules/logger-output/display-checks.d.ts.map +1 -0
  87. package/lib/modules/{cli-output → logger-output}/display-checks.js +8 -9
  88. package/lib/modules/logger-output/display-checks.js.map +1 -0
  89. package/lib/modules/logger-output/display-errors.d.ts +4 -0
  90. package/lib/modules/logger-output/display-errors.d.ts.map +1 -0
  91. package/lib/modules/{cli-output → logger-output}/display-errors.js +9 -11
  92. package/lib/modules/logger-output/display-errors.js.map +1 -0
  93. package/lib/modules/logger-output/display-summary.d.ts +7 -0
  94. package/lib/modules/logger-output/display-summary.d.ts.map +1 -0
  95. package/lib/modules/{cli-output → logger-output}/display-summary.js +7 -8
  96. package/lib/modules/logger-output/display-summary.js.map +1 -0
  97. package/lib/modules/logger-output/helpers.d.ts +31 -0
  98. package/lib/modules/logger-output/helpers.d.ts.map +1 -0
  99. package/lib/{utils/cli-outputs.js → modules/logger-output/helpers.js} +20 -22
  100. package/lib/modules/logger-output/helpers.js.map +1 -0
  101. package/lib/modules/{cli-output → logger-output}/index.d.ts +0 -2
  102. package/lib/modules/logger-output/index.d.ts.map +1 -0
  103. package/lib/modules/{cli-output → logger-output}/index.js +0 -2
  104. package/lib/modules/logger-output/index.js.map +1 -0
  105. package/lib/modules/logger-output/mask-secrets.d.ts.map +1 -0
  106. package/lib/modules/logger-output/mask-secrets.js.map +1 -0
  107. package/lib/modules/logger-output/verbose-logs.d.ts.map +1 -0
  108. package/lib/modules/logger-output/verbose-logs.js.map +1 -0
  109. package/lib/modules/runtime-expressions/evaluate.d.ts +4 -2
  110. package/lib/modules/runtime-expressions/evaluate.d.ts.map +1 -1
  111. package/lib/modules/runtime-expressions/evaluate.js +15 -15
  112. package/lib/modules/runtime-expressions/evaluate.js.map +1 -1
  113. package/lib/run.d.ts +27 -0
  114. package/lib/run.d.ts.map +1 -0
  115. package/lib/run.js +43 -0
  116. package/lib/run.js.map +1 -0
  117. package/lib/types.d.ts +26 -13
  118. package/lib/types.d.ts.map +1 -1
  119. package/lib/utils/ajv-errors.js +1 -1
  120. package/lib/utils/ajv-errors.js.map +1 -1
  121. package/lib/utils/api-fetcher.d.ts +0 -3
  122. package/lib/utils/api-fetcher.d.ts.map +1 -1
  123. package/lib/utils/api-fetcher.js +24 -38
  124. package/lib/utils/api-fetcher.js.map +1 -1
  125. package/lib/utils/digest-auth/generate-digest-auth-header.d.ts.map +1 -1
  126. package/lib/utils/digest-auth/generate-digest-auth-header.js +10 -15
  127. package/lib/utils/digest-auth/generate-digest-auth-header.js.map +1 -1
  128. package/lib/utils/is-empty.d.ts.map +1 -1
  129. package/lib/utils/is-empty.js +3 -0
  130. package/lib/utils/is-empty.js.map +1 -1
  131. package/package.json +4 -16
  132. package/lib/handlers/generate.d.ts +0 -8
  133. package/lib/handlers/generate.d.ts.map +0 -1
  134. package/lib/handlers/generate.js +0 -22
  135. package/lib/handlers/generate.js.map +0 -1
  136. package/lib/handlers/index.d.ts +0 -3
  137. package/lib/handlers/index.d.ts.map +0 -1
  138. package/lib/handlers/index.js +0 -3
  139. package/lib/handlers/index.js.map +0 -1
  140. package/lib/handlers/run.d.ts +0 -21
  141. package/lib/handlers/run.d.ts.map +0 -1
  142. package/lib/handlers/run.js +0 -87
  143. package/lib/handlers/run.js.map +0 -1
  144. package/lib/modules/cli-output/calculate-tests-passed.d.ts.map +0 -1
  145. package/lib/modules/cli-output/calculate-tests-passed.js.map +0 -1
  146. package/lib/modules/cli-output/display-checks.d.ts +0 -3
  147. package/lib/modules/cli-output/display-checks.d.ts.map +0 -1
  148. package/lib/modules/cli-output/display-checks.js.map +0 -1
  149. package/lib/modules/cli-output/display-errors.d.ts +0 -3
  150. package/lib/modules/cli-output/display-errors.d.ts.map +0 -1
  151. package/lib/modules/cli-output/display-errors.js.map +0 -1
  152. package/lib/modules/cli-output/display-files-summary-table.d.ts +0 -11
  153. package/lib/modules/cli-output/display-files-summary-table.d.ts.map +0 -1
  154. package/lib/modules/cli-output/display-files-summary-table.js +0 -68
  155. package/lib/modules/cli-output/display-files-summary-table.js.map +0 -1
  156. package/lib/modules/cli-output/display-summary.d.ts +0 -7
  157. package/lib/modules/cli-output/display-summary.d.ts.map +0 -1
  158. package/lib/modules/cli-output/display-summary.js.map +0 -1
  159. package/lib/modules/cli-output/index.d.ts.map +0 -1
  160. package/lib/modules/cli-output/index.js.map +0 -1
  161. package/lib/modules/cli-output/json-logs.d.ts +0 -10
  162. package/lib/modules/cli-output/json-logs.d.ts.map +0 -1
  163. package/lib/modules/cli-output/json-logs.js +0 -81
  164. package/lib/modules/cli-output/json-logs.js.map +0 -1
  165. package/lib/modules/cli-output/mask-secrets.d.ts.map +0 -1
  166. package/lib/modules/cli-output/mask-secrets.js.map +0 -1
  167. package/lib/modules/cli-output/verbose-logs.d.ts.map +0 -1
  168. package/lib/modules/cli-output/verbose-logs.js.map +0 -1
  169. package/lib/modules/flow-runner/read-env-variables.d.ts +0 -2
  170. package/lib/modules/flow-runner/read-env-variables.d.ts.map +0 -1
  171. package/lib/modules/flow-runner/read-env-variables.js +0 -18
  172. package/lib/modules/flow-runner/read-env-variables.js.map +0 -1
  173. package/lib/utils/cli-outputs.d.ts +0 -20
  174. package/lib/utils/cli-outputs.d.ts.map +0 -1
  175. package/lib/utils/cli-outputs.js.map +0 -1
  176. package/lib/utils/env.d.ts +0 -3
  177. package/lib/utils/env.d.ts.map +0 -1
  178. package/lib/utils/env.js +0 -9
  179. package/lib/utils/env.js.map +0 -1
  180. package/lib/utils/exit-with-error.d.ts +0 -2
  181. package/lib/utils/exit-with-error.d.ts.map +0 -1
  182. package/lib/utils/exit-with-error.js +0 -5
  183. package/lib/utils/exit-with-error.js.map +0 -1
  184. package/lib/utils/har-logs/create-har-log.d.ts +0 -2
  185. package/lib/utils/har-logs/create-har-log.d.ts.map +0 -1
  186. package/lib/utils/har-logs/create-har-log.js +0 -25
  187. package/lib/utils/har-logs/create-har-log.js.map +0 -1
  188. package/lib/utils/har-logs/helpers/add-headers.d.ts +0 -2
  189. package/lib/utils/har-logs/helpers/add-headers.d.ts.map +0 -1
  190. package/lib/utils/har-logs/helpers/add-headers.js +0 -17
  191. package/lib/utils/har-logs/helpers/add-headers.js.map +0 -1
  192. package/lib/utils/har-logs/helpers/build-headers.d.ts +0 -10
  193. package/lib/utils/har-logs/helpers/build-headers.d.ts.map +0 -1
  194. package/lib/utils/har-logs/helpers/build-headers.js +0 -32
  195. package/lib/utils/har-logs/helpers/build-headers.js.map +0 -1
  196. package/lib/utils/har-logs/helpers/build-params.d.ts +0 -2
  197. package/lib/utils/har-logs/helpers/build-params.d.ts.map +0 -1
  198. package/lib/utils/har-logs/helpers/build-params.js +0 -18
  199. package/lib/utils/har-logs/helpers/build-params.js.map +0 -1
  200. package/lib/utils/har-logs/helpers/build-request-cookies.d.ts +0 -2
  201. package/lib/utils/har-logs/helpers/build-request-cookies.d.ts.map +0 -1
  202. package/lib/utils/har-logs/helpers/build-request-cookies.js +0 -18
  203. package/lib/utils/har-logs/helpers/build-request-cookies.js.map +0 -1
  204. package/lib/utils/har-logs/helpers/build-response-cookies.d.ts +0 -2
  205. package/lib/utils/har-logs/helpers/build-response-cookies.d.ts.map +0 -1
  206. package/lib/utils/har-logs/helpers/build-response-cookies.js +0 -40
  207. package/lib/utils/har-logs/helpers/build-response-cookies.js.map +0 -1
  208. package/lib/utils/har-logs/helpers/get-agent.d.ts +0 -2
  209. package/lib/utils/har-logs/helpers/get-agent.d.ts.map +0 -1
  210. package/lib/utils/har-logs/helpers/get-agent.js +0 -89
  211. package/lib/utils/har-logs/helpers/get-agent.js.map +0 -1
  212. package/lib/utils/har-logs/helpers/get-duration.d.ts +0 -2
  213. package/lib/utils/har-logs/helpers/get-duration.d.ts.map +0 -1
  214. package/lib/utils/har-logs/helpers/get-duration.js +0 -6
  215. package/lib/utils/har-logs/helpers/get-duration.js.map +0 -1
  216. package/lib/utils/har-logs/helpers/get-input-url.d.ts +0 -2
  217. package/lib/utils/har-logs/helpers/get-input-url.d.ts.map +0 -1
  218. package/lib/utils/har-logs/helpers/get-input-url.js +0 -5
  219. package/lib/utils/har-logs/helpers/get-input-url.js.map +0 -1
  220. package/lib/utils/har-logs/helpers/handle-request.d.ts +0 -9
  221. package/lib/utils/har-logs/helpers/handle-request.d.ts.map +0 -1
  222. package/lib/utils/har-logs/helpers/handle-request.js +0 -199
  223. package/lib/utils/har-logs/helpers/handle-request.js.map +0 -1
  224. package/lib/utils/har-logs/index.d.ts +0 -3
  225. package/lib/utils/har-logs/index.d.ts.map +0 -1
  226. package/lib/utils/har-logs/index.js +0 -3
  227. package/lib/utils/har-logs/index.js.map +0 -1
  228. package/lib/utils/har-logs/with-har.d.ts +0 -6
  229. package/lib/utils/har-logs/with-har.d.ts.map +0 -1
  230. package/lib/utils/har-logs/with-har.js +0 -189
  231. package/lib/utils/har-logs/with-har.js.map +0 -1
  232. package/lib/utils/is-url.d.ts +0 -2
  233. package/lib/utils/is-url.d.ts.map +0 -1
  234. package/lib/utils/is-url.js +0 -13
  235. package/lib/utils/is-url.js.map +0 -1
  236. package/lib/utils/logger/logger.d.ts +0 -16
  237. package/lib/utils/logger/logger.d.ts.map +0 -1
  238. package/lib/utils/logger/logger.js +0 -28
  239. package/lib/utils/logger/logger.js.map +0 -1
  240. package/lib/utils/mtls/create-mtls-client.d.ts +0 -4
  241. package/lib/utils/mtls/create-mtls-client.d.ts.map +0 -1
  242. package/lib/utils/mtls/create-mtls-client.js +0 -19
  243. package/lib/utils/mtls/create-mtls-client.js.map +0 -1
  244. package/lib/utils/mtls/resolve-mtls-certificates.d.ts +0 -7
  245. package/lib/utils/mtls/resolve-mtls-certificates.d.ts.map +0 -1
  246. package/lib/utils/mtls/resolve-mtls-certificates.js +0 -46
  247. package/lib/utils/mtls/resolve-mtls-certificates.js.map +0 -1
  248. package/lib/utils/package.d.ts +0 -2
  249. package/lib/utils/package.d.ts.map +0 -1
  250. package/lib/utils/package.js +0 -4
  251. package/lib/utils/package.js.map +0 -1
  252. package/lib/utils/yaml.d.ts +0 -5
  253. package/lib/utils/yaml.d.ts.map +0 -1
  254. package/lib/utils/yaml.js +0 -18
  255. package/lib/utils/yaml.js.map +0 -1
  256. /package/lib/modules/{cli-output → logger-output}/calculate-tests-passed.d.ts +0 -0
  257. /package/lib/modules/{cli-output → logger-output}/calculate-tests-passed.js +0 -0
  258. /package/lib/modules/{cli-output → logger-output}/mask-secrets.d.ts +0 -0
  259. /package/lib/modules/{cli-output → logger-output}/mask-secrets.js +0 -0
  260. /package/lib/modules/{cli-output → logger-output}/verbose-logs.d.ts +0 -0
  261. /package/lib/modules/{cli-output → logger-output}/verbose-logs.js +0 -0
@@ -0,0 +1,12 @@
1
+ import { type BaseResolver, type CollectFn, type Config } from '@redocly/openapi-core';
2
+ export type GenerateArazzoOptions = {
3
+ descriptionPath: string;
4
+ outputFile?: string;
5
+ config: Config;
6
+ version: string;
7
+ collectSpecData?: CollectFn;
8
+ externalRefResolver?: BaseResolver;
9
+ base?: string;
10
+ };
11
+ export declare function generate(options: GenerateArazzoOptions): Promise<string>;
12
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEvF,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9E"}
@@ -0,0 +1,5 @@
1
+ import { generateArazzoDescription } from './modules/arazzo-description-generator/index.js';
2
+ export async function generate(options) {
3
+ return await generateArazzoDescription(options);
4
+ }
5
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAa5F,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAA8B;IAC3D,OAAO,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export { handleGenerate, handleRun } from './handlers/index.js';
2
- export type { GenerateArazzoFileOptions } from './handlers/generate.js';
3
- export type { RespectOptions } from './handlers/run.js';
4
- export type { JsonLogs } from './types.js';
1
+ export { generate, type GenerateArazzoOptions } from './generate.js';
2
+ export { run, type RespectOptions } from './run.js';
3
+ export * from './types.js';
4
+ export { maskSecrets } from './modules/logger-output/mask-secrets.js';
5
+ export { calculateTotals } from './modules/logger-output/calculate-tests-passed.js';
6
+ export { RESET_ESCAPE_CODE } from './modules/logger-output/helpers.js';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACpD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC"}
package/lib/index.js CHANGED
@@ -1,2 +1,7 @@
1
- export { handleGenerate, handleRun } from './handlers/index.js';
1
+ export { generate } from './generate.js';
2
+ export { run } from './run.js';
3
+ export * from './types.js';
4
+ export { maskSecrets } from './modules/logger-output/mask-secrets.js';
5
+ export { calculateTotals } from './modules/logger-output/calculate-tests-passed.js';
6
+ export { RESET_ESCAPE_CODE } from './modules/logger-output/helpers.js';
2
7
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA8B,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,GAAG,EAAuB,MAAM,UAAU,CAAC;AACpD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { GenerateArazzoFileOptions } from '../../handlers/generate.js';
1
+ import { type GenerateArazzoOptions } from '../../generate.js';
2
2
  export declare const infoSubstitute: {
3
3
  title: string;
4
4
  version: string;
5
5
  };
6
- export declare function generateArazzoDescription({ descriptionPath, 'output-file': outputFile, }: GenerateArazzoFileOptions): Promise<any>;
6
+ export declare function generateArazzoDescription(opts: GenerateArazzoOptions): Promise<any>;
7
7
  //# sourceMappingURL=generate-arazzo-description.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-arazzo-description.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-arazzo-description.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AASF,wBAAsB,yBAAyB,CAAC,EAC9C,eAAe,EACf,aAAa,EAAE,UAAU,GAC1B,EAAE,yBAAyB,gBA0C3B"}
1
+ {"version":3,"file":"generate-arazzo-description.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-arazzo-description.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AASF,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,gBAwC1E"}
@@ -12,8 +12,11 @@ function resolveDescriptionNameFromPath(descriptionPath) {
12
12
  .name.replace(/\./g, '-')
13
13
  .replace(/[^A-Za-z0-9_-]/g, '');
14
14
  }
15
- export async function generateArazzoDescription({ descriptionPath, 'output-file': outputFile, }) {
16
- const { paths: pathsObject, info, security: rootSecurity, components, } = (await bundleOpenApi(descriptionPath, '')) || {};
15
+ export async function generateArazzoDescription(opts) {
16
+ const { descriptionPath, outputFile, collectSpecData } = opts;
17
+ const document = (await bundleOpenApi(opts)) || {};
18
+ collectSpecData?.(document);
19
+ const { paths: pathsObject, info, security: rootSecurity, components } = document;
17
20
  const sourceDescriptionName = resolveDescriptionNameFromPath(descriptionPath);
18
21
  const resolvedDescriptionPath = outputFile
19
22
  ? path.relative(path.dirname(outputFile), path.resolve(descriptionPath))
@@ -1 +1 @@
1
- {"version":3,"file":"generate-arazzo-description.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-arazzo-description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAKhG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,0BAA0B;IACjC,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF,SAAS,8BAA8B,CAAC,eAAuB;IAC7D,OAAO,IAAI;SACR,KAAK,CAAC,eAAe,CAAC;SACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,eAAe,EACf,aAAa,EAAE,UAAU,GACC;IAC1B,MAAM,EACJ,KAAK,EAAE,WAAW,EAClB,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,UAAU,GACX,GAAG,CAAC,MAAM,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErD,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAC9E,MAAM,uBAAuB,GAAG,UAAU;QACxC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC,CAAC,eAAe,CAAC;IACpB,MAAM,gBAAgB,GAAG,UAAU,EAAE,eAAe;QAClD,CAAC,CAAC,sCAAsC,CAAC,UAAU,EAAE,eAAe,CAAC;QACrE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,eAAe,GAAoB;QACvC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK;YAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,cAAc,CAAC,OAAO;SACjD;QACD,kBAAkB,EAAE;YAClB;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,uBAAuB;aAC7B;SACF;QACD,SAAS,EAAE,gCAAgC,CAAC;YAC1C,gBAAgB,EAAE,WAAW;YAC7B,qBAAqB;YACrB,YAAY;YACZ,gBAAgB,EAAE,gBAAgB,IAAI,EAAE;YACxC,eAAe,EAAE,UAAU,EAAE,eAAe;SAC7C,CAAC;QACF,GAAG,CAAC,gBAAgB,IAAI;YACtB,UAAU,EAAE,gBAAgB;SAC7B,CAAC;KACH,CAAC;IAEF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"generate-arazzo-description.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-arazzo-description.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAIhG,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,0BAA0B;IACjC,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF,SAAS,8BAA8B,CAAC,eAAuB;IAC7D,OAAO,IAAI;SACR,KAAK,CAAC,eAAe,CAAC;SACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAA2B;IACzE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAC9D,MAAM,QAAQ,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAClF,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAC9E,MAAM,uBAAuB,GAAG,UAAU;QACxC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC,CAAC,eAAe,CAAC;IACpB,MAAM,gBAAgB,GAAG,UAAU,EAAE,eAAe;QAClD,CAAC,CAAC,sCAAsC,CAAC,UAAU,EAAE,eAAe,CAAC;QACrE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,eAAe,GAAoB;QACvC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK;YAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,cAAc,CAAC,OAAO;SACjD;QACD,kBAAkB,EAAE;YAClB;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,uBAAuB;aAC7B;SACF;QACD,SAAS,EAAE,gCAAgC,CAAC;YAC1C,gBAAgB,EAAE,WAAW;YAC7B,qBAAqB;YACrB,YAAY;YACZ,gBAAgB,EAAE,gBAAgB,IAAI,EAAE;YACxC,eAAe,EAAE,UAAU,EAAE,eAAe;SAC7C,CAAC;QACF,GAAG,CAAC,gBAAgB,IAAI;YACtB,UAAU,EAAE,gBAAgB;SAC7B,CAAC;KACH,CAAC;IAEF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { Parameter } from '../../types.js';
2
- export declare function generateExampleValue(parameter: Parameter): any;
2
+ import type { LoggerInterface } from '@redocly/openapi-core';
3
+ export declare function generateExampleValue(parameter: Parameter, logger: LoggerInterface): any;
3
4
  //# sourceMappingURL=generate-example-value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-example-value.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-example-value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,OAQxD"}
1
+ {"version":3,"file":"generate-example-value.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-example-value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,OAQjF"}
@@ -1,6 +1,6 @@
1
1
  import { generateTestDataFromJsonSchema } from './generate-test-data-from-json-schema.js';
2
2
  import { extractFirstExample } from '../description-parser/index.js';
3
- export function generateExampleValue(parameter) {
3
+ export function generateExampleValue(parameter, logger) {
4
4
  if (parameter?.example) {
5
5
  return parameter.example;
6
6
  }
@@ -8,7 +8,7 @@ export function generateExampleValue(parameter) {
8
8
  return extractFirstExample(parameter.examples);
9
9
  }
10
10
  else if (parameter?.schema) {
11
- return generateTestDataFromJsonSchema(parameter.schema);
11
+ return generateTestDataFromJsonSchema(parameter.schema, logger);
12
12
  }
13
13
  }
14
14
  //# sourceMappingURL=generate-example-value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-example-value.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-example-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACvD,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,8BAA8B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"generate-example-value.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-example-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAKrE,MAAM,UAAU,oBAAoB,CAAC,SAAoB,EAAE,MAAuB;IAChF,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,8BAA8B,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -1,2 +1,3 @@
1
- export declare function generateTestDataFromJsonSchema(schema: any): unknown;
1
+ import { type LoggerInterface } from '@redocly/openapi-core';
2
+ export declare function generateTestDataFromJsonSchema(schema: any, logger: LoggerInterface): unknown;
2
3
  //# sourceMappingURL=generate-test-data-from-json-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-test-data-from-json-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-test-data-from-json-schema.ts"],"names":[],"mappings":"AAMA,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG,WAQzD"}
1
+ {"version":3,"file":"generate-test-data-from-json-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-test-data-from-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,WAQlF"}
@@ -1,8 +1,6 @@
1
1
  import * as Sampler from 'openapi-sampler';
2
2
  import { bgRed } from 'colorette';
3
- import { DefaultLogger } from '../../utils/logger/logger.js';
4
- const logger = DefaultLogger.getInstance();
5
- export function generateTestDataFromJsonSchema(schema) {
3
+ export function generateTestDataFromJsonSchema(schema, logger) {
6
4
  if (!schema)
7
5
  return;
8
6
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-test-data-from-json-schema.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-test-data-from-json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;AAE3C,MAAM,UAAU,8BAA8B,CAAC,MAAW;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"generate-test-data-from-json-schema.js","sourceRoot":"","sources":["../../../src/modules/arazzo-description-generator/generate-test-data-from-json-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,8BAA8B,CAAC,MAAW,EAAE,MAAuB;IACjF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;AACH,CAAC"}
@@ -1,12 +1,21 @@
1
1
  import type { RuntimeExpressionContext, TestContext } from '../../types.js';
2
+ import type { LoggerInterface } from '@redocly/openapi-core';
2
3
  export interface ParsedParameters {
3
4
  queryParams: Record<string, string>;
4
5
  pathParams: Record<string, string | number>;
5
6
  headerParams: Record<string, string>;
6
7
  }
7
- export declare function getValueFromContext(value: any, ctx: TestContext | RuntimeExpressionContext): any;
8
- export declare function replaceFakerVariablesInString(input: string, ctx: TestContext | RuntimeExpressionContext): any;
9
- export declare function getFakeData(pointer: string, ctx: TestContext | RuntimeExpressionContext): any;
10
- export declare function parseJson(objectToResolve: any, ctx: TestContext | RuntimeExpressionContext): any;
8
+ export declare function getValueFromContext({ value, ctx, logger, }: {
9
+ value: any;
10
+ ctx: TestContext | RuntimeExpressionContext;
11
+ logger: LoggerInterface;
12
+ }): any;
13
+ export declare function replaceFakerVariablesInString(input: string, ctx: TestContext | RuntimeExpressionContext, logger: LoggerInterface): any;
14
+ export declare function getFakeData({ pointer, ctx, logger, }: {
15
+ pointer: string;
16
+ ctx: TestContext | RuntimeExpressionContext;
17
+ logger: LoggerInterface;
18
+ }): any;
19
+ export declare function parseJson(objectToResolve: any, ctx: TestContext | RuntimeExpressionContext, logger: LoggerInterface): any;
11
20
  export declare function resolvePath(path?: string, pathParams?: Record<string, string | number | boolean>): string | undefined;
12
21
  //# sourceMappingURL=get-value-from-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-value-from-context.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/get-value-from-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAY,MAAM,gBAAgB,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,wBAAwB,GAAG,GAAG,CAyBhG;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,GAAG,wBAAwB,OAa5C;AA6GD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,wBAAwB,GAAG,GAAG,CAqB7F;AAwBD,wBAAgB,SAAS,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,wBAAwB,GAAG,GAAG,CAEhG;AAED,wBAAgB,WAAW,CACzB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,MAAM,GAAG,SAAS,CAWpB"}
1
+ {"version":3,"file":"get-value-from-context.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/get-value-from-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,WAAW,EAAY,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAMD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,GAAG,EACH,MAAM,GACP,EAAE;IACD,KAAK,EAAE,GAAG,CAAC;IACX,GAAG,EAAE,WAAW,GAAG,wBAAwB,CAAC;IAC5C,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,GAAG,CAyBN;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,GAAG,wBAAwB,EAC3C,MAAM,EAAE,eAAe,OAaxB;AA6HD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,GAAG,EACH,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,WAAW,GAAG,wBAAwB,CAAC;IAC5C,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,GAAG,CAoBN;AA6BD,wBAAgB,SAAS,CACvB,eAAe,EAAE,GAAG,EACpB,GAAG,EAAE,WAAW,GAAG,wBAAwB,EAC3C,MAAM,EAAE,eAAe,GACtB,GAAG,CAEL;AAED,wBAAgB,WAAW,CACzB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,MAAM,GAAG,SAAS,CAWpB"}
@@ -1,16 +1,13 @@
1
1
  import { red } from 'colorette';
2
- import { createContext, runInContext } from 'node:vm';
3
- import { DefaultLogger } from '../../utils/logger/logger.js';
4
- const logger = DefaultLogger.getInstance();
5
2
  const hasCurlyBraces = (input) => {
6
3
  return /\{.*?\}/.test(input);
7
4
  };
8
- export function getValueFromContext(value, ctx) {
5
+ export function getValueFromContext({ value, ctx, logger, }) {
9
6
  if (!value)
10
7
  return value;
11
8
  if (typeof value === 'object') {
12
9
  for (const key in value) {
13
- value[key] = getValueFromContext(value[key], ctx);
10
+ value[key] = getValueFromContext({ value: value[key], ctx, logger });
14
11
  }
15
12
  return value;
16
13
  }
@@ -18,49 +15,54 @@ export function getValueFromContext(value, ctx) {
18
15
  return value;
19
16
  }
20
17
  if (value.toString().startsWith('$faker.')) {
21
- return getFakeData(value.slice(1), ctx);
18
+ return getFakeData({ pointer: value.slice(1), ctx, logger });
22
19
  }
23
20
  if (hasCurlyBraces(value)) {
24
21
  // multiple variables in string => {$var1} {$var2}
25
- return replaceVariablesInString(value, ctx);
22
+ return replaceVariablesInString(value, ctx, logger);
26
23
  }
27
24
  else {
28
25
  // single variable in string => $var1
29
- return resolveValue(value, ctx);
26
+ return resolveValue(value, ctx, logger);
30
27
  }
31
28
  }
32
- export function replaceFakerVariablesInString(input, ctx) {
29
+ export function replaceFakerVariablesInString(input, ctx, logger) {
33
30
  const startIndex = input.indexOf('{');
34
31
  if (startIndex !== -1) {
35
32
  const substringAfterFirstBrace = input.substring(startIndex + 1);
36
33
  const fakerFunction = substringAfterFirstBrace.slice(0, -1);
37
- const fakerValue = getFakeData(fakerFunction.slice(1), ctx);
34
+ const fakerValue = getFakeData({ pointer: fakerFunction.slice(1), ctx, logger });
38
35
  return fakerValue && input.replace(/{(.*)}/, fakerValue);
39
36
  }
40
37
  else {
41
38
  return input;
42
39
  }
43
40
  }
44
- function replaceVariablesInString(input, ctx) {
41
+ function runInContext(code, context) {
42
+ const contextKeys = Object.keys(context);
43
+ const contextValues = Object.values(context);
44
+ return new Function(...contextKeys, `return ${code}`)(...contextValues);
45
+ }
46
+ function replaceVariablesInString(input, ctx, logger) {
45
47
  // Regular expression to match content inside ${...}
46
48
  const regex = /\{\$(\{[^{}]*\}|[^{}])*\}/g;
47
49
  let result = input;
48
50
  // Replace each match with its interpolated value
49
51
  result = result.replace(regex, (match, _code) => {
50
- return interpolate(match, ctx);
52
+ return interpolate(match, ctx, logger);
51
53
  });
52
54
  return result;
53
55
  }
54
- function interpolate(part, ctx) {
56
+ function interpolate(part, ctx, logger) {
55
57
  if (!part.includes('$'))
56
58
  return part;
57
59
  if (part.includes('$faker.')) {
58
- return replaceFakerVariablesInString(part, ctx);
60
+ return replaceFakerVariablesInString(part, ctx, logger);
59
61
  }
60
62
  const value = getFrom(ctx)(removeFigureBrackets(part));
61
63
  return value !== undefined ? value : '';
62
64
  }
63
- const resolveValue = (value, ctx) => {
65
+ const resolveValue = (value, ctx, logger) => {
64
66
  if (!value)
65
67
  return value;
66
68
  const path = value.toString();
@@ -86,7 +88,7 @@ const resolveValue = (value, ctx) => {
86
88
  return sourceDescriptions[sourceDescriptionName].workflows.find((workflow) => workflow.workflowId === workflowId);
87
89
  }
88
90
  if (path && path.trim().startsWith('faker.')) {
89
- return getFakeData(path, ctx);
91
+ return getFakeData({ pointer: path, ctx, logger });
90
92
  }
91
93
  return path
92
94
  ? getFrom(ctx)(replaceSquareBrackets(path))
@@ -118,11 +120,10 @@ const getFrom = ($, originalPointer = '') => (pointer) => {
118
120
  }
119
121
  return getFrom($[key], originalPointer)(rest.join('.'));
120
122
  };
121
- export function getFakeData(pointer, ctx) {
123
+ export function getFakeData({ pointer, ctx, logger, }) {
122
124
  const segments = pointer.split('.');
123
125
  const fakerContext = { ctx: { faker: ctx.$faker } };
124
126
  try {
125
- createContext(fakerContext);
126
127
  const escapedSegments = segments
127
128
  .map((segment) => segment.trim())
128
129
  .map((segment, idx) =>
@@ -137,29 +138,30 @@ export function getFakeData(pointer, ctx) {
137
138
  return undefined;
138
139
  }
139
140
  }
140
- function modifyJSON(value, ctx) {
141
+ function modifyJSON(value, ctx, logger) {
141
142
  if (typeof value === 'string') {
142
143
  if (value)
143
- return getValueFromContext(value, ctx);
144
+ return getValueFromContext({ value, ctx, logger });
144
145
  }
145
146
  if (typeof value === 'string' ||
146
147
  typeof value === 'number' ||
147
148
  typeof value === 'boolean' ||
148
149
  typeof value === 'undefined' ||
150
+ value instanceof Blob ||
149
151
  value === null)
150
152
  return;
151
153
  for (const i in value) {
152
154
  if (typeof value[i] === 'string') {
153
155
  if (value[i])
154
- value[i] = getValueFromContext(value[i], ctx);
156
+ value[i] = getValueFromContext({ value: value[i], ctx, logger });
155
157
  }
156
158
  else {
157
- modifyJSON(value[i], ctx);
159
+ modifyJSON(value[i], ctx, logger);
158
160
  }
159
161
  }
160
162
  }
161
- export function parseJson(objectToResolve, ctx) {
162
- return modifyJSON(objectToResolve, ctx) || objectToResolve;
163
+ export function parseJson(objectToResolve, ctx, logger) {
164
+ return modifyJSON(objectToResolve, ctx, logger) || objectToResolve;
163
165
  }
164
166
  export function resolvePath(path, pathParams) {
165
167
  if (!path)
@@ -1 +1 @@
1
- {"version":3,"file":"get-value-from-context.js","sourceRoot":"","sources":["../../../src/modules/context-parser/get-value-from-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-value-from-context.js","sourceRoot":"","sources":["../../../src/modules/context-parser/get-value-from-context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
1
  import { type RuntimeExpressionContext, type Replacement } from '../../types.js';
2
- export declare function handlePayloadReplacements(payload: object, replacements: Replacement[], expressionContext: RuntimeExpressionContext): void;
2
+ import { type LoggerInterface } from '@redocly/openapi-core';
3
+ export declare function handlePayloadReplacements({ payload, replacements, expressionContext, logger, }: {
4
+ payload: object;
5
+ replacements: Replacement[];
6
+ expressionContext: RuntimeExpressionContext;
7
+ logger: LoggerInterface;
8
+ }): void;
3
9
  //# sourceMappingURL=handle-request-body-replacements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-request-body-replacements.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/handle-request-body-replacements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,EAC3B,iBAAiB,EAAE,wBAAwB,QAyB5C"}
1
+ {"version":3,"file":"handle-request-body-replacements.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/handle-request-body-replacements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,MAAM,EAAE,eAAe,CAAC;CACzB,QAyBA"}
@@ -1,6 +1,6 @@
1
1
  import JsonPointerLib from 'json-pointer';
2
2
  import { evaluateRuntimeExpressionPayload } from '../runtime-expressions/index.js';
3
- export function handlePayloadReplacements(payload, replacements, expressionContext) {
3
+ export function handlePayloadReplacements({ payload, replacements, expressionContext, logger, }) {
4
4
  for (const replacement of replacements) {
5
5
  const { target, value } = replacement;
6
6
  if (typeof target !== 'string') {
@@ -12,6 +12,7 @@ export function handlePayloadReplacements(payload, replacements, expressionConte
12
12
  const evaluatedValue = evaluateRuntimeExpressionPayload({
13
13
  payload: value,
14
14
  context: expressionContext,
15
+ logger,
15
16
  });
16
17
  if (currentValue !== undefined) {
17
18
  // Replace the value using JSON Pointer
@@ -1 +1 @@
1
- {"version":3,"file":"handle-request-body-replacements.js","sourceRoot":"","sources":["../../../src/modules/context-parser/handle-request-body-replacements.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAGnF,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,YAA2B,EAC3B,iBAA2C;IAE3C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAEtC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,gCAAgC,CAAC;gBACtD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iBAAiB;aAC3B,CAAC,CAAC;YAEH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,uCAAuC;gBACvC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"handle-request-body-replacements.js","sourceRoot":"","sources":["../../../src/modules/context-parser/handle-request-body-replacements.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAInF,MAAM,UAAU,yBAAyB,CAAC,EACxC,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,MAAM,GAMP;IACC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAEtC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,gCAAgC,CAAC;gBACtD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iBAAiB;gBAC1B,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,uCAAuC;gBACvC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,8 +1,6 @@
1
- import { type ReadStream } from 'node:fs';
2
- import FormData from 'form-data';
3
1
  import { type TestContext, type RequestBody } from '../../types.js';
4
2
  export declare function stripFileDecorator(payload: string): string;
5
3
  export declare function parseRequestBody(stepRequestBody: RequestBody | undefined, ctx: TestContext): Promise<Omit<RequestBody, 'payload'> & {
6
- payload: string | number | boolean | Record<string, any> | ReadStream | FormData | undefined;
4
+ payload: string | number | boolean | Record<string, any> | BodyInit | FormData | URLSearchParams | undefined;
7
5
  }>;
8
6
  //# sourceMappingURL=parse-request-body.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-request-body.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/parse-request-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAG/E,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,UAIjD;AAmFD,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,WAAW,GAAG,SAAS,EACxC,GAAG,EAAE,WAAW,GACf,OAAO,CACR,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC7B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9F,CACF,CAyCA"}
1
+ {"version":3,"file":"parse-request-body.d.ts","sourceRoot":"","sources":["../../../src/modules/context-parser/parse-request-body.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKpE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,UAIjD;AAmED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,WAAW,GAAG,SAAS,EACxC,GAAG,EAAE,WAAW,GACf,OAAO,CACR,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC7B,OAAO,EACH,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,SAAS,CAAC;CACf,CACF,CAwCA"}
@@ -1,42 +1,25 @@
1
- import { createReadStream, constants, access } from 'node:fs';
2
- import * as querystring from 'node:querystring';
3
1
  import * as path from 'node:path';
4
- import FormData from 'form-data';
5
- import * as url from 'node:url';
6
- const __internalDirname = import.meta.url
7
- ? path.dirname(url.fileURLToPath(import.meta.url))
8
- : __dirname;
9
2
  const KNOWN_BINARY_CONTENT_TYPES_REGEX = /^image\/(png|jpeg|gif|bmp|webp|svg\+xml)|application\/pdf$/;
10
3
  export function stripFileDecorator(payload) {
11
4
  return payload.startsWith('$file(') && payload.endsWith(')')
12
5
  ? payload.substring(7, payload.length - 2)
13
6
  : payload;
14
7
  }
15
- const appendFileToFormData = (formData, key, item, workflowFilePath) => {
16
- return new Promise((resolve, reject) => {
17
- const currentArazzoFileFolder = path.dirname(workflowFilePath);
18
- const filePath = path.resolve(currentArazzoFileFolder, stripFileDecorator(item));
19
- access(filePath, constants.F_OK | constants.R_OK, (err) => {
20
- if (err) {
21
- reject(new Error(`File ${filePath} doesn't exist or isn't readable.`));
22
- }
23
- else {
24
- formData.append(key, createReadStream(filePath));
25
- resolve();
26
- }
27
- });
28
- });
8
+ const appendFileToFormData = async (formData, key, item, workflowFilePath, ctx) => {
9
+ const currentArazzoFileFolder = path.dirname(workflowFilePath);
10
+ const filePath = path.resolve(currentArazzoFileFolder, stripFileDecorator(item));
11
+ formData.append(key, await ctx.options.requestFileLoader.getFileBody(filePath));
29
12
  };
30
- const appendObjectToFormData = (promises, formData, payload, workflowFilePath, parentKey) => {
13
+ const appendObjectToFormData = (promises, formData, payload, workflowFilePath, ctx, parentKey) => {
31
14
  Object.entries(payload).forEach(([key, item]) => {
32
15
  const formKey = parentKey ? `${parentKey}[${key}]` : key;
33
16
  if (typeof item === 'string' && item.startsWith('$file(') && item.endsWith(')')) {
34
- promises.push(appendFileToFormData(formData, formKey, item, workflowFilePath));
17
+ promises.push(appendFileToFormData(formData, formKey, item, workflowFilePath, ctx));
35
18
  }
36
19
  else if (Array.isArray(item)) {
37
20
  item.forEach((i) => {
38
21
  if (typeof i === 'string' && i.startsWith('$file(') && i.endsWith(')')) {
39
- promises.push(appendFileToFormData(formData, formKey, i, workflowFilePath));
22
+ promises.push(appendFileToFormData(formData, formKey, i, workflowFilePath, ctx));
40
23
  }
41
24
  else {
42
25
  formData.append(formKey, i.toString());
@@ -44,35 +27,24 @@ const appendObjectToFormData = (promises, formData, payload, workflowFilePath, p
44
27
  });
45
28
  }
46
29
  else if (typeof item === 'object' && item !== null) {
47
- appendObjectToFormData(promises, formData, item, workflowFilePath, formKey);
30
+ appendObjectToFormData(promises, formData, item, workflowFilePath, ctx, formKey);
48
31
  }
49
32
  else if (typeof item === 'string' || typeof item === 'number' || typeof item === 'boolean') {
50
33
  formData.append(formKey, item.toString());
51
34
  }
52
35
  });
53
36
  };
54
- const getRequestBodyMultipartFormData = async (payload, formData, workflowFilePath) => {
37
+ const getRequestBodyMultipartFormData = async (payload, formData, workflowFilePath, ctx) => {
55
38
  if (payload && typeof payload === 'object' && !Array.isArray(payload)) {
56
39
  const promises = [];
57
- appendObjectToFormData(promises, formData, payload, workflowFilePath);
40
+ appendObjectToFormData(promises, formData, payload, workflowFilePath, ctx);
58
41
  await Promise.all(promises);
59
42
  }
60
43
  };
61
- const getRequestBodyOctetStream = async (payload) => {
44
+ const getRequestBodyOctetStream = async (payload, ctx) => {
62
45
  if (typeof payload === 'string' && payload.startsWith('$file(') && payload.endsWith(')')) {
63
- const filePath = path.resolve(__internalDirname, '../', stripFileDecorator(payload));
64
- await new Promise((resolve, reject) => {
65
- access(filePath, constants.F_OK | constants.R_OK, (err) => {
66
- if (err) {
67
- const relativePath = path.relative(process.cwd(), filePath);
68
- reject(new Error(`File ${relativePath} doesn't exist or isn't readable.`));
69
- }
70
- else {
71
- resolve(filePath);
72
- }
73
- });
74
- });
75
- return createReadStream(filePath);
46
+ const filePath = path.resolve(path.dirname(ctx.options.filePath), stripFileDecorator(payload));
47
+ return ctx.options.requestFileLoader.getFileBody(filePath);
76
48
  }
77
49
  else {
78
50
  return payload;
@@ -90,26 +62,25 @@ export async function parseRequestBody(stepRequestBody, ctx) {
90
62
  const { payload, contentType } = stepRequestBody;
91
63
  if (contentType === 'multipart/form-data') {
92
64
  const formData = new FormData();
93
- const workflowFilePath = path.resolve(ctx.options.workflowPath);
94
- await getRequestBodyMultipartFormData(payload, formData, workflowFilePath);
65
+ const workflowFilePath = path.resolve(ctx.options.filePath);
66
+ await getRequestBodyMultipartFormData(payload, formData, workflowFilePath, ctx);
95
67
  return {
96
68
  ...stepRequestBody,
97
69
  payload: formData,
98
- contentType: `multipart/form-data; boundary=${formData.getBoundary()}`,
99
70
  };
100
71
  }
101
72
  else if (contentType === 'application/octet-stream' ||
102
73
  (typeof contentType === 'string' && KNOWN_BINARY_CONTENT_TYPES_REGEX.test(contentType))) {
103
74
  return {
104
75
  ...stepRequestBody,
105
- payload: await getRequestBodyOctetStream(payload),
76
+ payload: await getRequestBodyOctetStream(payload, ctx),
106
77
  contentType: 'application/octet-stream',
107
78
  };
108
79
  }
109
80
  else if (contentType === 'application/x-www-form-urlencoded' && typeof payload === 'string') {
110
81
  return {
111
82
  ...stepRequestBody,
112
- payload: querystring.parse(payload),
83
+ payload: Object.fromEntries(new URLSearchParams(payload).entries()),
113
84
  contentType: 'application/x-www-form-urlencoded',
114
85
  };
115
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-request-body.js","sourceRoot":"","sources":["../../../src/modules/context-parser/parse-request-body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-request-body.js","sourceRoot":"","sources":["../../../src/modules/context-parser/parse-request-body.ts"],"names":[],"mappings":"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"}