@pact-foundation/pact 16.0.4 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
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.1.0](https://github.com/pact-foundation/pact-js/compare/v16.0.4...v16.1.0) (2026-02-06)
6
+
7
+
8
+ ### Features
9
+
10
+ * add support for with_matching_rules and add example usage ([#1640](https://github.com/pact-foundation/pact-js/issues/1640)) ([31a277b](https://github.com/pact-foundation/pact-js/commit/31a277bdf8590bae80dc6c38f7e6e48449eb3fa7))
11
+
12
+
13
+ ### Fixes and Improvements
14
+
15
+ * **deps:** update dependency @pact-foundation/pact-core to v18 ([#1635](https://github.com/pact-foundation/pact-js/issues/1635)) ([1700f6f](https://github.com/pact-foundation/pact-js/commit/1700f6f0ba3dfd7eccf6ca651e668df5b6cab21e))
16
+
5
17
  ## [16.0.4](https://github.com/pact-foundation/pact-js/compare/v16.0.3...v16.0.4) (2025-12-19)
6
18
 
7
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "16.0.4",
3
+ "version": "16.1.0",
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.2",
106
+ "@pact-foundation/pact-core": "^18.0.0",
107
107
  "axios": "^1.12.2",
108
108
  "body-parser": "^2.2.0",
109
109
  "chalk": "4.1.2",
@@ -120,25 +120,25 @@
120
120
  "stack-utils": "^2.0.6"
121
121
  },
122
122
  "devDependencies": {
123
- "@babel/cli": "7.28.3",
124
- "@babel/core": "7.28.5",
125
- "@babel/preset-env": "7.28.5",
123
+ "@babel/cli": "7.28.6",
124
+ "@babel/core": "7.29.0",
125
+ "@babel/preset-env": "7.29.0",
126
126
  "@pact-foundation/pact-js-prettier-config": "1.0.0",
127
127
  "@types/chai": "5.2.3",
128
128
  "@types/chai-as-promised": "8.0.2",
129
129
  "@types/express": "4.17.25",
130
130
  "@types/http-proxy": "1.17.17",
131
- "@types/lodash": "4.17.21",
131
+ "@types/lodash": "4.17.23",
132
132
  "@types/mocha": "10.0.10",
133
133
  "@types/nock": "11.1.0",
134
- "@types/node": "24.10.4",
134
+ "@types/node": "24.10.10",
135
135
  "@types/ramda": "0.31.1",
136
136
  "@types/sinon": "21.0.0",
137
137
  "@types/sinon-chai": "4.0.0",
138
138
  "@types/stack-utils": "2.0.3",
139
139
  "@typescript-eslint/eslint-plugin": "5.62.0",
140
140
  "@typescript-eslint/parser": "5.62.0",
141
- "chai": "6.2.1",
141
+ "chai": "6.2.2",
142
142
  "chai-as-promised": "8.0.2",
143
143
  "commit-and-tag-version": "12.6.1",
144
144
  "copyfiles": "2.4.1",
@@ -156,7 +156,7 @@
156
156
  "prettier": "3.6.2",
157
157
  "proxyquire": "2.1.3",
158
158
  "rimraf": "6.1.2",
159
- "sinon": "21.0.0",
159
+ "sinon": "21.0.1",
160
160
  "sinon-chai": "4.0.1",
161
161
  "source-map-support": "0.5.21",
162
162
  "tsx": "4.21.0",
@@ -0,0 +1,19 @@
1
+ import { Rules, Matcher } from '../v3/types';
2
+ /**
3
+ * Converts a matcher to the FFI format expected by pact-core
4
+ * @param matcher The matcher to convert
5
+ * @returns The matcher in FFI format
6
+ */
7
+ export declare const convertMatcherToFFI: (matcher: Matcher<unknown>) => Record<string, unknown>;
8
+ /**
9
+ * Validates that the rules parameter is of type Rules
10
+ * @param rules The rules to validate
11
+ * @throws Error if rules is not a valid Rules object
12
+ */
13
+ export declare const validateRules: (rules: Rules) => void;
14
+ /**
15
+ * Converts Rules format to FFI matching rules format
16
+ * @param rules Rules in the user-friendly format
17
+ * @returns Rules in FFI format
18
+ */
19
+ export declare const convertRulesToFFI: (rules: Rules) => Record<string, unknown>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertRulesToFFI = exports.validateRules = exports.convertMatcherToFFI = void 0;
4
+ /**
5
+ * Converts a matcher to the FFI format expected by pact-core
6
+ * @param matcher The matcher to convert
7
+ * @returns The matcher in FFI format
8
+ */
9
+ var convertMatcherToFFI = function (matcher) {
10
+ var result = {};
11
+ if (matcher['pact:matcher:type']) {
12
+ result.match = matcher['pact:matcher:type'];
13
+ }
14
+ Object.keys(matcher).forEach(function (key) {
15
+ if (key !== 'pact:matcher:type' && key !== 'pact:generator:type') {
16
+ result[key] = matcher[key];
17
+ }
18
+ });
19
+ return result;
20
+ };
21
+ exports.convertMatcherToFFI = convertMatcherToFFI;
22
+ /**
23
+ * Validates that the rules parameter is of type Rules
24
+ * @param rules The rules to validate
25
+ * @throws Error if rules is not a valid Rules object
26
+ */
27
+ var validateRules = function (rules) {
28
+ if (!rules || typeof rules !== 'object' || Array.isArray(rules)) {
29
+ throw new Error('rules must be an object');
30
+ }
31
+ var validParts = ['path', 'body', 'header', 'query', 'status'];
32
+ var ruleKeys = Object.keys(rules);
33
+ ruleKeys.forEach(function (key) {
34
+ if (!validParts.includes(key)) {
35
+ throw new Error("Invalid part \"".concat(key, "\" in rules. Valid parts are: ").concat(validParts.join(', ')));
36
+ }
37
+ var partRules = rules[key];
38
+ if (!partRules)
39
+ return;
40
+ var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
41
+ rulesArray.forEach(function (rule, index) {
42
+ if (!rule || typeof rule !== 'object') {
43
+ throw new Error("Rule at ".concat(key, "[").concat(index, "] must be an object"));
44
+ }
45
+ var ruleObj = rule;
46
+ if (!('rules' in ruleObj) || !Array.isArray(ruleObj.rules)) {
47
+ throw new Error("Rule at ".concat(key, "[").concat(index, "] must have a \"rule\" property that is an array"));
48
+ }
49
+ if ('path' in ruleObj && typeof ruleObj.path !== 'string') {
50
+ throw new Error("Rule at ".concat(key, "[").concat(index, "] has a \"path\" property that is not a string"));
51
+ }
52
+ });
53
+ });
54
+ };
55
+ exports.validateRules = validateRules;
56
+ /**
57
+ * Converts Rules format to FFI matching rules format
58
+ * @param rules Rules in the user-friendly format
59
+ * @returns Rules in FFI format
60
+ */
61
+ var convertRulesToFFI = function (rules) {
62
+ var ffiRules = {};
63
+ Object.keys(rules).forEach(function (part) {
64
+ var partRules = rules[part];
65
+ if (!partRules)
66
+ return;
67
+ var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
68
+ ffiRules[part] = {};
69
+ rulesArray.forEach(function (rule) {
70
+ if (rule.path) {
71
+ ffiRules[part][rule.path] = {
72
+ matchers: rule.rules.map(exports.convertMatcherToFFI),
73
+ };
74
+ }
75
+ });
76
+ });
77
+ return ffiRules;
78
+ };
79
+ exports.convertRulesToFFI = convertRulesToFFI;
80
+ //# sourceMappingURL=matchingRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,12 @@ export declare function string(str?: string): Matcher<string>;
98
98
  * @param str Example value
99
99
  */
100
100
  export declare function regex(pattern: RegExp | string, str: string): V3RegexMatcher;
101
+ /**
102
+ * Matches the content type of a multipart field.
103
+ * Used for matching binary content or specific content types in multipart requests.
104
+ * @param contentTypeValue The content type to match (e.g., 'image/jpeg', 'text/plain')
105
+ */
106
+ export declare const contentType: (contentTypeValue: string) => Matcher<string>;
101
107
  /**
102
108
  * Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
103
109
  * @param value Example value
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.matcherValueOrString = exports.equal = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachValueMatches = exports.eachKeyMatches = exports.eachKeyLike = exports.like = void 0;
40
+ exports.matcherValueOrString = exports.equal = exports.contentType = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachValueMatches = exports.eachKeyMatches = exports.eachKeyLike = exports.like = void 0;
41
41
  exports.isMatcher = isMatcher;
42
42
  exports.number = number;
43
43
  exports.string = string;
@@ -322,6 +322,16 @@ function regex(pattern, str) {
322
322
  value: str,
323
323
  };
324
324
  }
325
+ /**
326
+ * Matches the content type of a multipart field.
327
+ * Used for matching binary content or specific content types in multipart requests.
328
+ * @param contentTypeValue The content type to match (e.g., 'image/jpeg', 'text/plain')
329
+ */
330
+ var contentType = function (contentTypeValue) { return ({
331
+ 'pact:matcher:type': 'contentType',
332
+ value: contentTypeValue,
333
+ }); };
334
+ exports.contentType = contentType;
325
335
  /**
326
336
  * Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
327
337
  * @param value Example value
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/v3/matchers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/v3/matchers.ts"],"names":[],"mappings":"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"}
package/src/v3/pact.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { JsonMap } from '../common/jsonTypes';
2
- import { PactV3Options, V3Interaction, V3MockServer, V3Request, V3Response } from './types';
2
+ import { PactV3Options, Rules, V3Interaction, V3MockServer, V3Request, V3Response } from './types';
3
3
  export declare class PactV3 {
4
4
  private opts;
5
5
  private states;
@@ -11,6 +11,26 @@ 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
+ /**
15
+ * Applies matching rules to the consumer request.
16
+ * Matching rules allow you to define flexible matching criteria for request attributes
17
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
18
+ *
19
+ * @param req - The request configuration (method, path, headers, etc.)
20
+ * @param rules - The matching rules.
21
+ * @returns The PactV3 instance for method chaining
22
+ */
23
+ withRequestMatchingRules(req: V3Request, rules: Rules): PactV3;
24
+ /**
25
+ * Applies matching rules to the provider response.
26
+ * Matching rules allow you to define flexible matching criteria for response attributes
27
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
28
+ *
29
+ * @param req - The request configuration (method, path, headers, etc.)
30
+ * @param rules - The matching rules.
31
+ * @returns The PactV3 instance for method chaining
32
+ */
33
+ withResponseMatchingRules(req: V3Request, rules: Rules): PactV3;
14
34
  /**
15
35
  * Sets up the expected consumer request with multipart file upload data.
16
36
  * This is useful for testing APIs that accept multipart/form-data uploads.
package/src/v3/pact.js CHANGED
@@ -44,6 +44,7 @@ var ramda_1 = require("ramda");
44
44
  var pact_core_1 = require("@pact-foundation/pact-core");
45
45
  var fs = require("fs");
46
46
  var package_json_1 = require("../../package.json");
47
+ var matchingRules_1 = require("../common/matchingRules");
47
48
  var types_1 = require("./types");
48
49
  var matchers_1 = require("./matchers");
49
50
  var display_1 = require("./display");
@@ -122,6 +123,38 @@ var PactV3 = /** @class */ (function () {
122
123
  (0, ffi_1.setRequestDetails)(this.interaction, req);
123
124
  return this;
124
125
  };
126
+ /**
127
+ * Applies matching rules to the consumer request.
128
+ * Matching rules allow you to define flexible matching criteria for request attributes
129
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
130
+ *
131
+ * @param req - The request configuration (method, path, headers, etc.)
132
+ * @param rules - The matching rules.
133
+ * @returns The PactV3 instance for method chaining
134
+ */
135
+ PactV3.prototype.withRequestMatchingRules = function (req, rules) {
136
+ (0, matchingRules_1.validateRules)(rules);
137
+ var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
138
+ this.interaction.withRequestMatchingRules(JSON.stringify(ffiRules));
139
+ (0, ffi_1.setRequestDetails)(this.interaction, req);
140
+ return this;
141
+ };
142
+ /**
143
+ * Applies matching rules to the provider response.
144
+ * Matching rules allow you to define flexible matching criteria for response attributes
145
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
146
+ *
147
+ * @param req - The request configuration (method, path, headers, etc.)
148
+ * @param rules - The matching rules.
149
+ * @returns The PactV3 instance for method chaining
150
+ */
151
+ PactV3.prototype.withResponseMatchingRules = function (req, rules) {
152
+ (0, matchingRules_1.validateRules)(rules);
153
+ var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
154
+ this.interaction.withResponseMatchingRules(JSON.stringify(ffiRules));
155
+ (0, ffi_1.setRequestDetails)(this.interaction, req);
156
+ return this;
157
+ };
125
158
  /**
126
159
  * Sets up the expected consumer request with multipart file upload data.
127
160
  * This is useful for testing APIs that accept multipart/form-data uploads.
@@ -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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"}
package/src/v3/types.d.ts CHANGED
@@ -40,6 +40,25 @@ export interface ProviderStateInjectedValue<T> extends Matcher<T> {
40
40
  export interface RulesMatcher<T> extends Matcher<T> {
41
41
  rules: Matcher<T>[];
42
42
  }
43
+ /**
44
+ * Part of a request or response where matching rules can be applied
45
+ */
46
+ export type Part = 'path' | 'body' | 'header' | 'query' | 'status';
47
+ export type JSONPath = string;
48
+ /**
49
+ * A matching rule with optional JSONPath and array of matchers
50
+ */
51
+ export type Rule = {
52
+ path?: JSONPath;
53
+ rules: Matcher<unknown>[];
54
+ };
55
+ /**
56
+ * Matching rules organized by part (path, body, header, query, status)
57
+ * Each part can have its own set of matching rules
58
+ */
59
+ export type Rules = Partial<{
60
+ [part in Part]: Rule | Rule[];
61
+ }>;
43
62
  /**
44
63
  * Options for the mock server
45
64
  */
@@ -1,5 +1,5 @@
1
1
  import { ConsumerInteraction } from '@pact-foundation/pact-core';
2
- import { TemplateQuery, TemplateHeaders } from '../../v3';
2
+ import { TemplateQuery, TemplateHeaders, Rules } from '../../v3';
3
3
  import { V4RequestBuilder } from './types';
4
4
  export declare class RequestBuilder implements V4RequestBuilder {
5
5
  protected interaction: ConsumerInteraction;
@@ -19,5 +19,14 @@ export declare class RequestBuilder implements V4RequestBuilder {
19
19
  * @returns The V4RequestBuilder instance for method chaining
20
20
  */
21
21
  multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestBuilder;
22
+ /**
23
+ * Applies matching rules to the consumer request.
24
+ * Matching rules allow you to define flexible matching criteria for request attributes
25
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
26
+ *
27
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
28
+ * @returns The V4RequestBuilder instance for method chaining
29
+ */
30
+ matchingRules(rules: Rules): V4RequestBuilder;
22
31
  body(contentType: string, body: Buffer): V4RequestBuilder;
23
32
  }
@@ -4,6 +4,7 @@ exports.RequestBuilder = void 0;
4
4
  var ramda_1 = require("ramda");
5
5
  var matchers_1 = require("../../v3/matchers");
6
6
  var _1 = require(".");
7
+ var matchingRules_1 = require("../../common/matchingRules");
7
8
  var RequestBuilder = /** @class */ (function () {
8
9
  // tslint:disable:no-empty-function
9
10
  function RequestBuilder(interaction) {
@@ -60,6 +61,20 @@ var RequestBuilder = /** @class */ (function () {
60
61
  this.interaction.withRequestMultipartBody(contentType, file, mimePartName, boundary);
61
62
  return this;
62
63
  };
64
+ /**
65
+ * Applies matching rules to the consumer request.
66
+ * Matching rules allow you to define flexible matching criteria for request attributes
67
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
68
+ *
69
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
70
+ * @returns The V4RequestBuilder instance for method chaining
71
+ */
72
+ RequestBuilder.prototype.matchingRules = function (rules) {
73
+ (0, matchingRules_1.validateRules)(rules);
74
+ var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
75
+ this.interaction.withRequestMatchingRules(JSON.stringify(ffiRules));
76
+ return this;
77
+ };
63
78
  RequestBuilder.prototype.body = function (contentType, body) {
64
79
  this.interaction.withRequestBinaryBody(body, contentType);
65
80
  return this;
@@ -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;;;;;;;;;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"}
1
+ {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TemplateHeaders, TemplateQuery } from '../../v3';
1
+ import { Rules, TemplateHeaders, TemplateQuery } from '../../v3';
2
2
  import { RequestBuilder } from './requestBuilder';
3
3
  import { V4RequestWithPluginBuilder } from './types';
4
4
  export declare class RequestWithPluginBuilder extends RequestBuilder implements V4RequestWithPluginBuilder {
@@ -18,5 +18,14 @@ export declare class RequestWithPluginBuilder extends RequestBuilder implements
18
18
  * @returns The V4RequestWithPluginBuilder instance for method chaining
19
19
  */
20
20
  multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
21
+ /**
22
+ * Applies matching rules to the consumer request.
23
+ * Matching rules allow you to define flexible matching criteria for request attributes
24
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
25
+ *
26
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
27
+ * @returns The V4RequestWithPluginBuilder instance for method chaining
28
+ */
29
+ matchingRules(rules: Rules): V4RequestWithPluginBuilder;
21
30
  body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
22
31
  }
@@ -56,6 +56,18 @@ var RequestWithPluginBuilder = /** @class */ (function (_super) {
56
56
  _super.prototype.multipartBody.call(this, contentType, file, mimePartName, boundary);
57
57
  return this;
58
58
  };
59
+ /**
60
+ * Applies matching rules to the consumer request.
61
+ * Matching rules allow you to define flexible matching criteria for request attributes
62
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
63
+ *
64
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
65
+ * @returns The V4RequestWithPluginBuilder instance for method chaining
66
+ */
67
+ RequestWithPluginBuilder.prototype.matchingRules = function (rules) {
68
+ _super.prototype.matchingRules.call(this, rules);
69
+ return this;
70
+ };
59
71
  RequestWithPluginBuilder.prototype.body = function (contentType, body) {
60
72
  _super.prototype.body.call(this, contentType, body);
61
73
  return this;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAAkD;AAGlD;IACU,4CAAc;IADxB;;IA+EA,CAAC;IA3EC,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;;;;;;;OAOG;IACH,gDAAa,GAAb,UAAc,KAAY;QACxB,gBAAK,CAAC,aAAa,YAAC,KAAK,CAAC,CAAC;QAC3B,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,AA/ED,CACU,+BAAc,GA8EvB;AA/EY,4DAAwB"}
@@ -1,5 +1,5 @@
1
1
  import { ConsumerInteraction } from '@pact-foundation/pact-core';
2
- import { TemplateHeaders } from '../../v3';
2
+ import { TemplateHeaders, Rules } from '../../v3';
3
3
  import { V4ResponseBuilder } from './types';
4
4
  export declare class ResponseBuilder implements V4ResponseBuilder {
5
5
  protected interaction: ConsumerInteraction;
@@ -18,5 +18,14 @@ export declare class ResponseBuilder implements V4ResponseBuilder {
18
18
  * @returns The V4ResponseBuilder instance for method chaining
19
19
  */
20
20
  multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
21
+ /**
22
+ * Applies matching rules to the provider response.
23
+ * Matching rules allow you to define flexible matching criteria for response attributes
24
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
25
+ *
26
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
27
+ * @returns The V4ResponseBuilder instance for method chaining
28
+ */
29
+ matchingRules(rules: Rules): V4ResponseBuilder;
21
30
  body(contentType: string, body: Buffer): V4ResponseBuilder;
22
31
  }
@@ -4,6 +4,7 @@ exports.ResponseBuilder = void 0;
4
4
  var ramda_1 = require("ramda");
5
5
  var _1 = require(".");
6
6
  var matchers_1 = require("../../v3/matchers");
7
+ var matchingRules_1 = require("../../common/matchingRules");
7
8
  var ResponseBuilder = /** @class */ (function () {
8
9
  function ResponseBuilder(interaction) {
9
10
  this.interaction = interaction;
@@ -38,6 +39,20 @@ var ResponseBuilder = /** @class */ (function () {
38
39
  this.interaction.withResponseMultipartBody(contentType, file, mimePartName, boundary);
39
40
  return this;
40
41
  };
42
+ /**
43
+ * Applies matching rules to the provider response.
44
+ * Matching rules allow you to define flexible matching criteria for response attributes
45
+ * beyond exact equality (e.g., regex patterns, type matching, number ranges).
46
+ *
47
+ * @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
48
+ * @returns The V4ResponseBuilder instance for method chaining
49
+ */
50
+ ResponseBuilder.prototype.matchingRules = function (rules) {
51
+ (0, matchingRules_1.validateRules)(rules);
52
+ var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
53
+ this.interaction.withResponseMatchingRules(JSON.stringify(ffiRules));
54
+ return this;
55
+ };
41
56
  ResponseBuilder.prototype.body = function (contentType, body) {
42
57
  this.interaction.withResponseBinaryBody(body, contentType);
43
58
  return this;
@@ -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;;;;;;;;;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"}
1
+ {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAC1C,sBAAmC;AAEnC,8CAAyD;AAEzD,4DAA8E;AAE9E;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;;;;;;;OAOG;IACH,uCAAa,GAAb,UAAc,KAAY;QACxB,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,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,AA5ED,IA4EC;AA5EY,0CAAe"}
@@ -1,5 +1,5 @@
1
1
  import { JsonMap } from '../../common/jsonTypes';
2
- import { Matcher, Path, SpecificationVersion, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
2
+ import { Matcher, Path, Rules, SpecificationVersion, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
3
3
  export type V4ProviderState = V3ProviderState;
4
4
  export type V4MockServer = V3MockServer;
5
5
  export type V4Request = V3Request;
@@ -59,6 +59,7 @@ export interface V4RequestBuilder {
59
59
  jsonBody(body: unknown): V4RequestBuilder;
60
60
  binaryFile(contentType: string, file: string): V4RequestBuilder;
61
61
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestBuilder;
62
+ matchingRules(rules: Rules): V4RequestBuilder;
62
63
  body(contentType: string, body: Buffer): V4RequestBuilder;
63
64
  }
64
65
  export interface V4ResponseBuilder {
@@ -66,6 +67,7 @@ export interface V4ResponseBuilder {
66
67
  jsonBody(body: unknown): V4ResponseBuilder;
67
68
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
68
69
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
70
+ matchingRules(rules: Rules): V4ResponseBuilder;
69
71
  body(contentType: string, body: Buffer): V4ResponseBuilder;
70
72
  }
71
73
  export type V4ResponseBuilderFunc = (builder: V4ResponseBuilder) => void;
@@ -92,6 +94,7 @@ export interface V4RequestWithPluginBuilder {
92
94
  binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
93
95
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
94
96
  body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
97
+ matchingRules(rules: Rules): V4RequestWithPluginBuilder;
95
98
  pluginContents(contentType: string, contents: string): V4RequestWithPluginBuilder;
96
99
  }
97
100
  export interface V4ResponseWithPluginBuilder {
@@ -99,6 +102,7 @@ export interface V4ResponseWithPluginBuilder {
99
102
  jsonBody(body: unknown): V4ResponseBuilder;
100
103
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
101
104
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
105
+ matchingRules(rules: Rules): V4ResponseBuilder;
102
106
  body(contentType: string, body: Buffer): V4ResponseBuilder;
103
107
  pluginContents(contentType: string, contents: string): V4ResponseBuilder;
104
108
  }