@pact-foundation/pact 16.3.1 → 16.5.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 (261) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +22 -12
  4. package/package.json +26 -47
  5. package/scripts/ci/build-and-test.sh +0 -3
  6. package/scripts/install-plugins.js +104 -0
  7. package/src/common/graphQL/configurationError.js +2 -22
  8. package/src/common/graphQL/configurationError.js.map +1 -1
  9. package/src/common/graphQL/graphQL.d.ts +2 -2
  10. package/src/common/graphQL/graphQL.js +11 -14
  11. package/src/common/graphQL/graphQL.js.map +1 -1
  12. package/src/common/graphQL/graphQLQueryError.js +2 -22
  13. package/src/common/graphQL/graphQLQueryError.js.map +1 -1
  14. package/src/common/logger.js +9 -9
  15. package/src/common/logger.js.map +1 -1
  16. package/src/common/matchingRules.d.ts +7 -1
  17. package/src/common/matchingRules.js +42 -22
  18. package/src/common/matchingRules.js.map +1 -1
  19. package/src/common/net.js +36 -42
  20. package/src/common/net.js.map +1 -1
  21. package/src/common/net.spec.js +39 -87
  22. package/src/common/net.spec.js.map +1 -1
  23. package/src/common/request.js +33 -82
  24. package/src/common/request.js.map +1 -1
  25. package/src/common/request.spec.js +29 -73
  26. package/src/common/request.spec.js.map +1 -1
  27. package/src/common/spec.js +3 -4
  28. package/src/common/spec.js.map +1 -1
  29. package/src/dsl/apolloGraphql.js +7 -25
  30. package/src/dsl/apolloGraphql.js.map +1 -1
  31. package/src/dsl/apolloGraphql.spec.js +21 -58
  32. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  33. package/src/dsl/graphql.d.ts +2 -2
  34. package/src/dsl/graphql.js +29 -48
  35. package/src/dsl/graphql.js.map +1 -1
  36. package/src/dsl/graphql.spec.js +92 -117
  37. package/src/dsl/graphql.spec.js.map +1 -1
  38. package/src/dsl/interaction.d.ts +2 -2
  39. package/src/dsl/interaction.js +41 -48
  40. package/src/dsl/interaction.js.map +1 -1
  41. package/src/dsl/interaction.spec.js +109 -132
  42. package/src/dsl/interaction.spec.js.map +1 -1
  43. package/src/dsl/matchers.d.ts +2 -3
  44. package/src/dsl/matchers.js +19 -31
  45. package/src/dsl/matchers.js.map +1 -1
  46. package/src/dsl/matchers.spec.js +279 -289
  47. package/src/dsl/matchers.spec.js.map +1 -1
  48. package/src/dsl/message.d.ts +3 -3
  49. package/src/dsl/options.d.ts +3 -3
  50. package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
  51. package/src/dsl/verifier/proxy/hooks.js +42 -112
  52. package/src/dsl/verifier/proxy/hooks.js.map +1 -1
  53. package/src/dsl/verifier/proxy/hooks.spec.js +86 -199
  54. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  55. package/src/dsl/verifier/proxy/messages.d.ts +2 -2
  56. package/src/dsl/verifier/proxy/messages.js +88 -106
  57. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  58. package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
  59. package/src/dsl/verifier/proxy/parseBody.js +3 -3
  60. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  61. package/src/dsl/verifier/proxy/parseBody.spec.js +35 -113
  62. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  63. package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
  64. package/src/dsl/verifier/proxy/proxy.js +22 -26
  65. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  66. package/src/dsl/verifier/proxy/proxy.spec.js +11 -53
  67. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  68. package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
  69. package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
  70. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  71. package/src/dsl/verifier/proxy/proxyRequest.spec.js +54 -104
  72. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  73. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
  74. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
  75. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  76. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -193
  77. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  78. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
  79. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
  80. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  81. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -122
  82. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  83. package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
  84. package/src/dsl/verifier/proxy/tracer.js +42 -35
  85. package/src/dsl/verifier/proxy/tracer.js.map +1 -1
  86. package/src/dsl/verifier/proxy/types.d.ts +5 -5
  87. package/src/dsl/verifier/types.d.ts +3 -3
  88. package/src/dsl/verifier/verifier.d.ts +5 -1
  89. package/src/dsl/verifier/verifier.js +53 -60
  90. package/src/dsl/verifier/verifier.js.map +1 -1
  91. package/src/dsl/verifier/verifier.spec.js +84 -151
  92. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  93. package/src/errors/configurationError.js +2 -22
  94. package/src/errors/configurationError.js.map +1 -1
  95. package/src/errors/graphQLQueryError.js +2 -22
  96. package/src/errors/graphQLQueryError.js.map +1 -1
  97. package/src/errors/matcherError.js +2 -22
  98. package/src/errors/matcherError.js.map +1 -1
  99. package/src/errors/verificationError.js +2 -22
  100. package/src/errors/verificationError.js.map +1 -1
  101. package/src/httpPact/ffi.d.ts +2 -2
  102. package/src/httpPact/ffi.js +28 -29
  103. package/src/httpPact/ffi.js.map +1 -1
  104. package/src/httpPact/ffi.spec.js +40 -83
  105. package/src/httpPact/ffi.spec.js.map +1 -1
  106. package/src/httpPact/index.d.ts +3 -3
  107. package/src/httpPact/index.js +92 -149
  108. package/src/httpPact/index.js.map +1 -1
  109. package/src/httpPact/index.spec.js +102 -195
  110. package/src/httpPact/index.spec.js.map +1 -1
  111. package/src/httpPact/tracing.js +20 -28
  112. package/src/httpPact/tracing.js.map +1 -1
  113. package/src/index.d.ts +25 -25
  114. package/src/index.js +29 -29
  115. package/src/index.js.map +1 -1
  116. package/src/messageConsumerPact.d.ts +5 -5
  117. package/src/messageConsumerPact.js +59 -53
  118. package/src/messageConsumerPact.js.map +1 -1
  119. package/src/messageConsumerPact.spec.js +55 -97
  120. package/src/messageConsumerPact.spec.js.map +1 -1
  121. package/src/messageProviderPact.d.ts +3 -3
  122. package/src/messageProviderPact.js +68 -85
  123. package/src/messageProviderPact.js.map +1 -1
  124. package/src/messageProviderPact.spec.js +96 -123
  125. package/src/messageProviderPact.spec.js.map +1 -1
  126. package/src/pact.integration.spec.js +242 -351
  127. package/src/pact.integration.spec.js.map +1 -1
  128. package/src/v3/display.d.ts +1 -1
  129. package/src/v3/display.js +44 -58
  130. package/src/v3/display.js.map +1 -1
  131. package/src/v3/ffi.js +20 -16
  132. package/src/v3/ffi.js.map +1 -1
  133. package/src/v3/ffi.spec.js +7 -42
  134. package/src/v3/ffi.spec.js.map +1 -1
  135. package/src/v3/graphql/graphQL.d.ts +4 -4
  136. package/src/v3/graphql/graphQL.js +50 -75
  137. package/src/v3/graphql/graphQL.js.map +1 -1
  138. package/src/v3/graphql/index.d.ts +1 -1
  139. package/src/v3/graphql/index.js +1 -1
  140. package/src/v3/graphql/index.js.map +1 -1
  141. package/src/v3/index.d.ts +4 -12
  142. package/src/v3/index.js +4 -12
  143. package/src/v3/index.js.map +1 -1
  144. package/src/v3/matchers.d.ts +15 -3
  145. package/src/v3/matchers.js +131 -148
  146. package/src/v3/matchers.js.map +1 -1
  147. package/src/v3/matchers.spec.js +281 -232
  148. package/src/v3/matchers.spec.js.map +1 -1
  149. package/src/v3/pact.d.ts +2 -2
  150. package/src/v3/pact.js +108 -151
  151. package/src/v3/pact.js.map +1 -1
  152. package/src/v3/pact.spec.js +94 -0
  153. package/src/v3/pact.spec.js.map +1 -0
  154. package/src/v3/types.d.ts +19 -3
  155. package/src/v3/types.js +22 -1
  156. package/src/v3/types.js.map +1 -1
  157. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
  158. package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
  159. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  160. package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
  161. package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
  162. package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
  163. package/src/v4/graphql/index.d.ts +6 -6
  164. package/src/v4/graphql/index.js +21 -17
  165. package/src/v4/graphql/index.js.map +1 -1
  166. package/src/v4/graphql/types.d.ts +5 -5
  167. package/src/v4/http/index.d.ts +2 -2
  168. package/src/v4/http/index.js +53 -93
  169. package/src/v4/http/index.js.map +1 -1
  170. package/src/v4/http/index.spec.d.ts +1 -0
  171. package/src/v4/http/index.spec.js +73 -0
  172. package/src/v4/http/index.spec.js.map +1 -0
  173. package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
  174. package/src/v4/http/interactionWithCompleteRequest.js +6 -10
  175. package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
  176. package/src/v4/http/interactionWithPlugin.d.ts +3 -3
  177. package/src/v4/http/interactionWithPlugin.js +14 -11
  178. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  179. package/src/v4/http/interactionWithPluginRequest.d.ts +4 -3
  180. package/src/v4/http/interactionWithPluginRequest.js +17 -9
  181. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  182. package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
  183. package/src/v4/http/interactionWithPluginResponse.js +10 -48
  184. package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
  185. package/src/v4/http/interactionWithRequest.d.ts +4 -3
  186. package/src/v4/http/interactionWithRequest.js +17 -9
  187. package/src/v4/http/interactionWithRequest.js.map +1 -1
  188. package/src/v4/http/interactionWithRequest.spec.d.ts +1 -0
  189. package/src/v4/http/interactionWithRequest.spec.js +82 -0
  190. package/src/v4/http/interactionWithRequest.spec.js.map +1 -0
  191. package/src/v4/http/interactionWithResponse.d.ts +2 -2
  192. package/src/v4/http/interactionWithResponse.js +10 -48
  193. package/src/v4/http/interactionWithResponse.js.map +1 -1
  194. package/src/v4/http/requestBuilder.d.ts +4 -3
  195. package/src/v4/http/requestBuilder.js +36 -34
  196. package/src/v4/http/requestBuilder.js.map +1 -1
  197. package/src/v4/http/requestBuilder.spec.d.ts +1 -0
  198. package/src/v4/http/requestBuilder.spec.js +42 -0
  199. package/src/v4/http/requestBuilder.spec.js.map +1 -0
  200. package/src/v4/http/requestWithPluginBuilder.d.ts +3 -2
  201. package/src/v4/http/requestWithPluginBuilder.js +30 -46
  202. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  203. package/src/v4/http/requestWithPluginBuilder.spec.d.ts +1 -0
  204. package/src/v4/http/requestWithPluginBuilder.spec.js +34 -0
  205. package/src/v4/http/requestWithPluginBuilder.spec.js.map +1 -0
  206. package/src/v4/http/responseBuilder.d.ts +4 -3
  207. package/src/v4/http/responseBuilder.js +28 -25
  208. package/src/v4/http/responseBuilder.js.map +1 -1
  209. package/src/v4/http/responseBuilder.spec.d.ts +1 -0
  210. package/src/v4/http/responseBuilder.spec.js +42 -0
  211. package/src/v4/http/responseBuilder.spec.js.map +1 -0
  212. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  213. package/src/v4/http/responseWithPluginBuilder.js +5 -25
  214. package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
  215. package/src/v4/http/responseWithPluginBuilder.spec.d.ts +1 -0
  216. package/src/v4/http/responseWithPluginBuilder.spec.js +34 -0
  217. package/src/v4/http/responseWithPluginBuilder.spec.js.map +1 -0
  218. package/src/v4/http/types.d.ts +13 -4
  219. package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
  220. package/src/v4/http/unconfiguredInteraction.js +31 -26
  221. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  222. package/src/v4/index.d.ts +6 -5
  223. package/src/v4/index.js +32 -35
  224. package/src/v4/index.js.map +1 -1
  225. package/src/v4/message/asynchronousMessage.d.ts +7 -6
  226. package/src/v4/message/asynchronousMessage.js +157 -190
  227. package/src/v4/message/asynchronousMessage.js.map +1 -1
  228. package/src/v4/message/index.d.ts +7 -6
  229. package/src/v4/message/index.js +188 -217
  230. package/src/v4/message/index.js.map +1 -1
  231. package/src/v4/message/types.d.ts +5 -3
  232. package/src/v4/types.d.ts +3 -3
  233. package/src/xml/index.d.ts +4 -0
  234. package/src/xml/index.js +21 -0
  235. package/src/xml/index.js.map +1 -0
  236. package/src/{v3/xml → xml}/xmlBuilder.d.ts +1 -3
  237. package/src/{v3/xml → xml}/xmlBuilder.js +7 -9
  238. package/src/xml/xmlBuilder.js.map +1 -0
  239. package/src/{v3/xml → xml}/xmlElement.d.ts +2 -2
  240. package/src/xml/xmlElement.js +73 -0
  241. package/src/xml/xmlElement.js.map +1 -0
  242. package/src/xml/xmlElement.spec.d.ts +1 -0
  243. package/src/xml/xmlElement.spec.js +107 -0
  244. package/src/xml/xmlElement.spec.js.map +1 -0
  245. package/src/xml/xmlNode.js +7 -0
  246. package/src/xml/xmlNode.js.map +1 -0
  247. package/src/{v3/xml → xml}/xmlText.d.ts +1 -1
  248. package/src/xml/xmlText.js +15 -0
  249. package/src/xml/xmlText.js.map +1 -0
  250. package/scripts/install-plugins +0 -106
  251. package/src/v3/xml/xmlBuilder.js.map +0 -1
  252. package/src/v3/xml/xmlElement.js +0 -90
  253. package/src/v3/xml/xmlElement.js.map +0 -1
  254. package/src/v3/xml/xmlElement.spec.js +0 -113
  255. package/src/v3/xml/xmlElement.spec.js.map +0 -1
  256. package/src/v3/xml/xmlNode.js +0 -10
  257. package/src/v3/xml/xmlNode.js.map +0 -1
  258. package/src/v3/xml/xmlText.js +0 -31
  259. package/src/v3/xml/xmlText.js.map +0 -1
  260. /package/src/v3/{xml/xmlElement.spec.d.ts → pact.spec.d.ts} +0 -0
  261. /package/src/{v3/xml → xml}/xmlNode.d.ts +0 -0
