@pact-foundation/pact 16.0.1 → 16.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [16.0.3](https://github.com/pact-foundation/pact-js/compare/v16.0.2...v16.0.3) (2025-12-18)
6
+
7
+
8
+ ### Fixes and Improvements
9
+
10
+ * replace deprecated macos 13 build with macos-15-intel ([#1628](https://github.com/pact-foundation/pact-js/issues/1628)) ([4a96350](https://github.com/pact-foundation/pact-js/commit/4a96350227363a09953d40e203f629c3412cad15))
11
+
12
+ ## [16.0.2](https://github.com/pact-foundation/pact-js/compare/v16.0.1...v16.0.2) (2025-10-21)
13
+
14
+
15
+ ### Fixes and Improvements
16
+
17
+ * gracefully handle state handler errors ([#1585](https://github.com/pact-foundation/pact-js/issues/1585)) ([a323814](https://github.com/pact-foundation/pact-js/commit/a323814eaa0f5133b1d0eb68c41e601fe6141de3)), closes [#631](https://github.com/pact-foundation/pact-js/issues/631)
18
+
5
19
  ## [16.0.1](https://github.com/pact-foundation/pact-js/compare/v16.0.0...v16.0.1) (2025-10-16)
6
20
 
7
21
 
package/README.md CHANGED
@@ -115,7 +115,7 @@ In order to get better statistics as to who is using Pact, we have an anonymous
115
115
 
116
116
  ### Consumer package
117
117
 
118
- The main consumer interface are the `PactV3` class and `MatchersV3` exports of the `@pact-foundation/pact` package.
118
+ The main consumer interfaces are the `PactV3` class and `MatchersV3` exports of the `@pact-foundation/pact` package.
119
119
 
120
120
  #### Writing a Consumer test
121
121
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "16.0.1",
3
+ "version": "16.0.3",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -103,7 +103,7 @@
103
103
  ]
104
104
  },
105
105
  "dependencies": {
106
- "@pact-foundation/pact-core": "^17.0.0",
106
+ "@pact-foundation/pact-core": "^17.0.2",
107
107
  "axios": "^1.12.2",
108
108
  "body-parser": "^2.2.0",
109
109
  "chalk": "4.1.2",
@@ -116,29 +116,31 @@
116
116
  "lodash": "^4.17.21",
117
117
  "ramda": "^0.32.0",
118
118
  "randexp": "^0.5.3",
119
- "router": "^2.2.0"
119
+ "router": "^2.2.0",
120
+ "stack-utils": "^2.0.6"
120
121
  },
121
122
  "devDependencies": {
122
123
  "@babel/cli": "7.28.3",
123
- "@babel/core": "7.28.4",
124
- "@babel/preset-env": "7.28.3",
124
+ "@babel/core": "7.28.5",
125
+ "@babel/preset-env": "7.28.5",
125
126
  "@pact-foundation/pact-js-prettier-config": "1.0.0",
126
- "@types/chai": "5.2.2",
127
+ "@types/chai": "5.2.3",
127
128
  "@types/chai-as-promised": "8.0.2",
128
- "@types/express": "4.17.23",
129
- "@types/http-proxy": "1.17.16",
130
- "@types/lodash": "4.17.20",
129
+ "@types/express": "4.17.25",
130
+ "@types/http-proxy": "1.17.17",
131
+ "@types/lodash": "4.17.21",
131
132
  "@types/mocha": "10.0.10",
132
133
  "@types/nock": "11.1.0",
133
- "@types/node": "22.18.10",
134
+ "@types/node": "24.10.4",
134
135
  "@types/ramda": "0.31.1",
135
- "@types/sinon": "17.0.4",
136
+ "@types/sinon": "21.0.0",
136
137
  "@types/sinon-chai": "4.0.0",
138
+ "@types/stack-utils": "2.0.3",
137
139
  "@typescript-eslint/eslint-plugin": "5.62.0",
138
140
  "@typescript-eslint/parser": "5.62.0",
139
- "chai": "6.2.0",
141
+ "chai": "6.2.1",
140
142
  "chai-as-promised": "8.0.2",
141
- "commit-and-tag-version": "12.6.0",
143
+ "commit-and-tag-version": "12.6.1",
142
144
  "copyfiles": "2.4.1",
143
145
  "eslint": "8.57.1",
144
146
  "eslint-config-airbnb-base": "15.0.0",
@@ -148,16 +150,16 @@
148
150
  "eslint-plugin-chai-friendly": "1.1.0",
149
151
  "eslint-plugin-import": "2.32.0",
150
152
  "eslint-plugin-mocha": "10.5.0",
151
- "mocha": "11.7.4",
153
+ "mocha": "11.7.5",
152
154
  "nock": "14.0.10",
153
155
  "nyc": "17.1.0",
154
156
  "prettier": "3.6.2",
155
157
  "proxyquire": "2.1.3",
156
- "rimraf": "6.0.1",
158
+ "rimraf": "6.1.2",
157
159
  "sinon": "21.0.0",
158
160
  "sinon-chai": "4.0.1",
159
161
  "source-map-support": "0.5.21",
160
- "tsx": "4.20.6",
162
+ "tsx": "4.21.0",
161
163
  "typescript": "5.9.3"
162
164
  }
163
165
  }
@@ -1,14 +1,88 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
2
41
  Object.defineProperty(exports, "__esModule", { value: true });
3
42
  exports.createProxyStateHandler = void 0;
43
+ var stack_utils_1 = __importDefault(require("stack-utils"));
44
+ var chalk_1 = __importDefault(require("chalk"));
4
45
  var setupStates_1 = require("./setupStates");
46
+ var cleanStack = function (e) {
47
+ var stack = new stack_utils_1.default({
48
+ cwd: process.cwd(),
49
+ internals: stack_utils_1.default.nodeInternals(),
50
+ });
51
+ if (!e.stack)
52
+ return '';
53
+ var cleanedStack = stack.clean(e.stack);
54
+ var lines = cleanedStack.split('\n').map(function (line) { return line.trim(); });
55
+ return lines[0];
56
+ };
5
57
  var createProxyStateHandler = function (config) {
6
- return function (req, res) {
7
- var message = req.body;
8
- return Promise.resolve((0, setupStates_1.setupStates)(message, config))
9
- .then(function (data) { return res.json(data); })
10
- .catch(function (e) { return res.status(500).send(e); });
11
- };
58
+ return function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
59
+ var state, data, e_1, error, errorDetails, errorSource;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ state = req.body;
64
+ _a.label = 1;
65
+ case 1:
66
+ _a.trys.push([1, 3, , 4]);
67
+ return [4 /*yield*/, (0, setupStates_1.setupStates)(state, config)];
68
+ case 2:
69
+ data = _a.sent();
70
+ return [2 /*return*/, res.json(data)];
71
+ case 3:
72
+ e_1 = _a.sent();
73
+ error = "\nError executing state handler for state '".concat(state.state, "' on '").concat(state.action, "'.");
74
+ errorDetails = "\u21B3 Error details: ".concat(e_1.message);
75
+ errorSource = "\u21B3 Error source: ".concat(cleanStack(e_1), "\n");
76
+ /* eslint-disable no-console */
77
+ console.log(chalk_1.default.red(error));
78
+ console.log(chalk_1.default.red(errorDetails));
79
+ console.log(chalk_1.default.red(errorSource));
80
+ /* eslint-enable */
81
+ return [2 /*return*/, res.status(200).send()];
82
+ case 4: return [2 /*return*/];
83
+ }
84
+ });
85
+ }); };
12
86
  };
