@pact-foundation/pact-core 13.4.1-beta.1 → 13.4.1-beta.10
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/binding.gyp +4 -8
- package/build/Makefile +352 -0
- package/build/binding.Makefile +6 -0
- package/build/copy_release_artifacts.target.mk +47 -0
- package/build/gyp-mac-tool +777 -0
- package/build/pact.target.mk +205 -0
- package/build/set_osx_install_name.target.mk +48 -0
- package/ffi/libpact_ffi.dylib +0 -0
- package/ffi/libpact_ffi.so +0 -0
- package/ffi/osxaarch64/libpact_ffi.dylib +0 -0
- package/ffi/pact.h +599 -108
- package/ffi/pact_ffi.dll +0 -0
- package/ffi/pact_ffi.dll.lib +0 -0
- package/native/consumer.cc +89 -33
- package/package.json +4 -7
- package/src/consumer/__testoutput__/foo-consumer-bar-provider.json +89 -0
- package/src/consumer/index.d.ts +1 -0
- package/src/consumer/index.js +43 -31
- package/src/consumer/index.js.map +1 -1
- package/src/consumer/types.d.ts +3 -0
- package/src/ffi/index.d.ts +4 -4
- package/src/ffi/index.js +6 -9
- package/src/ffi/index.js.map +1 -1
- package/src/ffi/internals/index.d.ts +0 -2
- package/src/ffi/internals/index.js +1 -11
- package/src/ffi/internals/index.js.map +1 -1
- package/src/ffi/internals/types.d.ts +2 -4
- package/src/ffi/types.d.ts +53 -0
- package/src/ffi/types.js +23 -1
- package/src/ffi/types.js.map +1 -1
- package/src/publisher.d.ts +1 -0
- package/src/publisher.js +11 -4
- package/src/publisher.js.map +1 -1
- package/src/verifier/nativeVerifier.js +12 -12
- package/src/verifier/nativeVerifier.js.map +1 -1
- package/src/verifier/types.d.ts +3 -0
- package/src/verifier/validateOptions.js +3 -1
- package/src/verifier/validateOptions.js.map +1 -1
- package/standalone/install.d.ts +1 -1
- package/standalone/install.js +1 -1
- package/ffi/libpact_ffi.so.gz +0 -0
- package/native/consumer.c +0 -210
- package/src/ffi/argumentMapper/index.d.ts +0 -2
- package/src/ffi/argumentMapper/index.js +0 -47
- package/src/ffi/argumentMapper/index.js.map +0 -1
- package/src/ffi/argumentMapper/types.d.ts +0 -8
- package/src/ffi/argumentMapper/types.js +0 -3
- package/src/ffi/argumentMapper/types.js.map +0 -1
- package/src/ffi/declarations.d.ts +0 -117
- package/src/ffi/declarations.js +0 -66
- package/src/ffi/declarations.js.map +0 -1
- package/src/verifier/arguments.d.ts +0 -13
- package/src/verifier/arguments.js +0 -89
- package/src/verifier/arguments.js.map +0 -1
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.libName =
|
|
4
|
-
var ffi = require("ffi-napi");
|
|
5
|
-
var path = require("path");
|
|
6
|
-
var logger_1 = require("../../logger");
|
|
3
|
+
exports.libName = void 0;
|
|
7
4
|
var PLATFORM_LOOKUP = {
|
|
8
5
|
linux: 'linux',
|
|
9
6
|
darwin: 'osx',
|
|
@@ -21,13 +18,6 @@ var EXTENSION_LOOKUP = {
|
|
|
21
18
|
'linux-x86_64': 'so',
|
|
22
19
|
'windows-x86_64': 'dll',
|
|
23
20
|
};
|
|
24
|
-
var createFfi = function (filename, description) {
|
|
25
|
-
logger_1.default.trace("Native core located at '" + filename + "'");
|
|
26
|
-
var lib = ffi.Library(path.resolve(__dirname, '..', '..', '..', 'ffi', filename), description);
|
|
27
|
-
logger_1.default.trace("Native core linked successfully");
|
|
28
|
-
return lib;
|
|
29
|
-
};
|
|
30
|
-
exports.createFfi = createFfi;
|
|
31
21
|
var libName = function (library, version, processArch, processPlatform) {
|
|
32
22
|
if (processArch === void 0) { processArch = process.arch; }
|
|
33
23
|
if (processPlatform === void 0) { processPlatform = process.platform; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAEA,IAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAIF,IAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,IAAM,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AAIrE,IAAM,gBAAgB,GAAG;IACvB,YAAY,EAAE,OAAO;IACrB,0BAA0B,EAAE,OAAO;IACnC,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEK,IAAM,OAAO,GAAG,UACrB,OAAe,EACf,OAAe,EACf,WAA0B,EAC1B,eAAkC;IADlC,4BAAA,EAAA,cAAc,OAAO,CAAC,IAAI;IAC1B,gCAAA,EAAA,kBAAkB,OAAO,CAAC,QAAQ;IAElC,IAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,IAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,wFAAsF,eAAe,SAAI,WAAW,MAAG,CACxH,CAAC;KACH;IAED,IAAM,MAAM,GAAM,QAAQ,SAAI,IAAM,CAAC;IAErC,IAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CACb,gGAA8F,MAAM,MAAG,CACxG,CAAC;KACH;IAED,IAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,gEAA8D,eAAe,MAAG,CACjF,CAAC;KACH;IAED,OAAU,OAAO,SAAI,aAAa,GAAG,OAAO,SAAI,MAAM,SAAI,SAAW,CAAC;AACxE,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB"}
|
|
@@ -2,9 +2,8 @@ declare type AsyncFfiCall<Args extends unknown[], ReturnType> = {
|
|
|
2
2
|
async: (...args: [...Args, (err: Error, ret: ReturnType) => void]) => ReturnType;
|
|
3
3
|
};
|
|
4
4
|
declare type FfiFunction<T> = T extends (...a: infer Args) => infer ReturnType ? T & AsyncFfiCall<Args, ReturnType> : never;
|
|
5
|
-
declare type VariableType = 'string' | 'void' | 'int' | '
|
|
6
|
-
declare type
|
|
7
|
-
declare type ActualType<T> = [T] extends ['string'] ? string : [T] extends ['void'] ? void : [number] extends [T] ? UnpackEnum<T> : ['int32'] extends [T] ? [T] extends ['int32'] ? number : UnpackEnum<T> : ['int'] extends [T] ? [T] extends ['int'] ? number : UnpackEnum<T> : [T] extends ['double' | 'float'] ? number : [T] extends ['bool'] ? boolean : T;
|
|
5
|
+
declare type VariableType = 'string' | 'void' | 'int' | 'double' | 'float' | any;
|
|
6
|
+
declare type ActualType<T> = [T] extends ['string'] ? string : [T] extends ['void'] ? void : [T] extends ['int' | 'double' | 'float'] ? number : T;
|
|
8
7
|
declare type ArrayActualType<Tuple extends [...Array<unknown>]> = {
|
|
9
8
|
[Index in keyof Tuple]: ActualType<Tuple[Index]>;
|
|
10
9
|
} & {
|
|
@@ -21,5 +20,4 @@ declare type LibDescription<Functions extends string> = {
|
|
|
21
20
|
export declare type FfiBinding<T> = T extends LibDescription<string> ? {
|
|
22
21
|
[Key in keyof T]: FfiFunction<FunctionFromArray<T[Key]>>;
|
|
23
22
|
} : never;
|
|
24
|
-
export declare type FfiEnum<T> = T | 'int32';
|
|
25
23
|
export {};
|
package/src/ffi/types.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare type FfiPactHandle = number;
|
|
3
|
+
export declare type FfiInteractionHandle = number;
|
|
1
4
|
export declare type FfiSpecificationVersion = 0 | 1 | 2 | 3 | 4 | 5;
|
|
2
5
|
export declare const FfiSpecificationVersion: Record<string, FfiSpecificationVersion>;
|
|
3
6
|
export declare type FfiWritePactResponse = 0 | 1 | 2 | 3;
|
|
@@ -13,3 +16,53 @@ export declare const CREATE_MOCK_SERVER_ERRORS: {
|
|
|
13
16
|
ADDRESS_NOT_VALID: number;
|
|
14
17
|
TLS_CONFIG: number;
|
|
15
18
|
};
|
|
19
|
+
export declare enum VERIFY_PROVIDER_RESPONSE {
|
|
20
|
+
VERIFICATION_SUCCESSFUL = 0,
|
|
21
|
+
VERIFICATION_FAILED = 1,
|
|
22
|
+
NULL_POINTER_RECEIVED = 2,
|
|
23
|
+
METHOD_PANICKED = 3,
|
|
24
|
+
INVALID_ARGUMENTS = 4
|
|
25
|
+
}
|
|
26
|
+
export declare enum FfiFunctionResult {
|
|
27
|
+
RESULT_OK = 0,
|
|
28
|
+
RESULT_FAILED = 1
|
|
29
|
+
}
|
|
30
|
+
export declare enum FfiLogLevelFilter {
|
|
31
|
+
LOG_LEVEL_OFF = 0,
|
|
32
|
+
LOG_LEVEL_ERROR = 1,
|
|
33
|
+
LOG_LEVEL_WARN = 2,
|
|
34
|
+
LOG_LEVEL_INFO = 3,
|
|
35
|
+
LOG_LEVEL_DEBUG = 4,
|
|
36
|
+
LOG_LEVEL_TRACE = 5
|
|
37
|
+
}
|
|
38
|
+
export declare type Ffi = {
|
|
39
|
+
pactffiInit(logLevel: string): string;
|
|
40
|
+
pactffiVersion(): string;
|
|
41
|
+
pactffiVerify(args: string, callback: (e: Error, res: number) => void): number;
|
|
42
|
+
pactffiCreateMockServerForPact(handle: FfiPactHandle, address: string, tls: boolean): number;
|
|
43
|
+
pactffiNewPact(consumer: string, provider: string): FfiPactHandle;
|
|
44
|
+
pactffiWithSpecification(handle: FfiPactHandle, specification: FfiSpecificationVersion): boolean;
|
|
45
|
+
pactffiWithPactMetadata(handle: FfiPactHandle, namespace_: string, name: string, value: string): boolean;
|
|
46
|
+
pactffiNewInteraction(handle: FfiPactHandle, description: string): FfiInteractionHandle;
|
|
47
|
+
pactffiUponReceiving(handle: FfiInteractionHandle, description: string): boolean;
|
|
48
|
+
pactffiGiven(handle: FfiInteractionHandle, providerState: string): boolean;
|
|
49
|
+
pactffiGivenWithParam(handle: FfiInteractionHandle, description: string, name: string, value: string): boolean;
|
|
50
|
+
pactffiWithRequest(handle: FfiInteractionHandle, method: string, path: string): boolean;
|
|
51
|
+
pactffiWithQueryParameter(handle: FfiInteractionHandle, name: string, index: number, value: string): boolean;
|
|
52
|
+
pactffiWithHeader(handle: FfiInteractionHandle, part: FfiInteractionPart, name: string, index: number, value: string): boolean;
|
|
53
|
+
pactffiWithBody(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, body: string): boolean;
|
|
54
|
+
pactffiWithBinaryFile(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, body: Buffer, size: number): boolean;
|
|
55
|
+
pactffiWithMultipartFile(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, file: string, partName: string): void;
|
|
56
|
+
pactffiResponseStatus(handle: FfiInteractionHandle, status: number): boolean;
|
|
57
|
+
pactffiWritePactFile(port: number, dir: string, overwrite: boolean): number;
|
|
58
|
+
pactffiCleanupMockServer(port: number): boolean;
|
|
59
|
+
pactffiMockServerMatched(port: number): boolean;
|
|
60
|
+
pactffiMockServerMismatches(port: number): string;
|
|
61
|
+
pactffiGetTlsCaCertificate(): string;
|
|
62
|
+
pactffiLogMessage(source: string, logLevel: string, message: string): void;
|
|
63
|
+
pactffiLogToBuffer(level: FfiLogLevelFilter): number;
|
|
64
|
+
pactffiInitWithLogLevel(level: string): void;
|
|
65
|
+
pactffiLogToStdout(level: FfiLogLevelFilter): number;
|
|
66
|
+
pactffiLogToFile(fileName: string, level: FfiLogLevelFilter): number;
|
|
67
|
+
pactffiFetchLogBuffer(logId: number): string;
|
|
68
|
+
};
|
package/src/ffi/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CREATE_MOCK_SERVER_ERRORS = exports.INTERACTION_PART_RESPONSE = exports.INTERACTION_PART_REQUEST = exports.FfiWritePactResponse = exports.FfiSpecificationVersion = void 0;
|
|
3
|
+
exports.FfiLogLevelFilter = exports.FfiFunctionResult = exports.VERIFY_PROVIDER_RESPONSE = exports.CREATE_MOCK_SERVER_ERRORS = exports.INTERACTION_PART_RESPONSE = exports.INTERACTION_PART_REQUEST = exports.FfiWritePactResponse = exports.FfiSpecificationVersion = void 0;
|
|
4
4
|
exports.FfiSpecificationVersion = {
|
|
5
5
|
SPECIFICATION_VERSION_UNKNOWN: 0,
|
|
6
6
|
SPECIFICATION_VERSION_V1: 1,
|
|
@@ -25,4 +25,26 @@ exports.CREATE_MOCK_SERVER_ERRORS = {
|
|
|
25
25
|
ADDRESS_NOT_VALID: -5,
|
|
26
26
|
TLS_CONFIG: -6,
|
|
27
27
|
};
|
|
28
|
+
var VERIFY_PROVIDER_RESPONSE;
|
|
29
|
+
(function (VERIFY_PROVIDER_RESPONSE) {
|
|
30
|
+
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_SUCCESSFUL"] = 0] = "VERIFICATION_SUCCESSFUL";
|
|
31
|
+
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_FAILED"] = 1] = "VERIFICATION_FAILED";
|
|
32
|
+
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["NULL_POINTER_RECEIVED"] = 2] = "NULL_POINTER_RECEIVED";
|
|
33
|
+
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["METHOD_PANICKED"] = 3] = "METHOD_PANICKED";
|
|
34
|
+
VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["INVALID_ARGUMENTS"] = 4] = "INVALID_ARGUMENTS";
|
|
35
|
+
})(VERIFY_PROVIDER_RESPONSE = exports.VERIFY_PROVIDER_RESPONSE || (exports.VERIFY_PROVIDER_RESPONSE = {}));
|
|
36
|
+
var FfiFunctionResult;
|
|
37
|
+
(function (FfiFunctionResult) {
|
|
38
|
+
FfiFunctionResult[FfiFunctionResult["RESULT_OK"] = 0] = "RESULT_OK";
|
|
39
|
+
FfiFunctionResult[FfiFunctionResult["RESULT_FAILED"] = 1] = "RESULT_FAILED";
|
|
40
|
+
})(FfiFunctionResult = exports.FfiFunctionResult || (exports.FfiFunctionResult = {}));
|
|
41
|
+
var FfiLogLevelFilter;
|
|
42
|
+
(function (FfiLogLevelFilter) {
|
|
43
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_OFF"] = 0] = "LOG_LEVEL_OFF";
|
|
44
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_ERROR"] = 1] = "LOG_LEVEL_ERROR";
|
|
45
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_WARN"] = 2] = "LOG_LEVEL_WARN";
|
|
46
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_INFO"] = 3] = "LOG_LEVEL_INFO";
|
|
47
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_DEBUG"] = 4] = "LOG_LEVEL_DEBUG";
|
|
48
|
+
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_TRACE"] = 5] = "LOG_LEVEL_TRACE";
|
|
49
|
+
})(FfiLogLevelFilter = exports.FfiLogLevelFilter || (exports.FfiLogLevelFilter = {}));
|
|
28
50
|
//# sourceMappingURL=types.js.map
|
package/src/ffi/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAKa,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,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;AAUF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6GAA2B,CAAA;IAC3B,qGAAmB,CAAA;IACnB,yGAAqB,CAAA;IACrB,6FAAe,CAAA;IACf,iGAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAUD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,2EAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,2EAAiB,CAAA;IACjB,+EAAe,CAAA;IACf,6EAAc,CAAA;IACd,6EAAc,CAAA;IACd,+EAAe,CAAA;IACf,+EAAe,CAAA;AACjB,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B"}
|
package/src/publisher.d.ts
CHANGED
package/src/publisher.js
CHANGED
|
@@ -20,6 +20,7 @@ var Publisher = (function () {
|
|
|
20
20
|
tags: '--tag',
|
|
21
21
|
consumerVersion: '--consumer-app-version',
|
|
22
22
|
verbose: '--verbose',
|
|
23
|
+
buildUrl: '--build-url',
|
|
23
24
|
};
|
|
24
25
|
options = options || {};
|
|
25
26
|
options.tags = options.tags || [];
|
|
@@ -70,10 +71,16 @@ var Publisher = (function () {
|
|
|
70
71
|
instance.stderr.on('data', function (l) { return output.push(l); });
|
|
71
72
|
instance.once('close', function (code) {
|
|
72
73
|
var o = output.join('\n');
|
|
73
|
-
var pactUrls =
|
|
74
|
-
if (code !== 0
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
var pactUrls = /https?:\/\/.*\/pacts\/.*$/gim.exec(o);
|
|
75
|
+
if (code !== 0) {
|
|
76
|
+
var message = "Pact publication failed with non-zero exit code. Full output was:\n" + o;
|
|
77
|
+
logger_1.default.error(message);
|
|
78
|
+
return reject(new Error(message));
|
|
79
|
+
}
|
|
80
|
+
if (!pactUrls) {
|
|
81
|
+
var message = "Publication appeared to fail, as we did not detect any pact URLs in the following output:\n" + o;
|
|
82
|
+
logger_1.default.error(message);
|
|
83
|
+
return reject(new Error(message));
|
|
77
84
|
}
|
|
78
85
|
logger_1.default.info(o);
|
|
79
86
|
return resolve(pactUrls);
|
package/src/publisher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["publisher.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,uBAA0B;AAC1B,mCAAoD;AACpD,iCAA4B;AAC5B,mDAAwD;AACxD,iCAAsC;AACtC,qDAA+C;AAC/C,wCAA2C;AAE3C;
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.verify = void 0;
|
|
4
|
-
var ffi_1 = require("../ffi");
|
|
5
4
|
var logger_1 = require("../logger");
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var VERIFICATION_FAILED = 1;
|
|
10
|
-
var INVALID_ARGUMENTS = 4;
|
|
5
|
+
var argumentMapper_1 = require("./argumentMapper");
|
|
6
|
+
var ffi_1 = require("../ffi");
|
|
7
|
+
var types_1 = require("../ffi/types");
|
|
11
8
|
var verify = function (opts) {
|
|
12
|
-
var
|
|
9
|
+
var ffi = ffi_1.getFfiLib(opts.logLevel);
|
|
10
|
+
if (opts.logLevel) {
|
|
11
|
+
logger_1.setLogLevel(opts.logLevel);
|
|
12
|
+
}
|
|
13
13
|
return new Promise(function (resolve, reject) {
|
|
14
|
-
var request = argumentMapper_1.argumentMapper(
|
|
14
|
+
var request = argumentMapper_1.argumentMapper(opts)
|
|
15
15
|
.map(function (s) { return s.replace('\n', ''); })
|
|
16
16
|
.join('\n');
|
|
17
17
|
logger_1.default.debug('sending arguments to FFI:');
|
|
18
18
|
logger_1.default.debug(request);
|
|
19
|
-
|
|
19
|
+
ffi.pactffiVerify(request, function (err, res) {
|
|
20
20
|
logger_1.default.debug("response from verifier: " + err + ", " + res);
|
|
21
21
|
if (err) {
|
|
22
22
|
if (typeof err === 'string') {
|
|
@@ -30,15 +30,15 @@ var verify = function (opts) {
|
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
switch (res) {
|
|
33
|
-
case VERIFICATION_SUCCESSFUL:
|
|
33
|
+
case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_SUCCESSFUL:
|
|
34
34
|
logger_1.default.info('Verification successful');
|
|
35
35
|
resolve("finished: " + res);
|
|
36
36
|
break;
|
|
37
|
-
case VERIFICATION_FAILED:
|
|
37
|
+
case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_FAILED:
|
|
38
38
|
logger_1.default.error('Verification unsuccessful');
|
|
39
39
|
reject(new Error('Verfication failed'));
|
|
40
40
|
break;
|
|
41
|
-
case INVALID_ARGUMENTS:
|
|
41
|
+
case types_1.VERIFY_PROVIDER_RESPONSE.INVALID_ARGUMENTS:
|
|
42
42
|
logger_1.default.pactCrash('The underlying pact core was invoked incorrectly.');
|
|
43
43
|
reject(new Error('Verification was unable to run'));
|
|
44
44
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":";;;AACA,oCAAgD;AAChD,mDAAkD;AAClD,8BAAmC;AACnC,sCAAwD;AAEjD,IAAM,MAAM,GAAG,UAAC,IAAqB;IAC1C,IAAM,GAAG,GAAG,eAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,oBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5B;IAGD,OAAO,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;QACzC,IAAM,OAAO,GAAG,+BAAc,CAAC,IAAI,CAAC;aACjC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAnB,CAAmB,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtB,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,UAAC,GAAU,EAAE,GAAW;YACjD,gBAAM,CAAC,KAAK,CAAC,6BAA2B,GAAG,UAAK,GAAK,CAAC,CAAC;YACvD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAE3B,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACnB;qBAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACtB,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBACD,gBAAM,CAAC,SAAS,CACd,sEAAsE,CACvE,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM;gBACL,QAAQ,GAAG,EAAE;oBACX,KAAK,gCAAwB,CAAC,uBAAuB;wBACnD,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,eAAa,GAAK,CAAC,CAAC;wBAC5B,MAAM;oBACR,KAAK,gCAAwB,CAAC,mBAAmB;wBAC/C,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,gCAAwB,CAAC,iBAAiB;wBAC7C,gBAAM,CAAC,SAAS,CACd,mDAAmD,CACpD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBACpD,MAAM;oBACR;wBACE,gBAAM,CAAC,SAAS,CACd,wDAAwD,CACzD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvC,MAAM;iBACT;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtDW,QAAA,MAAM,UAsDjB"}
|
package/src/verifier/types.d.ts
CHANGED
|
@@ -58,7 +58,9 @@ var validateOptions = function (o) {
|
|
|
58
58
|
'released',
|
|
59
59
|
'environment',
|
|
60
60
|
'fallbackTag',
|
|
61
|
-
'
|
|
61
|
+
'branch',
|
|
62
|
+
'mainBranch',
|
|
63
|
+
'matchingBranch',
|
|
62
64
|
];
|
|
63
65
|
options.consumerVersionSelectors.forEach(function (selector) {
|
|
64
66
|
if (selector.tag === 'latest') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["validateOptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wCAA2C;AAC3C,oCAA+B;AAI/B,IAAM,SAAS,GAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEnE,IAAM,eAAe,GAAG,UAAC,CAAkB;IAKhD,IAAM,OAAO,gBAAQ,CAAC,CAAE,CAAC;IAEzB,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpB,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAc,CAAC,EAAE;YAClE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAc,CAAC;SAC/D;aAAM;YACL,MAAM,IAAI,KAAK,CACb,mBACE,OAAO,CAAC,QAAQ,0DACmC,SAAS,CAAC,IAAI,CACjE,IAAI,CACH,CACJ,CAAC;SACH;KACF;IAED,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC/B,IACE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC/C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACxD;YACA,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;SACH;QACD,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClD,gBAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,6DAA6D,CAC9D,CAAC;SACH;KACF;IAED,IAAI,OAAO,CAAC,mBAAmB,EAAE;QAC/B,IACE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC/C,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACxD;YACA,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;SACH;QACD,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClD,gBAAM,CAAC,IAAI,CACT,uFAAuF,CACxF,CAAC;YACF,gBAAM,CAAC,IAAI,CACT,6DAA6D,CAC9D,CAAC;YACF,gBAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,gBAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;SACrE;KACF;IAED,IACE,OAAO,CAAC,wBAAwB;QAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAC/C;QACA,IAAM,OAAK,GAAyC;YAClD,KAAK;YACL,QAAQ;YACR,UAAU;YACV,oBAAoB;YACpB,UAAU;YACV,UAAU;YACV,aAAa;YACb,aAAa;YACb,QAAQ;
|
|
1
|
+
{"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["validateOptions.ts"],"names":[],"mappings":"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"}
|
package/standalone/install.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const PACT_STANDALONE_VERSION = "1.88.
|
|
1
|
+
export declare const PACT_STANDALONE_VERSION = "1.88.81";
|
|
2
2
|
export declare function createConfig(location?: string): Config;
|
|
3
3
|
export declare function getBinaryEntry(platform?: string, arch?: string): BinaryEntry;
|
|
4
4
|
export interface PackageConfig {
|
package/standalone/install.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.getBinaryEntry = exports.createConfig = exports.PACT_STANDALONE_VERSION
|
|
|
4
4
|
var chalk = require("chalk");
|
|
5
5
|
var path = require("path");
|
|
6
6
|
var fs = require("fs");
|
|
7
|
-
exports.PACT_STANDALONE_VERSION = '1.88.
|
|
7
|
+
exports.PACT_STANDALONE_VERSION = '1.88.81';
|
|
8
8
|
var PACT_DEFAULT_LOCATION = "https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v" + exports.PACT_STANDALONE_VERSION + "/";
|
|
9
9
|
var HTTP_REGEX = /^http(s?):\/\//;
|
|
10
10
|
function throwError(msg) {
|
package/ffi/libpact_ffi.so.gz
DELETED
|
Binary file
|
package/native/consumer.c
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
#include <stdio.h>
|
|
2
|
-
#include <node_api.h>
|
|
3
|
-
#include <pact.h>
|
|
4
|
-
|
|
5
|
-
// libpact_init
|
|
6
|
-
void LibpactInit(napi_env env, napi_callback_info info) {
|
|
7
|
-
pactffi_init("LOG_LEVEL");
|
|
8
|
-
pactffi_init_with_log_level("INFO");
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// libpact_version
|
|
12
|
-
napi_value LibpactVersion(napi_env env, napi_callback_info info) {
|
|
13
|
-
napi_value version;
|
|
14
|
-
napi_status status;
|
|
15
|
-
|
|
16
|
-
const char* version_str = pactffi_version();
|
|
17
|
-
|
|
18
|
-
status = napi_create_string_utf8(env, version_str, NAPI_AUTO_LENGTH, &version);
|
|
19
|
-
if (status != napi_ok) {
|
|
20
|
-
napi_throw_error(env, NULL, "Unable to read version from core");
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return version;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// libpact_new_pact
|
|
27
|
-
napi_value LibpactNewPact(napi_env env, napi_callback_info info) {
|
|
28
|
-
napi_value pact;
|
|
29
|
-
napi_status status;
|
|
30
|
-
|
|
31
|
-
// actually a uint16
|
|
32
|
-
PactHandle handle = pactffi_new_pact("consumer", "provider");
|
|
33
|
-
|
|
34
|
-
status = napi_create_uint32(env, handle, &pact);
|
|
35
|
-
if (status != napi_ok) {
|
|
36
|
-
napi_throw_error(env, NULL, "Unable to create a new pact");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return pact;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// libpact_new_interaction
|
|
43
|
-
napi_value LibpactNewInteraction(napi_env env, napi_callback_info info) {
|
|
44
|
-
napi_status status;
|
|
45
|
-
napi_value interaction;
|
|
46
|
-
|
|
47
|
-
size_t argc = 1;
|
|
48
|
-
PactHandle pact_handle = 0;
|
|
49
|
-
napi_value argv[1];
|
|
50
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
51
|
-
|
|
52
|
-
if (status != napi_ok) {
|
|
53
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
status = napi_get_value_uint32(env, argv[0], &pact_handle);
|
|
57
|
-
printf("Received pact handle: %d\n", pact_handle);
|
|
58
|
-
|
|
59
|
-
// actually a uint16
|
|
60
|
-
InteractionHandle handle = pactffi_new_interaction(pact_handle, "empty description");
|
|
61
|
-
|
|
62
|
-
status = napi_create_uint32(env, handle, &interaction);
|
|
63
|
-
if (status != napi_ok) {
|
|
64
|
-
napi_throw_error(env, NULL, "Unable to create a new pact");
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return interaction;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// libpact_upon_receiving
|
|
71
|
-
napi_value LibpactUponReceiving(napi_env env, napi_callback_info info) {
|
|
72
|
-
napi_status status;
|
|
73
|
-
napi_value res;
|
|
74
|
-
|
|
75
|
-
size_t argc = 1;
|
|
76
|
-
InteractionHandle interaction_handle = 0;
|
|
77
|
-
napi_value argv[1];
|
|
78
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
79
|
-
|
|
80
|
-
if (status != napi_ok) {
|
|
81
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
status = napi_get_value_uint32(env, argv[0], &interaction_handle);
|
|
85
|
-
printf("Received interaction handle: %d\n", interaction_handle);
|
|
86
|
-
|
|
87
|
-
// actually a uint32
|
|
88
|
-
int success = pactffi_upon_receiving(interaction_handle, "new description");
|
|
89
|
-
|
|
90
|
-
status = napi_get_boolean(env, success, &res);
|
|
91
|
-
if (status != napi_ok) {
|
|
92
|
-
napi_throw_error(env, NULL, "Unable to set upon receiving");
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return res;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// libpact_verify
|
|
99
|
-
napi_value LibpactVerifyProvider(napi_env env, napi_callback_info info) {
|
|
100
|
-
napi_status status;
|
|
101
|
-
napi_value response;
|
|
102
|
-
napi_value argv[1];
|
|
103
|
-
|
|
104
|
-
size_t argc = 1;
|
|
105
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
106
|
-
if (status != napi_ok) {
|
|
107
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
char *args;
|
|
111
|
-
size_t str_size;
|
|
112
|
-
|
|
113
|
-
// First determine the string size: https://nodejs.org/api/n-api.html#napi_get_value_string_utf8
|
|
114
|
-
napi_get_value_string_utf8(env, argv[0], NULL, 0, &str_size);
|
|
115
|
-
str_size += 1;
|
|
116
|
-
|
|
117
|
-
args = (char*)calloc(str_size + 1, sizeof(char));
|
|
118
|
-
size_t str_size_read;
|
|
119
|
-
|
|
120
|
-
// Get the actual string now the size is known
|
|
121
|
-
status = napi_get_value_string_utf8(env, argv[0], args, str_size, &str_size_read);
|
|
122
|
-
if (status != napi_ok) {
|
|
123
|
-
napi_throw_error(env, NULL, "Unable to read the verification arguments");
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
int res = pactffi_verify(args);
|
|
127
|
-
|
|
128
|
-
status = napi_create_uint32(env, res, &response);
|
|
129
|
-
if (status != napi_ok) {
|
|
130
|
-
napi_throw_error(env, NULL, "Unable to verify pact");
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return response;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
napi_value Init(napi_env env, napi_value exports) {
|
|
138
|
-
napi_status status;
|
|
139
|
-
napi_value fn;
|
|
140
|
-
|
|
141
|
-
// version
|
|
142
|
-
status = napi_create_function(env, NULL, 0, LibpactVersion, NULL, &fn);
|
|
143
|
-
if (status != napi_ok) {
|
|
144
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: version");
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
status = napi_set_named_property(env, exports, "version", fn);
|
|
148
|
-
if (status != napi_ok) {
|
|
149
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: version");
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// init
|
|
153
|
-
status = napi_create_function(env, NULL, 0, LibpactInit, NULL, &fn);
|
|
154
|
-
if (status != napi_ok) {
|
|
155
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: init");
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
status = napi_set_named_property(env, exports, "init", fn);
|
|
159
|
-
if (status != napi_ok) {
|
|
160
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: init");
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// new pact
|
|
164
|
-
status = napi_create_function(env, NULL, 0, LibpactNewPact, NULL, &fn);
|
|
165
|
-
if (status != napi_ok) {
|
|
166
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: new_pact");
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
status = napi_set_named_property(env, exports, "new_pact", fn);
|
|
170
|
-
if (status != napi_ok) {
|
|
171
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: new_pact");
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// new interaction
|
|
175
|
-
status = napi_create_function(env, NULL, 0, LibpactNewInteraction, NULL, &fn);
|
|
176
|
-
if (status != napi_ok) {
|
|
177
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: new_interaction");
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
status = napi_set_named_property(env, exports, "new_interaction", fn);
|
|
181
|
-
if (status != napi_ok) {
|
|
182
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: new_interaction");
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// upon receiving
|
|
186
|
-
status = napi_create_function(env, NULL, 0, LibpactUponReceiving, NULL, &fn);
|
|
187
|
-
if (status != napi_ok) {
|
|
188
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: upon_receiving");
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
status = napi_set_named_property(env, exports, "upon_receiving", fn);
|
|
192
|
-
if (status != napi_ok) {
|
|
193
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: upon_receiving");
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// verify (provider)
|
|
197
|
-
status = napi_create_function(env, NULL, 0, LibpactVerifyProvider, NULL, &fn);
|
|
198
|
-
if (status != napi_ok) {
|
|
199
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: verify_provider");
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
status = napi_set_named_property(env, exports, "verify_provider", fn);
|
|
203
|
-
if (status != napi_ok) {
|
|
204
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: verify_provider");
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return exports;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
3
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
4
|
-
to[j] = from[i];
|
|
5
|
-
return to;
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.argumentMapper = void 0;
|
|
9
|
-
var logger_1 = require("../../logger");
|
|
10
|
-
var argumentMapper = function (argMapping, options, ignoredArguments) {
|
|
11
|
-
return Object.keys(options)
|
|
12
|
-
.map(function (key) {
|
|
13
|
-
if (!argMapping[key]) {
|
|
14
|
-
if (!ignoredArguments.includes(key)) {
|
|
15
|
-
logger_1.default.error("Pact-core is ignoring unknown option '" + key + "'");
|
|
16
|
-
}
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
if (options[key] === undefined) {
|
|
20
|
-
logger_1.default.warn("The Verifier option '" + key + "' was was explicitly set to undefined and will be ignored. This may indicate an error in your config. Remove the option entirely to prevent this warning");
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
if (argMapping[key].warningMessage) {
|
|
24
|
-
logger_1.default.warn(argMapping[key].warningMessage);
|
|
25
|
-
return [];
|
|
26
|
-
}
|
|
27
|
-
if (argMapping[key].arg) {
|
|
28
|
-
switch (argMapping[key].mapper) {
|
|
29
|
-
case 'string':
|
|
30
|
-
return [argMapping[key].arg, "" + options[key]];
|
|
31
|
-
case 'flag':
|
|
32
|
-
return options[key] ? [argMapping[key].arg] : [];
|
|
33
|
-
default:
|
|
34
|
-
logger_1.default.pactCrash("Option mapper for '" + key + "' maps to '" + argMapping[key].arg + "' with unknown mapper type '" + argMapping[key].mapper + "'");
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (typeof argMapping[key] === 'function') {
|
|
39
|
-
return argMapping[key](options[key]);
|
|
40
|
-
}
|
|
41
|
-
logger_1.default.pactCrash("The option mapper completely failed to find a mapping for '" + key + "'.");
|
|
42
|
-
return [];
|
|
43
|
-
})
|
|
44
|
-
.reduce(function (acc, current) { return __spreadArray(__spreadArray([], acc), current); }, []);
|
|
45
|
-
};
|
|
46
|
-
exports.argumentMapper = argumentMapper;
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;AACA,uCAAkC;AAE3B,IAAM,cAAc,GAAG,UAC5B,UAAmC,EACnC,OAAoB,EACpB,gBAA0B;IAE1B,OAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACjB,GAAG,CAAC,UAAC,GAAW;QACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnC,gBAAM,CAAC,KAAK,CAAC,2CAAyC,GAAG,MAAG,CAAC,CAAC;aAC/D;YACD,OAAO,EAAE,CAAC;SACX;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC9B,gBAAM,CAAC,IAAI,CACT,0BAAwB,GAAG,6JAA0J,CACtL,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE;YAClC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;YACvB,QAAQ,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAC9B,KAAK,QAAQ;oBACX,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAG,OAAO,CAAC,GAAG,CAAG,CAAC,CAAC;gBAClD,KAAK,MAAM;oBACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD;oBACE,gBAAM,CAAC,SAAS,CACd,wBAAsB,GAAG,mBAAc,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,oCAA+B,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,MAAG,CACnH,CAAC;oBACF,OAAO,EAAE,CAAC;aACb;SACF;QACD,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QACD,gBAAM,CAAC,SAAS,CACd,gEAA8D,GAAG,OAAI,CACtE,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SAED,MAAM,CAAC,UAAC,GAAa,EAAE,OAAiB,IAAK,uCAAI,GAAG,GAAK,OAAO,GAAnB,CAAoB,EAAE,EAAE,CAAC;AAxCzE,CAwCyE,CAAC;AA7C/D,QAAA,cAAc,kBA6CiD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
|