@pact-foundation/pact-core 19.2.0 → 20.0.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.
Files changed (91) hide show
  1. package/.editorconfig +13 -0
  2. package/CHANGELOG.md +9 -0
  3. package/biome.jsonc +28 -0
  4. package/{src → dist}/consumer/checkErrors.js +1 -1
  5. package/dist/consumer/checkErrors.js.map +1 -0
  6. package/{src → dist}/consumer/index.d.ts +2 -2
  7. package/{src → dist}/consumer/index.js +9 -1
  8. package/dist/consumer/index.js.map +1 -0
  9. package/{src → dist}/consumer/internals.d.ts +2 -2
  10. package/dist/consumer/internals.js.map +1 -0
  11. package/{src → dist}/consumer/types.d.ts +49 -0
  12. package/dist/consumer/types.js.map +1 -0
  13. package/{src → dist}/ffi/index.d.ts +2 -2
  14. package/{src → dist}/ffi/index.js +17 -1
  15. package/dist/ffi/index.js.map +1 -0
  16. package/{src → dist}/ffi/types.d.ts +5 -5
  17. package/{src → dist}/ffi/types.js +16 -0
  18. package/dist/ffi/types.js.map +1 -0
  19. package/{src → dist}/index.js +4 -5
  20. package/dist/index.js.map +1 -0
  21. package/dist/logger/crashMessage.js.map +1 -0
  22. package/{src → dist}/logger/index.d.ts +1 -1
  23. package/{src → dist}/logger/index.js +2 -0
  24. package/dist/logger/index.js.map +1 -0
  25. package/dist/logger/pino.d.ts +3 -0
  26. package/{src → dist}/logger/pino.js +3 -0
  27. package/dist/logger/pino.js.map +1 -0
  28. package/dist/logger/types.js.map +1 -0
  29. package/{src → dist}/pact-environment.js +1 -1
  30. package/dist/pact-environment.js.map +1 -0
  31. package/{src → dist}/pact.d.ts +2 -2
  32. package/{src → dist}/pact.js +3 -2
  33. package/dist/pact.js.map +1 -0
  34. package/{src → dist}/verifier/argumentMapper/arguments.d.ts +3 -3
  35. package/{src → dist}/verifier/argumentMapper/arguments.js +5 -5
  36. package/dist/verifier/argumentMapper/arguments.js.map +1 -0
  37. package/{src → dist}/verifier/argumentMapper/index.d.ts +2 -2
  38. package/{src → dist}/verifier/argumentMapper/index.js +1 -1
  39. package/dist/verifier/argumentMapper/index.js.map +1 -0
  40. package/{src → dist}/verifier/argumentMapper/types.d.ts +1 -1
  41. package/dist/verifier/argumentMapper/types.js.map +1 -0
  42. package/{src → dist}/verifier/index.d.ts +1 -1
  43. package/{src → dist}/verifier/index.js +4 -0
  44. package/dist/verifier/index.js.map +1 -0
  45. package/{src → dist}/verifier/nativeVerifier.d.ts +1 -1
  46. package/{src → dist}/verifier/nativeVerifier.js +4 -1
  47. package/dist/verifier/nativeVerifier.js.map +1 -0
  48. package/{src → dist}/verifier/types.d.ts +4 -1
  49. package/dist/verifier/types.js.map +1 -0
  50. package/{src → dist}/verifier/validateOptions.d.ts +1 -1
  51. package/{src → dist}/verifier/validateOptions.js +3 -0
  52. package/dist/verifier/validateOptions.js.map +1 -0
  53. package/junit.xml +526 -0
  54. package/package.json +32 -51
  55. package/eslint.config.mjs +0 -68
  56. package/src/consumer/checkErrors.js.map +0 -1
  57. package/src/consumer/index.js.map +0 -1
  58. package/src/consumer/internals.js.map +0 -1
  59. package/src/consumer/types.js.map +0 -1
  60. package/src/ffi/index.js.map +0 -1
  61. package/src/ffi/node-gyp-build.d.ts +0 -1
  62. package/src/ffi/node-gyp-build.js +0 -2
  63. package/src/ffi/node-gyp-build.js.map +0 -1
  64. package/src/ffi/types.js.map +0 -1
  65. package/src/index.js.map +0 -1
  66. package/src/logger/crashMessage.js.map +0 -1
  67. package/src/logger/index.js.map +0 -1
  68. package/src/logger/pino.d.ts +0 -3
  69. package/src/logger/pino.js.map +0 -1
  70. package/src/logger/types.js.map +0 -1
  71. package/src/pact-environment.js.map +0 -1
  72. package/src/pact.js.map +0 -1
  73. package/src/verifier/argumentMapper/arguments.js.map +0 -1
  74. package/src/verifier/argumentMapper/index.js.map +0 -1
  75. package/src/verifier/argumentMapper/types.js.map +0 -1
  76. package/src/verifier/index.js.map +0 -1
  77. package/src/verifier/nativeVerifier.js.map +0 -1
  78. package/src/verifier/types.js.map +0 -1
  79. package/src/verifier/validateOptions.js.map +0 -1
  80. package/tsconfig.test.json +0 -13
  81. package/{src → dist}/consumer/checkErrors.d.ts +0 -0
  82. package/{src → dist}/consumer/internals.js +0 -0
  83. package/{src → dist}/consumer/types.js +0 -0
  84. package/{src → dist}/index.d.ts +4 -4
  85. /package/{src → dist}/logger/crashMessage.d.ts +0 -0
  86. /package/{src → dist}/logger/crashMessage.js +0 -0
  87. /package/{src → dist}/logger/types.d.ts +0 -0
  88. /package/{src → dist}/logger/types.js +0 -0
  89. /package/{src → dist}/pact-environment.d.ts +0 -0
  90. /package/{src → dist}/verifier/argumentMapper/types.js +0 -0
  91. /package/{src → dist}/verifier/types.js +0 -0
