@pact-foundation/pact 10.0.0-beta.9 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/CHANGELOG.md +2451 -1
  2. package/CODE_OF_CONDUCT.md +1 -1
  3. package/CONTRIBUTING.md +49 -12
  4. package/MIGRATION.md +77 -0
  5. package/README.md +180 -1274
  6. package/RELEASING.md +63 -59
  7. package/package.json +96 -98
  8. package/src/common/jsonTypes.d.ts +5 -0
  9. package/src/common/jsonTypes.js +3 -0
  10. package/src/common/jsonTypes.js.map +1 -0
  11. package/src/common/logger.d.ts +10 -0
  12. package/src/common/logger.js +32 -0
  13. package/src/common/logger.js.map +1 -0
  14. package/src/common/net.d.ts +9 -0
  15. package/src/common/net.js +82 -0
  16. package/src/common/net.js.map +1 -0
  17. package/{common → src/common}/net.spec.d.ts +0 -0
  18. package/src/common/net.spec.js +69 -0
  19. package/src/common/net.spec.js.map +1 -0
  20. package/src/common/request.d.ts +21 -0
  21. package/src/common/request.js +110 -0
  22. package/src/common/request.js.map +1 -0
  23. package/{common → src/common}/request.spec.d.ts +0 -0
  24. package/src/common/request.spec.js +69 -0
  25. package/src/common/request.spec.js.map +1 -0
  26. package/src/common/spec.d.ts +2 -0
  27. package/src/common/spec.js +22 -0
  28. package/src/common/spec.js.map +1 -0
  29. package/{dsl → src/dsl}/apolloGraphql.d.ts +1 -1
  30. package/{dsl → src/dsl}/apolloGraphql.js +4 -1
  31. package/src/dsl/apolloGraphql.js.map +1 -0
  32. package/{dsl → src/dsl}/apolloGraphql.spec.d.ts +0 -0
  33. package/src/dsl/apolloGraphql.spec.js +74 -0
  34. package/src/dsl/apolloGraphql.spec.js.map +1 -0
  35. package/{dsl → src/dsl}/graphql.d.ts +19 -8
  36. package/{dsl → src/dsl}/graphql.js +59 -31
  37. package/src/dsl/graphql.js.map +1 -0
  38. package/{dsl → src/dsl}/graphql.spec.d.ts +0 -0
  39. package/src/dsl/graphql.spec.js +229 -0
  40. package/src/dsl/graphql.spec.js.map +1 -0
  41. package/{dsl → src/dsl}/interaction.d.ts +22 -20
  42. package/src/dsl/interaction.js +144 -0
  43. package/src/dsl/interaction.js.map +1 -0
  44. package/{dsl → src/dsl}/interaction.spec.d.ts +0 -0
  45. package/src/dsl/interaction.spec.js +214 -0
  46. package/src/dsl/interaction.spec.js.map +1 -0
  47. package/src/dsl/matchers.d.ts +143 -0
  48. package/{dsl → src/dsl}/matchers.js +92 -93
  49. package/src/dsl/matchers.js.map +1 -0
  50. package/{dsl → src/dsl}/matchers.spec.d.ts +0 -0
  51. package/src/dsl/matchers.spec.js +668 -0
  52. package/src/dsl/matchers.spec.js.map +1 -0
  53. package/{dsl → src/dsl}/message.d.ts +32 -12
  54. package/{dsl → src/dsl}/message.js +0 -0
  55. package/{dsl → src/dsl}/message.js.map +1 -1
  56. package/src/dsl/mockService.d.ts +13 -0
  57. package/src/dsl/mockService.js +3 -0
  58. package/src/dsl/mockService.js.map +1 -0
  59. package/{dsl → src/dsl}/options.d.ts +7 -6
  60. package/{dsl → src/dsl}/options.js +0 -0
  61. package/{dsl → src/dsl}/options.js.map +1 -1
  62. package/src/dsl/verifier/index.d.ts +1 -0
  63. package/src/dsl/verifier/index.js +18 -0
  64. package/src/dsl/verifier/index.js.map +1 -0
  65. package/src/dsl/verifier/proxy/hooks.d.ts +4 -0
  66. package/src/dsl/verifier/proxy/hooks.js +109 -0
  67. package/src/dsl/verifier/proxy/hooks.js.map +1 -0
  68. package/src/dsl/verifier/proxy/index.d.ts +1 -0
  69. package/src/dsl/verifier/proxy/index.js +18 -0
  70. package/src/dsl/verifier/proxy/index.js.map +1 -0
  71. package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
  72. package/src/dsl/verifier/proxy/parseBody.js +22 -0
  73. package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
  74. package/{dsl/mockService.spec.d.ts → src/dsl/verifier/proxy/parseBody.spec.d.ts} +0 -0
  75. package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
  76. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
  77. package/src/dsl/verifier/proxy/proxy.d.ts +4 -0
  78. package/src/dsl/verifier/proxy/proxy.js +92 -0
  79. package/src/dsl/verifier/proxy/proxy.js.map +1 -0
  80. package/{dsl/publisher.spec.d.ts → src/dsl/verifier/proxy/proxy.spec.d.ts} +0 -0
  81. package/src/dsl/verifier/proxy/proxy.spec.js +33 -0
  82. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -0
  83. package/src/dsl/verifier/proxy/stateHandler/index.d.ts +1 -0
  84. package/src/dsl/verifier/proxy/stateHandler/index.js +18 -0
  85. package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -0
  86. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -0
  87. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +48 -0
  88. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -0
  89. package/{dsl/verifier.spec.d.ts → src/dsl/verifier/proxy/stateHandler/setupStates.spec.d.ts} +0 -0
  90. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +191 -0
  91. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -0
  92. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +3 -0
  93. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +14 -0
  94. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -0
  95. package/{httpPact.spec.d.ts → src/dsl/verifier/proxy/stateHandler/stateHandler.spec.d.ts} +0 -0
  96. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +130 -0
  97. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -0
  98. package/src/dsl/verifier/proxy/tracer.d.ts +3 -0
  99. package/src/dsl/verifier/proxy/tracer.js +52 -0
  100. package/src/dsl/verifier/proxy/tracer.js.map +1 -0
  101. package/src/dsl/verifier/proxy/types.d.ts +48 -0
  102. package/src/dsl/verifier/proxy/types.js +3 -0
  103. package/src/dsl/verifier/proxy/types.js.map +1 -0
  104. package/src/dsl/verifier/types.d.ts +3 -0
  105. package/src/dsl/verifier/types.js +3 -0
  106. package/src/dsl/verifier/types.js.map +1 -0
  107. package/src/dsl/verifier/verifier.d.ts +16 -0
  108. package/src/dsl/verifier/verifier.js +129 -0
  109. package/src/dsl/verifier/verifier.js.map +1 -0
  110. package/{messageConsumerPact.spec.d.ts → src/dsl/verifier/verifier.spec.d.ts} +0 -0
  111. package/src/dsl/verifier/verifier.spec.js +172 -0
  112. package/src/dsl/verifier/verifier.spec.js.map +1 -0
  113. package/{errors → src/errors}/configurationError.d.ts +0 -0
  114. package/{errors → src/errors}/configurationError.js +3 -1
  115. package/src/errors/configurationError.js.map +1 -0
  116. package/{errors → src/errors}/graphQLQueryError.d.ts +0 -0
  117. package/{errors → src/errors}/graphQLQueryError.js +3 -1
  118. package/src/errors/graphQLQueryError.js.map +1 -0
  119. package/{errors → src/errors}/matcherError.d.ts +0 -0
  120. package/{errors → src/errors}/matcherError.js +3 -1
  121. package/src/errors/matcherError.js.map +1 -0
  122. package/{errors → src/errors}/verificationError.d.ts +0 -0
  123. package/{errors → src/errors}/verificationError.js +3 -1
  124. package/src/errors/verificationError.js.map +1 -0
  125. package/src/httpPact/ffi.d.ts +15 -0
  126. package/src/httpPact/ffi.js +91 -0
  127. package/src/httpPact/ffi.js.map +1 -0
  128. package/{messageProviderPact.spec.d.ts → src/httpPact/ffi.spec.d.ts} +0 -0
  129. package/src/httpPact/ffi.spec.js +81 -0
  130. package/src/httpPact/ffi.spec.js.map +1 -0
  131. package/{httpPact.d.ts → src/httpPact/index.d.ts} +12 -12
  132. package/src/httpPact/index.js +311 -0
  133. package/src/httpPact/index.js.map +1 -0
  134. package/{pact-web.spec.d.ts → src/httpPact/index.spec.d.ts} +0 -0
  135. package/src/httpPact/index.spec.js +238 -0
  136. package/src/httpPact/index.spec.js.map +1 -0
  137. package/src/httpPact/tracing.d.ts +1 -0
  138. package/src/httpPact/tracing.js +53 -0
  139. package/src/httpPact/tracing.js.map +1 -0
  140. package/{pact.d.ts → src/index.d.ts} +22 -21
  141. package/src/index.js +107 -0
  142. package/src/index.js.map +1 -0
  143. package/src/messageConsumerPact.d.ts +86 -0
  144. package/src/messageConsumerPact.js +222 -0
  145. package/src/messageConsumerPact.js.map +1 -0
  146. package/src/messageConsumerPact.spec.d.ts +1 -0
  147. package/src/messageConsumerPact.spec.js +117 -0
  148. package/src/messageConsumerPact.spec.js.map +1 -0
  149. package/{messageProviderPact.d.ts → src/messageProviderPact.d.ts} +7 -4
  150. package/src/messageProviderPact.js +190 -0
  151. package/src/messageProviderPact.js.map +1 -0
  152. package/src/messageProviderPact.spec.d.ts +1 -0
  153. package/src/messageProviderPact.spec.js +183 -0
  154. package/src/messageProviderPact.spec.js.map +1 -0
  155. package/{pact.integration.spec.d.ts → src/pact.integration.spec.d.ts} +0 -0
  156. package/{pact.integration.spec.js → src/pact.integration.spec.js} +0 -0
  157. package/src/pact.integration.spec.js.map +1 -0
  158. package/src/v3/display.d.ts +6 -0
  159. package/src/v3/display.js +83 -0
  160. package/src/v3/display.js.map +1 -0
  161. package/src/v3/index.d.ts +17 -0
  162. package/src/v3/index.js +47 -0
  163. package/src/v3/index.js.map +1 -0
  164. package/src/v3/matchers.d.ts +182 -0
  165. package/src/v3/matchers.js +443 -0
  166. package/src/v3/matchers.js.map +1 -0
  167. package/src/v3/matchers.spec.d.ts +1 -0
  168. package/src/v3/matchers.spec.js +461 -0
  169. package/src/v3/matchers.spec.js.map +1 -0
  170. package/src/v3/pact.d.ts +21 -0
  171. package/src/v3/pact.js +240 -0
  172. package/src/v3/pact.js.map +1 -0
  173. package/src/v3/types.d.ts +81 -0
  174. package/src/v3/types.js +11 -0
  175. package/src/v3/types.js.map +1 -0
  176. package/{v3 → src/v3}/xml/xmlBuilder.d.ts +2 -2
  177. package/{v3 → src/v3}/xml/xmlBuilder.js +2 -1
  178. package/src/v3/xml/xmlBuilder.js.map +1 -0
  179. package/src/v3/xml/xmlElement.d.ts +27 -0
  180. package/{v3 → src/v3}/xml/xmlElement.js +21 -15
  181. package/src/v3/xml/xmlElement.js.map +1 -0
  182. package/src/v3/xml/xmlElement.spec.d.ts +1 -0
  183. package/src/v3/xml/xmlElement.spec.js +102 -0
  184. package/src/v3/xml/xmlElement.spec.js.map +1 -0
  185. package/{v3 → src/v3}/xml/xmlNode.d.ts +0 -0
  186. package/{v3 → src/v3}/xml/xmlNode.js +1 -0
  187. package/src/v3/xml/xmlNode.js.map +1 -0
  188. package/src/v3/xml/xmlText.d.ts +7 -0
  189. package/{v3 → src/v3}/xml/xmlText.js +4 -1
  190. package/src/v3/xml/xmlText.js.map +1 -0
  191. package/test/helper.d.ts +1 -0
  192. package/test/helper.js +37 -0
  193. package/test/helper.js.map +1 -0
  194. package/ROADMAP.md +0 -20
  195. package/common/logger.d.ts +0 -7
  196. package/common/logger.js +0 -56
  197. package/common/logger.js.map +0 -1
  198. package/common/metadata.d.ts +0 -0
  199. package/common/metadata.js +0 -2
  200. package/common/metadata.js.map +0 -1
  201. package/common/net.d.ts +0 -9
  202. package/common/net.js +0 -48
  203. package/common/net.js.map +0 -1
  204. package/common/net.spec.js +0 -67
  205. package/common/net.spec.js.map +0 -1
  206. package/common/request.d.ts +0 -14
  207. package/common/request.js +0 -47
  208. package/common/request.js.map +0 -1
  209. package/common/request.spec.js +0 -71
  210. package/common/request.spec.js.map +0 -1
  211. package/common/utils.d.ts +0 -2
  212. package/common/utils.js +0 -10
  213. package/common/utils.js.map +0 -1
  214. package/dsl/apolloGraphql.js.map +0 -1
  215. package/dsl/apolloGraphql.spec.js +0 -47
  216. package/dsl/apolloGraphql.spec.js.map +0 -1
  217. package/dsl/graphql.js.map +0 -1
  218. package/dsl/graphql.spec.js +0 -150
  219. package/dsl/graphql.spec.js.map +0 -1
  220. package/dsl/interaction.js +0 -112
  221. package/dsl/interaction.js.map +0 -1
  222. package/dsl/interaction.spec.js +0 -217
  223. package/dsl/interaction.spec.js.map +0 -1
  224. package/dsl/matchers.d.ts +0 -269
  225. package/dsl/matchers.js.map +0 -1
  226. package/dsl/matchers.spec.js +0 -563
  227. package/dsl/matchers.spec.js.map +0 -1
  228. package/dsl/mockService.d.ts +0 -58
  229. package/dsl/mockService.js +0 -74
  230. package/dsl/mockService.js.map +0 -1
  231. package/dsl/mockService.spec.js +0 -126
  232. package/dsl/mockService.spec.js.map +0 -1
  233. package/dsl/publisher.d.ts +0 -6
  234. package/dsl/publisher.js +0 -19
  235. package/dsl/publisher.js.map +0 -1
  236. package/dsl/publisher.spec.js +0 -21
  237. package/dsl/publisher.spec.js.map +0 -1
  238. package/dsl/verifier.d.ts +0 -39
  239. package/dsl/verifier.js +0 -173
  240. package/dsl/verifier.js.map +0 -1
  241. package/dsl/verifier.spec.js +0 -299
  242. package/dsl/verifier.spec.js.map +0 -1
  243. package/errors/configurationError.js.map +0 -1
  244. package/errors/graphQLQueryError.js.map +0 -1
  245. package/errors/matcherError.js.map +0 -1
  246. package/errors/verificationError.js.map +0 -1
  247. package/httpPact.js +0 -206
  248. package/httpPact.js.map +0 -1
  249. package/httpPact.spec.js +0 -337
  250. package/httpPact.spec.js.map +0 -1
  251. package/messageConsumerPact.d.ts +0 -67
  252. package/messageConsumerPact.js +0 -161
  253. package/messageConsumerPact.js.map +0 -1
  254. package/messageConsumerPact.spec.js +0 -161
  255. package/messageConsumerPact.spec.js.map +0 -1
  256. package/messageProviderPact.js +0 -139
  257. package/messageProviderPact.js.map +0 -1
  258. package/messageProviderPact.spec.js +0 -143
  259. package/messageProviderPact.spec.js.map +0 -1
  260. package/pact-web.d.ts +0 -100
  261. package/pact-web.js +0 -151
  262. package/pact-web.js.map +0 -1
  263. package/pact-web.spec.js +0 -191
  264. package/pact-web.spec.js.map +0 -1
  265. package/pact.integration.spec.js.map +0 -1
  266. package/pact.js +0 -74
  267. package/pact.js.map +0 -1
  268. package/v3/index.d.ts +0 -23
  269. package/v3/index.js +0 -33
  270. package/v3/index.js.map +0 -1
  271. package/v3/matchers.d.ts +0 -199
  272. package/v3/matchers.js +0 -305
  273. package/v3/matchers.js.map +0 -1
  274. package/v3/pact.d.ts +0 -47
  275. package/v3/pact.js +0 -101
  276. package/v3/pact.js.map +0 -1
  277. package/v3/verifier.d.ts +0 -27
  278. package/v3/verifier.js +0 -46
  279. package/v3/verifier.js.map +0 -1
  280. package/v3/xml/xmlBuilder.js.map +0 -1
  281. package/v3/xml/xmlElement.d.ts +0 -34
  282. package/v3/xml/xmlElement.js.map +0 -1
  283. package/v3/xml/xmlNode.js.map +0 -1
  284. package/v3/xml/xmlText.d.ts +0 -6
  285. package/v3/xml/xmlText.js.map +0 -1
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.matcherValueOrString = exports.uuid = exports.fromProviderState = exports.arrayContaining = exports.url = exports.url2 = exports.nullValue = exports.includes = exports.date = exports.time = exports.timestamp = exports.datetime = exports.equal = exports.regex = exports.string = exports.number = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachKeyLike = exports.like = void 0;
16
+ var ramda_1 = require("ramda");
17
+ var randexp_1 = __importDefault(require("randexp"));
18
+ /**
19
+ * Value must match the given template
20
+ * @param template Template to base the comparison on
21
+ */
22
+ var like = function (template) { return ({
23
+ 'pact:matcher:type': 'type',
24
+ value: template,
25
+ }); };
26
+ exports.like = like;
27
+ /**
28
+ * Object where the key itself is ignored, but the value template must match.
29
+ *
30
+ * @param keyTemplate Example key to use
31
+ * @param template Example value template to base the comparison on
32
+ */
33
+ var eachKeyLike = function (keyTemplate, template) {
34
+ var _a;
35
+ return ({
36
+ 'pact:matcher:type': 'values',
37
+ value: (_a = {},
38
+ _a[keyTemplate] = template,
39
+ _a),
40
+ });
41
+ };
42
+ exports.eachKeyLike = eachKeyLike;
43
+ /**
44
+ * Array where each element must match the given template
45
+ * @param template Template to base the comparison on
46
+ */
47
+ var eachLike = function (template) { return ({
48
+ 'pact:matcher:type': 'type',
49
+ value: [template],
50
+ }); };
51
+ exports.eachLike = eachLike;
52
+ /**
53
+ * An array that has to have at least one element and each element must match the given template
54
+ * @param template Template to base the comparison on
55
+ * @param count Number of examples to generate, defaults to one
56
+ */
57
+ var atLeastOneLike = function (template, count) {
58
+ if (count === void 0) { count = 1; }
59
+ return ({
60
+ min: 1,
61
+ 'pact:matcher:type': 'type',
62
+ value: (0, ramda_1.times)(function () { return template; }, count),
63
+ });
64
+ };
65
+ exports.atLeastOneLike = atLeastOneLike;
66
+ /**
67
+ * An array that has to have at least the required number of elements and each element must match the given template
68
+ * @param template Template to base the comparison on
69
+ * @param min Minimum number of elements required in the array
70
+ * @param count Number of examples to generate, defaults to min
71
+ */
72
+ var atLeastLike = function (template, min, count) {
73
+ var elements = count || min;
74
+ if (count && count < min) {
75
+ throw new Error("atLeastLike has a minimum of ".concat(min, " but ").concat(count, " elements were requested.") +
76
+ " Make sure the count is greater than or equal to the min.");
77
+ }
78
+ return {
79
+ min: min,
80
+ 'pact:matcher:type': 'type',
81
+ value: (0, ramda_1.times)(function () { return template; }, elements),
82
+ };
83
+ };
84
+ exports.atLeastLike = atLeastLike;
85
+ /**
86
+ * An array that has to have at most the required number of elements and each element must match the given template
87
+ * @param template Template to base the comparison on
88
+ * @param max Maximum number of elements required in the array
89
+ * @param count Number of examples to generate, defaults to one
90
+ */
91
+ var atMostLike = function (template, max, count) {
92
+ var elements = count || 1;
93
+ if (count && count > max) {
94
+ throw new Error("atMostLike has a maximum of ".concat(max, " but ").concat(count, " elements where requested.") +
95
+ " Make sure the count is less than or equal to the max.");
96
+ }
97
+ return {
98
+ max: max,
99
+ 'pact:matcher:type': 'type',
100
+ value: (0, ramda_1.times)(function () { return template; }, elements),
101
+ };
102
+ };
103
+ exports.atMostLike = atMostLike;
104
+ /**
105
+ * An array whose size is constrained to the minimum and maximum number of elements and each element must match the given template
106
+ * @param template Template to base the comparison on
107
+ * @param min Minimum number of elements required in the array
108
+ * @param max Maximum number of elements required in the array
109
+ * @param count Number of examples to generate, defaults to one
110
+ */
111
+ var constrainedArrayLike = function (template, min, max, count) {
112
+ var elements = count || min;
113
+ if (count) {
114
+ if (count < min) {
115
+ throw new Error("constrainedArrayLike has a minimum of ".concat(min, " but ").concat(count, " elements where requested.") +
116
+ " Make sure the count is greater than or equal to the min.");
117
+ }
118
+ else if (count > max) {
119
+ throw new Error("constrainedArrayLike has a maximum of ".concat(max, " but ").concat(count, " elements where requested.") +
120
+ " Make sure the count is less than or equal to the max.");
121
+ }
122
+ }
123
+ return {
124
+ min: min,
125
+ max: max,
126
+ 'pact:matcher:type': 'type',
127
+ value: (0, ramda_1.times)(function () { return template; }, elements),
128
+ };
129
+ };
130
+ exports.constrainedArrayLike = constrainedArrayLike;
131
+ /**
132
+ * Value must be a boolean
133
+ * @param b Boolean example value. Defaults to true if unsupplied
134
+ */
135
+ var boolean = function (b) {
136
+ if (b === void 0) { b = true; }
137
+ return ({
138
+ 'pact:matcher:type': 'type',
139
+ value: b,
140
+ });
141
+ };
142
+ exports.boolean = boolean;
143
+ /**
144
+ * Value must be an integer (must be a number and have no decimal places)
145
+ * @param int Example value. If omitted a random value will be generated.
146
+ */
147
+ var integer = function (int) {
148
+ if (Number.isInteger(int)) {
149
+ return {
150
+ 'pact:matcher:type': 'integer',
151
+ value: int,
152
+ };
153
+ }
154
+ if (int) {
155
+ throw new Error("The integer matcher was passed '".concat(int, "' which is not an integer."));
156
+ }
157
+ return {
158
+ 'pact:generator:type': 'RandomInt',
159
+ 'pact:matcher:type': 'integer',
160
+ value: 101,
161
+ };
162
+ };
163
+ exports.integer = integer;
164
+ /**
165
+ * Value must be a decimal number (must be a number and have decimal places)
166
+ * @param num Example value. If omitted a random value will be generated.
167
+ */
168
+ var decimal = function (num) {
169
+ if (Number.isFinite(num)) {
170
+ return {
171
+ 'pact:matcher:type': 'decimal',
172
+ value: num,
173
+ };
174
+ }
175
+ if (num) {
176
+ throw new Error("The decimal matcher was passed '".concat(num, "' which is not a number."));
177
+ }
178
+ return {
179
+ 'pact:generator:type': 'RandomDecimal',
180
+ 'pact:matcher:type': 'decimal',
181
+ value: 12.34,
182
+ };
183
+ };
184
+ exports.decimal = decimal;
185
+ /**
186
+ * Value must be a number
187
+ * @param num Example value. If omitted a random integer value will be generated.
188
+ */
189
+ function number(num) {
190
+ if (num) {
191
+ return {
192
+ 'pact:matcher:type': 'number',
193
+ value: num,
194
+ };
195
+ }
196
+ return {
197
+ 'pact:generator:type': 'RandomInt',
198
+ 'pact:matcher:type': 'number',
199
+ value: 1234,
200
+ };
201
+ }
202
+ exports.number = number;
203
+ /**
204
+ * Value must be a string
205
+ * @param str Example value
206
+ */
207
+ function string(str) {
208
+ return {
209
+ 'pact:matcher:type': 'type',
210
+ value: str,
211
+ };
212
+ }
213
+ exports.string = string;
214
+ /**
215
+ * Value that must match the given regular expression
216
+ * @param pattern Regular Expression to match
217
+ * @param str Example value
218
+ */
219
+ function regex(pattern, str) {
220
+ if (pattern instanceof RegExp) {
221
+ return {
222
+ 'pact:matcher:type': 'regex',
223
+ regex: pattern.source,
224
+ value: str,
225
+ };
226
+ }
227
+ return {
228
+ 'pact:matcher:type': 'regex',
229
+ regex: pattern,
230
+ value: str,
231
+ };
232
+ }
233
+ exports.regex = regex;
234
+ /**
235
+ * Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
236
+ * @param value Example value
237
+ */
238
+ var equal = function (value) { return ({
239
+ 'pact:matcher:type': 'equality',
240
+ value: value,
241
+ }); };
242
+ exports.equal = equal;
243
+ /**
244
+ * String value that must match the provided datetime format string.
245
+ * @param format Datetime format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
246
+ * @param example Example value to use. If omitted a value using the current system date and time will be generated.
247
+ */
248
+ function datetime(format, example) {
249
+ if (!example) {
250
+ throw new Error("you must provide an example datetime");
251
+ }
252
+ return (0, ramda_1.pickBy)(function (v) { return !(0, ramda_1.isNil)(v); }, {
253
+ 'pact:generator:type': example ? undefined : 'DateTime',
254
+ 'pact:matcher:type': 'timestamp',
255
+ format: format,
256
+ value: example,
257
+ });
258
+ }
259
+ exports.datetime = datetime;
260
+ /**
261
+ * String value that must match the provided datetime format string.
262
+ * @param format Datetime format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
263
+ * @param example Example value to use. If omitted a value using the current system date and time will be generated.
264
+ */
265
+ function timestamp(format, example) {
266
+ if (!example) {
267
+ throw new Error("you must provide an example timestamp");
268
+ }
269
+ return datetime(format, example);
270
+ }
271
+ exports.timestamp = timestamp;
272
+ /**
273
+ * String value that must match the provided time format string.
274
+ * @param format Time format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
275
+ * @param example Example value to use. If omitted a value using the current system time will be generated.
276
+ */
277
+ function time(format, example) {
278
+ if (!example) {
279
+ throw new Error("you must provide an example time");
280
+ }
281
+ return {
282
+ 'pact:generator:type': 'Time',
283
+ 'pact:matcher:type': 'time',
284
+ format: format,
285
+ value: example,
286
+ };
287
+ }
288
+ exports.time = time;
289
+ /**
290
+ * String value that must match the provided date format string.
291
+ * @param format Date format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
292
+ * @param example Example value to use. If omitted a value using the current system date will be generated.
293
+ */
294
+ function date(format, example) {
295
+ if (!example) {
296
+ throw new Error("you must provide an example date");
297
+ }
298
+ return {
299
+ format: format,
300
+ 'pact:generator:type': 'Date',
301
+ 'pact:matcher:type': 'date',
302
+ value: example,
303
+ };
304
+ }
305
+ exports.date = date;
306
+ /**
307
+ * Value that must include the example value as a substring.
308
+ * @param value String value to include
309
+ */
310
+ function includes(value) {
311
+ return {
312
+ 'pact:matcher:type': 'include',
313
+ value: value,
314
+ };
315
+ }
316
+ exports.includes = includes;
317
+ /**
318
+ * Value that must be null. This will only match the JSON Null value. For other content types, it will
319
+ * match if the attribute is missing.
320
+ */
321
+ function nullValue() {
322
+ return {
323
+ 'pact:matcher:type': 'null',
324
+ };
325
+ }
326
+ exports.nullValue = nullValue;
327
+ function stringFromRegex(r) {
328
+ return new randexp_1.default(r).gen();
329
+ }
330
+ /**
331
+ * Matches a URL composed of a base path and a list of path fragments
332
+ * @param basePath Base path of the URL. If null, will use the base URL from the mock server.
333
+ * @param pathFragments list of path fragments, can be regular expressions
334
+ */
335
+ function url2(basePath, pathFragments) {
336
+ var regexpr = __spreadArray([
337
+ '.*('
338
+ ], pathFragments.map(function (p) {
339
+ if (p instanceof RegExp) {
340
+ return "\\/".concat(p.source);
341
+ }
342
+ if (p instanceof Object && p['pact:matcher:type'] === 'regex') {
343
+ return "\\/".concat(p.regex);
344
+ }
345
+ return "\\/".concat(p.toString());
346
+ }), true).join('');
347
+ var example = __spreadArray([
348
+ basePath || 'http://localhost:8080'
349
+ ], pathFragments.map(function (p) {
350
+ if (p instanceof RegExp) {
351
+ return "/".concat(stringFromRegex(p));
352
+ }
353
+ if (p instanceof Object && p['pact:matcher:type'] === 'regex') {
354
+ return "/".concat(p.value);
355
+ }
356
+ return "/".concat(p.toString());
357
+ }), true).join('');
358
+ // Temporary fix for inconsistancies between matchers and generators. Matchers use "value" attribute for
359
+ // example values, while generators use "example"
360
+ if (basePath == null) {
361
+ return {
362
+ 'pact:matcher:type': 'regex',
363
+ 'pact:generator:type': 'MockServerURL',
364
+ regex: "".concat(regexpr, ")$"),
365
+ value: example,
366
+ example: example,
367
+ };
368
+ }
369
+ return {
370
+ 'pact:matcher:type': 'regex',
371
+ regex: "".concat(regexpr, ")$"),
372
+ value: example,
373
+ };
374
+ }
375
+ exports.url2 = url2;
376
+ /**
377
+ * Matches a URL composed of a list of path fragments. The base URL from the mock server will be used.
378
+ * @param pathFragments list of path fragments, can be regular expressions
379
+ */
380
+ function url(pathFragments) {
381
+ return url2(null, pathFragments);
382
+ }
383
+ exports.url = url;
384
+ /**
385
+ * Matches the items in an array against a number of variants. Matching is successful if each variant
386
+ * occurs once in the array. Variants may be objects containing matching rules.
387
+ */
388
+ function arrayContaining() {
389
+ var variants = [];
390
+ for (var _i = 0; _i < arguments.length; _i++) {
391
+ variants[_i] = arguments[_i];
392
+ }
393
+ return {
394
+ 'pact:matcher:type': 'arrayContains',
395
+ variants: variants,
396
+ };
397
+ }
398
+ exports.arrayContaining = arrayContaining;
399
+ /**
400
+ * Marks an item to be injected from the provider state
401
+ * @param expression Expression to lookup in the provider state context
402
+ * @param exampleValue Example value to use in the consumer test
403
+ */
404
+ function fromProviderState(expression, exampleValue) {
405
+ return {
406
+ 'pact:matcher:type': 'type',
407
+ 'pact:generator:type': 'ProviderState',
408
+ expression: expression,
409
+ value: exampleValue,
410
+ };
411
+ }
412
+ exports.fromProviderState = fromProviderState;
413
+ /**
414
+ * Match a universally unique identifier (UUID). Random values will be used for examples if no example is given.
415
+ */
416
+ function uuid(example) {
417
+ var regexStr = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}';
418
+ if (example) {
419
+ var regexpr = new RegExp("^".concat(regexStr, "$"));
420
+ if (!example.match(regexpr)) {
421
+ throw new Error("regex: Example value '".concat(example, "' does not match the UUID regular expression '").concat(regexStr, "'"));
422
+ }
423
+ return {
424
+ 'pact:matcher:type': 'regex',
425
+ regex: regexStr,
426
+ value: example,
427
+ };
428
+ }
429
+ return {
430
+ 'pact:matcher:type': 'regex',
431
+ regex: regexStr,
432
+ 'pact:generator:type': 'Uuid',
433
+ value: 'e2490de5-5bd3-43d5-b7c4-526e33f71304',
434
+ };
435
+ }
436
+ exports.uuid = uuid;
437
+ var matcherValueOrString = function (obj) {
438
+ if (typeof obj === 'string')
439
+ return obj;
440
+ return JSON.stringify(obj);
441
+ };
442
+ exports.matcherValueOrString = matcherValueOrString;
443
+ //# sourceMappingURL=matchers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/v3/matchers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA6C;AAC7C,oDAA8B;AAsB9B;;;GAGG;AACI,IAAM,IAAI,GAAG,UAAwB,QAAW,IAAiB,OAAA,CAAC;IACvE,mBAAmB,EAAE,MAAM;IAC3B,KAAK,EAAE,QAAQ;CAChB,CAAC,EAHsE,CAGtE,CAAC;AAHU,QAAA,IAAI,QAGd;AAEH;;;;;GAKG;AACI,IAAM,WAAW,GAAG,UACzB,WAAmB,EACnB,QAAW;;IACc,OAAA,CAAC;QAC1B,mBAAmB,EAAE,QAAQ;QAC7B,KAAK;YACH,GAAC,WAAW,IAAG,QAAQ;eACxB;KACF,CAAC;AALyB,CAKzB,CAAC;AARU,QAAA,WAAW,eAQrB;AAEH;;;GAGG;AACI,IAAM,QAAQ,GAAG,UAAwB,QAAW,IAAmB,OAAA,CAAC;IAC7E,mBAAmB,EAAE,MAAM;IAC3B,KAAK,EAAE,CAAC,QAAQ,CAAC;CAClB,CAAC,EAH4E,CAG5E,CAAC;AAHU,QAAA,QAAQ,YAGlB;AASH;;;;GAIG;AACI,IAAM,cAAc,GAAG,UAC5B,QAAW,EACX,KAAS;IAAT,sBAAA,EAAA,SAAS;IACe,OAAA,CAAC;QACzB,GAAG,EAAE,CAAC;QACN,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,IAAA,aAAK,EAAC,cAAM,OAAA,QAAQ,EAAR,CAAQ,EAAE,KAAK,CAAC;KACpC,CAAC;AAJwB,CAIxB,CAAC;AAPU,QAAA,cAAc,kBAOxB;AAEH;;;;;GAKG;AACI,IAAM,WAAW,GAAG,UACzB,QAAW,EACX,GAAW,EACX,KAAc;IAEd,IAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;IAC9B,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,uCAAgC,GAAG,kBAAQ,KAAK,8BAA2B;YACzE,2DAA2D,CAC9D,CAAC;KACH;IAED,OAAO;QACL,GAAG,KAAA;QACH,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,IAAA,aAAK,EAAC,cAAM,OAAA,QAAQ,EAAR,CAAQ,EAAE,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,WAAW,eAkBtB;AASF;;;;;GAKG;AACI,IAAM,UAAU,GAAG,UACxB,QAAW,EACX,GAAW,EACX,KAAc;IAEd,IAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,sCAA+B,GAAG,kBAAQ,KAAK,+BAA4B;YACzE,wDAAwD,CAC3D,CAAC;KACH;IAED,OAAO;QACL,GAAG,KAAA;QACH,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,IAAA,aAAK,EAAC,cAAM,OAAA,QAAQ,EAAR,CAAQ,EAAE,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB;AAEF;;;;;;GAMG;AACI,IAAM,oBAAoB,GAAG,UAClC,QAAW,EACX,GAAW,EACX,GAAW,EACX,KAAc;IAEd,IAAM,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC;IAC9B,IAAI,KAAK,EAAE;QACT,IAAI,KAAK,GAAG,GAAG,EAAE;YACf,MAAM,IAAI,KAAK,CACb,gDAAyC,GAAG,kBAAQ,KAAK,+BAA4B;gBACnF,2DAA2D,CAC9D,CAAC;SACH;aAAM,IAAI,KAAK,GAAG,GAAG,EAAE;YACtB,MAAM,IAAI,KAAK,CACb,gDAAyC,GAAG,kBAAQ,KAAK,+BAA4B;gBACnF,wDAAwD,CAC3D,CAAC;SACH;KACF;IAED,OAAO;QACL,GAAG,KAAA;QACH,GAAG,KAAA;QACH,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,IAAA,aAAK,EAAC,cAAM,OAAA,QAAQ,EAAR,CAAQ,EAAE,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,oBAAoB,wBA2B/B;AAEF;;;GAGG;AACI,IAAM,OAAO,GAAG,UAAC,CAAQ;IAAR,kBAAA,EAAA,QAAQ;IAAuB,OAAA,CAAC;QACtD,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,CAAC;KACT,CAAC;AAHqD,CAGrD,CAAC;AAHU,QAAA,OAAO,WAGjB;AAEH;;;GAGG;AACI,IAAM,OAAO,GAAG,UAAC,GAAY;IAClC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QACzB,OAAO;YACL,mBAAmB,EAAE,SAAS;YAC9B,KAAK,EAAE,GAAG;SACX,CAAC;KACH;IACD,IAAI,GAAG,EAAE;QACP,MAAM,IAAI,KAAK,CACb,0CAAmC,GAAG,+BAA4B,CACnE,CAAC;KACH;IAED,OAAO;QACL,qBAAqB,EAAE,WAAW;QAClC,mBAAmB,EAAE,SAAS;QAC9B,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,OAAO,WAkBlB;AAEF;;;GAGG;AACI,IAAM,OAAO,GAAG,UAAC,GAAY;IAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO;YACL,mBAAmB,EAAE,SAAS;YAC9B,KAAK,EAAE,GAAG;SACX,CAAC;KACH;IACD,IAAI,GAAG,EAAE;QACP,MAAM,IAAI,KAAK,CACb,0CAAmC,GAAG,6BAA0B,CACjE,CAAC;KACH;IACD,OAAO;QACL,qBAAqB,EAAE,eAAe;QACtC,mBAAmB,EAAE,SAAS;QAC9B,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB;AAEF;;;GAGG;AACH,SAAgB,MAAM,CAAC,GAAY;IACjC,IAAI,GAAG,EAAE;QACP,OAAO;YACL,mBAAmB,EAAE,QAAQ;YAC7B,KAAK,EAAE,GAAG;SACX,CAAC;KACH;IACD,OAAO;QACL,qBAAqB,EAAE,WAAW;QAClC,mBAAmB,EAAE,QAAQ;QAC7B,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAZD,wBAYC;AAED;;;GAGG;AACH,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO;QACL,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC;AALD,wBAKC;AAOD;;;;GAIG;AACH,SAAgB,KAAK,CAAC,OAAwB,EAAE,GAAW;IACzD,IAAI,OAAO,YAAY,MAAM,EAAE;QAC7B,OAAO;YACL,mBAAmB,EAAE,OAAO;YAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,KAAK,EAAE,GAAG;SACX,CAAC;KACH;IACD,OAAO;QACL,mBAAmB,EAAE,OAAO;QAC5B,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC;AAbD,sBAaC;AAED;;;GAGG;AACI,IAAM,KAAK,GAAG,UAAwB,KAAQ,IAAiB,OAAA,CAAC;IACrE,mBAAmB,EAAE,UAAU;IAC/B,KAAK,OAAA;CACN,CAAC,EAHoE,CAGpE,CAAC;AAHU,QAAA,KAAK,SAGf;AAMH;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,MAAc,EAAE,OAAe;IACtD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,OAAO,IAAA,cAAM,EAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAA,aAAK,EAAC,CAAC,CAAC,EAAT,CAAS,EAAE;QAC9B,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QACvD,mBAAmB,EAAE,WAAW;QAChC,MAAM,QAAA;QACN,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC;AAXD,4BAWC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAc,EAAE,OAAe;IACvD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;KAC1D;IACD,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AALD,8BAKC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,MAAc,EAAE,OAAe;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IACD,OAAO;QACL,qBAAqB,EAAE,MAAM;QAC7B,mBAAmB,EAAE,MAAM;QAC3B,MAAM,QAAA;QACN,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAVD,oBAUC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,MAAc,EAAE,OAAe;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IACD,OAAO;QACL,MAAM,QAAA;QACN,qBAAqB,EAAE,MAAM;QAC7B,mBAAmB,EAAE,MAAM;QAC3B,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAVD,oBAUC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAa;IACpC,OAAO;QACL,mBAAmB,EAAE,SAAS;QAC9B,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;AALD,4BAKC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,OAAO;QACL,mBAAmB,EAAE,MAAM;KAC5B,CAAC;AACJ,CAAC;AAJD,8BAIC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,IAAI,iBAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAClB,QAAuB,EACvB,aAAoD;IAEpD,IAAM,OAAO,GAAG;QACd,KAAK;OACF,aAAa,CAAC,GAAG,CAAC,UAAC,CAAC;QACrB,IAAI,CAAC,YAAY,MAAM,EAAE;YACvB,OAAO,aAAM,CAAC,CAAC,MAAM,CAAE,CAAC;SACzB;QACD,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,OAAO,EAAE;YAC7D,OAAO,aAAM,CAAC,CAAC,KAAK,CAAE,CAAC;SACxB;QACD,OAAO,aAAM,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;IAC9B,CAAC,CAAC,QACF,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,IAAM,OAAO,GAAG;QACd,QAAQ,IAAI,uBAAuB;OAChC,aAAa,CAAC,GAAG,CAAC,UAAC,CAAC;QACrB,IAAI,CAAC,YAAY,MAAM,EAAE;YACvB,OAAO,WAAI,eAAe,CAAC,CAAC,CAAC,CAAE,CAAC;SACjC;QACD,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,OAAO,EAAE;YAC7D,OAAO,WAAI,CAAC,CAAC,KAAK,CAAE,CAAC;SACtB;QACD,OAAO,WAAI,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;IAC5B,CAAC,CAAC,QACF,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,wGAAwG;IACxG,iDAAiD;IACjD,IAAI,QAAQ,IAAI,IAAI,EAAE;QACpB,OAAO;YACL,mBAAmB,EAAE,OAAO;YAC5B,qBAAqB,EAAE,eAAe;YACtC,KAAK,EAAE,UAAG,OAAO,OAAI;YACrB,KAAK,EAAE,OAAO;YACd,OAAO,SAAA;SACR,CAAC;KACH;IACD,OAAO;QACL,mBAAmB,EAAE,OAAO;QAC5B,KAAK,EAAE,UAAG,OAAO,OAAI;QACrB,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AA9CD,oBA8CC;AAED;;;GAGG;AACH,SAAgB,GAAG,CACjB,aAAoD;IAEpD,OAAO,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AACnC,CAAC;AAJD,kBAIC;AAMD;;;GAGG;AACH,SAAgB,eAAe;IAC7B,kBAA0B;SAA1B,UAA0B,EAA1B,qBAA0B,EAA1B,IAA0B;QAA1B,6BAA0B;;IAE1B,OAAO;QACL,mBAAmB,EAAE,eAAe;QACpC,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC;AAPD,0CAOC;AAMD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,YAAe;IAEf,OAAO;QACL,mBAAmB,EAAE,MAAM;QAC3B,qBAAqB,EAAE,eAAe;QACtC,UAAU,YAAA;QACV,KAAK,EAAE,YAAY;KACpB,CAAC;AACJ,CAAC;AAVD,8CAUC;AAED;;GAEG;AACH,SAAgB,IAAI,CAAC,OAAgB;IACnC,IAAM,QAAQ,GACZ,8DAA8D,CAAC;IACjE,IAAI,OAAO,EAAE;QACX,IAAM,OAAO,GAAG,IAAI,MAAM,CAAC,WAAI,QAAQ,MAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CACb,gCAAyB,OAAO,2DAAiD,QAAQ,MAAG,CAC7F,CAAC;SACH;QACD,OAAO;YACL,mBAAmB,EAAE,OAAO;YAC5B,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,OAAO;SACf,CAAC;KACH;IACD,OAAO;QACL,mBAAmB,EAAE,OAAO;QAC5B,KAAK,EAAE,QAAQ;QACf,qBAAqB,EAAE,MAAM;QAC7B,KAAK,EAAE,sCAAsC;KAC9C,CAAC;AACJ,CAAC;AAtBD,oBAsBC;AAEM,IAAM,oBAAoB,GAAG,UAAC,GAAY;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAExC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B"}
@@ -0,0 +1 @@
1
+ export {};