@pact-foundation/pact-core 13.7.7 → 13.8.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 +22 -0
- package/binding.gyp +19 -1
- package/build/Makefile +1 -1
- package/build/copy_release_artifacts.target.mk +6 -1
- package/ffi/libpact_ffi.dylib +0 -0
- package/ffi/libpact_ffi.so +0 -0
- package/ffi/libpact_ffi.so.gz +0 -0
- package/ffi/linuxaarch64/libpact_ffi.so +0 -0
- package/ffi/osxaarch64/libpact_ffi.dylib +0 -0
- package/ffi/pact-cpp.h +13 -0
- package/ffi/pact.h +14 -0
- package/ffi/pact_ffi.dll +0 -0
- package/ffi/pact_ffi.dll.lib +0 -0
- package/package.json +1 -1
- package/src/ffi/index.d.ts +1 -1
- package/src/ffi/index.js +1 -1
- package/src/ffi/internals/index.js +3 -2
- package/src/ffi/internals/index.js.map +1 -1
- package/src/verifier/argumentMapper/arguments.js +31 -26
- package/src/verifier/argumentMapper/arguments.js.map +1 -1
- package/src/verifier/argumentMapper/index.js +5 -4
- package/src/verifier/argumentMapper/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [13.8.0](https://github.com/pact-foundation/pact-js-core/compare/v13.7.9...v13.8.0) (2022-09-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* Add Linux/arm64 support ([a174d7b](https://github.com/pact-foundation/pact-js-core/commit/a174d7b89105043b21522e56efa1a35f8c8222c4))
|
|
11
|
+
|
|
12
|
+
### [13.7.9](https://github.com/pact-foundation/pact-js-core/compare/v13.7.8...v13.7.9) (2022-08-30)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Fixes and Improvements
|
|
16
|
+
|
|
17
|
+
* error if file source is invalid ([f1ad86a](https://github.com/pact-foundation/pact-js-core/commit/f1ad86ad5d139ecd6381a5f19d0991139b5e110b))
|
|
18
|
+
* update rust core to 0.3.9 ([81483b8](https://github.com/pact-foundation/pact-js-core/commit/81483b895fd891ff6cd46b9ab1b42a899cc546d9))
|
|
19
|
+
|
|
20
|
+
### [13.7.8](https://github.com/pact-foundation/pact-js-core/compare/v13.7.7...v13.7.8) (2022-08-19)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Fixes and Improvements
|
|
24
|
+
|
|
25
|
+
* correct binary matching behaviour ([5794c74](https://github.com/pact-foundation/pact-js-core/commit/5794c74366ea57b101f6bfa4fd21c843b36b69cb))
|
|
26
|
+
|
|
5
27
|
### [13.7.7](https://github.com/pact-foundation/pact-js-core/compare/v13.7.6...v13.7.7) (2022-08-14)
|
|
6
28
|
|
|
7
29
|
|
package/binding.gyp
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
}
|
|
71
71
|
],
|
|
72
72
|
[
|
|
73
|
-
"OS==\"linux\"",
|
|
73
|
+
"OS==\"linux\" and target_arch ==\"x64\"",
|
|
74
74
|
{
|
|
75
75
|
"link_settings": {
|
|
76
76
|
"libraries": [
|
|
@@ -80,6 +80,18 @@
|
|
|
80
80
|
]
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
+
],
|
|
84
|
+
[
|
|
85
|
+
"OS==\"linux\" and target_arch ==\"arm64\"",
|
|
86
|
+
{
|
|
87
|
+
"link_settings": {
|
|
88
|
+
"libraries": [
|
|
89
|
+
"-lpact_ffi",
|
|
90
|
+
"-L<(module_root_dir)/ffi/linuxaarch64",
|
|
91
|
+
"-Wl,-rpath,'$$ORIGIN'/linuxaarch64"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
83
95
|
]
|
|
84
96
|
],
|
|
85
97
|
"library_dirs": [
|
|
@@ -113,6 +125,12 @@
|
|
|
113
125
|
"<(module_root_dir)/ffi/osxaarch64/libpact_ffi.dylib",
|
|
114
126
|
],
|
|
115
127
|
"destination": "<(PRODUCT_DIR)/osxaarch64"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"files": [
|
|
131
|
+
"<(module_root_dir)/ffi/linuxaarch64/libpact_ffi.so",
|
|
132
|
+
],
|
|
133
|
+
"destination": "<(PRODUCT_DIR)/linuxaarch64"
|
|
116
134
|
}
|
|
117
135
|
]
|
|
118
136
|
},
|
package/build/Makefile
CHANGED
|
@@ -319,7 +319,7 @@ endif
|
|
|
319
319
|
|
|
320
320
|
quiet_cmd_regen_makefile = ACTION Regenerating $@
|
|
321
321
|
cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/12.22.12" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/12.22.12/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/pact-js-core/pact-js-core" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/pact-js-core/pact-js-core/build/config.gypi -I/opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/12.22.12/include/node/common.gypi "--toplevel-dir=." binding.gyp
|
|
322
|
-
Makefile: $(srcdir)/
|
|
322
|
+
Makefile: $(srcdir)/build/config.gypi $(srcdir)/../../../.cache/node-gyp/12.22.12/include/node/common.gypi $(srcdir)/binding.gyp $(srcdir)/../../../../../opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
|
|
323
323
|
$(call do_cmd,regen_makefile)
|
|
324
324
|
|
|
325
325
|
# "all" is a concatenation of the "all" targets from all the included
|
|
@@ -23,7 +23,12 @@ $(builddir)/osxaarch64/libpact_ffi.dylib: /home/runner/work/pact-js-core/pact-js
|
|
|
23
23
|
$(call do_cmd,copy)
|
|
24
24
|
|
|
25
25
|
all_deps += $(builddir)/osxaarch64/libpact_ffi.dylib
|
|
26
|
-
|
|
26
|
+
$(builddir)/linuxaarch64/libpact_ffi.so: TOOLSET := $(TOOLSET)
|
|
27
|
+
$(builddir)/linuxaarch64/libpact_ffi.so: /home/runner/work/pact-js-core/pact-js-core/ffi/linuxaarch64/libpact_ffi.so FORCE_DO_CMD
|
|
28
|
+
$(call do_cmd,copy)
|
|
29
|
+
|
|
30
|
+
all_deps += $(builddir)/linuxaarch64/libpact_ffi.so
|
|
31
|
+
binding_gyp_copy_release_artifacts_target_copies = $(builddir)/libpact_ffi.dylib $(builddir)/libpact_ffi.so $(builddir)/pact_ffi.dll $(builddir)/osxaarch64/libpact_ffi.dylib $(builddir)/linuxaarch64/libpact_ffi.so
|
|
27
32
|
|
|
28
33
|
### Rules for final target.
|
|
29
34
|
# Build our special outputs first.
|
package/ffi/libpact_ffi.dylib
CHANGED
|
Binary file
|
package/ffi/libpact_ffi.so
CHANGED
|
Binary file
|
package/ffi/libpact_ffi.so.gz
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/ffi/pact-cpp.h
CHANGED
|
@@ -2694,6 +2694,19 @@ int pactffi_verifier_set_verification_options(VerifierHandle *handle,
|
|
|
2694
2694
|
unsigned char disable_ssl_verification,
|
|
2695
2695
|
unsigned long request_timeout);
|
|
2696
2696
|
|
|
2697
|
+
/**
|
|
2698
|
+
* Enables or disables coloured output using ANSI escape codes in the verifier output. By default,
|
|
2699
|
+
* coloured output is enabled.
|
|
2700
|
+
*
|
|
2701
|
+
* `coloured_output` is a boolean value. Set it to greater than zero to turn the option on.
|
|
2702
|
+
*
|
|
2703
|
+
* # Safety
|
|
2704
|
+
*
|
|
2705
|
+
* This function is safe as long as the handle pointer points to a valid handle.
|
|
2706
|
+
*
|
|
2707
|
+
*/
|
|
2708
|
+
int pactffi_verifier_set_coloured_output(VerifierHandle *handle, unsigned char coloured_output);
|
|
2709
|
+
|
|
2697
2710
|
/**
|
|
2698
2711
|
* Set the options used when publishing verification results to the Pact Broker
|
|
2699
2712
|
*
|
package/ffi/pact.h
CHANGED
|
@@ -2692,6 +2692,20 @@ int pactffi_verifier_set_verification_options(struct VerifierHandle *handle,
|
|
|
2692
2692
|
unsigned char disable_ssl_verification,
|
|
2693
2693
|
unsigned long request_timeout);
|
|
2694
2694
|
|
|
2695
|
+
/**
|
|
2696
|
+
* Enables or disables coloured output using ANSI escape codes in the verifier output. By default,
|
|
2697
|
+
* coloured output is enabled.
|
|
2698
|
+
*
|
|
2699
|
+
* `coloured_output` is a boolean value. Set it to greater than zero to turn the option on.
|
|
2700
|
+
*
|
|
2701
|
+
* # Safety
|
|
2702
|
+
*
|
|
2703
|
+
* This function is safe as long as the handle pointer points to a valid handle.
|
|
2704
|
+
*
|
|
2705
|
+
*/
|
|
2706
|
+
int pactffi_verifier_set_coloured_output(struct VerifierHandle *handle,
|
|
2707
|
+
unsigned char coloured_output);
|
|
2708
|
+
|
|
2695
2709
|
/**
|
|
2696
2710
|
* Set the options used when publishing verification results to the Pact Broker
|
|
2697
2711
|
*
|
package/ffi/pact_ffi.dll
CHANGED
|
Binary file
|
package/ffi/pact_ffi.dll.lib
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact-core",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.8.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",
|
package/src/ffi/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LogLevel } from '../logger/types';
|
|
2
2
|
import { Ffi } from './types';
|
|
3
3
|
declare const ffiLib: Ffi;
|
|
4
|
-
export declare const PACT_FFI_VERSION = "0.3.
|
|
4
|
+
export declare const PACT_FFI_VERSION = "0.3.9";
|
|
5
5
|
declare let ffi: typeof ffiLib;
|
|
6
6
|
export declare const getFfiLib: (logLevel?: LogLevel) => typeof ffi;
|
|
7
7
|
export {};
|
package/src/ffi/index.js
CHANGED
|
@@ -23,7 +23,7 @@ exports.getFfiLib = exports.PACT_FFI_VERSION = void 0;
|
|
|
23
23
|
const logger_1 = __importStar(require("../logger"));
|
|
24
24
|
const bindings = require("bindings");
|
|
25
25
|
const ffiLib = bindings('pact.node');
|
|
26
|
-
exports.PACT_FFI_VERSION = '0.3.
|
|
26
|
+
exports.PACT_FFI_VERSION = '0.3.9';
|
|
27
27
|
let ffi;
|
|
28
28
|
let ffiLogLevel;
|
|
29
29
|
const initialiseFfi = (logLevel) => {
|
|
@@ -11,11 +11,12 @@ const LIBNAME_PREFIX_LOOKUP = {
|
|
|
11
11
|
darwin: 'lib',
|
|
12
12
|
win32: '',
|
|
13
13
|
};
|
|
14
|
-
const ARCH_LOOKUP = { x64: 'x86_64', arm64: 'aarch64
|
|
14
|
+
const ARCH_LOOKUP = { x64: 'x86_64', arm64: 'aarch64' };
|
|
15
15
|
const EXTENSION_LOOKUP = {
|
|
16
16
|
'osx-x86_64': 'dylib',
|
|
17
|
-
'osx-aarch64
|
|
17
|
+
'osx-aarch64': 'dylib',
|
|
18
18
|
'linux-x86_64': 'so',
|
|
19
|
+
'linux-aarch64': 'so',
|
|
19
20
|
'windows-x86_64': 'dll',
|
|
20
21
|
};
|
|
21
22
|
const libName = (library, version, processArch = process.arch, processPlatform = process.platform) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAIF,MAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAIF,MAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAIxD,MAAM,gBAAgB,GAAG;IACvB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEK,MAAM,OAAO,GAAG,CACrB,OAAe,EACf,OAAe,EACf,WAAW,GAAG,OAAO,CAAC,IAAI,EAC1B,eAAe,GAAG,OAAO,CAAC,QAAQ,EAC1B,EAAE;IACV,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,sFAAsF,eAAe,IAAI,WAAW,GAAG,CACxH,CAAC;KACH;IAED,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CACb,8FAA8F,MAAM,GAAG,CACxG,CAAC;KACH;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,8DAA8D,eAAe,GAAG,CACjF,CAAC;KACH;IAED,OAAO,GAAG,OAAO,IAAI,aAAa,GAAG,OAAO,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;AACxE,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ffiFnMapping = exports.orderOfExecution = void 0;
|
|
7
7
|
const logger_1 = __importDefault(require("../../logger"));
|
|
8
8
|
const fs = require("fs");
|
|
9
|
+
const url = require("url");
|
|
9
10
|
const types_1 = require("./types");
|
|
10
11
|
const url_1 = require("url");
|
|
11
12
|
const DEFAULT_TIMEOUT = 30000;
|
|
@@ -60,40 +61,44 @@ exports.ffiFnMapping = {
|
|
|
60
61
|
if (options.pactUrls) {
|
|
61
62
|
options.pactUrls.forEach((file) => {
|
|
62
63
|
logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
if (/https?:/.test(url.parse(file).protocol || '')) {
|
|
65
|
+
try {
|
|
66
|
+
const u = new url_1.URL(file);
|
|
67
|
+
if (u.hostname) {
|
|
68
|
+
logger_1.default.debug(`adding ${file} as a Url source`);
|
|
69
|
+
ffi.pactffiVerifierUrlSource(handle, file, options.pactBrokerUsername ||
|
|
70
|
+
process.env.PACT_BROKER_USERNAME ||
|
|
71
|
+
'', options.pactBrokerPassword ||
|
|
72
|
+
process.env.PACT_BROKER_PASSWORD ||
|
|
73
|
+
'', options.pactBrokerToken || process.env.PACT_BROKER_TOKEN || '');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
messages.push(`${file} is not a valid URL`);
|
|
72
78
|
}
|
|
73
79
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
else {
|
|
81
|
+
try {
|
|
82
|
+
const f = fs.lstatSync(file);
|
|
83
|
+
if (f.isDirectory()) {
|
|
84
|
+
logger_1.default.debug(`adding ${file} as Directory source`);
|
|
85
|
+
ffi.pactffiVerifierAddDirectorySource(handle, file);
|
|
86
|
+
}
|
|
87
|
+
else if (f.isFile() || f.isSymbolicLink()) {
|
|
88
|
+
logger_1.default.debug(`adding ${file} as File source`);
|
|
89
|
+
ffi.pactffiVerifierAddFileSource(handle, file);
|
|
90
|
+
}
|
|
82
91
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
ffi.pactffiVerifierAddFileSource(handle, file);
|
|
92
|
+
catch {
|
|
93
|
+
messages.push(`'${file}' does not exist, or is not a file or directory`);
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
|
-
catch {
|
|
89
|
-
messages.push(`'${file}' does not exist, or is not a file or directory`);
|
|
90
|
-
}
|
|
91
96
|
});
|
|
97
|
+
if (messages.length > 0) {
|
|
98
|
+
return { status: types_1.FnValidationStatus.FAIL, messages };
|
|
99
|
+
}
|
|
92
100
|
return { status: types_1.FnValidationStatus.SUCCESS };
|
|
93
101
|
}
|
|
94
|
-
if (messages.length > 0) {
|
|
95
|
-
return { status: types_1.FnValidationStatus.FAIL, messages };
|
|
96
|
-
}
|
|
97
102
|
return { status: types_1.FnValidationStatus.IGNORE };
|
|
98
103
|
},
|
|
99
104
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,yBAA0B;
|
|
1
|
+
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,18 +28,19 @@ const setupVerification = (ffi, handle, options) => {
|
|
|
28
28
|
const order = underscore_1.values(arguments_1.orderOfExecution).sort((a, b) => a - b);
|
|
29
29
|
const functionsToCall = underscore_1.invert(arguments_1.orderOfExecution);
|
|
30
30
|
order.map((k) => {
|
|
31
|
-
const
|
|
31
|
+
const fn = functionsToCall[k];
|
|
32
|
+
const validation = arguments_1.ffiFnMapping[fn].validateAndExecute(ffi, handle, options);
|
|
32
33
|
switch (validation.status) {
|
|
33
34
|
case types_1.FnValidationStatus.FAIL:
|
|
34
|
-
logger_1.logErrorAndThrow(`the required ffi function '${
|
|
35
|
+
logger_1.logErrorAndThrow(`the required ffi function '${fn}' failed validation with errors: ${validation.messages || [].join(',')}`);
|
|
35
36
|
break;
|
|
36
37
|
case types_1.FnValidationStatus.IGNORE:
|
|
37
|
-
logger_1.default.debug(`the optional ffi function '${
|
|
38
|
+
logger_1.default.debug(`the optional ffi function '${fn}' was not executed as it had non-fatal validation errors: ${validation.messages || [].join(',')}`);
|
|
38
39
|
break;
|
|
39
40
|
case types_1.FnValidationStatus.SUCCESS:
|
|
40
41
|
break;
|
|
41
42
|
default:
|
|
42
|
-
logger_1.logCrashAndThrow(`the ffi function '${
|
|
43
|
+
logger_1.logCrashAndThrow(`the ffi function '${fn}' returned the following unrecognised validation signal: '${validation.status}'`);
|
|
43
44
|
}
|
|
44
45
|
});
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAC7C,uDAA0E;AAE1E,2CAA6D;AAE7D,2CAA4C;AAErC,MAAM,iBAAiB,GAAG,CAC/B,GAAQ,EACR,MAAyB,EACzB,OAAoC,EAC9B,EAAE;IACR,MAAM,KAAK,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC;IAEjD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAC7C,uDAA0E;AAE1E,2CAA6D;AAE7D,2CAA4C;AAErC,MAAM,iBAAiB,GAAG,CAC/B,GAAQ,EACR,MAAyB,EACzB,OAAoC,EAC9B,EAAE;IACR,MAAM,KAAK,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC;IAEjD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,wBAAY,CAAC,EAAE,CAAC,CAAC,kBAAkB,CACpD,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAC;QAEF,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,0BAAkB,CAAC,IAAI;gBAC1B,yBAAgB,CACd,8BAA8B,EAAE,oCAC9B,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CACpC,EAAE,CACH,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,MAAM;gBAC5B,gBAAM,CAAC,KAAK,CACV,8BAA8B,EAAE,6DAC9B,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CACpC,EAAE,CACH,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,OAAO;gBAC7B,MAAM;YACR;gBACE,yBAAgB,CACd,qBAAqB,EAAE,6DAA6D,UAAU,CAAC,MAAM,GAAG,CACzG,CAAC;SACL;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B"}
|