@pact-foundation/pact-core 15.2.1 → 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 +24 -0
- package/README.md +0 -1
- package/package.json +63 -57
- package/src/consumer/checkErrors.d.ts +2 -2
- package/src/consumer/index.js +21 -4
- package/src/consumer/index.js.map +1 -1
- package/src/consumer/types.d.ts +31 -27
- package/src/ffi/index.js +31 -1
- package/src/ffi/index.js.map +1 -1
- package/src/ffi/types.d.ts +19 -15
- package/src/logger/types.d.ts +2 -2
- package/src/verifier/argumentMapper/arguments.d.ts +4 -4
- package/src/verifier/argumentMapper/types.d.ts +7 -7
- package/src/verifier/types.d.ts +1 -1
- package/src/verifier/validateOptions.d.ts +2 -2
- package/.snyk +0 -13
- package/prebuilds/darwin-arm64/libpact_ffi.dylib +0 -0
- package/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/prebuilds/darwin-x64/libpact_ffi.dylib +0 -0
- package/prebuilds/darwin-x64/node.napi.node +0 -0
- package/prebuilds/linux-arm64/libpact_ffi.so +0 -0
- package/prebuilds/linux-arm64/libpact_ffi_musl.so +0 -0
- package/prebuilds/linux-arm64/node.napi.musl.node +0 -0
- package/prebuilds/linux-arm64/node.napi.node +0 -0
- package/prebuilds/linux-x64/libpact_ffi.so +0 -0
- package/prebuilds/linux-x64/libpact_ffi_musl.so +0 -0
- package/prebuilds/linux-x64/node.napi.musl.node +0 -0
- package/prebuilds/linux-x64/node.napi.node +0 -0
- package/prebuilds/win32-x64/node.napi.node +0 -0
- package/prebuilds/win32-x64/pact_ffi.dll +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
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-core/compare/v16.0.0...v16.1.0) (2025-08-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* support fetching bodies for messages ([#662](https://github.com/pact-foundation/pact-js-core/issues/662)) ([6a608a4](https://github.com/pact-foundation/pact-js-core/commit/6a608a4f72222454acaedded55022bebf0d38dd5))
|
|
11
|
+
|
|
12
|
+
## [16.0.0](https://github.com/pact-foundation/pact-js-core/compare/v15.2.1...v16.0.0) (2025-02-17)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### ⚠ BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* build platform/arch specific npm packages
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* build platform/arch specific npm packages ([809775e](https://github.com/pact-foundation/pact-js-core/commit/809775e01e937e0b20a3305076f72c85dec8b674))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Fixes and Improvements
|
|
25
|
+
|
|
26
|
+
* **deps:** update dependency check-types to v7.4.0 ([30ff204](https://github.com/pact-foundation/pact-js-core/commit/30ff204ea4988ecef56ebef223880e3e44abd7c7))
|
|
27
|
+
* **deps:** update dependency underscore to v1.13.7 ([921f692](https://github.com/pact-foundation/pact-js-core/commit/921f6926955c74c45b33168da3aeb66c1b673ccd))
|
|
28
|
+
|
|
5
29
|
## [15.2.1](https://github.com/pact-foundation/pact-js-core/compare/v15.2.0...v15.2.1) (2024-09-06)
|
|
6
30
|
|
|
7
31
|
|
package/README.md
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
| This is a core library, designed for use in the bowels of another package. Unless you are wanting to develop tools for the pact ecosystem, you almost certainly want to install [`@pact-foundation/pact`](https://github.com/pact-foundation/pact-js/) instead|
|
|
6
6
|
|
|
7
7
|

|
|
8
|
-
[](https://snyk.io/test/github/pact-foundation/pact-js-core?targetFile=package.json)
|
|
9
8
|
[](https://github.com/pact-foundation/pact-js-core)
|
|
10
9
|
[](https://www.npmjs.com/package/@pact-foundation/pact-core)
|
|
11
10
|
[](https://github.com/pact-foundation/pact-js-core/blob/master/LICENSE)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.1.0",
|
|
4
4
|
"description": "Core of @pact-foundation/pact. You almost certainly don't want to depend on this directly.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"homepage": "https://github.com/pact-foundation/pact-js-core#readme",
|
|
@@ -43,68 +43,68 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"check-types": "7.
|
|
46
|
+
"check-types": "7.4.0",
|
|
47
|
+
"detect-libc": "^2.0.3",
|
|
47
48
|
"node-gyp-build": "^4.6.0",
|
|
48
49
|
"pino": "^8.7.0",
|
|
49
50
|
"pino-pretty": "^9.1.1",
|
|
50
|
-
"underscore": "1.
|
|
51
|
+
"underscore": "1.13.7"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
|
-
"@grpc/grpc-js": "
|
|
54
|
-
"@grpc/proto-loader": "
|
|
55
|
-
"@pact-foundation/pact-js-prettier-config": "
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"@types/
|
|
59
|
-
"@types/chai": "
|
|
60
|
-
"@types/
|
|
61
|
-
"@types/
|
|
62
|
-
"@types/
|
|
63
|
-
"@types/
|
|
64
|
-
"@types/
|
|
65
|
-
"@types/
|
|
66
|
-
"@types/
|
|
67
|
-
"@types/
|
|
68
|
-
"@types/
|
|
69
|
-
"@types/
|
|
70
|
-
"@types/
|
|
71
|
-
"@types/
|
|
72
|
-
"@types/
|
|
73
|
-
"@
|
|
74
|
-
"@typescript-eslint/
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"chai": "
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"cross-env": "^5.1.3",
|
|
54
|
+
"@grpc/grpc-js": "1.13.4",
|
|
55
|
+
"@grpc/proto-loader": "0.8.0",
|
|
56
|
+
"@pact-foundation/pact-js-prettier-config": "1.0.0",
|
|
57
|
+
"@tsconfig/node14": "14.1.4",
|
|
58
|
+
"@types/basic-auth": "1.1.8",
|
|
59
|
+
"@types/chai": "4.3.20",
|
|
60
|
+
"@types/chai-as-promised": "7.1.8",
|
|
61
|
+
"@types/check-types": "7.3.7",
|
|
62
|
+
"@types/cors": "2.8.19",
|
|
63
|
+
"@types/decompress": "4.2.7",
|
|
64
|
+
"@types/express": "4.17.23",
|
|
65
|
+
"@types/mocha": "10.0.10",
|
|
66
|
+
"@types/needle": "3.3.0",
|
|
67
|
+
"@types/node": "22.16.5",
|
|
68
|
+
"@types/rimraf": "2.0.5",
|
|
69
|
+
"@types/sinon": "17.0.4",
|
|
70
|
+
"@types/tar": "6.1.13",
|
|
71
|
+
"@types/underscore": "1.13.0",
|
|
72
|
+
"@types/unixify": "1.0.2",
|
|
73
|
+
"@types/url-join": "4.0.3",
|
|
74
|
+
"@typescript-eslint/eslint-plugin": "5.62.0",
|
|
75
|
+
"@typescript-eslint/parser": "5.62.0",
|
|
76
|
+
"axios": "1.11.0",
|
|
77
|
+
"basic-auth": "2.0.1",
|
|
78
|
+
"body-parser": "2.2.0",
|
|
79
|
+
"chai": "4.5.0",
|
|
80
|
+
"chai-as-promised": "7.1.2",
|
|
81
|
+
"commit-and-tag-version": "11.3.0",
|
|
82
|
+
"cors": "2.8.5",
|
|
83
|
+
"cross-env": "10.0.0",
|
|
84
84
|
"decamelize": "2.0.0",
|
|
85
|
-
"eslint": "
|
|
86
|
-
"eslint-config-airbnb-base": "
|
|
87
|
-
"eslint-config-airbnb-typescript": "
|
|
88
|
-
"eslint-config-prettier": "
|
|
89
|
-
"eslint-import-resolver-typescript": "
|
|
90
|
-
"eslint-plugin-chai-friendly": "
|
|
91
|
-
"eslint-plugin-import": "
|
|
92
|
-
"eslint-plugin-mocha": "
|
|
93
|
-
"express": "4.
|
|
94
|
-
"form-data": "
|
|
95
|
-
"grpc-promise": "
|
|
96
|
-
"mocha": "
|
|
97
|
-
"node-addon-api": "
|
|
98
|
-
"nodemon": "
|
|
99
|
-
"prettier": "
|
|
100
|
-
"protobufjs": "
|
|
85
|
+
"eslint": "8.57.1",
|
|
86
|
+
"eslint-config-airbnb-base": "15.0.0",
|
|
87
|
+
"eslint-config-airbnb-typescript": "17.1.0",
|
|
88
|
+
"eslint-config-prettier": "8.10.2",
|
|
89
|
+
"eslint-import-resolver-typescript": "3.7.0",
|
|
90
|
+
"eslint-plugin-chai-friendly": "0.7.4",
|
|
91
|
+
"eslint-plugin-import": "2.32.0",
|
|
92
|
+
"eslint-plugin-mocha": "10.1.0",
|
|
93
|
+
"express": "4.21.2",
|
|
94
|
+
"form-data": "4.0.4",
|
|
95
|
+
"grpc-promise": "1.4.0",
|
|
96
|
+
"mocha": "9.2.2",
|
|
97
|
+
"node-addon-api": "8.5.0",
|
|
98
|
+
"nodemon": "2.0.22",
|
|
99
|
+
"prettier": "2.8.8",
|
|
100
|
+
"protobufjs": "7.5.3",
|
|
101
101
|
"rimraf": "2.7.1",
|
|
102
|
-
"sinon": "
|
|
103
|
-
"ts-node": "10.9.
|
|
104
|
-
"typescript": "4.
|
|
102
|
+
"sinon": "21.0.0",
|
|
103
|
+
"ts-node": "10.9.2",
|
|
104
|
+
"typescript": "4.9.5"
|
|
105
105
|
},
|
|
106
106
|
"overrides": {
|
|
107
|
-
"semver": "7.
|
|
107
|
+
"semver": "7.7.2"
|
|
108
108
|
},
|
|
109
109
|
"scripts": {
|
|
110
110
|
"clean": "rimraf '{src,test}/**/*.{js,map,d.ts}' 'package.zip' '.tmp' 'tmp'",
|
|
@@ -114,10 +114,8 @@
|
|
|
114
114
|
"download-libs": "npm run clean && bash script/download-libs.sh",
|
|
115
115
|
"clean-libs": "rimraf 'ffi'",
|
|
116
116
|
"build": "tsc --project tsconfig.build.json",
|
|
117
|
-
"prerelease": "npm run snyk-protect",
|
|
118
117
|
"release": "commit-and-tag-version",
|
|
119
118
|
"test": "cross-env PACT_DO_NOT_TRACK=true mocha \"{src,test}/**/*.spec.ts\"",
|
|
120
|
-
"snyk-protect": "snyk-protect",
|
|
121
119
|
"format:base": "prettier --parser typescript",
|
|
122
120
|
"format:check": "npm run format:base -- --list-different \"{src,test}/**/*.{ts,tsx}\"",
|
|
123
121
|
"format:fix": "npm run format:base -- --write \"{src,test}/**/*.{ts,tsx}\"",
|
|
@@ -160,5 +158,13 @@
|
|
|
160
158
|
}
|
|
161
159
|
]
|
|
162
160
|
},
|
|
163
|
-
"
|
|
161
|
+
"optionalDependencies": {
|
|
162
|
+
"@pact-foundation/pact-core-darwin-arm64": "16.1.0",
|
|
163
|
+
"@pact-foundation/pact-core-darwin-x64": "16.1.0",
|
|
164
|
+
"@pact-foundation/pact-core-linux-arm64-glibc": "16.1.0",
|
|
165
|
+
"@pact-foundation/pact-core-linux-arm64-musl": "16.1.0",
|
|
166
|
+
"@pact-foundation/pact-core-linux-x64-glibc": "16.1.0",
|
|
167
|
+
"@pact-foundation/pact-core-linux-x64-musl": "16.1.0",
|
|
168
|
+
"@pact-foundation/pact-core-windows-x64": "16.1.0"
|
|
169
|
+
}
|
|
164
170
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const wrapWithCheck: <F extends (...args: never[]) => boolean>(f: BooleanFunction<F>, contextMessage: string) => (...args: Parameters<F>) => boolean;
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type BooleanFunction<T> = T extends (...args: infer A) => boolean ? (...args: A) => boolean : never;
|
|
3
|
+
type BooleanFunctions<T> = {
|
|
4
4
|
[key in keyof T]: BooleanFunction<T[key]>;
|
|
5
5
|
};
|
|
6
6
|
export declare const wrapAllWithCheck: <T extends BooleanFunctions<T>>(o: T) => BooleanFunctions<T>;
|
package/src/consumer/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const logger_1 = require("../logger");
|
|
|
6
6
|
const checkErrors_1 = require("./checkErrors");
|
|
7
7
|
const ffi_1 = require("../ffi");
|
|
8
8
|
const internals_1 = require("./internals");
|
|
9
|
-
const asyncMessage = (ffi, interactionPtr) => ({
|
|
9
|
+
const asyncMessage = (ffi, interactionPtr, pactPtr, messageCount, index) => ({
|
|
10
10
|
withPluginRequestInteractionContents: (contentType, contents) => {
|
|
11
11
|
ffi.pactffiPluginInteractionContents(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, contents);
|
|
12
12
|
return true;
|
|
@@ -19,12 +19,14 @@ const asyncMessage = (ffi, interactionPtr) => ({
|
|
|
19
19
|
withBinaryContents: (body, contentType) => ffi.pactffiMessageWithBinaryContents(interactionPtr, contentType, body, body.length),
|
|
20
20
|
reifyMessage: () => ffi.pactffiMessageReify(interactionPtr),
|
|
21
21
|
withMetadata: (name, value) => ffi.pactffiMessageWithMetadata(interactionPtr, name, value),
|
|
22
|
+
getRequestContents: () => ffi.pactffiGetAsyncMessageRequestContents(pactPtr, messageCount, index),
|
|
22
23
|
});
|
|
23
24
|
const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger_1.getLogLevel)(), logFile) => {
|
|
24
25
|
if (logLevel) {
|
|
25
26
|
(0, logger_1.setLogLevel)(logLevel);
|
|
26
27
|
}
|
|
27
28
|
const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
|
|
29
|
+
let messageCount = 0;
|
|
28
30
|
const pactPtr = ffi.pactffiNewPact(consumer, provider);
|
|
29
31
|
if (!ffi.pactffiWithSpecification(pactPtr, version)) {
|
|
30
32
|
throw new Error(`Unable to set core spec version. The pact FfiSpecificationVersion '${version}' may be invalid (note this is not the same as the pact spec version)`);
|
|
@@ -61,10 +63,14 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
|
|
|
61
63
|
addMetadata: (namespace, name, value) => ffi.pactffiWithPactMetadata(pactPtr, namespace, name, value),
|
|
62
64
|
newAsynchronousMessage: (description) => {
|
|
63
65
|
const interactionPtr = ffi.pactffiNewAsyncMessage(pactPtr, description);
|
|
64
|
-
|
|
66
|
+
const index = messageCount;
|
|
67
|
+
messageCount += 1;
|
|
68
|
+
return asyncMessage(ffi, interactionPtr, pactPtr, messageCount, index);
|
|
65
69
|
},
|
|
66
70
|
newSynchronousMessage: (description) => {
|
|
67
71
|
const interactionPtr = ffi.pactffiNewSyncMessage(pactPtr, description);
|
|
72
|
+
const index = messageCount;
|
|
73
|
+
messageCount += 1;
|
|
68
74
|
return {
|
|
69
75
|
withPluginRequestInteractionContents: (contentType, contents) => {
|
|
70
76
|
ffi.pactffiPluginInteractionContents(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, contents);
|
|
@@ -86,6 +92,8 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
|
|
|
86
92
|
withRequestBinaryContents: (body, contentType) => ffi.pactffiWithBinaryFile(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, body, body.length),
|
|
87
93
|
withResponseBinaryContents: (body, contentType) => ffi.pactffiWithBinaryFile(interactionPtr, types_1.INTERACTION_PART_RESPONSE, contentType, body, body.length),
|
|
88
94
|
withMetadata: (name, value) => ffi.pactffiMessageWithMetadata(interactionPtr, name, value),
|
|
95
|
+
getRequestContents: () => ffi.pactffiGetSyncMessageRequestContents(pactPtr, messageCount, index),
|
|
96
|
+
getResponseContents: () => ffi.pactffiGetSyncMessageResponseContents(pactPtr, messageCount, index),
|
|
89
97
|
};
|
|
90
98
|
},
|
|
91
99
|
pactffiCreateMockServerForTransport(address, transport, config, port) {
|
|
@@ -131,6 +139,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
131
139
|
(0, logger_1.setLogLevel)(logLevel);
|
|
132
140
|
}
|
|
133
141
|
const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
|
|
142
|
+
let messageCount = 0;
|
|
134
143
|
const pactPtr = ffi.pactffiNewPact(consumer, provider);
|
|
135
144
|
if (!ffi.pactffiWithSpecification(pactPtr, version) || version < 4) {
|
|
136
145
|
throw new Error(`Unable to set core spec version. The pact FfiSpecificationVersion '${version}' may be invalid (note this is not the same as the pact spec version). It should be set to at least 3`);
|
|
@@ -148,13 +157,19 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
148
157
|
addMetadata: (namespace, name, value) => ffi.pactffiWithPactMetadata(pactPtr, namespace, name, value),
|
|
149
158
|
newMessage: (description) => {
|
|
150
159
|
const interactionPtr = ffi.pactffiNewAsyncMessage(pactPtr, description);
|
|
151
|
-
|
|
160
|
+
const index = messageCount;
|
|
161
|
+
messageCount += 1;
|
|
162
|
+
return asyncMessage(ffi, interactionPtr, pactPtr, messageCount, index);
|
|
152
163
|
},
|
|
153
164
|
newAsynchronousMessage: (description) => {
|
|
154
165
|
const interactionPtr = ffi.pactffiNewAsyncMessage(pactPtr, description);
|
|
155
|
-
|
|
166
|
+
const index = messageCount;
|
|
167
|
+
messageCount += 1;
|
|
168
|
+
return asyncMessage(ffi, interactionPtr, pactPtr, messageCount, index);
|
|
156
169
|
},
|
|
157
170
|
newSynchronousMessage: (description) => {
|
|
171
|
+
const index = messageCount;
|
|
172
|
+
messageCount += 1;
|
|
158
173
|
const interactionPtr = ffi.pactffiNewSyncMessage(pactPtr, description);
|
|
159
174
|
return {
|
|
160
175
|
withPluginRequestInteractionContents: (contentType, contents) => {
|
|
@@ -177,6 +192,8 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
|
|
|
177
192
|
withRequestBinaryContents: (body, contentType) => ffi.pactffiWithBinaryFile(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, body, body.length),
|
|
178
193
|
withResponseBinaryContents: (body, contentType) => ffi.pactffiWithBinaryFile(interactionPtr, types_1.INTERACTION_PART_RESPONSE, contentType, body, body.length),
|
|
179
194
|
withMetadata: (name, value) => ffi.pactffiMessageWithMetadata(interactionPtr, name, value),
|
|
195
|
+
getRequestContents: () => ffi.pactffiGetSyncMessageRequestContents(pactPtr, messageCount, index),
|
|
196
|
+
getResponseContents: () => ffi.pactffiGetSyncMessageResponseContents(pactPtr, messageCount, index),
|
|
180
197
|
};
|
|
181
198
|
},
|
|
182
199
|
pactffiCreateMockServerForTransport(address, transport, config, port) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,wCAMsB;AACtB,sCAKmB;AACnB,+CAAgE;AAUhE,gCAAmC;AACnC,2CAA8D;AAE9D,MAAM,YAAY,GAAG,CACnB,GAAQ,EACR,cAAsB,EACtB,OAAe,EACf,YAAoB,EACpB,KAAa,EACb,EAAE,CAAC,CAAC;IAGJ,oCAAoC,EAAE,CACpC,WAAmB,EACnB,QAAgB,EAChB,EAAE;QACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,gBAAgB,EAAE,CAAC,WAAmB,EAAE,EAAE,CACxC,GAAG,CAAC,8BAA8B,CAAC,cAAc,EAAE,WAAW,CAAC;IACjE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC;IACxE,cAAc,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE,CAC7D,GAAG,CAAC,4BAA4B,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;IACtE,eAAe,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACjD,GAAG,CAAC,6BAA6B,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC;IAClE,YAAY,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAClD,GAAG,CAAC,0BAA0B,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC;IACnE,kBAAkB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CACxD,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;IACH,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,CAAC;IAC3D,YAAY,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAC5C,GAAG,CAAC,0BAA0B,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;IAC7D,kBAAkB,EAAE,GAAG,EAAE,CACvB,GAAG,CAAC,qCAAqC,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;CAC1E,CAAC,CAAC;AAEI,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,QAAgB,EAChB,UAAmC,CAAC,EACpC,QAAQ,GAAG,IAAA,oBAAW,GAAE,EACxB,OAAgB,EACF,EAAE;IAChB,IAAI,QAAQ,EAAE;QACZ,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;KACvB;IACD,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAGzC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACnD,MAAM,IAAI,KAAK,CACb,sEAAsE,OAAO,uEAAuE,CACrJ,CAAC;KACH;IAED,OAAO;QACL,SAAS,EAAE,CAAC,IAAY,EAAE,aAAqB,EAAE,EAAE;YACjD,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,cAAc,EAAE,GAAG,EAAE;YACnB,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,gBAAgB,EAAE,CAChB,OAAe,EACf,aAAsB,EACtB,GAAG,GAAG,KAAK,EACX,EAAE;YACF,MAAM,IAAI,GAAG,GAAG,CAAC,8BAA8B,CAC7C,OAAO,EACP,GAAG,OAAO,IAAI,aAAa,IAAI,CAAC,EAAE,EAClC,GAAG,CACJ,CAAC;YACF,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,CAAC,iCAAyB,CAAC,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,iCAAyB,CAAC,GAAG,CAAC,KAAK,IAAI,CACP,CAAC;YAC9C,IAAI,KAAK,EAAE;gBACT,IAAI,KAAK,KAAK,mBAAmB,EAAE;oBACjC,IAAA,yBAAgB,EACd,mCAAmC,OAAO,mCAAmC,CAC9E,CAAC;iBACH;gBACD,IAAI,KAAK,KAAK,YAAY,EAAE;oBAC1B,IAAA,yBAAgB,EACd,iEAAiE,CAClE,CAAC;iBACH;gBACD,IAAA,yBAAgB,EACd,mFAAmF,KAAK,GAAG,CAC5F,CAAC;aACH;YACD,IAAI,IAAI,IAAI,CAAC,EAAE;gBACb,IAAA,yBAAgB,EACd,mDAAmD,IAAI,GAAG,CAC3D,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,6BAA6B,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9C,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC;QACpC,oBAAoB,EAAE,CAAC,IAAY,EAAoB,EAAE,CACvD,IAAA,gCAAoB,EAAC,GAAG,EAAE,IAAI,CAAC;QACjC,iBAAiB,EAAE,CAAC,cAAsB,EAAW,EAAE,CACrD,IAAA,2BAAa,EACX,CAAC,IAAY,EAAW,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAC7D,mBAAmB,CACpB,CAAC,cAAc,CAAC;QACnB,aAAa,EAAE,CAAC,GAAW,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAC3C,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;QACrC,4BAA4B,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CACxE,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;QAC3C,WAAW,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,KAAa,EAAW,EAAE,CACvE,GAAG,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;QAC9D,sBAAsB,EAAE,CAAC,WAAmB,EAAuB,EAAE;YACnE,MAAM,cAAc,GAAG,GAAG,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,YAAY,CAAC;YAC3B,YAAY,IAAI,CAAC,CAAC;YAElB,OAAO,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QACD,qBAAqB,EAAE,CAAC,WAAmB,EAAsB,EAAE;YACjE,MAAM,cAAc,GAAG,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,YAAY,CAAC;YAC3B,YAAY,IAAI,CAAC,CAAC;YAElB,OAAO;gBACL,oCAAoC,EAAE,CACpC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qCAAqC,EAAE,CACrC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,4CAA4C,EAAE,CAC5C,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;gBACjE,cAAc,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE,CAC7D,GAAG,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC/D,eAAe,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACjD,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC3D,mBAAmB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CACzD,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,CACL;gBACH,oBAAoB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC1D,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,CACL;gBACH,yBAAyB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC/D,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,0BAA0B,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAChE,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,YAAY,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAC5C,GAAG,CAAC,0BAA0B,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC7D,kBAAkB,EAAE,GAAG,EAAE,CACvB,GAAG,CAAC,oCAAoC,CACtC,OAAO,EACP,YAAY,EACZ,KAAK,CACN;gBACH,mBAAmB,EAAE,GAAG,EAAE,CACxB,GAAG,CAAC,qCAAqC,CACvC,OAAO,EACP,YAAY,EACZ,KAAK,CACN;aACJ,CAAC;QACJ,CAAC;QACD,mCAAmC,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,IAAa;YAEb,OAAO,GAAG,CAAC,mCAAmC,CAC5C,OAAO,EACP,OAAO,EACP,IAAI,IAAI,CAAC,EACT,SAAS,EACT,MAAM,CACP,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,CAAC,sBAA8B,EAAuB,EAAE;YACtE,MAAM,cAAc,GAAG,GAAG,CAAC,qBAAqB,CAC9C,OAAO,EACP,sBAAsB,CACvB,CAAC;YAEF,OAAO,IAAA,8BAAgB,EAAsB;gBAC3C,aAAa,EAAE,CAAC,kBAA0B,EAAE,EAAE,CAC5C,GAAG,CAAC,oBAAoB,CAAC,cAAc,EAAE,kBAAkB,CAAC;gBAC9D,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;gBACjE,cAAc,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE,CAC7D,GAAG,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC/D,eAAe,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACjD,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC3D,WAAW,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAC5C,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC;gBACtD,SAAS,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE,CACxD,GAAG,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;gBACnE,iBAAiB,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE,CAChE,GAAG,CAAC,iBAAiB,CACnB,cAAc,EACd,gCAAwB,EACxB,IAAI,EACJ,KAAK,EACL,KAAK,CACN;gBACH,eAAe,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CACrD,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,CACL;gBACH,qBAAqB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC3D,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,wBAAwB,EAAE,CACxB,WAAmB,EACnB,QAAgB,EAChB,YAAoB,EACpB,EAAE,CACF,GAAG,CAAC,wBAAwB,CAC1B,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,EACR,YAAY,CACb,KAAK,SAAS;gBACjB,kBAAkB,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE,CACjE,GAAG,CAAC,iBAAiB,CACnB,cAAc,EACd,iCAAyB,EACzB,IAAI,EACJ,KAAK,EACL,KAAK,CACN;gBACH,gBAAgB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CACtD,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,CACL;gBACH,sBAAsB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC5D,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,yBAAyB,EAAE,CACzB,WAAmB,EACnB,QAAgB,EAChB,YAAoB,EACpB,EAAE,CACF,GAAG,CAAC,wBAAwB,CAC1B,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,QAAQ,EACR,YAAY,CACb,KAAK,SAAS;gBACjB,UAAU,EAAE,CAAC,MAAuB,EAAE,EAAE,CACtC,GAAG,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnE,oCAAoC,EAAE,CACpC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBAEF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,4CAA4C,EAAE,CAC5C,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBAEF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qCAAqC,EAAE,CACrC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AArUW,QAAA,gBAAgB,oBAqU3B;AAEK,MAAM,uBAAuB,GAAG,CACrC,QAAgB,EAChB,QAAgB,EAChB,UAAmC,CAAC,EACpC,QAAQ,GAAG,IAAA,oBAAW,GAAE,EACxB,OAAgB,EACK,EAAE;IACvB,IAAI,QAAQ,EAAE;QACZ,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;KACvB;IACD,MAAM,GAAG,GAAG,IAAA,eAAS,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAGzC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;QAClE,MAAM,IAAI,KAAK,CACb,sEAAsE,OAAO,uGAAuG,CACrL,CAAC;KACH;IAED,OAAO;QACL,SAAS,EAAE,CAAC,IAAY,EAAE,aAAqB,EAAE,EAAE;YACjD,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,cAAc,EAAE,GAAG,EAAE;YACnB,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,iBAAiB,EAAE,CAAC,cAAsB,EAAW,EAAE,CACrD,IAAA,2BAAa,EACX,CAAC,IAAY,EAAW,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAC7D,mBAAmB,CACpB,CAAC,cAAc,CAAC;QACnB,aAAa,EAAE,CAAC,GAAW,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CAC3C,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;QACrC,4BAA4B,EAAE,CAAC,IAAY,EAAE,GAAW,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,CACxE,IAAA,qBAAS,EAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;QAC3C,WAAW,EAAE,CAAC,SAAiB,EAAE,IAAY,EAAE,KAAa,EAAW,EAAE,CACvE,GAAG,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;QAE9D,UAAU,EAAE,CAAC,WAAmB,EAAuB,EAAE;YACvD,MAAM,cAAc,GAAG,GAAG,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,YAAY,CAAC;YAC3B,YAAY,IAAI,CAAC,CAAC;YAElB,OAAO,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QACD,sBAAsB,EAAE,CAAC,WAAmB,EAAuB,EAAE;YACnE,MAAM,cAAc,GAAG,GAAG,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,YAAY,CAAC;YAC3B,YAAY,IAAI,CAAC,CAAC;YAElB,OAAO,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;QACD,qBAAqB,EAAE,CAAC,WAAmB,EAAsB,EAAE;YACjE,MAAM,KAAK,GAAG,YAAY,CAAC;YAC3B,YAAY,IAAI,CAAC,CAAC;YAGlB,MAAM,cAAc,GAAG,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEvE,OAAO;gBACL,oCAAoC,EAAE,CACpC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,qCAAqC,EAAE,CACrC,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,4CAA4C,EAAE,CAC5C,WAAmB,EACnB,QAAgB,EAChB,EAAE;oBACF,GAAG,CAAC,gCAAgC,CAClC,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,QAAQ,CACT,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;gBACjE,cAAc,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE,CAC7D,GAAG,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC/D,eAAe,EAAE,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CACjD,GAAG,CAAC,sBAAsB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC3D,mBAAmB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CACzD,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,CACL;gBACH,oBAAoB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC1D,GAAG,CAAC,eAAe,CACjB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,CACL;gBACH,yBAAyB,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAC/D,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,gCAAwB,EACxB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,0BAA0B,EAAE,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE,CAChE,GAAG,CAAC,qBAAqB,CACvB,cAAc,EACd,iCAAyB,EACzB,WAAW,EACX,IAAI,EACJ,IAAI,CAAC,MAAM,CACZ;gBACH,YAAY,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAC5C,GAAG,CAAC,0BAA0B,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC;gBAC7D,kBAAkB,EAAE,GAAG,EAAE,CACvB,GAAG,CAAC,oCAAoC,CACtC,OAAO,EACP,YAAY,EACZ,KAAK,CACN;gBACH,mBAAmB,EAAE,GAAG,EAAE,CACxB,GAAG,CAAC,qCAAqC,CACvC,OAAO,EACP,YAAY,EACZ,KAAK,CACN;aACJ,CAAC;QACJ,CAAC;QACD,mCAAmC,CACjC,OAAe,EACf,SAAiB,EACjB,MAAc,EACd,IAAa;YAEb,OAAO,GAAG,CAAC,mCAAmC,CAC5C,OAAO,EACP,OAAO,EACP,IAAI,IAAI,CAAC,EACT,SAAS,EACT,MAAM,CACP,CAAC;QACJ,CAAC;QACD,6BAA6B,EAAE,CAAC,IAAY,EAAE,EAAE,CAC9C,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC;QACpC,oBAAoB,EAAE,CAAC,IAAY,EAAoB,EAAE,CACvD,IAAA,gCAAoB,EAAC,GAAG,EAAE,IAAI,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC;AAzKW,QAAA,uBAAuB,2BAyKlC;AAEW,QAAA,4BAA4B,GAAG,+BAAuB,CAAC"}
|
package/src/consumer/types.d.ts
CHANGED
|
@@ -1,64 +1,65 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
3
|
-
export
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
export type MatchingResult = MatchingResultSuccess | MatchingResultRequestMismatch | MatchingResultRequestNotFound | MatchingResultMissingRequest | MatchingResultPlugin;
|
|
4
|
+
export type MatchingResultSuccess = {
|
|
4
5
|
type: 'request-match';
|
|
5
6
|
};
|
|
6
|
-
export
|
|
7
|
+
export type MatchingResultRequestMismatch = {
|
|
7
8
|
type: 'request-mismatch';
|
|
8
9
|
method: string;
|
|
9
10
|
path: string;
|
|
10
11
|
mismatches: Mismatch[];
|
|
11
12
|
};
|
|
12
|
-
export
|
|
13
|
+
export type MatchingResultRequestNotFound = {
|
|
13
14
|
type: 'request-not-found';
|
|
14
15
|
method: string;
|
|
15
16
|
path: string;
|
|
16
17
|
request: RequestMismatch;
|
|
17
18
|
};
|
|
18
|
-
export
|
|
19
|
+
export type MatchingResultMissingRequest = {
|
|
19
20
|
type: 'missing-request';
|
|
20
21
|
method: string;
|
|
21
22
|
path: string;
|
|
22
23
|
request: RequestMismatch;
|
|
23
24
|
};
|
|
24
|
-
export
|
|
25
|
+
export type MatchingResultPlugin = {
|
|
25
26
|
error: string;
|
|
26
27
|
path?: string;
|
|
27
28
|
mismatches: PluginContentMismatch[];
|
|
28
29
|
};
|
|
29
|
-
export
|
|
30
|
-
export
|
|
30
|
+
export type Mismatch = MethodMismatch | PathMismatch | StatusMismatch | QueryMismatch | HeaderMismatch | BodyTypeMismatch | BodyMismatch | MetadataMismatch | PluginContentMismatch;
|
|
31
|
+
export type MethodMismatch = {
|
|
31
32
|
type: 'MethodMismatch';
|
|
32
33
|
expected: string;
|
|
33
34
|
actual: string;
|
|
34
35
|
};
|
|
35
|
-
export
|
|
36
|
+
export type PathMismatch = {
|
|
36
37
|
type: 'PathMismatch';
|
|
37
38
|
expected: string;
|
|
38
39
|
actual: string;
|
|
39
40
|
mismatch: string;
|
|
40
41
|
};
|
|
41
|
-
export
|
|
42
|
+
export type StatusMismatch = {
|
|
42
43
|
type: 'StatusMismatch';
|
|
43
44
|
expected: string;
|
|
44
45
|
actual: string;
|
|
45
46
|
mismatch: string;
|
|
46
47
|
};
|
|
47
|
-
export
|
|
48
|
+
export type QueryMismatch = {
|
|
48
49
|
type: 'QueryMismatch';
|
|
49
50
|
parameter: string;
|
|
50
51
|
expected: string;
|
|
51
52
|
actual: string;
|
|
52
53
|
mismatch: string;
|
|
53
54
|
};
|
|
54
|
-
export
|
|
55
|
+
export type HeaderMismatch = {
|
|
55
56
|
type: 'HeaderMismatch';
|
|
56
57
|
key: string;
|
|
57
58
|
expected: string;
|
|
58
59
|
actual: string;
|
|
59
60
|
mismatch: string;
|
|
60
61
|
};
|
|
61
|
-
export
|
|
62
|
+
export type BodyTypeMismatch = {
|
|
62
63
|
type: 'BodyTypeMismatch';
|
|
63
64
|
expected: string;
|
|
64
65
|
actual: string;
|
|
@@ -66,21 +67,21 @@ export declare type BodyTypeMismatch = {
|
|
|
66
67
|
expectedBody?: string;
|
|
67
68
|
actualBody?: string;
|
|
68
69
|
};
|
|
69
|
-
export
|
|
70
|
+
export type BodyMismatch = {
|
|
70
71
|
type: 'BodyMismatch';
|
|
71
72
|
path: string;
|
|
72
73
|
expected?: string;
|
|
73
74
|
actual?: string;
|
|
74
75
|
mismatch: string;
|
|
75
76
|
};
|
|
76
|
-
export
|
|
77
|
+
export type MetadataMismatch = {
|
|
77
78
|
type: 'MetadataMismatch';
|
|
78
79
|
key: string;
|
|
79
80
|
expected: string;
|
|
80
81
|
actual: string;
|
|
81
82
|
mismatch: string;
|
|
82
83
|
};
|
|
83
|
-
export
|
|
84
|
+
export type RequestMismatch = {
|
|
84
85
|
method?: string;
|
|
85
86
|
path?: string;
|
|
86
87
|
headers?: Record<string, Array<string>>;
|
|
@@ -94,22 +95,22 @@ export declare type PluginContentMismatch = {
|
|
|
94
95
|
mismatch: string;
|
|
95
96
|
diff?: string;
|
|
96
97
|
};
|
|
97
|
-
export
|
|
98
|
-
export
|
|
98
|
+
export type PluginInteraction = RequestPluginInteraction & ResponsePluginInteraction & RequestResponsePluginInteraction;
|
|
99
|
+
export type RequestPluginInteraction = {
|
|
99
100
|
withPluginRequestInteractionContents: (contentType: string, contents: string) => boolean;
|
|
100
101
|
};
|
|
101
|
-
export
|
|
102
|
+
export type ResponsePluginInteraction = {
|
|
102
103
|
withPluginResponseInteractionContents: (contentType: string, contents: string) => boolean;
|
|
103
104
|
};
|
|
104
|
-
export
|
|
105
|
+
export type RequestResponsePluginInteraction = {
|
|
105
106
|
withPluginRequestResponseInteractionContents: (contentType: string, contents: string) => boolean;
|
|
106
107
|
};
|
|
107
|
-
export
|
|
108
|
+
export type PluginPact = {
|
|
108
109
|
addPlugin: (plugin: string, version: string) => void;
|
|
109
110
|
cleanupPlugins: () => void;
|
|
110
111
|
cleanupMockServer: (port: number) => boolean;
|
|
111
112
|
};
|
|
112
|
-
export
|
|
113
|
+
export type ConsumerInteraction = PluginInteraction & {
|
|
113
114
|
uponReceiving: (description: string) => boolean;
|
|
114
115
|
given: (state: string) => boolean;
|
|
115
116
|
givenWithParam: (state: string, name: string, value: string) => boolean;
|
|
@@ -126,7 +127,7 @@ export declare type ConsumerInteraction = PluginInteraction & {
|
|
|
126
127
|
withResponseBinaryBody: (body: Buffer, contentType: string) => boolean;
|
|
127
128
|
withResponseMultipartBody: (contentType: string, filename: string, mimePartName: string) => boolean;
|
|
128
129
|
};
|
|
129
|
-
export
|
|
130
|
+
export type ConsumerPact = PluginPact & {
|
|
130
131
|
newInteraction: (description: string) => ConsumerInteraction;
|
|
131
132
|
newAsynchronousMessage: (description: string) => AsynchronousMessage;
|
|
132
133
|
newSynchronousMessage: (description: string) => SynchronousMessage;
|
|
@@ -139,7 +140,7 @@ export declare type ConsumerPact = PluginPact & {
|
|
|
139
140
|
mockServerMatchedSuccessfully: (port: number) => boolean;
|
|
140
141
|
addMetadata: (namespace: string, name: string, value: string) => boolean;
|
|
141
142
|
};
|
|
142
|
-
export
|
|
143
|
+
export type AsynchronousMessage = RequestPluginInteraction & {
|
|
143
144
|
given: (state: string) => void;
|
|
144
145
|
givenWithParam: (state: string, name: string, value: string) => void;
|
|
145
146
|
givenWithParams: (state: string, params: string) => void;
|
|
@@ -148,9 +149,10 @@ export declare type AsynchronousMessage = RequestPluginInteraction & {
|
|
|
148
149
|
withContents: (body: string, contentType: string) => void;
|
|
149
150
|
withBinaryContents: (body: Buffer, contentType: string) => void;
|
|
150
151
|
reifyMessage: () => string;
|
|
152
|
+
getRequestContents: () => Buffer;
|
|
151
153
|
};
|
|
152
|
-
export
|
|
153
|
-
export
|
|
154
|
+
export type ConsumerMessage = AsynchronousMessage;
|
|
155
|
+
export type SynchronousMessage = PluginInteraction & {
|
|
154
156
|
given: (state: string) => void;
|
|
155
157
|
givenWithParam: (state: string, name: string, value: string) => void;
|
|
156
158
|
givenWithParams: (state: string, params: string) => void;
|
|
@@ -159,8 +161,10 @@ export declare type SynchronousMessage = PluginInteraction & {
|
|
|
159
161
|
withResponseContents: (body: string, contentType: string) => void;
|
|
160
162
|
withRequestBinaryContents: (body: Buffer, contentType: string) => void;
|
|
161
163
|
withResponseBinaryContents: (body: Buffer, contentType: string) => void;
|
|
164
|
+
getRequestContents: () => Buffer;
|
|
165
|
+
getResponseContents: () => Buffer[];
|
|
162
166
|
};
|
|
163
|
-
export
|
|
167
|
+
export type ConsumerMessagePact = PluginPact & {
|
|
164
168
|
newMessage: (description: string) => AsynchronousMessage;
|
|
165
169
|
newAsynchronousMessage: (description: string) => AsynchronousMessage;
|
|
166
170
|
newSynchronousMessage: (description: string) => SynchronousMessage;
|
package/src/ffi/index.js
CHANGED
|
@@ -29,9 +29,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.getFfiLib = exports.PACT_FFI_VERSION = void 0;
|
|
30
30
|
const node_path_1 = __importDefault(require("node:path"));
|
|
31
31
|
const bindings = require("node-gyp-build");
|
|
32
|
+
const detect_libc_1 = require("detect-libc");
|
|
32
33
|
const logger_1 = __importStar(require("../logger"));
|
|
33
34
|
const types_1 = require("./types");
|
|
34
35
|
exports.PACT_FFI_VERSION = '0.4.22';
|
|
36
|
+
function getPlatformArchSpecificPackage() {
|
|
37
|
+
const { arch } = process;
|
|
38
|
+
let os = process.platform;
|
|
39
|
+
if (['win32', 'cygwin'].includes(process.platform)) {
|
|
40
|
+
os = 'windows';
|
|
41
|
+
}
|
|
42
|
+
let platformArchSpecificPackage = `@pact-foundation/pact-core-${os}-${arch}`;
|
|
43
|
+
if (os === 'linux') {
|
|
44
|
+
platformArchSpecificPackage += (0, detect_libc_1.isNonGlibcLinuxSync)() ? '-musl' : '-glibc';
|
|
45
|
+
}
|
|
46
|
+
const prebuildPackageLocation = process.env['PACT_PREBUILD_PACKAGE_LOCATION'];
|
|
47
|
+
if (prebuildPackageLocation) {
|
|
48
|
+
platformArchSpecificPackage = node_path_1.default.join(prebuildPackageLocation, platformArchSpecificPackage);
|
|
49
|
+
}
|
|
50
|
+
const packagePath = `${platformArchSpecificPackage}/package.json`;
|
|
51
|
+
try {
|
|
52
|
+
let resolvedPackagePath = require.resolve(packagePath);
|
|
53
|
+
if (os === 'windows') {
|
|
54
|
+
resolvedPackagePath = resolvedPackagePath.replace('\\package.json', '');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
resolvedPackagePath = resolvedPackagePath.replace('/package.json', '');
|
|
58
|
+
}
|
|
59
|
+
return resolvedPackagePath;
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
throw new Error(`Couldn't find npm package ${platformArchSpecificPackage} \n 💡 you can tell Pact where the npm package is located with env var $PACT_PREBUILD_PACKAGE_LOCATION`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
35
65
|
const supportedPlatforms = [
|
|
36
66
|
'darwin-arm64',
|
|
37
67
|
'darwin-x64',
|
|
@@ -57,7 +87,7 @@ const loadPathMessage = (bindingsPath) => `: attempting to load native module fr
|
|
|
57
87
|
: `\n source: pact-js-core binding lookup \n\n - You can override via PACT_PREBUILD_LOCATION\n`}`;
|
|
58
88
|
const bindingsResolver = (bindingsPath) => bindings(bindingsPath);
|
|
59
89
|
const bindingPaths = [
|
|
60
|
-
node_path_1.default.resolve(
|
|
90
|
+
node_path_1.default.resolve(getPlatformArchSpecificPackage()),
|
|
61
91
|
process.env['PACT_PREBUILD_LOCATION']?.toString() ?? node_path_1.default.resolve(),
|
|
62
92
|
];
|
|
63
93
|
let ffiLib;
|
package/src/ffi/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,2CAA4C;AAC5C,oDAAsD;AAEtD,mCAAiD;AAEpC,QAAA,gBAAgB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/src/ffi/types.d.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
export type FfiHandle = number;
|
|
4
|
+
export type FfiPactHandle = number;
|
|
5
|
+
export type FfiInteractionHandle = number;
|
|
6
|
+
export type FfiVerifierHandle = number;
|
|
7
|
+
export type FfiMessagePactHandle = number;
|
|
8
|
+
export type FfiMessageHandle = number;
|
|
9
|
+
export type FfiSpecificationVersion = 0 | 1 | 2 | 3 | 4 | 5;
|
|
9
10
|
export declare const FfiSpecificationVersion: Record<string, FfiSpecificationVersion>;
|
|
10
|
-
export
|
|
11
|
+
export type FfiWritePactResponse = 0 | 1 | 2 | 3;
|
|
11
12
|
export declare const FfiWritePactResponse: Record<string, FfiWritePactResponse>;
|
|
12
|
-
export
|
|
13
|
+
export type FfiWriteMessagePactResponse = 0 | 1 | 2;
|
|
13
14
|
export declare const FfiWriteMessagePactResponse: Record<string, FfiWriteMessagePactResponse>;
|
|
14
|
-
export
|
|
15
|
+
export type FfiConfigurePluginResponse = 0 | 1 | 2 | 3;
|
|
15
16
|
export declare const FfiConfigurePluginResponse: Record<string, FfiConfigurePluginResponse>;
|
|
16
|
-
export
|
|
17
|
+
export type FfiPluginInteractionResponse = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
17
18
|
export declare const FfiPluginInteractionResponse: Record<string, FfiPluginInteractionResponse>;
|
|
18
|
-
export
|
|
19
|
+
export type FfiInteractionPart = 0 | 1;
|
|
19
20
|
export declare const INTERACTION_PART_REQUEST: FfiInteractionPart;
|
|
20
21
|
export declare const INTERACTION_PART_RESPONSE: FfiInteractionPart;
|
|
21
22
|
export declare const CREATE_MOCK_SERVER_ERRORS: {
|
|
@@ -44,11 +45,11 @@ export declare enum FfiLogLevelFilter {
|
|
|
44
45
|
'debug' = 4,
|
|
45
46
|
'trace' = 5
|
|
46
47
|
}
|
|
47
|
-
export
|
|
48
|
+
export type Ffi = {
|
|
48
49
|
pactffiInit(logLevel: string): string;
|
|
49
50
|
pactffiVersion(): string;
|
|
50
51
|
} & FfiConsumerFunctions & FfiVerificationFunctions;
|
|
51
|
-
export
|
|
52
|
+
export type FfiConsumerFunctions = {
|
|
52
53
|
pactffiCreateMockServerForPact(handle: FfiPactHandle, address: string, tls: boolean): number;
|
|
53
54
|
pactffiCreateMockServerForTransport(handle: FfiPactHandle, address: string, port: number, transport: string, config: string): number;
|
|
54
55
|
pactffiNewPact(consumer: string, provider: string): FfiPactHandle;
|
|
@@ -91,8 +92,11 @@ export declare type FfiConsumerFunctions = {
|
|
|
91
92
|
pactffiMessageWithBinaryContents(handle: FfiMessageHandle, contentType: string, data: Buffer, size: number): void;
|
|
92
93
|
pactffiMessageWithMetadata(handle: FfiMessageHandle, key: string, value: string): void;
|
|
93
94
|
pactffiMessageReify(handle: FfiMessageHandle): string;
|
|
95
|
+
pactffiGetAsyncMessageRequestContents(pact: FfiPactHandle, messageCount: number, messageIndex: number): Buffer;
|
|
96
|
+
pactffiGetSyncMessageRequestContents(pact: FfiPactHandle, messageCount: number, messageIndex: number): Buffer;
|
|
97
|
+
pactffiGetSyncMessageResponseContents(pact: FfiPactHandle, messageCount: number, messageIndex: number): Buffer[];
|
|
94
98
|
};
|
|
95
|
-
export
|
|
99
|
+
export type FfiVerificationFunctions = {
|
|
96
100
|
pactffiVerifierNewForApplication(libraryName: string, version: string): FfiVerifierHandle;
|
|
97
101
|
pactffiVerifierSetProviderInfo(handle: FfiVerifierHandle, providerName: string, scheme: string, host: string, port: number, path: string): void;
|
|
98
102
|
pactffiVerifierSetFilterInfo(handle: FfiVerifierHandle, description: string, state: string, noState: boolean): void;
|
package/src/logger/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type LogLevel = 'debug' | 'error' | 'info' | 'trace' | 'warn';
|
|
2
|
+
export type Logger = {
|
|
3
3
|
pactCrash: (message: string, context?: string) => void;
|
|
4
4
|
error: (message: string, context?: string) => void;
|
|
5
5
|
warn: (message: string, context?: string) => void;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { FnMapping } from './types';
|
|
2
2
|
import { InternalPactVerifierOptions } from '../types';
|
|
3
3
|
import { FfiVerificationFunctions } from '../../ffi/types';
|
|
4
|
-
|
|
4
|
+
type IgnoredFfiFunctions = {
|
|
5
5
|
pactffiVerifierNewForApplication: 1;
|
|
6
6
|
pactffiVerifierExecute: 1;
|
|
7
7
|
pactffiVerifierShutdown: 1;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
type MergedFfiSourceFunctions = {
|
|
10
10
|
pactffiVerifierAddFileSource: 1;
|
|
11
11
|
pactffiVerifierUrlSource: 1;
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
type RequiredFfiVerificationFunctions = Omit<FfiVerificationFunctions, keyof (IgnoredFfiFunctions & MergedFfiSourceFunctions)>;
|
|
14
|
+
type OrderedExecution = {
|
|
15
15
|
[Key in keyof RequiredFfiVerificationFunctions]: number;
|
|
16
16
|
};
|
|
17
17
|
export declare const orderOfExecution: OrderedExecution;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Ffi, FfiHandle } from '../../ffi/types';
|
|
2
2
|
export declare const deprecatedFunction: (_: unknown, property: string) => boolean;
|
|
3
|
-
|
|
3
|
+
type KeyedObject = {
|
|
4
4
|
[key: string]: unknown;
|
|
5
5
|
};
|
|
6
|
-
|
|
6
|
+
type FnArgumentMapping<O> = {
|
|
7
7
|
validateAndExecute: (ffi: Ffi, handle: FfiHandle, options: O) => FnValidationResult;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type FnMapping<T extends KeyedObject, O> = {
|
|
10
10
|
[Key in keyof T]: FnArgumentMapping<O>;
|
|
11
11
|
};
|
|
12
12
|
export declare enum FnValidationStatus {
|
|
@@ -14,16 +14,16 @@ export declare enum FnValidationStatus {
|
|
|
14
14
|
IGNORE = 1,
|
|
15
15
|
FAIL = 2
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
type FnValidationResultSuccess = {
|
|
18
18
|
status: FnValidationStatus.SUCCESS;
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
type FnValidationResultFail = {
|
|
21
21
|
status: FnValidationStatus.FAIL;
|
|
22
22
|
messages: string[];
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
type FnValidationResultIgnore = {
|
|
25
25
|
status: FnValidationStatus.IGNORE;
|
|
26
26
|
messages: string[];
|
|
27
27
|
};
|
|
28
|
-
export
|
|
28
|
+
export type FnValidationResult = FnValidationResultSuccess | FnValidationResultFail | FnValidationResultIgnore;
|
|
29
29
|
export {};
|
package/src/verifier/types.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ export declare const deprecatedBy: (preferredOption: string) => () => (_: unknow
|
|
|
4
4
|
export declare const incompatibleWith: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: unknown, property: string) => boolean;
|
|
5
5
|
export declare const requires: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: unknown, property: string) => boolean;
|
|
6
6
|
export declare const requiresOneOf: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: unknown, property: string) => boolean;
|
|
7
|
-
|
|
8
|
-
export
|
|
7
|
+
type AssertFunction = (a: unknown, property: string) => boolean;
|
|
8
|
+
export type ArgumentValidationRules<T> = {
|
|
9
9
|
[Key in keyof T]-?: ((options: T) => AssertFunction)[];
|
|
10
10
|
};
|
|
11
11
|
export declare const validationRules: ArgumentValidationRules<InternalPactVerifierOptions>;
|
package/.snyk
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
|
|
2
|
-
version: v1.13.5
|
|
3
|
-
ignore: {}
|
|
4
|
-
# patches apply the minimum changes required to fix a vulnerability
|
|
5
|
-
patch:
|
|
6
|
-
'npm:extend:20180424':
|
|
7
|
-
- request > extend:
|
|
8
|
-
patched: '2019-07-16T10:43:49.177Z'
|
|
9
|
-
SNYK-JS-HTTPSPROXYAGENT-469131:
|
|
10
|
-
- snyk > proxy-agent > https-proxy-agent:
|
|
11
|
-
patched: '2019-10-04T05:36:40.516Z'
|
|
12
|
-
- snyk > proxy-agent > pac-proxy-agent > https-proxy-agent:
|
|
13
|
-
patched: '2019-10-04T05:36:40.516Z'
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|