package/.editorconfig ADDED
@@ -0,0 +1,13 @@
1
+ # EditorConfig is awesome: http://EditorConfig.org
2
+
3
+ # top-most EditorConfig file
4
+ root = true
5
+
6
+ # Unix-style newlines with a newline ending every file
7
+ [*]
8
+ charset = utf-8
9
+ end_of_line = lf
10
+ insert_final_newline = true
11
+ trim_trailing_whitespace = true
12
+ indent_style = space
13
+ indent_size = 2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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
+ ## [20.0.0](https://github.com/pact-foundation/pact-js-core/compare/v19.2.0...v20.0.0) (2026-05-29)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * drop Node 18/20 support, target Node 22+ (#885)
11
+
12
+ * drop Node 18/20 support, target Node 22+ ([#885](https://github.com/pact-foundation/pact-js-core/issues/885)) ([60313ee](https://github.com/pact-foundation/pact-js-core/commit/60313ee47a5c4264c140c171bd37510fca78daba))
13
+
5
14
  ## [19.2.0](https://github.com/pact-foundation/pact-js-core/compare/v19.1.0...v19.2.0) (2026-05-01)
6
15
 
7
16
 
package/biome.jsonc ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "assist": { "actions": { "source": { "organizeImports": "on" } } },
3
+ "linter": {
4
+ "enabled": true,
5
+ "rules": {
6
+ "recommended": true,
7
+ "complexity": {
8
+ // Conflicts with TypeScript's noPropertyAccessFromIndexSignature
9
+ "useLiteralKeys": "off"
10
+ }
11
+ }
12
+ },
13
+ "formatter": {
14
+ "useEditorconfig": true,
15
+ "indentStyle": "space",
16
+ "indentWidth": 2
17
+ },
18
+ "javascript": {
19
+ "formatter": {
20
+ "quoteStyle": "single"
21
+ }
22
+ },
23
+ "vcs": {
24
+ "enabled": true,
25
+ "clientKind": "git",
26
+ "useIgnoreFile": true
27
+ }
28
+ }
@@ -18,6 +18,6 @@ const wrapAllWithCheck = (o) => Object.keys(o)
18
18
  .map((key) => ({
19
19
  [key]: (0, exports.wrapWithCheck)(o[key], String(key)),
20
20
  }))
21
- .reduce((acc, curr) => ({ ...acc, ...curr }), {});
21
+ .reduce((acc, curr) => Object.assign(acc, curr), {});
22
22
  exports.wrapAllWithCheck = wrapAllWithCheck;
23
23
  //# sourceMappingURL=checkErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkErrors.js","sourceRoot":"","sources":["../../src/consumer/checkErrors.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAExB,MAAM,aAAa,GACxB,CACE,CAAuB,EACvB,cAAsB,EACtB,EAAE,CACJ,CAAC,GAAG,IAAmB,EAAiB,EAAE;IACxC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,IAAI,MAAM,EAAE,CAAC;QACX,gBAAM,CAAC,SAAS,CACd,6CAA6C,cAAc,2EAA2E,CACvI,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdS,QAAA,aAAa,iBActB;AAUG,MAAM,gBAAgB,GAAG,CAC9B,CAAI,EACmB,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAoB;KAC/B,GAAG,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;IACtB,CAAC,GAAG,CAAC,EAAE,IAAA,qBAAa,EAClB,CAAC,CAAC,GAAG,CAAkC,EACvC,MAAM,CAAC,GAAG,CAAC,CACZ;CACF,CAAC,CAAC;KACF,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EACvC,EAA2B,CACvB,CAAC;AAbE,QAAA,gBAAgB,oBAalB"}
@@ -1,5 +1,5 @@
1
- import { FfiSpecificationVersion } from '../ffi/types';
2
- import { ConsumerMessagePact, ConsumerPact } from './types';
1
+ import { type FfiSpecificationVersion } from '../ffi/types';
2
+ import type { ConsumerMessagePact, ConsumerPact } from './types';
3
3
  export declare const makeConsumerPact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerPact;
4
4
  export declare const makeConsumerMessagePact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerMessagePact;
5
5
  export declare const makeConsumerAsyncMessagePact: (consumer: string, provider: string, version?: FfiSpecificationVersion, logLevel?: import("..").LogLevel, logFile?: string) => ConsumerMessagePact;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeConsumerAsyncMessagePact = exports.makeConsumerMessagePact = exports.makeConsumerPact = void 0;
4
+ const ffi_1 = require("../ffi");
4
5
  const types_1 = require("../ffi/types");
5
6
  const logger_1 = require("../logger");
6
7
  const checkErrors_1 = require("./checkErrors");
7
- const ffi_1 = require("../ffi");
8
8
  const internals_1 = require("./internals");
9
9
  const asyncMessage = (ffi, interactionPtr, pactPtr, messageCount, index) => ({
10
+ // todo count the number of messages (and ref them?)
11
+ // Required to get contents
10
12
  withPluginRequestInteractionContents: (contentType, contents) => {
11
13
  ffi.pactffiPluginInteractionContents(interactionPtr, types_1.INTERACTION_PART_REQUEST, contentType, contents);
12
14
  return true;
@@ -32,6 +34,8 @@ const makeConsumerPact = (consumer, provider, version = 3, logLevel = (0, logger
32
34
  (0, logger_1.setLogLevel)(logLevel);
33
35
  }
34
36
  const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
37
+ // We need to track the number of messages so that we can
38
+ // correctly reference them when extracting contents
35
39
  let messageCount = 0;
36
40
  const pactPtr = ffi.pactffiNewPact(consumer, provider);
37
41
  if (!ffi.pactffiWithSpecification(pactPtr, version)) {
@@ -167,6 +171,8 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
167
171
  (0, logger_1.setLogLevel)(logLevel);
168
172
  }
169
173
  const ffi = (0, ffi_1.getFfiLib)(logLevel, logFile);
174
+ // We need to track the number of messages so that we can
175
+ // correctly reference them when extracting contents
170
176
  let messageCount = 0;
171
177
  const pactPtr = ffi.pactffiNewPact(consumer, provider);
172
178
  if (!ffi.pactffiWithSpecification(pactPtr, version) || version < 4) {
@@ -183,6 +189,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
183
189
  writePactFile: (dir, merge = true) => (0, internals_1.writePact)(ffi, pactPtr, dir, merge),
184
190
  writePactFileForPluginServer: (port, dir, merge = true) => (0, internals_1.writePact)(ffi, pactPtr, dir, merge, port),
185
191
  addMetadata: (namespace, name, value) => ffi.pactffiWithPactMetadata(pactPtr, namespace, name, value),
192
+ // Alias for newAsynchronousMessage
186
193
  newMessage: (description) => {
187
194
  const interactionPtr = ffi.pactffiNewAsyncMessage(pactPtr, description);
188
195
  const index = messageCount;
@@ -198,6 +205,7 @@ const makeConsumerMessagePact = (consumer, provider, version = 4, logLevel = (0,
198
205
  newSynchronousMessage: (description) => {
199
206
  const index = messageCount;
200
207
  messageCount += 1;
208
+ // TODO: will this automatically set the correct spec version?
201
209
  const interactionPtr = ffi.pactffiNewSyncMessage(pactPtr, description);
202
210
  return {
203
211
  withPluginRequestInteractionContents: (contentType, contents) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/consumer/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Ffi, FfiPactHandle } from '../ffi/types';
2
- import { MatchingResult } from './types';
1
+ import { type Ffi, type FfiPactHandle } from '../ffi/types';
2
+ import type { MatchingResult } from './types';
3
3
  export declare const mockServerMismatches: (ffi: Ffi, port: number) => MatchingResult[];
4
4
  export declare const writePact: (ffi: Ffi, pactPtr: FfiPactHandle, dir: string, merge?: boolean, port?: number) => void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internals.js","sourceRoot":"","sources":["../../src/consumer/internals.ts"],"names":[],"mappings":";;;AAAA,wCAIsB;AACtB,sCAA+D;AAGxD,MAAM,oBAAoB,GAAG,CAClC,GAAQ,EACR,IAAY,EACM,EAAE;IACpB,MAAM,OAAO,GAAqB,IAAI,CAAC,KAAK,CAC1C,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAsB,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,MAAM;QACT,GAAG,CAAC,YAAY,IAAI,MAAM;YACxB,CAAC,CAAC;gBACE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CACzD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,oBAAoB,wBAiB/B;AAEK,MAAM,SAAS,GAAG,CACvB,GAAQ,EACR,OAAsB,EACtB,GAAW,EACX,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,CAAC,EACF,EAAE;IACR,IAAI,MAA4B,CAAC;IAEjC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,4BAAoB,CAAC,SAAS,CAAC;YAClC,OAAO;QACT,KAAK,4BAAoB,CAAC,2BAA2B,CAAC;YACpD,IAAA,yBAAgB,EAAC,iDAAiD,CAAC,CAAC;YACpE,MAAM;QACR,KAAK,4BAAoB,CAAC,eAAe,CAAC;YACxC,IAAA,yBAAgB,EAAC,oDAAoD,CAAC,CAAC;YACvE,MAAM;QACR,KAAK,4BAAoB,CAAC,uBAAuB,CAAC;YAChD,IAAA,yBAAgB,EACd,2FAA2F,CAC5F,CAAC;YACF,MAAM;QACR;YACE,IAAA,yBAAgB,EACd,iDAAiD,MAAM,+BAA+B,CACvF,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,SAAS,aAkCpB"}
@@ -140,8 +140,33 @@ export type ConsumerPact = PluginPact & {
140
140
  createMockServer: (address: string, port?: number, tls?: boolean) => number;
141
141
  mockServerMismatches: (port: number) => MatchingResult[];
142
142
  cleanupMockServer: (port: number) => boolean;
143
+ /**
144
+ * This function writes the pact file, regardless of whether or not the test was successful.
145
+ * Do not call it without checking that the tests were successful, unless you want to write the wrong pact contents.
146
+ *
147
+ * @param port the port number the mock server is running on.
148
+ * @param dir the directory to write the pact file to
149
+ * @param merge whether or not to merge the pact file contents (default true)
150
+ */
143
151
  writePactFile: (dir: string, merge?: boolean) => void;
152
+ /**
153
+ * This function writes the pact file, using the given plugin transport port.
154
+ * If you are using plugins in your test, you must use this method
155
+ *
156
+ * @param port The port that identifies the custom mock server
157
+ * @param dir The directory to write the pact file to
158
+ * @param merge whether or not to merge the pact file contents with previous test runs (default true)
159
+ * @returns
160
+ */
144
161
  writePactFileForPluginServer: (port: number, dir: string, merge?: boolean) => void;
162
+ /**
163
+ * Check if a mock server has matched all its requests.
164
+ *
165
+ * @param port the port number the mock server is running on.
166
+ * @returns {boolean} true if all requests have been matched. False if there
167
+ * is no mock server on the given port, or if any request has not been successfully matched, or
168
+ * the method panics.
169
+ */
145
170
  mockServerMatchedSuccessfully: (port: number) => boolean;
146
171
  addMetadata: (namespace: string, name: string, value: string) => boolean;
147
172
  };
@@ -187,9 +212,33 @@ export type ConsumerMessagePact = PluginPact & {
187
212
  newAsynchronousMessage: (description: string) => AsynchronousMessage;
188
213
  newSynchronousMessage: (description: string) => SynchronousMessage;
189
214
  pactffiCreateMockServerForTransport: (address: string, transport: string, config: string, port?: number) => number;
215
+ /**
216
+ * This function writes the pact file, regardless of whether or not the test was successful.
217
+ * Do not call it without checking that the tests were successful, unless you want to write the wrong pact contents.
218
+ *
219
+ * @param dir the directory to write the pact file to
220
+ * @param merge whether or not to merge the pact file contents with previous test runs (default true)
221
+ */
190
222
  writePactFile: (dir: string, merge?: boolean) => void;
223
+ /**
224
+ * This function writes the pact file, using the given plugin transport port.
225
+ * If you are using plugins in your test, you must use this method
226
+ *
227
+ * @param port The port that identifies the custom mock server
228
+ * @param dir The directory to write the pact file to
229
+ * @param merge whether or not to merge the pact file contents with previous test runs (default true)
230
+ * @returns
231
+ */
191
232
  writePactFileForPluginServer: (port: number, dir: string, merge?: boolean) => void;
192
233
  addMetadata: (namespace: string, name: string, value: string) => boolean;
193
234
  mockServerMismatches: (port: number) => MatchingResult[];
235
+ /**
236
+ * Check if a mock server has matched all its requests.
237
+ *
238
+ * @param port the port number the mock server is running on.
239
+ * @returns {boolean} true if all requests have been matched. False if there
240
+ * is no mock server on the given port, or if any request has not been successfully matched, or
241
+ * the method panics.
242
+ */
194
243
  mockServerMatchedSuccessfully: (port: number) => boolean;
195
244
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/consumer/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
- import { LogLevel } from '../logger/types';
2
- import { Ffi } from './types';
1
+ import type { LogLevel } from '../logger/types';
2
+ import { type Ffi } from './types';
3
3
  export declare const PACT_FFI_VERSION = "0.5.4";
4
4
  declare let ffiLib: Ffi;
5
5
  declare let ffi: typeof ffiLib;
@@ -38,11 +38,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getFfiLib = exports.PACT_FFI_VERSION = void 0;
40
40
  const node_path_1 = __importDefault(require("node:path"));
41
- const bindings = require("node-gyp-build");
42
41
  const detect_libc_1 = require("detect-libc");
43
42
  const logger_1 = __importStar(require("../logger"));
44
43
  const types_1 = require("./types");
44
+ const bindings = require('node-gyp-build');
45
45
  exports.PACT_FFI_VERSION = '0.5.4';
46
+ /**
47
+ * Returns the library path which is located inside `node_modules`
48
+ * The naming convention is @pact-foundation/pact-core-${os}-${arch}<-${libc}>
49
+ * - "-${libc}" is optional for linux only
50
+ * @see https://nodejs.org/api/os.html#osarch
51
+ * @see https://nodejs.org/api/os.html#osplatform
52
+ * @example "x/xx/node_modules/@pact-foundation/pact-core-darwin-arm64"
53
+ */
46
54
  function getPlatformArchSpecificPackage() {
47
55
  const { arch } = process;
48
56
  let os = process.platform;
@@ -72,6 +80,12 @@ function getPlatformArchSpecificPackage() {
72
80
  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`);
73
81
  }
74
82
  }
83
+ // supported prebuilds
84
+ // darwin-arm64
85
+ // darwin-x64
86
+ // linux-arm64
87
+ // linux-x64
88
+ // win32-x64
75
89
  const supportedPlatforms = [
76
90
  'darwin-arm64',
77
91
  'darwin-x64',
@@ -116,7 +130,9 @@ const renderBinaryErrorMessage = (error) => {
116
130
  };
117
131
  let ffi;
118
132
  const initialiseFfi = () => {
133
+ // @ts-expect-error
119
134
  if (process.stdout._handle) {
135
+ // @ts-expect-error
120
136
  process.stdout._handle.setBlocking(true);
121
137
  }
122
138
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffi/index.ts"],"names":[],"mappings":"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"}
@@ -37,11 +37,11 @@ export declare enum FfiFunctionResult {
37
37
  RESULT_FAILED = 1
38
38
  }
39
39
  export declare enum FfiLogLevelFilter {
40
- 'error' = 1,
41
- 'warn' = 2,
42
- 'info' = 3,
43
- 'debug' = 4,
44
- 'trace' = 5
40
+ error = 1,
41
+ warn = 2,
42
+ info = 3,
43
+ debug = 4,
44
+ trace = 5
45
45
  }
46
46
  export type Ffi = {
47
47
  pactffiInit(logLevel: string): string;
@@ -45,6 +45,14 @@ exports.CREATE_MOCK_SERVER_ERRORS = {
45
45
  ADDRESS_NOT_VALID: -5,
46
46
  TLS_CONFIG: -6,
47
47
  };
48
+ /*
49
+ -1 A null pointer was received
50
+ -2 The pact JSON could not be parsed
51
+ -3 The mock server could not be started
52
+ -4 The method panicked
53
+ -5 The address is not valid
54
+ -6 Could not create the TLS configuration with the self-signed certificate
55
+ */
48
56
  var VERIFY_PROVIDER_RESPONSE;
49
57
  (function (VERIFY_PROVIDER_RESPONSE) {
50
58
  VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_SUCCESSFUL"] = 0] = "VERIFICATION_SUCCESSFUL";
@@ -53,6 +61,14 @@ var VERIFY_PROVIDER_RESPONSE;
53
61
  VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["METHOD_PANICKED"] = 3] = "METHOD_PANICKED";
54
62
  VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["INVALID_ARGUMENTS"] = 4] = "INVALID_ARGUMENTS";
55
63
  })(VERIFY_PROVIDER_RESPONSE || (exports.VERIFY_PROVIDER_RESPONSE = VERIFY_PROVIDER_RESPONSE = {}));
64
+ /*
65
+ * | Error | Description |
66
+ * |-------|-------------|
67
+ * | 1 | The verification process failed, see output for errors |
68
+ * | 2 | A null pointer was received |
69
+ * | 3 | The method panicked |
70
+ * | 4 | Invalid arguments were provided to the verification process |
71
+ */
56
72
  var FfiFunctionResult;
57
73
  (function (FfiFunctionResult) {
58
74
  FfiFunctionResult[FfiFunctionResult["RESULT_OK"] = 0] = "RESULT_OK";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ffi/types.ts"],"names":[],"mappings":";;;AAWa,QAAA,uBAAuB,GAClC;IACE,6BAA6B,EAAE,CAAC;IAChC,wBAAwB,EAAE,CAAC;IAC3B,0BAA0B,EAAE,CAAC;IAC7B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIS,QAAA,oBAAoB,GAAyC;IACxE,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAIW,QAAA,2BAA2B,GAGpC;IACF,OAAO,EAAE,CAAC;IACV,yBAAyB,EAAE,CAAC;IAC5B,sBAAsB,EAAE,CAAC;CAC1B,CAAC;AAIW,QAAA,0BAA0B,GAGnC;IACF,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAIW,QAAA,4BAA4B,GAGrC;IACF,OAAO,EAAE,CAAC;IACV,0BAA0B,EAAE,CAAC;IAC7B,oCAAoC,EAAE,CAAC;IACvC,6BAA6B,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC;IAC5B,+BAA+B,EAAE,CAAC;IAClC,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIW,QAAA,wBAAwB,GAAuB,CAAC,CAAC;AACjD,QAAA,yBAAyB,GAAuB,CAAC,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,YAAY,EAAE,CAAC,CAAC;IAChB,gBAAgB,EAAE,CAAC,CAAC;IACpB,sBAAsB,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC;CACf,CAAC;AACF;;;;;;;EAOE;AAEF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6GAA2B,CAAA;IAC3B,qGAAmB,CAAA;IACnB,yGAAqB,CAAA;IACrB,6FAAe,CAAA;IACf,iGAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC;AACD;;;;;;;GAOG;AAEH,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,2EAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,2DAAS,CAAA;IACT,yDAAQ,CAAA;IACR,yDAAQ,CAAA;IACR,2DAAS,CAAA;IACT,2DAAS,CAAA;AACX,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
@@ -18,13 +18,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  const pact_1 = __importDefault(require("./pact"));
21
- module.exports = exports = pact_1.default;
22
21
  exports.default = pact_1.default;
23
- __exportStar(require("./verifier"), exports);
24
- __exportStar(require("./verifier/types"), exports);
25
- __exportStar(require("./logger"), exports);
26
- __exportStar(require("./logger/types"), exports);
27
22
  __exportStar(require("./consumer"), exports);
28
23
  __exportStar(require("./consumer/types"), exports);
29
24
  __exportStar(require("./ffi"), exports);
25
+ __exportStar(require("./logger"), exports);
26
+ __exportStar(require("./logger/types"), exports);
27
+ __exportStar(require("./verifier"), exports);
28
+ __exportStar(require("./verifier/types"), exports);
30
29
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,kBAAe,cAAI,CAAC;AAEpB,6CAA2B;AAC3B,mDAAiC;AACjC,wCAAsB;AACtB,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crashMessage.js","sourceRoot":"","sources":["../../src/logger/crashMessage.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAC9B,YAAoB,EACZ,EAAE,CAAC;;EAEX,YAAY;;;;;;;;;;;;;;;CAeb,CAAC;AAnBW,QAAA,gBAAgB,oBAmB3B"}
@@ -1,4 +1,4 @@
1
- import { LogLevel } from './types';
1
+ import type { LogLevel } from './types';
2
2
  export declare const DEFAULT_LOG_LEVEL: LogLevel;
3
3
  export declare const setLogLevel: (level?: LogLevel) => void;
4
4
  export declare const getLogLevel: () => LogLevel;
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.logCrashAndThrow = exports.logErrorAndThrow = exports.verboseIsImplied = exports.getLogLevel = exports.setLogLevel = exports.DEFAULT_LOG_LEVEL = void 0;
4
4
  const crashMessage_1 = require("./crashMessage");
5
5
  const pino_1 = require("./pino");
6
+ // TODO: Replace this hack with https://www.npmjs.com/package/@npmcli/package-json
7
+ // TODO: abstract this so it's not repeated in src/verifier/nativeVerifier.ts
6
8
  const pkg = require('../../package.json');
7
9
  const logContext = `pact-core@${pkg.version}`;
8
10
  let currentLogLevel = process.env['LOG_LEVEL']
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,iCAAsC;AAGtC,kFAAkF;AAClF,6EAA6E;AAE7E,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC;AAC9C,IAAI,eAAe,GAAa,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACtD,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAc;IACxC,CAAC,CAAC,MAAM,CAAC;AACX,IAAI,MAAM,GAAG,IAAA,mBAAY,EAAC,eAAe,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAa,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjE,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAc;IACxC,CAAC,CAAC,MAAM,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC,QAAkB,MAAM,EAAQ,EAAE;IAC5D,eAAe,GAAG,KAAK,CAAC;IACxB,MAAM,GAAG,IAAA,mBAAY,EAAC,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,WAAW,GAAG,GAAa,EAAE,CAAC,eAAe,CAAC;AAA9C,QAAA,WAAW,eAAmC;AAEpD,MAAM,gBAAgB,GAAG,GAAY,EAAE,CAC5C,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,OAAO,CAAC;AADhD,QAAA,gBAAgB,oBACgC;AAE7D,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CACtD,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC;AAE3B,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CACjE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC5D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC5D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,KAAK,EAAE,CAAC,OAAe,EAAE,UAAkB,UAAU,EAAQ,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAS,EAAE;IAC3E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAA+B,CAAC,CAAC;IACvD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAS,EAAE;IAC3E,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Logger } from 'pino';
2
+ import type { LogLevel } from './types';
3
+ export declare const createLogger: (level: LogLevel) => Logger;
@@ -5,6 +5,9 @@ const pino_1 = require("pino");
5
5
  const pino_pretty_1 = require("pino-pretty");
6
6
  const createLogger = (level) => {
7
7
  const prettify = (0, pino_pretty_1.prettyFactory)({ sync: true });
8
+ // Configure custom stream that forwards pretty message to console
9
+ // to address issues with pino pretty and Jest
10
+ // Thanks to https://github.com/pinojs/pino-pretty/issues/480#issuecomment-2271709217 for the solution
8
11
  return (0, pino_1.pino)({
9
12
  level: level.toLowerCase(),
10
13
  }, {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/logger/pino.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AACzC,6CAA4C;AAIrC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAU,EAAE;IACtD,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,kEAAkE;IAClE,8CAA8C;IAC9C,sGAAsG;IACtG,OAAO,IAAA,WAAI,EACT;QACE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;KAC3B,EACD;QACE,KAAK,CAAC,IAAa;YACjB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;KACF,CACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logger/types.ts"],"names":[],"mappings":""}
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.PactEnvironment = void 0;
37
- const path = __importStar(require("path"));
37
+ const path = __importStar(require("node:path"));
38
38
  class PactEnvironment {
39
39
  get cwd() {
40
40
  return path.resolve(__dirname, '..');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pact-environment.js","sourceRoot":"","sources":["../src/pact-environment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAElC,MAAa,eAAe;IAC1B,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,SAAS,CAAC,WAAmB,OAAO,CAAC,QAAQ;QAClD,OAAO,QAAQ,KAAK,OAAO,CAAC;IAC9B,CAAC;CACF;AARD,0CAQC;AAED,kBAAe,IAAI,eAAe,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { VerifierOptions } from './verifier/types';
2
- import { LogLevel } from './logger/types';
1
+ import type { LogLevel } from './logger/types';
2
+ import type { VerifierOptions } from './verifier/types';
3
3
  export declare class Pact {
4
4
  logLevel(level?: LogLevel): void;
5
5
  verifyPacts(options: VerifierOptions): Promise<string>;
@@ -37,12 +37,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Pact = void 0;
40
- const verifier_1 = __importDefault(require("./verifier"));
41
40
  const logger_1 = __importStar(require("./logger"));
41
+ const verifier_1 = __importDefault(require("./verifier"));
42
42
  class Pact {
43
43
  logLevel(level) {
44
- return (0, logger_1.setLogLevel)(level);
44
+ (0, logger_1.setLogLevel)(level);
45
45
  }
46
+ // Run the Pact Verification process
46
47
  verifyPacts(options) {
47
48
  logger_1.default.info('Verifying Pacts.');
48
49
  return (0, verifier_1.default)(options).verify();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pact.js","sourceRoot":"","sources":["../src/pact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA+C;AAE/C,0DAAyC;AAGzC,MAAa,IAAI;IACR,QAAQ,CAAC,KAAgB;QAC9B,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,oCAAoC;IAC7B,WAAW,CAAC,OAAwB;QACzC,gBAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,IAAA,kBAAe,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;CACF;AAVD,oBAUC;AAED,kBAAe,IAAI,IAAI,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FnMapping } from './types';
2
- import { InternalPactVerifierOptions } from '../types';
3
- import { FfiVerificationFunctions } from '../../ffi/types';
1
+ import type { FfiVerificationFunctions } from '../../ffi/types';
2
+ import type { InternalPactVerifierOptions } from '../types';
3
+ import { type FnMapping } from './types';
4
4
  type IgnoredFfiFunctions = {
5
5
  pactffiVerifierNewForApplication: 1;
6
6
  pactffiVerifierExecute: 1;
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ffiFnMapping = exports.orderOfExecution = void 0;
7
- const fs = require("fs");
8
- const url = require("url");
9
- const url_1 = require("url");
7
+ const fs = require("node:fs");
8
+ const url = require("node:url");
9
+ const node_url_1 = require("node:url");
10
10
  const logger_1 = __importDefault(require("../../logger"));
11
11
  const types_1 = require("./types");
12
12
  const DEFAULT_TIMEOUT = 30000;
@@ -64,7 +64,7 @@ exports.ffiFnMapping = {
64
64
  logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
65
65
  if (/https?:/.test(url.parse(file).protocol || '')) {
66
66
  try {
67
- const u = new url_1.URL(file);
67
+ const u = new node_url_1.URL(file);
68
68
  if (u.hostname) {
69
69
  logger_1.default.debug(`adding ${file} as a Url source`);
70
70
  ffi.pactffiVerifierUrlSource(handle, file, options.pactBrokerUsername ||
@@ -172,7 +172,7 @@ exports.ffiFnMapping = {
172
172
  },
173
173
  pactffiVerifierSetProviderInfo: {
174
174
  validateAndExecute(ffi, handle, options) {
175
- const uri = new url_1.URL(options.providerBaseUrl);
175
+ const uri = new node_url_1.URL(options.providerBaseUrl);
176
176
  ffi.pactffiVerifierSetProviderInfo(handle, options.provider || '', uri.protocol.split(':')[0], uri.hostname, parseInt(uri.port, 10), uri.pathname);
177
177
  return { status: types_1.FnValidationStatus.SUCCESS };
178
178
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../../src/verifier/argumentMapper/arguments.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { InternalPactVerifierOptions } from '../types';
2
- import { Ffi, FfiVerifierHandle } from '../../ffi/types';
1
+ import type { Ffi, FfiVerifierHandle } from '../../ffi/types';
2
+ import type { InternalPactVerifierOptions } from '../types';
3
3
  export declare const setupVerification: (ffi: Ffi, handle: FfiVerifierHandle, options: InternalPactVerifierOptions) => void;
@@ -35,9 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.setupVerification = void 0;
37
37
  const underscore_1 = require("underscore");
38
- const types_1 = require("./types");
39
38
  const logger_1 = __importStar(require("../../logger"));
40
39
  const arguments_1 = require("./arguments");
40
+ const types_1 = require("./types");
41
41
  const setupVerification = (ffi, handle, options) => {
42
42
  const order = (0, underscore_1.values)(arguments_1.orderOfExecution).sort((a, b) => a - b);
43
43
  const functionsToCall = (0, underscore_1.invert)(arguments_1.orderOfExecution);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/verifier/argumentMapper/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,uDAA0E;AAE1E,2CAA6D;AAC7D,mCAAsE;AAE/D,MAAM,iBAAiB,GAAG,CAC/B,GAAQ,EACR,MAAyB,EACzB,OAAoC,EAC9B,EAAE;IACR,MAAM,KAAK,GAAG,IAAA,mBAAM,EAAC,4BAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,mBAAM,EAAC,4BAAgB,CAAC,CAAC;IAEjD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAClB,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAA8B,CAAC;QAC3D,MAAM,UAAU,GAAuB,wBAAY,CAAC,EAAE,CAAC,CAAC,kBAAkB,CACxE,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAC;QAEF,QAAQ,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,0BAAkB,CAAC,IAAI;gBAC1B,IAAA,yBAAgB,EACd,8BAA8B,EAAE,oCAAoC,UAAU,CAAC,QAAQ,EAAE,CAC1F,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,MAAM;gBAC5B,gBAAM,CAAC,KAAK,CACV,8BAA8B,EAAE,6DAA6D,UAAU,CAAC,QAAQ,EAAE,CACnH,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,OAAO;gBAC7B,MAAM;YACR;gBACE,IAAA,yBAAgB,EACd,qBAAqB,EAAE,6DACpB,UAAiC,CAAC,MACrC,GAAG,CACJ,CAAC;QACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AArCW,QAAA,iBAAiB,qBAqC5B"}
@@ -1,4 +1,4 @@
1
- import { Ffi, FfiHandle } from '../../ffi/types';
1
+ import type { Ffi, FfiHandle } from '../../ffi/types';
2
2
  export declare const deprecatedFunction: (_: unknown, property: string) => boolean;
3
3
  type KeyedObject = {
4
4
  [key: string]: unknown;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verifier/argumentMapper/types.ts"],"names":[],"mappings":";;;;;;AACA,0DAAkC;AAE3B,MAAM,kBAAkB,GAAG,CAAC,CAAU,EAAE,QAAgB,EAAW,EAAE;IAC1E,gBAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,6CAA6C,CAAC,CAAC;IAEtE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAkBF,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iEAAW,CAAA;IACX,+DAAU,CAAA;IACV,2DAAQ,CAAA;AACV,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B"}
@@ -1,4 +1,4 @@
1
- import { VerifierOptions } from './types';
1
+ import type { VerifierOptions } from './types';
2
2
  export declare class Verifier {
3
3
  readonly options: VerifierOptions;
4
4
  constructor(options: VerifierOptions);