13
87
  exports.createProxyStateHandler = createProxyStateHandler;
14
88
  //# sourceMappingURL=stateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stateHandler.js","sourceRoot":"","sources":["../../../../../../src/dsl/verifier/proxy/stateHandler/stateHandler.ts"],"names":[],"mappings":";;;AAGA,6CAA4C;AAErC,IAAM,uBAAuB,GAClC,UAAC,MAAoB;IACrB,OAAA,UAAC,GAAoB,EAAE,GAAqB;QAC1C,IAAM,OAAO,GAAkB,GAAG,CAAC,IAAI,CAAC;QAExC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,yBAAW,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aACjD,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAd,CAAc,CAAC;aAC9B,KAAK,CAAC,UAAC,CAAC,IAAK,OAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAC3C,CAAC;AAND,CAMC,CAAC;AARS,QAAA,uBAAuB,2BAQhC"}
1
+ {"version":3,"file":"stateHandler.js","sourceRoot":"","sources":["../../../../../../src/dsl/verifier/proxy/stateHandler/stateHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,4DAAqC;AACrC,gDAA0B;AAE1B,6CAA4C;AAE5C,IAAM,UAAU,GAAG,UAAC,CAAQ;IAC1B,IAAM,KAAK,GAAG,IAAI,qBAAU,CAAC;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,SAAS,EAAE,qBAAU,CAAC,aAAa,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACxB,IAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC,CAAC;IAElE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEK,IAAM,uBAAuB,GAClC,UAAC,MAAoB;IACrB,OAAA,UACE,GAAoB,EACpB,GAAqB;;;;;oBAEf,KAAK,GAAkB,GAAG,CAAC,IAAI,CAAC;;;;oBAEvB,qBAAM,IAAA,yBAAW,EAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;oBAAvC,IAAI,GAAG,SAAgC;oBAC7C,sBAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;;;oBAEhB,KAAK,GAAG,qDAA8C,KAAK,CAAC,KAAK,mBAAS,KAAK,CAAC,MAAM,OAAI,CAAC;oBAC3F,YAAY,GAAG,gCAAoB,GAAC,CAAC,OAAO,CAAE,CAAC;oBAC/C,WAAW,GAAG,+BAAmB,UAAU,CAAC,GAAC,CAAC,OAAI,CAAC;oBACzD,+BAA+B;oBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpC,mBAAmB;oBAEnB,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAC;;;;SAEjC;AApBD,CAoBC,CAAC;AAtBS,QAAA,uBAAuB,2BAsBhC"}
@@ -74,6 +74,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
75
  var chai = __importStar(require("chai"));
76
76
  var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
77
+ var sinon_1 = __importDefault(require("sinon"));
77
78
  var stateHandler_1 = require("./stateHandler");
78
79
  chai.use(chai_as_promised_1.default);
79
80
  var expect = chai.expect;
@@ -114,11 +115,12 @@ describe('#createProxyStateHandler', function () {
114
115
  setup: function () { return Promise.reject(new Error('bad')); },
115
116
  },
116
117
  };
117
- it('returns a 500', function () { return __awaiter(void 0, void 0, void 0, function () {
118
- var h;
118
+ it('returns a 200 and logs an error', function () { return __awaiter(void 0, void 0, void 0, function () {
119
+ var spy, h;
119
120
  return __generator(this, function (_a) {
120
121
  switch (_a.label) {
121
122
  case 0:
123
+ spy = sinon_1.default.spy(console, 'log');
122
124
  h = (0, stateHandler_1.createProxyStateHandler)({
123
125
  stateHandlers: badStateHandlers,
124
126
  });
@@ -127,7 +129,9 @@ describe('#createProxyStateHandler', function () {
127
129
  }, mockResponse)];
128
130
  case 1:
129
131
  _a.sent();
130
- expect(res).to.eql(500);
132
+ expect(res).to.eql(200);
133
+ expect(spy.callCount).to.eql(3);
134
+ expect(spy.getCall(0).args[0]).to.include("Error executing state handler for state 'thing exists' on 'setup'.");
131
135
  return [2 /*return*/];
132
136
  }
133
137
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stateHandler.spec.js","sourceRoot":"","sources":["../../../../../../src/dsl/verifier/proxy/stateHandler/stateHandler.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,sEAA8C;AAI9C,+CAAyD;AAGzD,IAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,0BAA0B,EAAE;IACnC,IAAM,KAAK,GAAG;QACZ,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,OAAO;KAChB,CAAC;IAEF,IAAI,GAAQ,CAAC;IACb,IAAM,YAAY,GAAG;QACnB,MAAM,EAAE,UAAC,MAAc;YACrB,GAAG,GAAG,MAAM,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,cAAO,CAAC;aACf,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,UAAC,IAAS,IAAK,OAAA,IAAI,EAAJ,CAAI;KAC1B,CAAC;IAEF,OAAO,CAAC,wCAAwC,EAAE;QAChD,EAAE,CAAC,eAAe,EAAE;;;gBACZ,aAAa,GAAG;oBACpB,cAAc,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,EAAjB,CAAiB;iBACxC,CAAC;gBAEI,CAAC,GAAG,IAAA,sCAAuB,EAAC;oBAChC,aAAa,eAAA;iBACE,CAAC,CAAC;gBACnB,sBAAO,MAAM,CACX,CAAC,CACC;wBACE,IAAI,EAAE,KAAK;qBACO,EACpB,YAAgC,CACjC,CACF,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAC;;aAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,8CAA8C,EAAE;QACtD,IAAM,gBAAgB,GAAkB;YACtC,cAAc,EAAE;gBACd,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAhC,CAAgC;aAC9C;SACF,CAAC;QAEF,EAAE,CAAC,eAAe,EAAE;;;;;wBACZ,CAAC,GAAG,IAAA,sCAAuB,EAAC;4BAChC,aAAa,EAAE,gBAAgB;yBAChB,CAAC,CAAC;wBACnB,qBAAM,CAAC,CACL;gCACE,IAAI,EAAE,KAAK;6BACO,EACpB,YAAgC,CACjC,EAAA;;wBALD,SAKC,CAAC;wBAEF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;;;aACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"stateHandler.spec.js","sourceRoot":"","sources":["../../../../../../src/dsl/verifier/proxy/stateHandler/stateHandler.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,sEAA8C;AAI9C,gDAA0B;AAC1B,+CAAyD;AAGzD,IAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,0BAA0B,EAAE;IACnC,IAAM,KAAK,GAAG;QACZ,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,OAAO;KAChB,CAAC;IAEF,IAAI,GAAQ,CAAC;IACb,IAAM,YAAY,GAAG;QACnB,MAAM,EAAE,UAAC,MAAc;YACrB,GAAG,GAAG,MAAM,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,cAAO,CAAC;aACf,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,UAAC,IAAS,IAAK,OAAA,IAAI,EAAJ,CAAI;KAC1B,CAAC;IAEF,OAAO,CAAC,wCAAwC,EAAE;QAChD,EAAE,CAAC,eAAe,EAAE;;;gBACZ,aAAa,GAAG;oBACpB,cAAc,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,EAAE,EAAjB,CAAiB;iBACxC,CAAC;gBAEI,CAAC,GAAG,IAAA,sCAAuB,EAAC;oBAChC,aAAa,eAAA;iBACE,CAAC,CAAC;gBACnB,sBAAO,MAAM,CACX,CAAC,CACC;wBACE,IAAI,EAAE,KAAK;qBACO,EACpB,YAAgC,CACjC,CACF,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAC;;aAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,8CAA8C,EAAE;QACtD,IAAM,gBAAgB,GAAkB;YACtC,cAAc,EAAE;gBACd,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAhC,CAAgC;aAC9C;SACF,CAAC;QAEF,EAAE,CAAC,iCAAiC,EAAE;;;;;wBAC9B,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAChC,CAAC,GAAG,IAAA,sCAAuB,EAAC;4BAChC,aAAa,EAAE,gBAAgB;yBAChB,CAAC,CAAC;wBACnB,qBAAM,CAAC,CACL;gCACE,IAAI,EAAE,KAAK;6BACO,EACpB,YAAgC,CACjC,EAAA;;wBALD,SAKC,CAAC;wBAEF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvC,oEAAoE,CACrE,CAAC;;;;aACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/src/v3/pact.d.ts CHANGED
@@ -11,10 +11,32 @@ export declare class PactV3 {
11
11
  uponReceiving(description: string): PactV3;
12
12
  withRequest(req: V3Request): PactV3;
13
13
  withRequestBinaryFile(req: V3Request, contentType: string, file: string): PactV3;
14
- withRequestMultipartFileUpload(req: V3Request, contentType: string, file: string, mimePartName: string): PactV3;
14
+ /**
15
+ * Sets up the expected consumer request with multipart file upload data.
16
+ * This is useful for testing APIs that accept multipart/form-data uploads.
17
+ *
18
+ * @param req - The request configuration (method, path, headers, etc.)
19
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
20
+ * @param file - Path to the file containing the multipart body content
21
+ * @param mimePartName - The name of the mime part in the multipart body
22
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
23
+ * @returns The PactV3 instance for method chaining
24
+ */
25
+ withRequestMultipartFileUpload(req: V3Request, contentType: string, file: string, mimePartName: string, boundary?: string): PactV3;
15
26
  willRespondWith(res: V3Response): PactV3;
16
27
  withResponseBinaryFile(res: V3Response, contentType: string, file: string): PactV3;
17
- withResponseMultipartFileUpload(res: V3Response, contentType: string, file: string, mimePartName: string): PactV3;
28
+ /**
29
+ * Sets up the expected provider response with multipart file upload data.
30
+ * This is useful for testing APIs that respond with multipart/form-data content.
31
+ *
32
+ * @param res - The response configuration (status, headers, etc.)
33
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
34
+ * @param file - Path to the file containing the multipart body content
35
+ * @param mimePartName - The name of the mime part in the multipart body
36
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
37
+ * @returns The PactV3 instance for method chaining
38
+ */
39
+ withResponseMultipartFileUpload(res: V3Response, contentType: string, file: string, mimePartName: string, boundary?: string): PactV3;
18
40
  executeTest<T>(testFn: (mockServer: V3MockServer) => Promise<T>): Promise<T | undefined>;
19
41
  private cleanup;
20
42
  private setup;
package/src/v3/pact.js CHANGED
@@ -122,8 +122,19 @@ var PactV3 = /** @class */ (function () {
122
122
  (0, ffi_1.setRequestDetails)(this.interaction, req);
123
123
  return this;
124
124
  };
125
- PactV3.prototype.withRequestMultipartFileUpload = function (req, contentType, file, mimePartName) {
126
- this.interaction.withRequestMultipartBody(contentType, file, mimePartName);
125
+ /**
126
+ * Sets up the expected consumer request with multipart file upload data.
127
+ * This is useful for testing APIs that accept multipart/form-data uploads.
128
+ *
129
+ * @param req - The request configuration (method, path, headers, etc.)
130
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
131
+ * @param file - Path to the file containing the multipart body content
132
+ * @param mimePartName - The name of the mime part in the multipart body
133
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
134
+ * @returns The PactV3 instance for method chaining
135
+ */
136
+ PactV3.prototype.withRequestMultipartFileUpload = function (req, contentType, file, mimePartName, boundary) {
137
+ this.interaction.withRequestMultipartBody(contentType, file, mimePartName, boundary);
127
138
  (0, ffi_1.setRequestDetails)(this.interaction, req);
128
139
  return this;
129
140
  };
@@ -142,8 +153,19 @@ var PactV3 = /** @class */ (function () {
142
153
  (0, ffi_1.setResponseDetails)(this.interaction, res);
143
154
  return this;
144
155
  };
145
- PactV3.prototype.withResponseMultipartFileUpload = function (res, contentType, file, mimePartName) {
146
- this.interaction.withResponseMultipartBody(contentType, file, mimePartName);
156
+ /**
157
+ * Sets up the expected provider response with multipart file upload data.
158
+ * This is useful for testing APIs that respond with multipart/form-data content.
159
+ *
160
+ * @param res - The response configuration (status, headers, etc.)
161
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
162
+ * @param file - Path to the file containing the multipart body content
163
+ * @param mimePartName - The name of the mime part in the multipart body
164
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
165
+ * @returns The PactV3 instance for method chaining
166
+ */
167
+ PactV3.prototype.withResponseMultipartFileUpload = function (res, contentType, file, mimePartName, boundary) {
168
+ this.interaction.withResponseMultipartBody(contentType, file, mimePartName, boundary);
147
169
  (0, ffi_1.setResponseDetails)(this.interaction, res);
148
170
  return this;
149
171
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,16 @@ export declare class RequestBuilder implements V4RequestBuilder {
8
8
  headers(headers: TemplateHeaders): V4RequestBuilder;
9
9
  jsonBody(body: unknown): V4RequestBuilder;
10
10
  binaryFile(contentType: string, file: string): V4RequestBuilder;
11
- multipartBody(contentType: string, file: string, mimePartName: string): V4RequestBuilder;
11
+ /**
12
+ * Sets the request body as multipart/form-data content.
13
+ * This is useful for testing APIs that accept file uploads or multipart form submissions.
14
+ *
15
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
16
+ * @param file - Path to the file containing the multipart body content
17
+ * @param mimePartName - The name of the mime part in the multipart body
18
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
19
+ * @returns The V4RequestBuilder instance for method chaining
20
+ */
21
+ multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestBuilder;
12
22
  body(contentType: string, body: Buffer): V4RequestBuilder;
13
23
  }
@@ -46,8 +46,18 @@ var RequestBuilder = /** @class */ (function () {
46
46
  this.interaction.withRequestBinaryBody(body, contentType);
47
47
  return this;
48
48
  };
49
- RequestBuilder.prototype.multipartBody = function (contentType, file, mimePartName) {
50
- this.interaction.withRequestMultipartBody(contentType, file, mimePartName);
49
+ /**
50
+ * Sets the request body as multipart/form-data content.
51
+ * This is useful for testing APIs that accept file uploads or multipart form submissions.
52
+ *
53
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
54
+ * @param file - Path to the file containing the multipart body content
55
+ * @param mimePartName - The name of the mime part in the multipart body
56
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
57
+ * @returns The V4RequestBuilder instance for method chaining
58
+ */
59
+ RequestBuilder.prototype.multipartBody = function (contentType, file, mimePartName, boundary) {
60
+ this.interaction.withRequestMultipartBody(contentType, file, mimePartName, boundary);
51
61
  return this;
52
62
  };
53
63
  RequestBuilder.prototype.body = function (contentType, body) {
@@ -1 +1 @@
1
- {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAE1C,8CAAyD;AAEzD,sBAAmC;AAEnC;IACE,mCAAmC;IACnC,wBAAsB,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;IAE1D,8BAAK,GAAL,UAAM,KAAoB;QAA1B,iBAYC;QAXC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,CAAe,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,CAAC;oBAC7B,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAO,GAAP,UAAQ,OAAwB;QAAhC,iBAkBC;QAjBC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,CAA8B,CAAC,OAAO,CACrC,UAAC,MAAgC,EAAE,KAAa;oBAC9C,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAChC,UAAG,CAAC,CAAE,EACN,KAAK,EACL,IAAA,+BAAoB,EAAC,MAAM,CAAC,CAC7B,CAAC;gBACJ,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAG,CAAC,CAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,IAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB;QAEpB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAE3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC;IACd,CAAC;IACH,qBAAC;AAAD,CAAC,AApED,IAoEC;AApEY,wCAAc"}
1
+ {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAE1C,8CAAyD;AAEzD,sBAAmC;AAEnC;IACE,mCAAmC;IACnC,wBAAsB,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;IAE1D,8BAAK,GAAL,UAAM,KAAoB;QAA1B,iBAYC;QAXC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,CAAe,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,CAAC;oBAC7B,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAO,GAAP,UAAQ,OAAwB;QAAhC,iBAkBC;QAjBC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,CAA8B,CAAC,OAAO,CACrC,UAAC,MAAgC,EAAE,KAAa;oBAC9C,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAChC,UAAG,CAAC,CAAE,EACN,KAAK,EACL,IAAA,+BAAoB,EAAC,MAAM,CAAC,CAC7B,CAAC;gBACJ,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAG,CAAC,CAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAQ,GAAR,UAAS,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,IAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,sCAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,wBAAwB,CACvC,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC;IACd,CAAC;IACH,qBAAC;AAAD,CAAC,AApFD,IAoFC;AApFY,wCAAc"}
@@ -7,6 +7,16 @@ export declare class RequestWithPluginBuilder extends RequestBuilder implements
7
7
  headers(headers: TemplateHeaders): V4RequestWithPluginBuilder;
8
8
  jsonBody(body: unknown): V4RequestWithPluginBuilder;
9
9
  binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
10
- multipartBody(contentType: string, file: string, mimePartName: string): V4RequestWithPluginBuilder;
10
+ /**
11
+ * Sets the request body as multipart/form-data content for plugin-based interactions.
12
+ * This is useful for testing APIs that accept file uploads or multipart form submissions.
13
+ *
14
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
15
+ * @param file - Path to the file containing the multipart body content
16
+ * @param mimePartName - The name of the mime part in the multipart body
17
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
18
+ * @returns The V4RequestWithPluginBuilder instance for method chaining
19
+ */
20
+ multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
11
21
  body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
12
22
  }
@@ -42,8 +42,18 @@ var RequestWithPluginBuilder = /** @class */ (function (_super) {
42
42
  _super.prototype.binaryFile.call(this, contentType, file);
43
43
  return this;
44
44
  };
45
- RequestWithPluginBuilder.prototype.multipartBody = function (contentType, file, mimePartName) {
46
- _super.prototype.multipartBody.call(this, contentType, file, mimePartName);
45
+ /**
46
+ * Sets the request body as multipart/form-data content for plugin-based interactions.
47
+ * This is useful for testing APIs that accept file uploads or multipart form submissions.
48
+ *
49
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
50
+ * @param file - Path to the file containing the multipart body content
51
+ * @param mimePartName - The name of the mime part in the multipart body
52
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
53
+ * @returns The V4RequestWithPluginBuilder instance for method chaining
54
+ */
55
+ RequestWithPluginBuilder.prototype.multipartBody = function (contentType, file, mimePartName, boundary) {
56
+ _super.prototype.multipartBody.call(this, contentType, file, mimePartName, boundary);
47
57
  return this;
48
58
  };
49
59
  RequestWithPluginBuilder.prototype.body = function (contentType, body) {
@@ -1 +1 @@
1
- {"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAAkD;AAGlD;IACU,4CAAc;IADxB;;IAuDA,CAAC;IAnDC,iDAAc,GAAd,UACE,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAK,GAAL,UAAM,KAAoB;QACxB,gBAAK,CAAC,KAAK,YAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAO,GAAP,UAAQ,OAAwB;QAC9B,gBAAK,CAAC,OAAO,YAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAQ,GAAR,UAAS,IAAa;QACpB,gBAAK,CAAC,QAAQ,YAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,gBAAK,CAAC,UAAU,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB;QAEpB,gBAAK,CAAC,aAAa,YAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,gBAAK,CAAC,IAAI,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IACH,+BAAC;AAAD,CAAC,AAvDD,CACU,+BAAc,GAsDvB;AAvDY,4DAAwB"}
1
+ {"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAAkD;AAGlD;IACU,4CAAc;IADxB;;IAkEA,CAAC;IA9DC,iDAAc,GAAd,UACE,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAK,GAAL,UAAM,KAAoB;QACxB,gBAAK,CAAC,KAAK,YAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAO,GAAP,UAAQ,OAAwB;QAC9B,gBAAK,CAAC,OAAO,YAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAQ,GAAR,UAAS,IAAa;QACpB,gBAAK,CAAC,QAAQ,YAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,gBAAK,CAAC,UAAU,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,gDAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,gBAAK,CAAC,aAAa,YAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,gBAAK,CAAC,IAAI,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IACH,+BAAC;AAAD,CAAC,AAlED,CACU,+BAAc,GAiEvB;AAlEY,4DAAwB"}
@@ -7,6 +7,16 @@ export declare class ResponseBuilder implements V4ResponseBuilder {
7
7
  headers(headers: TemplateHeaders): V4ResponseBuilder;
8
8
  jsonBody(body: unknown): V4ResponseBuilder;
9
9
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
10
- multipartBody(contentType: string, file: string, mimePartName: string): V4ResponseBuilder;
10
+ /**
11
+ * Sets the response body as multipart/form-data content.
12
+ * This is useful for testing APIs that respond with multipart/form-data.
13
+ *
14
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
15
+ * @param file - Path to the file containing the multipart body content
16
+ * @param mimePartName - The name of the mime part in the multipart body
17
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
18
+ * @returns The V4ResponseBuilder instance for method chaining
19
+ */
20
+ multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
11
21
  body(contentType: string, body: Buffer): V4ResponseBuilder;
12
22
  }
@@ -24,8 +24,18 @@ var ResponseBuilder = /** @class */ (function () {
24
24
  this.interaction.withResponseBinaryBody(body, contentType);
25
25
  return this;
26
26
  };
27
- ResponseBuilder.prototype.multipartBody = function (contentType, file, mimePartName) {
28
- this.interaction.withResponseMultipartBody(contentType, file, mimePartName);
27
+ /**
28
+ * Sets the response body as multipart/form-data content.
29
+ * This is useful for testing APIs that respond with multipart/form-data.
30
+ *
31
+ * @param contentType - The content type of the multipart body (e.g., 'multipart/form-data')
32
+ * @param file - Path to the file containing the multipart body content
33
+ * @param mimePartName - The name of the mime part in the multipart body
34
+ * @param boundary - Optional boundary string for the multipart content. If not provided, will be passed as undefined.
35
+ * @returns The V4ResponseBuilder instance for method chaining
36
+ */
37
+ ResponseBuilder.prototype.multipartBody = function (contentType, file, mimePartName, boundary) {
38
+ this.interaction.withResponseMultipartBody(contentType, file, mimePartName, boundary);
29
39
  return this;
30
40
  };
31
41
  ResponseBuilder.prototype.body = function (contentType, body) {
@@ -1 +1 @@
1
- {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAC1C,sBAAmC;AAEnC,8CAAyD;AAGzD;IAGE,yBAAY,WAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,iCAAO,GAAP,UAAQ,OAAwB;QAAhC,iBAMC;QALC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAG,CAAC,CAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAQ,GAAR,UAAS,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,IAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB;QAEpB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IACH,sBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,0CAAe"}
1
+ {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAC1C,sBAAmC;AAEnC,8CAAyD;AAGzD;IAGE,yBAAY,WAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,iCAAO,GAAP,UAAQ,OAAwB;QAAhC,iBAMC;QALC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAG,CAAC,CAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAQ,GAAR,UAAS,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,IAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,uCAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACxC,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IACH,sBAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,0CAAe"}
@@ -58,14 +58,14 @@ export interface V4RequestBuilder {
58
58
  headers(headers: TemplateHeaders): V4RequestBuilder;
59
59
  jsonBody(body: unknown): V4RequestBuilder;
60
60
  binaryFile(contentType: string, file: string): V4RequestBuilder;
61
- multipartBody(contentType: string, filename: string, mimePartName: string): V4RequestBuilder;
61
+ multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestBuilder;
62
62
  body(contentType: string, body: Buffer): V4RequestBuilder;
63
63
  }
64
64
  export interface V4ResponseBuilder {
65
65
  headers(headers: TemplateHeaders): V4ResponseBuilder;
66
66
  jsonBody(body: unknown): V4ResponseBuilder;
67
67
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
68
- multipartBody(contentType: string, filename: string, mimePartName: string): V4ResponseBuilder;
68
+ multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
69
69
  body(contentType: string, body: Buffer): V4ResponseBuilder;
70
70
  }
71
71
  export type V4ResponseBuilderFunc = (builder: V4ResponseBuilder) => void;
@@ -90,7 +90,7 @@ export interface V4RequestWithPluginBuilder {
90
90
  headers(headers: TemplateHeaders): V4RequestWithPluginBuilder;
91
91
  jsonBody(body: unknown): V4RequestWithPluginBuilder;
92
92
  binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
93
- multipartBody(contentType: string, filename: string, mimePartName: string): V4RequestWithPluginBuilder;
93
+ multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
94
94
  body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
95
95
  pluginContents(contentType: string, contents: string): V4RequestWithPluginBuilder;
96
96
  }
@@ -98,7 +98,7 @@ export interface V4ResponseWithPluginBuilder {
98
98
  headers(headers: TemplateHeaders): V4ResponseBuilder;
99
99
  jsonBody(body: unknown): V4ResponseBuilder;
100
100
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
101
- multipartBody(contentType: string, filename: string, mimePartName: string): V4ResponseBuilder;
101
+ multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
102
102
  body(contentType: string, body: Buffer): V4ResponseBuilder;
103
103
  pluginContents(contentType: string, contents: string): V4ResponseBuilder;
104
104
  }