@@ -1,111 +1,68 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var chai = __importStar(require("chai"));
40
- var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
- var sinon_1 = __importDefault(require("sinon"));
42
- var sinon_chai_1 = __importDefault(require("sinon-chai"));
43
- var ffi_1 = require("./ffi");
44
- chai.use(sinon_chai_1.default);
45
- chai.use(chai_as_promised_1.default);
46
- var expect = chai.expect;
47
- describe('Pact FFI', function () {
48
- describe('#contentTypeFromHeaders', function () {
49
- ['content-type', 'Content-Type', 'CONTent-TYPE'].forEach(function (t) {
50
- describe("when the \"".concat(t, "\" header is set"), function () {
51
- it('detects the content type from the header', function () {
52
- var _a;
53
- var headers = (_a = {}, _a[t] = 'some-mime-type', _a);
54
- expect((0, ffi_1.contentTypeFromHeaders)(headers, 'application/json')).to.eq('some-mime-type');
3
+ const vitest_1 = require("vitest");
4
+ const ffi_1 = require("./ffi");
5
+ describe('Pact FFI', () => {
6
+ describe('#contentTypeFromHeaders', () => {
7
+ ['content-type', 'Content-Type', 'CONTent-TYPE'].forEach((t) => {
8
+ describe(`when the "${t}" header is set`, () => {
9
+ it('detects the content type from the header', () => {
10
+ const headers = { [t]: 'some-mime-type' };
11
+ expect((0, ffi_1.contentTypeFromHeaders)(headers, 'application/json')).toBe('some-mime-type');
55
12
  });
56
13
  });
57
14
  });
58
- describe("when the no content-type header is set", function () {
59
- it('uses a default', function () {
60
- expect((0, ffi_1.contentTypeFromHeaders)({}, 'application/json')).to.eq('application/json');
15
+ describe(`when the no content-type header is set`, () => {
16
+ it('uses a default', () => {
17
+ expect((0, ffi_1.contentTypeFromHeaders)({}, 'application/json')).toBe('application/json');
61
18
  });
62
19
  });
63
20
  });
64
- describe('#setQuery', function () {
65
- describe('with array values', function () {
66
- it('calls the query ffi function for each value', function () {
67
- var queryMock = sinon_1.default.stub();
68
- var interaction = {
21
+ describe('#setQuery', () => {
22
+ describe('with array values', () => {
23
+ it('calls the query ffi function for each value', () => {
24
+ const queryMock = vitest_1.vi.fn();
25
+ const interaction = {
69
26
  withQuery: queryMock,
70
- }; // TODO replace with proper mock
71
- var query = {
27
+ };
28
+ const query = {
72
29
  foo: ['bar', 'baz'],
73
30
  };
74
31
  (0, ffi_1.setQuery)(interaction, query);
75
- expect(queryMock.calledTwice);
76
- expect(queryMock.calledWith('foo', 0, 'bar'));
77
- expect(queryMock.calledWith('foo', 1, 'baz'));
32
+ expect(queryMock).toHaveBeenCalledTimes(2);
33
+ expect(queryMock).toHaveBeenCalledWith('foo', 0, 'bar');
34
+ expect(queryMock).toHaveBeenCalledWith('foo', 1, 'baz');
78
35
  });
79
36
  });
80
- describe('with single values', function () {
81
- it('calls the query ffi function for each value', function () {
82
- var queryMock = sinon_1.default.stub();
83
- var interaction = {
37
+ describe('with single values', () => {
38
+ it('calls the query ffi function for each value', () => {
39
+ const queryMock = vitest_1.vi.fn();
40
+ const interaction = {
84
41
  withQuery: queryMock,
85
- }; // TODO replace with proper mock
86
- var query = {
42
+ };
43
+ const query = {
87
44
  foo: 'bar',
88
45
  };
89
46
  (0, ffi_1.setQuery)(interaction, query);
90
- expect(queryMock.calledOnce);
91
- expect(queryMock.calledWith('foo', 0, 'bar'));
47
+ expect(queryMock).toHaveBeenCalledOnce();
48
+ expect(queryMock).toHaveBeenCalledWith('foo', 0, 'bar');
92
49
  });
93
50
  });
94
- describe('with array and single values', function () {
95
- it('calls the query ffi function for each value', function () {
96
- var queryMock = sinon_1.default.stub();
97
- var interaction = {
51
+ describe('with array and single values', () => {
52
+ it('calls the query ffi function for each value', () => {
53
+ const queryMock = vitest_1.vi.fn();
54
+ const interaction = {
98
55
  withQuery: queryMock,
99
- }; // TODO replace with proper mock
100
- var query = {
56
+ };
57
+ const query = {
101
58
  foo: 'bar',
102
59
  baz: ['bat', 'foo'],
103
60
  };
104
61
  (0, ffi_1.setQuery)(interaction, query);
105
- expect(queryMock.calledThrice);
106
- expect(queryMock.calledWith('foo', 0, 'bar'));
107
- expect(queryMock.calledWith('baz', 0, 'bat'));
108
- expect(queryMock.calledWith('baz', 1, 'foo'));
62
+ expect(queryMock).toHaveBeenCalledTimes(3);
63
+ expect(queryMock).toHaveBeenCalledWith('foo', 0, 'bar');
64
+ expect(queryMock).toHaveBeenCalledWith('baz', 0, 'bat');
65
+ expect(queryMock).toHaveBeenCalledWith('baz', 1, 'foo');
109
66
  });
110
67
  });
111
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ffi.spec.js","sourceRoot":"","sources":["../../../src/httpPact/ffi.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ffi.spec.js","sourceRoot":"","sources":["../../../src/httpPact/ffi.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Interaction, InteractionObject } from '../dsl/interaction';
2
- import { PactV2Options, PactV2OptionsComplete } from '../dsl/options';
3
- import { MockService } from '../dsl/mockService';
1
+ import { Interaction, type InteractionObject } from '../dsl/interaction';
2
+ import type { MockService } from '../dsl/mockService';
3
+ import type { PactV2Options, PactV2OptionsComplete } from '../dsl/options';
4
4
  /**
5
5
  * Creates a new {@link PactProvider}.
6
6
  * @memberof Pact
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -43,63 +32,27 @@ var __importStar = (this && this.__importStar) || (function () {
43
32
  return result;
44
33
  };
45
34
  })();
46
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
47
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
48
- return new (P || (P = Promise))(function (resolve, reject) {
49
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
50
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
51
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
52
- step((generator = generator.apply(thisArg, _arguments || [])).next());
53
- });
54
- };
55
- var __generator = (this && this.__generator) || function (thisArg, body) {
56
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
57
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
58
- function verb(n) { return function (v) { return step([n, v]); }; }
59
- function step(op) {
60
- if (f) throw new TypeError("Generator is already executing.");
61
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
62
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
63
- if (y = 0, t) op = [op[0] & 2, t.value];
64
- switch (op[0]) {
65
- case 0: case 1: t = op; break;
66
- case 4: _.label++; return { value: op[1], done: false };
67
- case 5: _.label++; y = op[1]; op = [0]; continue;
68
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
69
- default:
70
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
71
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
72
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
73
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
74
- if (t[2]) _.ops.pop();
75
- _.trys.pop(); continue;
76
- }
77
- op = body.call(thisArg, _);
78
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
79
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
80
- }
81
- };
82
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
83
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
84
37
  };
85
38
  Object.defineProperty(exports, "__esModule", { value: true });
86
39
  exports.Pact = void 0;
87
- var pact_core_1 = __importStar(require("@pact-foundation/pact-core"));
88
- var chalk_1 = __importDefault(require("chalk"));
89
- var path_1 = __importDefault(require("path"));
90
- var process_1 = __importDefault(require("process"));
91
- var lodash_1 = require("lodash");
92
- var interaction_1 = require("../dsl/interaction");
93
- var net_1 = require("../common/net");
94
- var logger_1 = __importStar(require("../common/logger"));
95
- var verificationError_1 = __importDefault(require("../errors/verificationError"));
96
- var configurationError_1 = __importDefault(require("../errors/configurationError"));
97
- var v3_1 = require("../v3");
98
- var package_json_1 = require("../../package.json");
99
- var display_1 = require("../v3/display");
100
- var spec_1 = require("../common/spec");
101
- var ffi_1 = require("./ffi");
102
- var logErrorNoMockServer = function () {
40
+ const node_path_1 = __importDefault(require("node:path"));
41
+ const node_process_1 = __importDefault(require("node:process"));
42
+ const pact_core_1 = __importStar(require("@pact-foundation/pact-core"));
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const lodash_1 = require("lodash");
45
+ const package_json_1 = require("../../package.json");
46
+ const logger_1 = __importStar(require("../common/logger"));
47
+ const net_1 = require("../common/net");
48
+ const spec_1 = require("../common/spec");
49
+ const interaction_1 = require("../dsl/interaction");
50
+ const configurationError_1 = __importDefault(require("../errors/configurationError"));
51
+ const verificationError_1 = __importDefault(require("../errors/verificationError"));
52
+ const v3_1 = require("../v3");
53
+ const display_1 = require("../v3/display");
54
+ const ffi_1 = require("./ffi");
55
+ const logErrorNoMockServer = () => {
103
56
  logger_1.default.error("The pact mock service doesn't appear to be running\n" +
104
57
  ' - Please check the logs above to ensure that there are no pact service startup failures\n' +
105
58
  ' - Please check that pact lifecycle methods are called in the correct order (setup() needs to be called before this method)\n' +
@@ -113,8 +66,30 @@ var logErrorNoMockServer = function () {
113
66
  * @param {PactV2Options} opts
114
67
  * @return {@link PactProvider}
115
68
  */
116
- var Pact = /** @class */ (function () {
117
- function Pact(config) {
69
+ class Pact {
70
+ static defaults = {
71
+ consumer: '',
72
+ cors: false,
73
+ dir: node_path_1.default.resolve(node_process_1.default.cwd(), 'pacts'),
74
+ host: '127.0.0.1',
75
+ log: node_path_1.default.resolve(node_process_1.default.cwd(), 'logs', 'pact.log'),
76
+ logLevel: 'info',
77
+ pactfileWriteMode: 'merge',
78
+ provider: '',
79
+ spec: 2,
80
+ ssl: false,
81
+ port: 0,
82
+ };
83
+ static createOptionsWithDefaults(opts) {
84
+ return { ...Pact.defaults, ...opts };
85
+ }
86
+ mockService;
87
+ opts;
88
+ mockServerStartedPort;
89
+ pact;
90
+ interaction;
91
+ finalized = false;
92
+ constructor(config) {
118
93
  this.opts = Pact.createOptionsWithDefaults(config);
119
94
  if (this.opts.pactfileWriteMode === 'overwrite') {
120
95
  logger_1.default.warn("WARNING: the behaviour of pactfileWriteMode 'overwrite' has changed since version 9.x.x. See the type definition or the MIGRATION.md guide for details.");
@@ -133,49 +108,34 @@ var Pact = /** @class */ (function () {
133
108
  // }
134
109
  this.reset();
135
110
  }
136
- Pact.createOptionsWithDefaults = function (opts) {
137
- return __assign(__assign({}, Pact.defaults), opts);
138
- };
139
111
  /**
140
112
  * Setup the pact framework, including allocating a port for the dynamic
141
113
  * mock server
142
114
  *
143
115
  * @returns {Promise}
144
116
  */
145
- Pact.prototype.setup = function () {
146
- return __awaiter(this, void 0, void 0, function () {
147
- var port;
148
- return __generator(this, function (_a) {
149
- switch (_a.label) {
150
- case 0:
151
- if (!(this.opts.port > 0)) return [3 /*break*/, 2];
152
- return [4 /*yield*/, (0, net_1.isPortAvailable)(this.opts.port, this.opts.host)];
153
- case 1:
154
- _a.sent();
155
- return [3 /*break*/, 4];
156
- case 2: return [4 /*yield*/, (0, net_1.freePort)()];
157
- case 3:
158
- port = _a.sent();
159
- logger_1.default.debug("free port discovered: ".concat(port));
160
- this.opts.port = port;
161
- _a.label = 4;
162
- case 4:
163
- // create the mock service
164
- this.mockService = {
165
- baseUrl: "".concat(this.opts.ssl ? 'https' : 'http', "://").concat(this.opts.host, ":").concat(this.opts.port),
166
- pactDetails: {
167
- pactfile_write_mode: this.opts.pactfileWriteMode || 'merge',
168
- consumer: {
169
- name: this.opts.consumer,
170
- },
171
- provider: { name: this.opts.provider },
172
- },
173
- };
174
- return [2 /*return*/, this.opts];
175
- }
176
- });
177
- });
178
- };
117
+ async setup() {
118
+ if (this.opts.port > 0) {
119
+ await (0, net_1.isPortAvailable)(this.opts.port, this.opts.host);
120
+ }
121
+ else {
122
+ const port = await (0, net_1.freePort)();
123
+ logger_1.default.debug(`free port discovered: ${port}`);
124
+ this.opts.port = port;
125
+ }
126
+ // create the mock service
127
+ this.mockService = {
128
+ baseUrl: `${this.opts.ssl ? 'https' : 'http'}://${this.opts.host}:${this.opts.port}`,
129
+ pactDetails: {
130
+ pactfile_write_mode: this.opts.pactfileWriteMode || 'merge',
131
+ consumer: {
132
+ name: this.opts.consumer,
133
+ },
134
+ provider: { name: this.opts.provider },
135
+ },
136
+ };
137
+ return this.opts;
138
+ }
179
139
  /**
180
140
  * Add an interaction to the {@link MockService}.
181
141
  * @memberof PactProvider
@@ -183,15 +143,15 @@ var Pact = /** @class */ (function () {
183
143
  * @param {Interaction} interactionObj
184
144
  * @returns {Promise}
185
145
  */
186
- Pact.prototype.addInteraction = function (interactionObj) {
146
+ addInteraction(interactionObj) {
187
147
  if (!this.mockService) {
188
148
  logErrorNoMockServer();
189
149
  return Promise.reject(new Error("The pact mock service wasn't configured when addInteraction was called"));
190
150
  }
191
- var interaction;
151
+ let interaction;
192
152
  if (interactionObj instanceof interaction_1.Interaction) {
193
153
  // This will throw if not valid
194
- var interactionState = interactionObj.json();
154
+ const interactionState = interactionObj.json();
195
155
  // Convert into the same type
196
156
  interaction = (0, interaction_1.interactionToInteractionObject)(interactionState);
197
157
  }
@@ -206,37 +166,34 @@ var Pact = /** @class */ (function () {
206
166
  (0, ffi_1.setResponseDetails)(this.interaction, interaction.willRespondWith);
207
167
  this.startMockServer();
208
168
  return Promise.resolve('');
209
- };
169
+ }
210
170
  /**
211
171
  * Checks with the Mock Service if the expected interactions have been exercised.
212
172
  * @memberof PactProvider
213
173
  * @instance
214
174
  * @returns {Promise}
215
175
  */
216
- Pact.prototype.verify = function () {
217
- var _this = this;
176
+ verify() {
218
177
  if (!this.mockService) {
219
178
  logErrorNoMockServer();
220
179
  return Promise.reject(new Error("The pact mock service wasn't running when verify was called"));
221
180
  }
222
- var matchingResults = this.pact.mockServerMismatches(this.opts.port);
223
- var success = this.pact.mockServerMatchedSuccessfully(this.opts.port);
181
+ const matchingResults = this.pact.mockServerMismatches(this.opts.port);
182
+ const success = this.pact.mockServerMatchedSuccessfully(this.opts.port);
224
183
  // Feature flag: allow missing requests on the mock service
225
184
  if (!success) {
226
- var error = 'Test failed for the following reasons:';
227
- error += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
228
- /* eslint-disable no-console */
185
+ let error = 'Test failed for the following reasons:';
186
+ error += `\n\n ${(0, display_1.generateMockServerError)(matchingResults, '\t')}`;
229
187
  console.error('');
230
188
  console.error(chalk_1.default.red('Pact verification failed!'));
231
189
  console.error(chalk_1.default.red(error));
232
- /* eslint-enable */
233
190
  this.reset();
234
191
  throw new verificationError_1.default('Pact verification failed - expected interactions did not match actual.');
235
192
  }
236
193
  return this.writePact()
237
- .then(function () { return _this.reset(); })
238
- .then(function () { return ''; });
239
- };
194
+ .then(() => this.reset())
195
+ .then(() => '');
196
+ }
240
197
  /**
241
198
  * Writes the Pact and clears any interactions left behind and shutdown the
242
199
  * mock server
@@ -244,14 +201,14 @@ var Pact = /** @class */ (function () {
244
201
  * @instance
245
202
  * @returns {Promise}
246
203
  */
247
- Pact.prototype.finalize = function () {
204
+ finalize() {
248
205
  if (this.finalized) {
249
206
  logger_1.default.warn('finalize() has already been called, this is probably a logic error in your test setup. ' +
250
207
  'In the future this will be an error.');
251
208
  }
252
209
  this.finalized = true;
253
210
  return Promise.resolve();
254
- };
211
+ }
255
212
  /**
256
213
  * Writes the pact file out to file. Should be called when all tests have been performed for a
257
214
  * given Consumer <-> Provider pair. It will write out the Pact to the
@@ -260,60 +217,46 @@ var Pact = /** @class */ (function () {
260
217
  * @instance
261
218
  * @returns {Promise}
262
219
  */
263
- Pact.prototype.writePact = function () {
220
+ writePact() {
264
221
  if (!this.mockService) {
265
222
  logErrorNoMockServer();
266
223
  return Promise.reject(new Error("The pact mock service wasn't running when writePact was called"));
267
224
  }
268
225
  this.pact.writePactFile(this.opts.dir || './pacts', this.opts.pactfileWriteMode !== 'overwrite');
269
226
  return Promise.resolve('');
270
- };
227
+ }
271
228
  /**
272
229
  * Clear up any interactions in the Provider Mock Server.
273
230
  * @memberof PactProvider
274
231
  * @instance
275
232
  * @returns {Promise}
276
233
  */
277
- Pact.prototype.removeInteractions = function () {
234
+ removeInteractions() {
278
235
  logger_1.default.info('removeInteractions() is no longer required to be called, but has been kept for compatibility with upgrade from 9.x.x. You should remove any use of this method.');
279
236
  return Promise.resolve('');
280
- };
281
- Pact.prototype.startMockServer = function () {
282
- logger_1.default.debug("Setting up Pact mock server with Consumer \"".concat(this.opts.consumer, "\" and Provider \"").concat(this.opts.provider, "\"\n using mock service on Port: \"").concat(this.opts.port, "\""));
283
- var port = this.pact.createMockServer(this.opts.host, this.opts.port, this.opts.ssl);
237
+ }
238
+ startMockServer() {
239
+ logger_1.default.debug(`Setting up Pact mock server with Consumer "${this.opts.consumer}" and Provider "${this.opts.provider}"
240
+ using mock service on Port: "${this.opts.port}"`);
241
+ const port = this.pact.createMockServer(this.opts.host, this.opts.port, this.opts.ssl);
284
242
  this.mockServerStartedPort = port;
285
- logger_1.default.debug("mock service started on port: ".concat(port));
286
- };
243
+ logger_1.default.debug(`mock service started on port: ${port}`);
244
+ }
287
245
  // reset the internal state
288
246
  // (this.pact cannot be re-used between tests)
289
- Pact.prototype.reset = function () {
290
- var _a;
291
- this.pact = (0, pact_core_1.makeConsumerPact)(this.opts.consumer, this.opts.provider, (0, spec_1.numberToSpec)(this.opts.spec, v3_1.SpecificationVersion.SPECIFICATION_VERSION_V2), (_a = this.opts.logLevel) !== null && _a !== void 0 ? _a : 'info');
247
+ reset() {
248
+ this.pact = (0, pact_core_1.makeConsumerPact)(this.opts.consumer, this.opts.provider, (0, spec_1.numberToSpec)(this.opts.spec, v3_1.SpecificationVersion.SPECIFICATION_VERSION_V2), this.opts.logLevel ?? 'info');
292
249
  this.interaction = this.pact.newInteraction('');
293
250
  if (this.mockServerStartedPort) {
294
- logger_1.default.debug("cleaning up old mock server on port ".concat(this.opts.port));
295
- var res = this.pact.cleanupMockServer(this.mockServerStartedPort);
251
+ logger_1.default.debug(`cleaning up old mock server on port ${this.opts.port}`);
252
+ const res = this.pact.cleanupMockServer(this.mockServerStartedPort);
296
253
  if (!res) {
297
254
  logger_1.default.warn('Unable to cleanup the Pact mock server. ');
298
255
  }
299
256
  this.mockServerStartedPort = undefined;
300
257
  }
301
258
  this.pact.addMetadata('pact-js', 'version', package_json_1.version);
302
- };
303
- Pact.defaults = {
304
- consumer: '',
305
- cors: false,
306
- dir: path_1.default.resolve(process_1.default.cwd(), 'pacts'),
307
- host: '127.0.0.1',
308
- log: path_1.default.resolve(process_1.default.cwd(), 'logs', 'pact.log'),
309
- logLevel: 'info',
310
- pactfileWriteMode: 'merge',
311
- provider: '',
312
- spec: 2,
313
- ssl: false,
314
- port: 0,
315
- };
316
- return Pact;
317
- }());
259
+ }
260
+ }
318
261
  exports.Pact = Pact;
319
262
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/httpPact/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/httpPact/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,gEAAmC;AACnC,wEAIoC;AACpC,kDAA0B;AAC1B,mCAAiC;AACjC,qDAAmE;AACnE,2DAAuD;AACvD,uCAA0D;AAC1D,yCAA8C;AAC9C,oDAI4B;AAO5B,sFAA8D;AAC9D,oFAA4D;AAC5D,8BAA6C;AAC7C,2CAAwD;AACxD,+BAA8D;AAE9D,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,gBAAM,CAAC,KAAK,CACV,sDAAsD;QACpD,6FAA6F;QAC7F,gIAAgI;QAChI,uIAAuI;QACvI,+FAA+F,CAClG,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAa,IAAI;IACR,MAAM,CAAC,QAAQ,GAAG;QACvB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,mBAAI,CAAC,OAAO,CAAC,sBAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC;QACzC,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,mBAAI,CAAC,OAAO,CAAC,sBAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;QACpD,QAAQ,EAAE,MAAM;QAChB,iBAAiB,EAAE,OAAO;QAC1B,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,CAAC;KACS,CAAC;IAEZ,MAAM,CAAC,yBAAyB,CACrC,IAAmB;QAEnB,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAA2B,CAAC;IAChE,CAAC;IAEM,WAAW,CAAe;IAE1B,IAAI,CAAwB;IAE3B,qBAAqB,CAAU;IAE/B,IAAI,CAAgB;IAEpB,WAAW,CAAuB;IAElC,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,MAAqB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YAChD,gBAAM,CAAC,IAAI,CACT,yJAAyJ,CAC1J,CAAC;QACJ,CAAC;QAED,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,4BAAkB,CAC1B,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,4BAAkB,CAC1B,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAED,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,QAAoB,CAAC,CAAC;QAC5C,mBAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5C,mCAAmC;QACnC,wCAAwC;QACxC,6BAA6B;QAC7B,IAAI;QAEJ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,IAAA,cAAQ,GAAE,CAAC;YAC9B,gBAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,WAAW,GAAG;YACjB,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAC9D,IAAI,CAAC,IAAI,CAAC,IACZ,EAAE;YACF,WAAW,EAAE;gBACX,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,OAAO;gBAC3D,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;iBACzB;gBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;aACvC;SACF,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CACnB,cAA+C;QAE/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,oBAAoB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,wEAAwE,CACzE,CACF,CAAC;QACJ,CAAC;QACD,IAAI,WAA8B,CAAC;QAEnC,IAAI,cAAc,YAAY,yBAAW,EAAE,CAAC;YAC1C,+BAA+B;YAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAE/C,6BAA6B;YAC7B,WAAW,GAAG,IAAA,4CAA8B,EAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,cAAc,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,IAAA,uBAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAA,wBAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,oBAAoB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,6DAA6D,CAC9D,CACF,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExE,2DAA2D;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,KAAK,GAAG,wCAAwC,CAAC;YACrD,KAAK,IAAI,SAAS,IAAA,iCAAuB,EAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAEnE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,2BAAiB,CACzB,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,EAAE;aACpB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACxB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,gBAAM,CAAC,IAAI,CACT,yFAAyF;gBACvF,sCAAsC,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACI,SAAS;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,oBAAoB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,gEAAgE,CACjE,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CACrB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,EAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,WAAW,CAC5C,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,kBAAkB;QACvB,gBAAM,CAAC,IAAI,CACT,iKAAiK,CAClK,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEO,eAAe;QACrB,gBAAM,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ;uCAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,CAAC,IAAI,CAAC,GAAG,CACd,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAElC,gBAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,2BAA2B;IAC3B,8CAA8C;IACtC,KAAK;QACX,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAA,mBAAY,EACV,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,yBAAoB,CAAC,wBAAwB,CAC9C,EACD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAC7B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,gBAAM,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEpE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,gBAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;;AAnRH,oBAoRC"}