serverless-spy 2.3.10 → 2.3.11

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 (224) hide show
  1. package/.jsii +2 -2
  2. package/dist/releasetag.txt +1 -1
  3. package/lib/_virtual/rolldown_runtime.js +25 -0
  4. package/lib/_virtual/rolldown_runtime.mjs +11 -0
  5. package/lib/cli/cli.d.mts +1 -0
  6. package/lib/cli/cli.d.ts +1 -2
  7. package/lib/cli/cli.js +151 -208
  8. package/lib/cli/cli.js.map +1 -0
  9. package/lib/cli/cli.mjs +144 -205
  10. package/lib/cli/cli.mjs.map +1 -0
  11. package/lib/cli/sampleData.d.mts +896 -0
  12. package/lib/cli/sampleData.d.ts +860 -856
  13. package/lib/cli/sampleData.js +496 -480
  14. package/lib/cli/sampleData.js.map +1 -0
  15. package/lib/cli/sampleData.mjs +495 -477
  16. package/lib/cli/sampleData.mjs.map +1 -0
  17. package/lib/common/SpyEventSender.d.mts +26 -0
  18. package/lib/common/SpyEventSender.d.ts +23 -18
  19. package/lib/common/SpyEventSender.js +180 -230
  20. package/lib/common/SpyEventSender.js.map +1 -0
  21. package/lib/common/SpyEventSender.mjs +180 -227
  22. package/lib/common/SpyEventSender.mjs.map +1 -0
  23. package/lib/common/getWebSocketUrl.d.mts +7 -0
  24. package/lib/common/getWebSocketUrl.d.ts +7 -2
  25. package/lib/common/getWebSocketUrl.js +51 -62
  26. package/lib/common/getWebSocketUrl.js.map +1 -0
  27. package/lib/common/getWebSocketUrl.mjs +49 -60
  28. package/lib/common/getWebSocketUrl.mjs.map +1 -0
  29. package/lib/common/spyEvents/DynamoDBSpyEvent.d.mts +15 -0
  30. package/lib/common/spyEvents/DynamoDBSpyEvent.d.ts +14 -9
  31. package/lib/common/spyEvents/DynamoDBSpyEvent.js +0 -3
  32. package/lib/common/spyEvents/DynamoDBSpyEvent.mjs +1 -2
  33. package/lib/common/spyEvents/EventBridgeBaseSpyEvent.d.mts +14 -0
  34. package/lib/common/spyEvents/EventBridgeBaseSpyEvent.d.ts +13 -8
  35. package/lib/common/spyEvents/EventBridgeBaseSpyEvent.js +0 -3
  36. package/lib/common/spyEvents/EventBridgeBaseSpyEvent.mjs +1 -2
  37. package/lib/common/spyEvents/EventBridgeRuleSpyEvent.d.mts +9 -0
  38. package/lib/common/spyEvents/EventBridgeRuleSpyEvent.d.ts +8 -3
  39. package/lib/common/spyEvents/EventBridgeRuleSpyEvent.js +0 -3
  40. package/lib/common/spyEvents/EventBridgeRuleSpyEvent.mjs +1 -2
  41. package/lib/common/spyEvents/EventBridgeSpyEvent.d.mts +9 -0
  42. package/lib/common/spyEvents/EventBridgeSpyEvent.d.ts +8 -3
  43. package/lib/common/spyEvents/EventBridgeSpyEvent.js +0 -3
  44. package/lib/common/spyEvents/EventBridgeSpyEvent.mjs +1 -2
  45. package/lib/common/spyEvents/FunctionBaseSpyEvent.d.mts +11 -0
  46. package/lib/common/spyEvents/FunctionBaseSpyEvent.d.ts +10 -5
  47. package/lib/common/spyEvents/FunctionBaseSpyEvent.js +0 -3
  48. package/lib/common/spyEvents/FunctionBaseSpyEvent.mjs +1 -2
  49. package/lib/common/spyEvents/FunctionConsole.d.mts +10 -0
  50. package/lib/common/spyEvents/FunctionConsole.d.ts +9 -5
  51. package/lib/common/spyEvents/FunctionConsole.js +0 -3
  52. package/lib/common/spyEvents/FunctionConsole.mjs +1 -2
  53. package/lib/common/spyEvents/FunctionConsoleSpyEvent.d.mts +11 -0
  54. package/lib/common/spyEvents/FunctionConsoleSpyEvent.d.ts +10 -5
  55. package/lib/common/spyEvents/FunctionConsoleSpyEvent.js +0 -3
  56. package/lib/common/spyEvents/FunctionConsoleSpyEvent.mjs +1 -2
  57. package/lib/common/spyEvents/FunctionContext.d.mts +12 -0
  58. package/lib/common/spyEvents/FunctionContext.d.ts +11 -6
  59. package/lib/common/spyEvents/FunctionContext.js +0 -3
  60. package/lib/common/spyEvents/FunctionContext.mjs +1 -2
  61. package/lib/common/spyEvents/FunctionErrorSpyEvent.d.mts +13 -0
  62. package/lib/common/spyEvents/FunctionErrorSpyEvent.d.ts +12 -7
  63. package/lib/common/spyEvents/FunctionErrorSpyEvent.js +0 -3
  64. package/lib/common/spyEvents/FunctionErrorSpyEvent.mjs +1 -2
  65. package/lib/common/spyEvents/FunctionRequestSpyEvent.d.mts +12 -0
  66. package/lib/common/spyEvents/FunctionRequestSpyEvent.d.ts +11 -6
  67. package/lib/common/spyEvents/FunctionRequestSpyEvent.js +0 -3
  68. package/lib/common/spyEvents/FunctionRequestSpyEvent.mjs +1 -2
  69. package/lib/common/spyEvents/FunctionResponseSpyEvent.d.mts +10 -0
  70. package/lib/common/spyEvents/FunctionResponseSpyEvent.d.ts +9 -4
  71. package/lib/common/spyEvents/FunctionResponseSpyEvent.js +0 -3
  72. package/lib/common/spyEvents/FunctionResponseSpyEvent.mjs +1 -2
  73. package/lib/common/spyEvents/S3SpyEvent.d.mts +13 -0
  74. package/lib/common/spyEvents/S3SpyEvent.d.ts +12 -7
  75. package/lib/common/spyEvents/S3SpyEvent.js +0 -3
  76. package/lib/common/spyEvents/S3SpyEvent.mjs +1 -2
  77. package/lib/common/spyEvents/SnsSpyEventBase.d.mts +15 -0
  78. package/lib/common/spyEvents/SnsSpyEventBase.d.ts +14 -9
  79. package/lib/common/spyEvents/SnsSpyEventBase.js +0 -3
  80. package/lib/common/spyEvents/SnsSpyEventBase.mjs +1 -2
  81. package/lib/common/spyEvents/SnsSubscriptionSpyEvent.d.mts +9 -0
  82. package/lib/common/spyEvents/SnsSubscriptionSpyEvent.d.ts +8 -3
  83. package/lib/common/spyEvents/SnsSubscriptionSpyEvent.js +0 -3
  84. package/lib/common/spyEvents/SnsSubscriptionSpyEvent.mjs +1 -2
  85. package/lib/common/spyEvents/SnsTopicSpyEvent.d.mts +9 -0
  86. package/lib/common/spyEvents/SnsTopicSpyEvent.d.ts +8 -3
  87. package/lib/common/spyEvents/SnsTopicSpyEvent.js +0 -3
  88. package/lib/common/spyEvents/SnsTopicSpyEvent.mjs +1 -2
  89. package/lib/common/spyEvents/SpyEvent.d.mts +7 -0
  90. package/lib/common/spyEvents/SpyEvent.d.ts +6 -2
  91. package/lib/common/spyEvents/SpyEvent.js +0 -3
  92. package/lib/common/spyEvents/SpyEvent.mjs +1 -2
  93. package/lib/common/spyEvents/SpyMessage.d.mts +11 -0
  94. package/lib/common/spyEvents/SpyMessage.d.ts +10 -5
  95. package/lib/common/spyEvents/SpyMessage.js +0 -3
  96. package/lib/common/spyEvents/SpyMessage.mjs +1 -2
  97. package/lib/common/spyEvents/SqsSpyEvent.d.mts +12 -0
  98. package/lib/common/spyEvents/SqsSpyEvent.d.ts +11 -6
  99. package/lib/common/spyEvents/SqsSpyEvent.js +0 -3
  100. package/lib/common/spyEvents/SqsSpyEvent.mjs +1 -2
  101. package/lib/extension/dist/layer/nodejs/node_modules/interceptor.js +2 -2
  102. package/lib/extension/dist/layer/nodejs/node_modules/interceptor.js.map +2 -2
  103. package/lib/functions/onConnect.d.mts +1 -0
  104. package/lib/functions/onConnect.d.ts +1 -1
  105. package/lib/functions/onConnect.js +28 -26
  106. package/lib/functions/onConnect.js.map +1 -0
  107. package/lib/functions/onConnect.mjs +35 -26
  108. package/lib/functions/onConnect.mjs.map +1 -0
  109. package/lib/functions/onDisconnect.d.mts +10 -0
  110. package/lib/functions/onDisconnect.d.ts +9 -4
  111. package/lib/functions/onDisconnect.js +28 -27
  112. package/lib/functions/onDisconnect.js.map +1 -0
  113. package/lib/functions/onDisconnect.mjs +29 -25
  114. package/lib/functions/onDisconnect.mjs.map +1 -0
  115. package/lib/functions/sendMessage.d.mts +8 -0
  116. package/lib/functions/sendMessage.d.ts +7 -3
  117. package/lib/functions/sendMessage.js +26 -21
  118. package/lib/functions/sendMessage.js.map +1 -0
  119. package/lib/functions/sendMessage.mjs +28 -19
  120. package/lib/functions/sendMessage.mjs.map +1 -0
  121. package/lib/functions/sqsSubscriptionAndDropAllMessages.d.mts +5 -0
  122. package/lib/functions/sqsSubscriptionAndDropAllMessages.d.ts +5 -1
  123. package/lib/functions/sqsSubscriptionAndDropAllMessages.js +6 -5
  124. package/lib/functions/sqsSubscriptionAndDropAllMessages.js.map +1 -0
  125. package/lib/functions/sqsSubscriptionAndDropAllMessages.mjs +7 -3
  126. package/lib/functions/sqsSubscriptionAndDropAllMessages.mjs.map +1 -0
  127. package/lib/index.d.mts +4 -0
  128. package/lib/index.d.ts +4 -2
  129. package/lib/index.js +6 -19
  130. package/lib/index.mjs +5 -3
  131. package/lib/listener/PrettifyForDisplay.d.mts +5 -0
  132. package/lib/listener/PrettifyForDisplay.d.ts +5 -3
  133. package/lib/listener/PrettifyForDisplay.js +0 -3
  134. package/lib/listener/PrettifyForDisplay.mjs +1 -2
  135. package/lib/listener/RecursivePartial.d.mts +7 -0
  136. package/lib/listener/RecursivePartial.d.ts +7 -4
  137. package/lib/listener/RecursivePartial.js +0 -3
  138. package/lib/listener/RecursivePartial.mjs +1 -2
  139. package/lib/listener/ServerlessSpyListener.d.mts +23 -0
  140. package/lib/listener/ServerlessSpyListener.d.ts +22 -42
  141. package/lib/listener/ServerlessSpyListener.js +0 -3
  142. package/lib/listener/ServerlessSpyListener.mjs +1 -2
  143. package/lib/listener/ServerlessSpyListenerParams.d.mts +14 -0
  144. package/lib/listener/ServerlessSpyListenerParams.d.ts +13 -8
  145. package/lib/listener/ServerlessSpyListenerParams.js +0 -3
  146. package/lib/listener/ServerlessSpyListenerParams.mjs +1 -2
  147. package/lib/listener/SpyHandlers.ts.d.mts +158 -0
  148. package/lib/listener/SpyHandlers.ts.d.ts +144 -144
  149. package/lib/listener/SpyHandlers.ts.js +0 -3
  150. package/lib/listener/SpyHandlers.ts.mjs +1 -2
  151. package/lib/listener/WaitForParams.d.mts +10 -0
  152. package/lib/listener/WaitForParams.d.ts +9 -4
  153. package/lib/listener/WaitForParams.js +0 -3
  154. package/lib/listener/WaitForParams.mjs +1 -2
  155. package/lib/listener/WsListener.d.mts +27 -0
  156. package/lib/listener/WsListener.d.ts +26 -21
  157. package/lib/listener/WsListener.js +173 -231
  158. package/lib/listener/WsListener.js.map +1 -0
  159. package/lib/listener/WsListener.mjs +174 -228
  160. package/lib/listener/WsListener.mjs.map +1 -0
  161. package/lib/listener/createServerlessSpyListener.d.mts +8 -0
  162. package/lib/listener/createServerlessSpyListener.d.ts +8 -2
  163. package/lib/listener/createServerlessSpyListener.js +25 -25
  164. package/lib/listener/createServerlessSpyListener.js.map +1 -0
  165. package/lib/listener/createServerlessSpyListener.mjs +26 -23
  166. package/lib/listener/createServerlessSpyListener.mjs.map +1 -0
  167. package/lib/listener/index.d.mts +3 -0
  168. package/lib/listener/index.d.ts +3 -2
  169. package/lib/listener/index.js +3 -19
  170. package/lib/listener/index.mjs +3 -3
  171. package/lib/listener/iot-connection.d.mts +13 -0
  172. package/lib/listener/iot-connection.d.ts +12 -7
  173. package/lib/listener/iot-connection.js +48 -46
  174. package/lib/listener/iot-connection.js.map +1 -0
  175. package/lib/listener/iot-connection.mjs +46 -44
  176. package/lib/listener/iot-connection.mjs.map +1 -0
  177. package/lib/listener/matchers.d.mts +1 -0
  178. package/lib/listener/matchers.d.ts +1 -0
  179. package/lib/listener/matchers.js +0 -55
  180. package/lib/listener/matchers.mjs +1 -55
  181. package/lib/listener/setup.d.mts +1 -0
  182. package/lib/listener/setup.d.ts +1 -0
  183. package/lib/listener/setup.js +0 -21
  184. package/lib/listener/setup.mjs +1 -21
  185. package/lib/listener/topic.d.mts +6 -0
  186. package/lib/listener/topic.d.ts +6 -2
  187. package/lib/listener/topic.js +9 -7
  188. package/lib/listener/topic.js.map +1 -0
  189. package/lib/listener/topic.mjs +8 -4
  190. package/lib/listener/topic.mjs.map +1 -0
  191. package/lib/node_modules/tsdown/esm-shims.mjs +11 -0
  192. package/lib/node_modules/tsdown/esm-shims.mjs.map +1 -0
  193. package/lib/node_modules/uuid/dist/esm-node/native.js +10 -0
  194. package/lib/node_modules/uuid/dist/esm-node/native.js.map +1 -0
  195. package/lib/node_modules/uuid/dist/esm-node/native.mjs +8 -0
  196. package/lib/node_modules/uuid/dist/esm-node/native.mjs.map +1 -0
  197. package/lib/node_modules/uuid/dist/esm-node/rng.js +18 -0
  198. package/lib/node_modules/uuid/dist/esm-node/rng.js.map +1 -0
  199. package/lib/node_modules/uuid/dist/esm-node/rng.mjs +16 -0
  200. package/lib/node_modules/uuid/dist/esm-node/rng.mjs.map +1 -0
  201. package/lib/node_modules/uuid/dist/esm-node/stringify.js +15 -0
  202. package/lib/node_modules/uuid/dist/esm-node/stringify.js.map +1 -0
  203. package/lib/node_modules/uuid/dist/esm-node/stringify.mjs +14 -0
  204. package/lib/node_modules/uuid/dist/esm-node/stringify.mjs.map +1 -0
  205. package/lib/node_modules/uuid/dist/esm-node/v4.js +23 -0
  206. package/lib/node_modules/uuid/dist/esm-node/v4.js.map +1 -0
  207. package/lib/node_modules/uuid/dist/esm-node/v4.mjs +23 -0
  208. package/lib/node_modules/uuid/dist/esm-node/v4.mjs.map +1 -0
  209. package/lib/src/ServerlessSpy.d.mts +77 -0
  210. package/lib/src/ServerlessSpy.js +1 -1
  211. package/lib/src/ServerlessSpy.js.map +1 -0
  212. package/lib/src/ServerlessSpy.mjs +441 -618
  213. package/lib/src/ServerlessSpy.mjs.map +1 -0
  214. package/lib/src/common/envVariableNames.d.mts +35 -0
  215. package/lib/src/common/envVariableNames.js.map +1 -0
  216. package/lib/src/common/envVariableNames.mjs +43 -35
  217. package/lib/src/common/envVariableNames.mjs.map +1 -0
  218. package/lib/src/index.d.mts +2 -0
  219. package/lib/src/index.mjs +3 -2
  220. package/node_modules/debug/package.json +2 -3
  221. package/node_modules/debug/src/browser.js +1 -1
  222. package/node_modules/debug/src/common.js +1 -1
  223. package/package.json +2 -1
  224. package/tsdown.config.ts +16 -0
@@ -1,158 +1,158 @@
1
- import { PrettifyForDisplay } from './PrettifyForDisplay';
2
- import { RecursivePartial } from './RecursivePartial';
3
- import { DynamoDBSpyEvent } from '../common/spyEvents/DynamoDBSpyEvent';
4
- import { EventBridgeRuleSpyEvent } from '../common/spyEvents/EventBridgeRuleSpyEvent';
5
- import { EventBridgeSpyEvent } from '../common/spyEvents/EventBridgeSpyEvent';
6
- import { FunctionConsole } from '../common/spyEvents/FunctionConsole';
7
- import { FunctionConsoleSpyEvent } from '../common/spyEvents/FunctionConsoleSpyEvent';
8
- import { FunctionContext } from '../common/spyEvents/FunctionContext';
9
- import { FunctionErrorSpyEvent } from '../common/spyEvents/FunctionErrorSpyEvent';
10
- import { FunctionRequestSpyEvent } from '../common/spyEvents/FunctionRequestSpyEvent';
11
- import { FunctionResponseSpyEvent } from '../common/spyEvents/FunctionResponseSpyEvent';
12
- import { S3SpyEvent } from '../common/spyEvents/S3SpyEvent';
13
- import { SnsSubscriptionSpyEvent } from '../common/spyEvents/SnsSubscriptionSpyEvent';
14
- import { SnsTopicSpyEvent } from '../common/spyEvents/SnsTopicSpyEvent';
15
- import { SqsSpyEvent } from '../common/spyEvents/SqsSpyEvent';
1
+ import { DynamoDBSpyEvent } from "../common/spyEvents/DynamoDBSpyEvent.js";
2
+ import { EventBridgeRuleSpyEvent } from "../common/spyEvents/EventBridgeRuleSpyEvent.js";
3
+ import { EventBridgeSpyEvent } from "../common/spyEvents/EventBridgeSpyEvent.js";
4
+ import { FunctionContext } from "../common/spyEvents/FunctionContext.js";
5
+ import { FunctionConsole } from "../common/spyEvents/FunctionConsole.js";
6
+ import { FunctionConsoleSpyEvent } from "../common/spyEvents/FunctionConsoleSpyEvent.js";
7
+ import { FunctionErrorSpyEvent } from "../common/spyEvents/FunctionErrorSpyEvent.js";
8
+ import { FunctionRequestSpyEvent } from "../common/spyEvents/FunctionRequestSpyEvent.js";
9
+ import { FunctionResponseSpyEvent } from "../common/spyEvents/FunctionResponseSpyEvent.js";
10
+ import { S3SpyEvent } from "../common/spyEvents/S3SpyEvent.js";
11
+ import { SnsSubscriptionSpyEvent } from "../common/spyEvents/SnsSubscriptionSpyEvent.js";
12
+ import { SnsTopicSpyEvent } from "../common/spyEvents/SnsTopicSpyEvent.js";
13
+ import { SqsSpyEvent } from "../common/spyEvents/SqsSpyEvent.js";
14
+ import { PrettifyForDisplay } from "./PrettifyForDisplay.js";
15
+ import { RecursivePartial } from "./RecursivePartial.js";
16
+
17
+ //#region listener/SpyHandlers.ts.d.ts
16
18
  type MyJestMatchers = ReturnType<typeof expect>;
17
- type MyJestMatchersWitOnlyFunctions = Pick<MyJestMatchers, {
18
- [P in keyof MyJestMatchers]: MyJestMatchers[P] extends (...args: any) => any ? P : never;
19
- }[keyof MyJestMatchers]>;
20
- type JestExpectWithSpyMethods<TSpyEvent, TSpyHandler> = Omit<{
21
- [K in keyof MyJestMatchersWitOnlyFunctions]: (...args: Parameters<MyJestMatchersWitOnlyFunctions[K]>) => TSpyHandler;
22
- }, 'toContainEqual' | 'toEqual' | 'toMatchObject' | 'toStrictEqual'> & {
23
- /**
24
- * Used when you want to check that an item is in a list.
25
- * For testing the items in the list, this matcher recursively checks the
26
- * equality of all fields, rather than checking for object identity.
27
- *
28
- * Optionally, you can provide a type for the expected value via a generic.
29
- * This is particularly useful for ensuring expected objects have the right structure.
30
- */
31
- toContainEqual(expected: TSpyEvent): TSpyHandler;
32
- /**
33
- * Used when you want to check that two objects have the same value.
34
- * This matcher recursively checks the equality of all fields, rather than checking for object identity.
35
- *
36
- * Optionally, you can provide a type for the expected value via a generic.
37
- * This is particularly useful for ensuring expected objects have the right structure.
38
- */
39
- toEqual(expected: TSpyEvent): TSpyHandler;
40
- /**
41
- * Used to check that a JavaScript object matches a subset of the properties of an object
42
- *
43
- * Optionally, you can provide an object to use as Generic type for the expected value.
44
- * This ensures that the matching object matches the structure of the provided object-like type.
45
- *
46
- * @example
47
- *
48
- * type House = {
49
- * bath: boolean;
50
- * bedrooms: number;
51
- * kitchen: {
52
- * amenities: string[];
53
- * area: number;
54
- * wallColor: string;
55
- * }
56
- * };
57
- *
58
- * expect(desiredHouse).toMatchObject<House>({...standardHouse, kitchen: {area: 20}}) // wherein standardHouse is some base object of type House
59
- */
60
- toMatchObject(expected: PrettifyForDisplay<RecursivePartial<TSpyEvent>>): TSpyHandler;
61
- /**
62
- * Use to test that objects have the same types as well as structure.
63
- *
64
- * Optionally, you can provide a type for the expected value via a generic.
65
- * This is particularly useful for ensuring expected objects have the right structure.
66
- */
67
- toStrictEqual(expected: TSpyEvent): TSpyHandler;
19
+ type MyJestMatchersWitOnlyFunctions = Pick<MyJestMatchers, { [P in keyof MyJestMatchers]: MyJestMatchers[P] extends ((...args: any) => any) ? P : never }[keyof MyJestMatchers]>;
20
+ type JestExpectWithSpyMethods<TSpyEvent, TSpyHandler> = Omit<{ [K in keyof MyJestMatchersWitOnlyFunctions]: (...args: Parameters<MyJestMatchersWitOnlyFunctions[K]>) => TSpyHandler }, 'toContainEqual' | 'toEqual' | 'toMatchObject' | 'toStrictEqual'> & {
21
+ /**
22
+ * Used when you want to check that an item is in a list.
23
+ * For testing the items in the list, this matcher recursively checks the
24
+ * equality of all fields, rather than checking for object identity.
25
+ *
26
+ * Optionally, you can provide a type for the expected value via a generic.
27
+ * This is particularly useful for ensuring expected objects have the right structure.
28
+ */
29
+ toContainEqual(expected: TSpyEvent): TSpyHandler;
30
+ /**
31
+ * Used when you want to check that two objects have the same value.
32
+ * This matcher recursively checks the equality of all fields, rather than checking for object identity.
33
+ *
34
+ * Optionally, you can provide a type for the expected value via a generic.
35
+ * This is particularly useful for ensuring expected objects have the right structure.
36
+ */
37
+ toEqual(expected: TSpyEvent): TSpyHandler;
38
+ /**
39
+ * Used to check that a JavaScript object matches a subset of the properties of an object
40
+ *
41
+ * Optionally, you can provide an object to use as Generic type for the expected value.
42
+ * This ensures that the matching object matches the structure of the provided object-like type.
43
+ *
44
+ * @example
45
+ *
46
+ * type House = {
47
+ * bath: boolean;
48
+ * bedrooms: number;
49
+ * kitchen: {
50
+ * amenities: string[];
51
+ * area: number;
52
+ * wallColor: string;
53
+ * }
54
+ * };
55
+ *
56
+ * expect(desiredHouse).toMatchObject<House>({...standardHouse, kitchen: {area: 20}}) // wherein standardHouse is some base object of type House
57
+ */
58
+ toMatchObject(expected: PrettifyForDisplay<RecursivePartial<TSpyEvent>>): TSpyHandler;
59
+ /**
60
+ * Use to test that objects have the same types as well as structure.
61
+ *
62
+ * Optionally, you can provide a type for the expected value via a generic.
63
+ * This is particularly useful for ensuring expected objects have the right structure.
64
+ */
65
+ toStrictEqual(expected: TSpyEvent): TSpyHandler;
68
66
  };
69
- export interface DynamoDBSpyHandler<TData = any> extends JestExpectWithSpyMethods<DynamoDBSpyEvent<TData>, DynamoDBSpyHandler<TData>> {
70
- getData: () => PrettifyForDisplay<DynamoDBSpyEvent<TData>>;
67
+ interface DynamoDBSpyHandler<TData = any> extends JestExpectWithSpyMethods<DynamoDBSpyEvent<TData>, DynamoDBSpyHandler<TData>> {
68
+ getData: () => PrettifyForDisplay<DynamoDBSpyEvent<TData>>;
71
69
  }
72
- export interface EventBridgeRuleSpyHandler<TData = any> extends JestExpectWithSpyMethods<EventBridgeRuleSpyEvent<TData>, EventBridgeRuleSpyHandler<TData>> {
73
- getData: () => PrettifyForDisplay<EventBridgeRuleSpyEvent<TData>>;
70
+ interface EventBridgeRuleSpyHandler<TData = any> extends JestExpectWithSpyMethods<EventBridgeRuleSpyEvent<TData>, EventBridgeRuleSpyHandler<TData>> {
71
+ getData: () => PrettifyForDisplay<EventBridgeRuleSpyEvent<TData>>;
74
72
  }
75
- export interface EventBridgeSpyHandler<TData = any> extends JestExpectWithSpyMethods<EventBridgeSpyEvent<TData>, EventBridgeSpyHandler<TData>> {
76
- getData: () => PrettifyForDisplay<EventBridgeSpyEvent<TData>>;
73
+ interface EventBridgeSpyHandler<TData = any> extends JestExpectWithSpyMethods<EventBridgeSpyEvent<TData>, EventBridgeSpyHandler<TData>> {
74
+ getData: () => PrettifyForDisplay<EventBridgeSpyEvent<TData>>;
77
75
  }
78
- export interface FunctionBaseSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>> {
79
- followedByError: (param?: {
80
- condition?: (event: {
81
- spyEventType: 'FunctionError';
82
- request: TData;
83
- context: FunctionContext;
84
- error: any;
85
- }) => boolean;
86
- timoutMs?: number;
87
- }) => Promise<FunctionBaseSpyHandler<TData> & FunctionErrorSpyHandler<TData> & JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
88
- followedByConsole: (param?: {
89
- condition?: (event: {
90
- spyEventType: 'FunctionConsole';
91
- request: TData;
92
- context: FunctionContext;
93
- console: FunctionConsole;
94
- }) => boolean;
95
- timoutMs?: number;
96
- }) => Promise<FunctionBaseSpyHandler<TData> & FunctionConsoleSpyHandler<TData> & JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
97
- followedByResponse: <TDataResponse = any>(param?: {
98
- condition?: (event: {
99
- spyEventType: 'FunctionResponse';
100
- request: TData;
101
- context: FunctionContext;
102
- response: TDataResponse;
103
- }) => boolean;
104
- timoutMs?: number;
105
- }) => Promise<FunctionResponseSpyHandler<TData> & JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
76
+ interface FunctionBaseSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>> {
77
+ followedByError: (param?: {
78
+ condition?: (event: {
79
+ spyEventType: 'FunctionError';
80
+ request: TData;
81
+ context: FunctionContext;
82
+ error: any;
83
+ }) => boolean;
84
+ timoutMs?: number;
85
+ }) => Promise<FunctionBaseSpyHandler<TData> & FunctionErrorSpyHandler<TData> & JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
86
+ followedByConsole: (param?: {
87
+ condition?: (event: {
88
+ spyEventType: 'FunctionConsole';
89
+ request: TData;
90
+ context: FunctionContext;
91
+ console: FunctionConsole;
92
+ }) => boolean;
93
+ timoutMs?: number;
94
+ }) => Promise<FunctionBaseSpyHandler<TData> & FunctionConsoleSpyHandler<TData> & JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
95
+ followedByResponse: <TDataResponse = any>(param?: {
96
+ condition?: (event: {
97
+ spyEventType: 'FunctionResponse';
98
+ request: TData;
99
+ context: FunctionContext;
100
+ response: TDataResponse;
101
+ }) => boolean;
102
+ timoutMs?: number;
103
+ }) => Promise<FunctionResponseSpyHandler<TData> & JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
106
104
  }
107
- export interface FunctionRequestSpyHandler<TData = any> extends FunctionBaseSpyHandler<TData> {
108
- getData: () => PrettifyForDisplay<FunctionRequestSpyEvent<TData>>;
105
+ interface FunctionRequestSpyHandler<TData = any> extends FunctionBaseSpyHandler<TData> {
106
+ getData: () => PrettifyForDisplay<FunctionRequestSpyEvent<TData>>;
109
107
  }
110
- export interface FunctionConsoleSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionConsoleSpyHandler<TData>> {
111
- getData: () => PrettifyForDisplay<FunctionConsoleSpyEvent<TData>>;
112
- followedByError: (param?: {
113
- condition?: (event: {
114
- spyEventType: 'FunctionError';
115
- request: TData;
116
- context: FunctionContext;
117
- error: any;
118
- }) => boolean;
119
- timoutMs?: number;
120
- }) => Promise<FunctionBaseSpyHandler<TData> & FunctionErrorSpyHandler<TData> & JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
121
- followedByConsole: (param?: {
122
- condition?: (event: {
123
- spyEventType: 'FunctionConsole';
124
- request: TData;
125
- context: FunctionContext;
126
- console: FunctionConsole;
127
- }) => boolean;
128
- timoutMs?: number;
129
- }) => Promise<FunctionBaseSpyHandler<TData> & FunctionConsoleSpyHandler<TData> & JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
130
- followedByResponse: <TDataResponse = any>(param?: {
131
- condition?: (event: {
132
- spyEventType: 'FunctionResponse';
133
- request: TData;
134
- context: FunctionContext;
135
- response: TDataResponse;
136
- }) => boolean;
137
- timoutMs?: number;
138
- }) => Promise<FunctionResponseSpyHandler<TData> & JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
108
+ interface FunctionConsoleSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionConsoleSpyHandler<TData>> {
109
+ getData: () => PrettifyForDisplay<FunctionConsoleSpyEvent<TData>>;
110
+ followedByError: (param?: {
111
+ condition?: (event: {
112
+ spyEventType: 'FunctionError';
113
+ request: TData;
114
+ context: FunctionContext;
115
+ error: any;
116
+ }) => boolean;
117
+ timoutMs?: number;
118
+ }) => Promise<FunctionBaseSpyHandler<TData> & FunctionErrorSpyHandler<TData> & JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
119
+ followedByConsole: (param?: {
120
+ condition?: (event: {
121
+ spyEventType: 'FunctionConsole';
122
+ request: TData;
123
+ context: FunctionContext;
124
+ console: FunctionConsole;
125
+ }) => boolean;
126
+ timoutMs?: number;
127
+ }) => Promise<FunctionBaseSpyHandler<TData> & FunctionConsoleSpyHandler<TData> & JestExpectWithSpyMethods<FunctionConsoleSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
128
+ followedByResponse: <TDataResponse = any>(param?: {
129
+ condition?: (event: {
130
+ spyEventType: 'FunctionResponse';
131
+ request: TData;
132
+ context: FunctionContext;
133
+ response: TDataResponse;
134
+ }) => boolean;
135
+ timoutMs?: number;
136
+ }) => Promise<FunctionResponseSpyHandler<TData> & JestExpectWithSpyMethods<FunctionRequestSpyEvent<TData>, FunctionRequestSpyHandler<TData>>>;
139
137
  }
140
- export interface FunctionErrorSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionErrorSpyHandler<TData>> {
141
- getData: () => PrettifyForDisplay<FunctionErrorSpyEvent<TData>>;
138
+ interface FunctionErrorSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionErrorSpyEvent<TData>, FunctionErrorSpyHandler<TData>> {
139
+ getData: () => PrettifyForDisplay<FunctionErrorSpyEvent<TData>>;
142
140
  }
143
- export interface FunctionResponseSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionResponseSpyEvent<TData>, FunctionResponseSpyHandler<TData>> {
144
- getData: () => PrettifyForDisplay<FunctionResponseSpyEvent<TData>>;
141
+ interface FunctionResponseSpyHandler<TData = any> extends JestExpectWithSpyMethods<FunctionResponseSpyEvent<TData>, FunctionResponseSpyHandler<TData>> {
142
+ getData: () => PrettifyForDisplay<FunctionResponseSpyEvent<TData>>;
145
143
  }
146
- export interface S3SpyHandler extends JestExpectWithSpyMethods<S3SpyEvent, S3SpyHandler> {
147
- getData: () => S3SpyEvent;
144
+ interface S3SpyHandler extends JestExpectWithSpyMethods<S3SpyEvent, S3SpyHandler> {
145
+ getData: () => S3SpyEvent;
148
146
  }
149
- export interface SnsSubscriptionSpyHandler<TData = any> extends JestExpectWithSpyMethods<SnsSubscriptionSpyEvent<TData>, SnsSubscriptionSpyHandler<TData>> {
150
- getData: () => PrettifyForDisplay<SnsSubscriptionSpyEvent<TData>>;
147
+ interface SnsSubscriptionSpyHandler<TData = any> extends JestExpectWithSpyMethods<SnsSubscriptionSpyEvent<TData>, SnsSubscriptionSpyHandler<TData>> {
148
+ getData: () => PrettifyForDisplay<SnsSubscriptionSpyEvent<TData>>;
151
149
  }
152
- export interface SnsTopicSpyHandler<TData = any> extends JestExpectWithSpyMethods<SnsTopicSpyEvent<TData>, SnsTopicSpyHandler<TData>> {
153
- getData: () => PrettifyForDisplay<SnsTopicSpyEvent<TData>>;
150
+ interface SnsTopicSpyHandler<TData = any> extends JestExpectWithSpyMethods<SnsTopicSpyEvent<TData>, SnsTopicSpyHandler<TData>> {
151
+ getData: () => PrettifyForDisplay<SnsTopicSpyEvent<TData>>;
154
152
  }
155
- export interface SqsSpyHandler<TData = any> extends JestExpectWithSpyMethods<SqsSpyEvent<TData>, SqsSpyHandler<TData>> {
156
- getData: () => PrettifyForDisplay<SqsSpyEvent<TData>>;
153
+ interface SqsSpyHandler<TData = any> extends JestExpectWithSpyMethods<SqsSpyEvent<TData>, SqsSpyHandler<TData>> {
154
+ getData: () => PrettifyForDisplay<SqsSpyEvent<TData>>;
157
155
  }
158
- export {};
156
+ //#endregion
157
+ export { DynamoDBSpyHandler, EventBridgeRuleSpyHandler, EventBridgeSpyHandler, FunctionBaseSpyHandler, FunctionConsoleSpyHandler, FunctionErrorSpyHandler, FunctionRequestSpyHandler, FunctionResponseSpyHandler, S3SpyHandler, SnsSubscriptionSpyHandler, SnsTopicSpyHandler, SqsSpyHandler };
158
+ //# sourceMappingURL=SpyHandlers.ts.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3B5SGFuZGxlcnMudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saXN0ZW5lci9TcHlIYW5kbGVycy50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJldHRpZnlGb3JEaXNwbGF5IH0gZnJvbSAnLi9QcmV0dGlmeUZvckRpc3BsYXknO1xuaW1wb3J0IHsgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJy4vUmVjdXJzaXZlUGFydGlhbCc7XG5pbXBvcnQgeyBEeW5hbW9EQlNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9EeW5hbW9EQlNweUV2ZW50JztcbmltcG9ydCB7IEV2ZW50QnJpZGdlUnVsZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9FdmVudEJyaWRnZVJ1bGVTcHlFdmVudCc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9FdmVudEJyaWRnZVNweUV2ZW50JztcbmltcG9ydCB7IEZ1bmN0aW9uQ29uc29sZSB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25Db25zb2xlJztcbmltcG9ydCB7IEZ1bmN0aW9uQ29uc29sZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9GdW5jdGlvbkNvbnNvbGVTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvbkNvbnRleHQgfSBmcm9tICcuLi9jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uQ29udGV4dCc7XG5pbXBvcnQgeyBGdW5jdGlvbkVycm9yU3B5RXZlbnQgfSBmcm9tICcuLi9jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uRXJyb3JTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvblJlcXVlc3RTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQnO1xuaW1wb3J0IHsgRnVuY3Rpb25SZXNwb25zZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9GdW5jdGlvblJlc3BvbnNlU3B5RXZlbnQnO1xuaW1wb3J0IHsgUzNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvUzNTcHlFdmVudCc7XG5pbXBvcnQgeyBTbnNTdWJzY3JpcHRpb25TcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU25zU3Vic2NyaXB0aW9uU3B5RXZlbnQnO1xuaW1wb3J0IHsgU25zVG9waWNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU25zVG9waWNTcHlFdmVudCc7XG5pbXBvcnQgeyBTcXNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU3FzU3B5RXZlbnQnO1xuXG50eXBlIE15SmVzdE1hdGNoZXJzID0gUmV0dXJuVHlwZTx0eXBlb2YgZXhwZWN0PjtcbnR5cGUgTXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zID0gUGljazxcbiAgTXlKZXN0TWF0Y2hlcnMsXG4gIHtcbiAgICBbUCBpbiBrZXlvZiBNeUplc3RNYXRjaGVyc106IE15SmVzdE1hdGNoZXJzW1BdIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG4gICAgICA/IFBcbiAgICAgIDogbmV2ZXI7XG4gIH1ba2V5b2YgTXlKZXN0TWF0Y2hlcnNdXG4+O1xudHlwZSBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8VFNweUV2ZW50LCBUU3B5SGFuZGxlcj4gPSBPbWl0PFxuICB7XG4gICAgLy8gdG9NYXRjaE9iamVjdDogKGV4cGVjdGVkOiBSZWN1cnNpdmVQYXJ0aWFsPFRTcHlFdmVudD4pID0+IFRTcHlIYW5kbGVyO1xuICAgIFtLIGluIGtleW9mIE15SmVzdE1hdGNoZXJzV2l0T25seUZ1bmN0aW9uc106IChcbiAgICAgIC4uLmFyZ3M6IFBhcmFtZXRlcnM8TXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zW0tdPlxuICAgICkgPT4gVFNweUhhbmRsZXI7XG4gIH0sXG4gICd0b0NvbnRhaW5FcXVhbCcgfCAndG9FcXVhbCcgfCAndG9NYXRjaE9iamVjdCcgfCAndG9TdHJpY3RFcXVhbCdcbj4gJiB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4geW91IHdhbnQgdG8gY2hlY2sgdGhhdCBhbiBpdGVtIGlzIGluIGEgbGlzdC5cbiAgICogRm9yIHRlc3RpbmcgdGhlIGl0ZW1zIGluIHRoZSBsaXN0LCB0aGlzIG1hdGNoZXIgcmVjdXJzaXZlbHkgY2hlY2tzIHRoZVxuICAgKiBlcXVhbGl0eSBvZiBhbGwgZmllbGRzLCByYXRoZXIgdGhhbiBjaGVja2luZyBmb3Igb2JqZWN0IGlkZW50aXR5LlxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYSB0eXBlIGZvciB0aGUgZXhwZWN0ZWQgdmFsdWUgdmlhIGEgZ2VuZXJpYy5cbiAgICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBlbnN1cmluZyBleHBlY3RlZCBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHN0cnVjdHVyZS5cbiAgICovXG5cbiAgdG9Db250YWluRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuICAvKipcbiAgICogVXNlZCB3aGVuIHlvdSB3YW50IHRvIGNoZWNrIHRoYXQgdHdvIG9iamVjdHMgaGF2ZSB0aGUgc2FtZSB2YWx1ZS5cbiAgICogVGhpcyBtYXRjaGVyIHJlY3Vyc2l2ZWx5IGNoZWNrcyB0aGUgZXF1YWxpdHkgb2YgYWxsIGZpZWxkcywgcmF0aGVyIHRoYW4gY2hlY2tpbmcgZm9yIG9iamVjdCBpZGVudGl0eS5cbiAgICpcbiAgICogT3B0aW9uYWxseSwgeW91IGNhbiBwcm92aWRlIGEgdHlwZSBmb3IgdGhlIGV4cGVjdGVkIHZhbHVlIHZpYSBhIGdlbmVyaWMuXG4gICAqIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgZW5zdXJpbmcgZXhwZWN0ZWQgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBzdHJ1Y3R1cmUuXG4gICAqL1xuXG4gIHRvRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGNoZWNrIHRoYXQgYSBKYXZhU2NyaXB0IG9iamVjdCBtYXRjaGVzIGEgc3Vic2V0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdFxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYW4gb2JqZWN0IHRvIHVzZSBhcyBHZW5lcmljIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1hdGNoaW5nIG9iamVjdCBtYXRjaGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHByb3ZpZGVkIG9iamVjdC1saWtlIHR5cGUuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHR5cGUgSG91c2UgPSB7XG4gICAqICAgYmF0aDogYm9vbGVhbjtcbiAgICogICBiZWRyb29tczogbnVtYmVyO1xuICAgKiAgIGtpdGNoZW46IHtcbiAgICogICAgIGFtZW5pdGllczogc3RyaW5nW107XG4gICAqICAgICBhcmVhOiBudW1iZXI7XG4gICAqICAgICB3YWxsQ29sb3I6IHN0cmluZztcbiAgICogICB9XG4gICAqIH07XG4gICAqXG4gICAqIGV4cGVjdChkZXNpcmVkSG91c2UpLnRvTWF0Y2hPYmplY3Q8SG91c2U+KHsuLi5zdGFuZGFyZEhvdXNlLCBraXRjaGVuOiB7YXJlYTogMjB9fSkgLy8gd2hlcmVpbiBzdGFuZGFyZEhvdXNlIGlzIHNvbWUgYmFzZSBvYmplY3Qgb2YgdHlwZSBIb3VzZVxuICAgKi9cblxuICB0b01hdGNoT2JqZWN0KFxuICAgIGV4cGVjdGVkOiBQcmV0dGlmeUZvckRpc3BsYXk8UmVjdXJzaXZlUGFydGlhbDxUU3B5RXZlbnQ+PlxuICApOiBUU3B5SGFuZGxlcjtcblxuICAvKipcbiAgICogVXNlIHRvIHRlc3QgdGhhdCBvYmplY3RzIGhhdmUgdGhlIHNhbWUgdHlwZXMgYXMgd2VsbCBhcyBzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIE9wdGlvbmFsbHksIHlvdSBjYW4gcHJvdmlkZSBhIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZSB2aWEgYSBnZW5lcmljLlxuICAgKiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGVuc3VyaW5nIGV4cGVjdGVkIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgc3RydWN0dXJlLlxuICAgKi9cblxuICB0b1N0cmljdEVxdWFsKGV4cGVjdGVkOiBUU3B5RXZlbnQpOiBUU3B5SGFuZGxlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBEeW5hbW9EQlNweUV2ZW50PFREYXRhPixcbiAgICBEeW5hbW9EQlNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RHluYW1vREJTcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVJ1bGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBFdmVudEJyaWRnZVJ1bGVTcHlFdmVudDxURGF0YT4sXG4gICAgRXZlbnRCcmlkZ2VSdWxlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxFdmVudEJyaWRnZVJ1bGVTcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEV2ZW50QnJpZGdlU3B5RXZlbnQ8VERhdGE+LFxuICAgIEV2ZW50QnJpZGdlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxFdmVudEJyaWRnZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YSA9IGFueT5cbiAgZXh0ZW5kcyBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+LFxuICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBmb2xsb3dlZEJ5RXJyb3I6IChcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uRXJyb3InO1xuICAgICAgICByZXF1ZXN0OiBURGF0YTtcbiAgICAgICAgY29udGV4dDogRnVuY3Rpb25Db250ZXh0O1xuICAgICAgICBlcnJvcjogYW55O1xuICAgICAgfSkgPT4gYm9vbGVhbjtcbiAgICAgIHRpbW91dE1zPzogbnVtYmVyO1xuICAgIH1cbiAgKSA9PiBQcm9taXNlPFxuICAgIEZ1bmN0aW9uQmFzZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEZ1bmN0aW9uRXJyb3JTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgICAgIEZ1bmN0aW9uRXJyb3JTcHlFdmVudDxURGF0YT4sXG4gICAgICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gICAgICA+XG4gID47XG5cbiAgZm9sbG93ZWRCeUNvbnNvbGU6IChcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uQ29uc29sZSc7XG4gICAgICAgIHJlcXVlc3Q6IFREYXRhO1xuICAgICAgICBjb250ZXh0OiBGdW5jdGlvbkNvbnRleHQ7XG4gICAgICAgIGNvbnNvbGU6IEZ1bmN0aW9uQ29uc29sZTtcbiAgICAgIH0pID0+IGJvb2xlYW47XG4gICAgICB0aW1vdXRNcz86IG51bWJlcjtcbiAgICB9XG4gICkgPT4gUHJvbWlzZTxcbiAgICBGdW5jdGlvbkJhc2VTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgICAgIEZ1bmN0aW9uQ29uc29sZVNweUV2ZW50PFREYXRhPixcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxURGF0YT5cbiAgICAgID5cbiAgPjtcblxuICBmb2xsb3dlZEJ5UmVzcG9uc2U6IDxURGF0YVJlc3BvbnNlID0gYW55PihcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIC8vIExlYXZlIGl0IGZvciByZWZlcmVuY2UhXG4gICAgLy8gcGFyYW06IFByZXR0aWZ5Rm9yRGlzcGxheTxcbiAgICAvLyAgIFdhaXRGb3JQYXJhbXM8XG4gICAgLy8gICAgIFByZXR0aWZ5Rm9yRGlzcGxheTxGdW5jdGlvblJlc3BvbnNlU3B5RXZlbnQ8VERhdGEsIFREYXRhUmVzcG9uc2U+PlxuICAgIC8vICAgPlxuICAgIC8vID5cbiAgICBwYXJhbT86IHtcbiAgICAgIGNvbmRpdGlvbj86IChldmVudDoge1xuICAgICAgICBzcHlFdmVudFR5cGU6ICdGdW5jdGlvblJlc3BvbnNlJztcbiAgICAgICAgcmVxdWVzdDogVERhdGE7XG4gICAgICAgIGNvbnRleHQ6IEZ1bmN0aW9uQ29udGV4dDtcbiAgICAgICAgcmVzcG9uc2U6IFREYXRhUmVzcG9uc2U7XG4gICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgdGltb3V0TXM/OiBudW1iZXI7XG4gICAgfVxuICApID0+IFByb21pc2U8XG4gICAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+LFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlIYW5kbGVyPFREYXRhPlxuICAgICAgPlxuICA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBGdW5jdGlvbkNvbnNvbGVTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25Db25zb2xlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxGdW5jdGlvbkNvbnNvbGVTcHlFdmVudDxURGF0YT4+O1xuXG4gIGZvbGxvd2VkQnlFcnJvcjogKFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgcGFyYW0/OiB7XG4gICAgICBjb25kaXRpb24/OiAoZXZlbnQ6IHtcbiAgICAgICAgc3B5RXZlbnRUeXBlOiAnRnVuY3Rpb25FcnJvcic7XG4gICAgICAgIHJlcXVlc3Q6IFREYXRhO1xuICAgICAgICBjb250ZXh0OiBGdW5jdGlvbkNvbnRleHQ7XG4gICAgICAgIGVycm9yOiBhbnk7XG4gICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgdGltb3V0TXM/OiBudW1iZXI7XG4gICAgfVxuICApID0+IFByb21pc2U8XG4gICAgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4gJlxuICAgICAgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25FcnJvclNweUV2ZW50PFREYXRhPixcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxURGF0YT5cbiAgICAgID5cbiAgPjtcblxuICBmb2xsb3dlZEJ5Q29uc29sZTogKFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgcGFyYW0/OiB7XG4gICAgICBjb25kaXRpb24/OiAoZXZlbnQ6IHtcbiAgICAgICAgc3B5RXZlbnRUeXBlOiAnRnVuY3Rpb25Db25zb2xlJztcbiAgICAgICAgcmVxdWVzdDogVERhdGE7XG4gICAgICAgIGNvbnRleHQ6IEZ1bmN0aW9uQ29udGV4dDtcbiAgICAgICAgY29uc29sZTogRnVuY3Rpb25Db25zb2xlO1xuICAgICAgfSkgPT4gYm9vbGVhbjtcbiAgICAgIHRpbW91dE1zPzogbnVtYmVyO1xuICAgIH1cbiAgKSA9PiBQcm9taXNlPFxuICAgIEZ1bmN0aW9uQmFzZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEZ1bmN0aW9uQ29uc29sZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25Db25zb2xlU3B5RXZlbnQ8VERhdGE+LFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlIYW5kbGVyPFREYXRhPlxuICAgICAgPlxuICA+O1xuXG4gIGZvbGxvd2VkQnlSZXNwb25zZTogPFREYXRhUmVzcG9uc2UgPSBhbnk+KFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgLy8gTGVhdmUgaXQgZm9yIHJlZmVyZW5jZSFcbiAgICAvLyBwYXJhbTogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgIC8vICAgV2FpdEZvclBhcmFtczxcbiAgICAvLyAgICAgUHJldHRpZnlGb3JEaXNwbGF5PEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YSwgVERhdGFSZXNwb25zZT4+XG4gICAgLy8gICA+XG4gICAgLy8gPlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uUmVzcG9uc2UnO1xuICAgICAgICByZXF1ZXN0OiBURGF0YTtcbiAgICAgICAgY29udGV4dDogRnVuY3Rpb25Db250ZXh0O1xuICAgICAgICByZXNwb25zZTogVERhdGFSZXNwb25zZTtcbiAgICAgIH0pID0+IGJvb2xlYW47XG4gICAgICB0aW1vdXRNcz86IG51bWJlcjtcbiAgICB9XG4gICkgPT4gUHJvbWlzZTxcbiAgICBGdW5jdGlvblJlc3BvbnNlU3B5SGFuZGxlcjxURGF0YT4gJlxuICAgICAgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlFdmVudDxURGF0YT4sXG4gICAgICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gICAgICA+XG4gID47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEZ1bmN0aW9uRXJyb3JTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25FcnJvclNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXNwb25zZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNTcHlIYW5kbGVyXG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFMzU3B5RXZlbnQsIFMzU3B5SGFuZGxlcj4ge1xuICBnZXREYXRhOiAoKSA9PiBTM1NweUV2ZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbnNTdWJzY3JpcHRpb25TcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBTbnNTdWJzY3JpcHRpb25TcHlFdmVudDxURGF0YT4sXG4gICAgU25zU3Vic2NyaXB0aW9uU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxTbnNTdWJzY3JpcHRpb25TcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbnNUb3BpY1NweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIFNuc1RvcGljU3B5RXZlbnQ8VERhdGE+LFxuICAgIFNuc1RvcGljU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxTbnNUb3BpY1NweUV2ZW50PFREYXRhPj47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNxc1NweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFNxc1NweUV2ZW50PFREYXRhPiwgU3FzU3B5SGFuZGxlcjxURGF0YT4+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PFNxc1NweUV2ZW50PFREYXRhPj47XG59XG4iXX0=
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3B5SGFuZGxlcnMudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saXN0ZW5lci9TcHlIYW5kbGVycy50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJldHRpZnlGb3JEaXNwbGF5IH0gZnJvbSAnLi9QcmV0dGlmeUZvckRpc3BsYXknO1xuaW1wb3J0IHsgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJy4vUmVjdXJzaXZlUGFydGlhbCc7XG5pbXBvcnQgeyBEeW5hbW9EQlNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9EeW5hbW9EQlNweUV2ZW50JztcbmltcG9ydCB7IEV2ZW50QnJpZGdlUnVsZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9FdmVudEJyaWRnZVJ1bGVTcHlFdmVudCc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9FdmVudEJyaWRnZVNweUV2ZW50JztcbmltcG9ydCB7IEZ1bmN0aW9uQ29uc29sZSB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25Db25zb2xlJztcbmltcG9ydCB7IEZ1bmN0aW9uQ29uc29sZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9GdW5jdGlvbkNvbnNvbGVTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvbkNvbnRleHQgfSBmcm9tICcuLi9jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uQ29udGV4dCc7XG5pbXBvcnQgeyBGdW5jdGlvbkVycm9yU3B5RXZlbnQgfSBmcm9tICcuLi9jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uRXJyb3JTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvblJlcXVlc3RTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQnO1xuaW1wb3J0IHsgRnVuY3Rpb25SZXNwb25zZVNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9GdW5jdGlvblJlc3BvbnNlU3B5RXZlbnQnO1xuaW1wb3J0IHsgUzNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvUzNTcHlFdmVudCc7XG5pbXBvcnQgeyBTbnNTdWJzY3JpcHRpb25TcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU25zU3Vic2NyaXB0aW9uU3B5RXZlbnQnO1xuaW1wb3J0IHsgU25zVG9waWNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU25zVG9waWNTcHlFdmVudCc7XG5pbXBvcnQgeyBTcXNTcHlFdmVudCB9IGZyb20gJy4uL2NvbW1vbi9zcHlFdmVudHMvU3FzU3B5RXZlbnQnO1xuXG50eXBlIE15SmVzdE1hdGNoZXJzID0gUmV0dXJuVHlwZTx0eXBlb2YgZXhwZWN0PjtcbnR5cGUgTXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zID0gUGljazxcbiAgTXlKZXN0TWF0Y2hlcnMsXG4gIHtcbiAgICBbUCBpbiBrZXlvZiBNeUplc3RNYXRjaGVyc106IE15SmVzdE1hdGNoZXJzW1BdIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG4gICAgICA/IFBcbiAgICAgIDogbmV2ZXI7XG4gIH1ba2V5b2YgTXlKZXN0TWF0Y2hlcnNdXG4+O1xudHlwZSBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8VFNweUV2ZW50LCBUU3B5SGFuZGxlcj4gPSBPbWl0PFxuICB7XG4gICAgLy8gdG9NYXRjaE9iamVjdDogKGV4cGVjdGVkOiBSZWN1cnNpdmVQYXJ0aWFsPFRTcHlFdmVudD4pID0+IFRTcHlIYW5kbGVyO1xuICAgIFtLIGluIGtleW9mIE15SmVzdE1hdGNoZXJzV2l0T25seUZ1bmN0aW9uc106IChcbiAgICAgIC4uLmFyZ3M6IFBhcmFtZXRlcnM8TXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zW0tdPlxuICAgICkgPT4gVFNweUhhbmRsZXI7XG4gIH0sXG4gICd0b0NvbnRhaW5FcXVhbCcgfCAndG9FcXVhbCcgfCAndG9NYXRjaE9iamVjdCcgfCAndG9TdHJpY3RFcXVhbCdcbj4gJiB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4geW91IHdhbnQgdG8gY2hlY2sgdGhhdCBhbiBpdGVtIGlzIGluIGEgbGlzdC5cbiAgICogRm9yIHRlc3RpbmcgdGhlIGl0ZW1zIGluIHRoZSBsaXN0LCB0aGlzIG1hdGNoZXIgcmVjdXJzaXZlbHkgY2hlY2tzIHRoZVxuICAgKiBlcXVhbGl0eSBvZiBhbGwgZmllbGRzLCByYXRoZXIgdGhhbiBjaGVja2luZyBmb3Igb2JqZWN0IGlkZW50aXR5LlxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYSB0eXBlIGZvciB0aGUgZXhwZWN0ZWQgdmFsdWUgdmlhIGEgZ2VuZXJpYy5cbiAgICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBlbnN1cmluZyBleHBlY3RlZCBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHN0cnVjdHVyZS5cbiAgICovXG5cbiAgdG9Db250YWluRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuICAvKipcbiAgICogVXNlZCB3aGVuIHlvdSB3YW50IHRvIGNoZWNrIHRoYXQgdHdvIG9iamVjdHMgaGF2ZSB0aGUgc2FtZSB2YWx1ZS5cbiAgICogVGhpcyBtYXRjaGVyIHJlY3Vyc2l2ZWx5IGNoZWNrcyB0aGUgZXF1YWxpdHkgb2YgYWxsIGZpZWxkcywgcmF0aGVyIHRoYW4gY2hlY2tpbmcgZm9yIG9iamVjdCBpZGVudGl0eS5cbiAgICpcbiAgICogT3B0aW9uYWxseSwgeW91IGNhbiBwcm92aWRlIGEgdHlwZSBmb3IgdGhlIGV4cGVjdGVkIHZhbHVlIHZpYSBhIGdlbmVyaWMuXG4gICAqIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgZW5zdXJpbmcgZXhwZWN0ZWQgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBzdHJ1Y3R1cmUuXG4gICAqL1xuXG4gIHRvRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGNoZWNrIHRoYXQgYSBKYXZhU2NyaXB0IG9iamVjdCBtYXRjaGVzIGEgc3Vic2V0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdFxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYW4gb2JqZWN0IHRvIHVzZSBhcyBHZW5lcmljIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1hdGNoaW5nIG9iamVjdCBtYXRjaGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHByb3ZpZGVkIG9iamVjdC1saWtlIHR5cGUuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHR5cGUgSG91c2UgPSB7XG4gICAqICAgYmF0aDogYm9vbGVhbjtcbiAgICogICBiZWRyb29tczogbnVtYmVyO1xuICAgKiAgIGtpdGNoZW46IHtcbiAgICogICAgIGFtZW5pdGllczogc3RyaW5nW107XG4gICAqICAgICBhcmVhOiBudW1iZXI7XG4gICAqICAgICB3YWxsQ29sb3I6IHN0cmluZztcbiAgICogICB9XG4gICAqIH07XG4gICAqXG4gICAqIGV4cGVjdChkZXNpcmVkSG91c2UpLnRvTWF0Y2hPYmplY3Q8SG91c2U+KHsuLi5zdGFuZGFyZEhvdXNlLCBraXRjaGVuOiB7YXJlYTogMjB9fSkgLy8gd2hlcmVpbiBzdGFuZGFyZEhvdXNlIGlzIHNvbWUgYmFzZSBvYmplY3Qgb2YgdHlwZSBIb3VzZVxuICAgKi9cblxuICB0b01hdGNoT2JqZWN0KFxuICAgIGV4cGVjdGVkOiBQcmV0dGlmeUZvckRpc3BsYXk8UmVjdXJzaXZlUGFydGlhbDxUU3B5RXZlbnQ+PlxuICApOiBUU3B5SGFuZGxlcjtcblxuICAvKipcbiAgICogVXNlIHRvIHRlc3QgdGhhdCBvYmplY3RzIGhhdmUgdGhlIHNhbWUgdHlwZXMgYXMgd2VsbCBhcyBzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIE9wdGlvbmFsbHksIHlvdSBjYW4gcHJvdmlkZSBhIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZSB2aWEgYSBnZW5lcmljLlxuICAgKiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGVuc3VyaW5nIGV4cGVjdGVkIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgc3RydWN0dXJlLlxuICAgKi9cblxuICB0b1N0cmljdEVxdWFsKGV4cGVjdGVkOiBUU3B5RXZlbnQpOiBUU3B5SGFuZGxlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBEeW5hbW9EQlNweUV2ZW50PFREYXRhPixcbiAgICBEeW5hbW9EQlNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RHluYW1vREJTcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVJ1bGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBFdmVudEJyaWRnZVJ1bGVTcHlFdmVudDxURGF0YT4sXG4gICAgRXZlbnRCcmlkZ2VSdWxlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxFdmVudEJyaWRnZVJ1bGVTcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEV2ZW50QnJpZGdlU3B5RXZlbnQ8VERhdGE+LFxuICAgIEV2ZW50QnJpZGdlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxFdmVudEJyaWRnZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YSA9IGFueT5cbiAgZXh0ZW5kcyBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+LFxuICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBmb2xsb3dlZEJ5RXJyb3I6IChcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uRXJyb3InO1xuICAgICAgICByZXF1ZXN0OiBURGF0YTtcbiAgICAgICAgY29udGV4dDogRnVuY3Rpb25Db250ZXh0O1xuICAgICAgICBlcnJvcjogYW55O1xuICAgICAgfSkgPT4gYm9vbGVhbjtcbiAgICAgIHRpbW91dE1zPzogbnVtYmVyO1xuICAgIH1cbiAgKSA9PiBQcm9taXNlPFxuICAgIEZ1bmN0aW9uQmFzZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEZ1bmN0aW9uRXJyb3JTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgICAgIEZ1bmN0aW9uRXJyb3JTcHlFdmVudDxURGF0YT4sXG4gICAgICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gICAgICA+XG4gID47XG5cbiAgZm9sbG93ZWRCeUNvbnNvbGU6IChcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uQ29uc29sZSc7XG4gICAgICAgIHJlcXVlc3Q6IFREYXRhO1xuICAgICAgICBjb250ZXh0OiBGdW5jdGlvbkNvbnRleHQ7XG4gICAgICAgIGNvbnNvbGU6IEZ1bmN0aW9uQ29uc29sZTtcbiAgICAgIH0pID0+IGJvb2xlYW47XG4gICAgICB0aW1vdXRNcz86IG51bWJlcjtcbiAgICB9XG4gICkgPT4gUHJvbWlzZTxcbiAgICBGdW5jdGlvbkJhc2VTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFREYXRhPiAmXG4gICAgICBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgICAgIEZ1bmN0aW9uQ29uc29sZVNweUV2ZW50PFREYXRhPixcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxURGF0YT5cbiAgICAgID5cbiAgPjtcblxuICBmb2xsb3dlZEJ5UmVzcG9uc2U6IDxURGF0YVJlc3BvbnNlID0gYW55PihcbiAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIGNvbmZ1c2VzIFR5cGVTY3JpcHQgd2hpY2ggZG9lcyBub3QgYWNjdXJhdGVseSBkaXNwbGF5IHRoZSB0eXBlLlxuICAgIC8vIExlYXZlIGl0IGZvciByZWZlcmVuY2UhXG4gICAgLy8gcGFyYW06IFByZXR0aWZ5Rm9yRGlzcGxheTxcbiAgICAvLyAgIFdhaXRGb3JQYXJhbXM8XG4gICAgLy8gICAgIFByZXR0aWZ5Rm9yRGlzcGxheTxGdW5jdGlvblJlc3BvbnNlU3B5RXZlbnQ8VERhdGEsIFREYXRhUmVzcG9uc2U+PlxuICAgIC8vICAgPlxuICAgIC8vID5cbiAgICBwYXJhbT86IHtcbiAgICAgIGNvbmRpdGlvbj86IChldmVudDoge1xuICAgICAgICBzcHlFdmVudFR5cGU6ICdGdW5jdGlvblJlc3BvbnNlJztcbiAgICAgICAgcmVxdWVzdDogVERhdGE7XG4gICAgICAgIGNvbnRleHQ6IEZ1bmN0aW9uQ29udGV4dDtcbiAgICAgICAgcmVzcG9uc2U6IFREYXRhUmVzcG9uc2U7XG4gICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgdGltb3V0TXM/OiBudW1iZXI7XG4gICAgfVxuICApID0+IFByb21pc2U8XG4gICAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+LFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlIYW5kbGVyPFREYXRhPlxuICAgICAgPlxuICA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBGdW5jdGlvbkNvbnNvbGVTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25Db25zb2xlU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxGdW5jdGlvbkNvbnNvbGVTcHlFdmVudDxURGF0YT4+O1xuXG4gIGZvbGxvd2VkQnlFcnJvcjogKFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgcGFyYW0/OiB7XG4gICAgICBjb25kaXRpb24/OiAoZXZlbnQ6IHtcbiAgICAgICAgc3B5RXZlbnRUeXBlOiAnRnVuY3Rpb25FcnJvcic7XG4gICAgICAgIHJlcXVlc3Q6IFREYXRhO1xuICAgICAgICBjb250ZXh0OiBGdW5jdGlvbkNvbnRleHQ7XG4gICAgICAgIGVycm9yOiBhbnk7XG4gICAgICB9KSA9PiBib29sZWFuO1xuICAgICAgdGltb3V0TXM/OiBudW1iZXI7XG4gICAgfVxuICApID0+IFByb21pc2U8XG4gICAgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4gJlxuICAgICAgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25FcnJvclNweUV2ZW50PFREYXRhPixcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxURGF0YT5cbiAgICAgID5cbiAgPjtcblxuICBmb2xsb3dlZEJ5Q29uc29sZTogKFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgcGFyYW0/OiB7XG4gICAgICBjb25kaXRpb24/OiAoZXZlbnQ6IHtcbiAgICAgICAgc3B5RXZlbnRUeXBlOiAnRnVuY3Rpb25Db25zb2xlJztcbiAgICAgICAgcmVxdWVzdDogVERhdGE7XG4gICAgICAgIGNvbnRleHQ6IEZ1bmN0aW9uQ29udGV4dDtcbiAgICAgICAgY29uc29sZTogRnVuY3Rpb25Db25zb2xlO1xuICAgICAgfSkgPT4gYm9vbGVhbjtcbiAgICAgIHRpbW91dE1zPzogbnVtYmVyO1xuICAgIH1cbiAgKSA9PiBQcm9taXNlPFxuICAgIEZ1bmN0aW9uQmFzZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEZ1bmN0aW9uQ29uc29sZVNweUhhbmRsZXI8VERhdGE+ICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25Db25zb2xlU3B5RXZlbnQ8VERhdGE+LFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlIYW5kbGVyPFREYXRhPlxuICAgICAgPlxuICA+O1xuXG4gIGZvbGxvd2VkQnlSZXNwb25zZTogPFREYXRhUmVzcG9uc2UgPSBhbnk+KFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgLy8gTGVhdmUgaXQgZm9yIHJlZmVyZW5jZSFcbiAgICAvLyBwYXJhbTogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgIC8vICAgV2FpdEZvclBhcmFtczxcbiAgICAvLyAgICAgUHJldHRpZnlGb3JEaXNwbGF5PEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YSwgVERhdGFSZXNwb25zZT4+XG4gICAgLy8gICA+XG4gICAgLy8gPlxuICAgIHBhcmFtPzoge1xuICAgICAgY29uZGl0aW9uPzogKGV2ZW50OiB7XG4gICAgICAgIHNweUV2ZW50VHlwZTogJ0Z1bmN0aW9uUmVzcG9uc2UnO1xuICAgICAgICByZXF1ZXN0OiBURGF0YTtcbiAgICAgICAgY29udGV4dDogRnVuY3Rpb25Db250ZXh0O1xuICAgICAgICByZXNwb25zZTogVERhdGFSZXNwb25zZTtcbiAgICAgIH0pID0+IGJvb2xlYW47XG4gICAgICB0aW1vdXRNcz86IG51bWJlcjtcbiAgICB9XG4gICkgPT4gUHJvbWlzZTxcbiAgICBGdW5jdGlvblJlc3BvbnNlU3B5SGFuZGxlcjxURGF0YT4gJlxuICAgICAgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlFdmVudDxURGF0YT4sXG4gICAgICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gICAgICA+XG4gID47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEZ1bmN0aW9uRXJyb3JTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25FcnJvclNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25FcnJvclNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXNwb25zZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNTcHlIYW5kbGVyXG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFMzU3B5RXZlbnQsIFMzU3B5SGFuZGxlcj4ge1xuICBnZXREYXRhOiAoKSA9PiBTM1NweUV2ZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbnNTdWJzY3JpcHRpb25TcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBTbnNTdWJzY3JpcHRpb25TcHlFdmVudDxURGF0YT4sXG4gICAgU25zU3Vic2NyaXB0aW9uU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxTbnNTdWJzY3JpcHRpb25TcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbnNUb3BpY1NweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIFNuc1RvcGljU3B5RXZlbnQ8VERhdGE+LFxuICAgIFNuc1RvcGljU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxTbnNUb3BpY1NweUV2ZW50PFREYXRhPj47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNxc1NweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFNxc1NweUV2ZW50PFREYXRhPiwgU3FzU3B5SGFuZGxlcjxURGF0YT4+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PFNxc1NweUV2ZW50PFREYXRhPj47XG59XG4iXX0=
1
+ export { };
@@ -0,0 +1,10 @@
1
+ import { SpyEvent } from "../common/spyEvents/SpyEvent.mjs";
2
+
3
+ //#region listener/WaitForParams.d.ts
4
+ interface WaitForParams<TSpyEvent extends SpyEvent = SpyEvent> {
5
+ condition?: (event: TSpyEvent) => boolean;
6
+ timoutMs?: number;
7
+ }
8
+ //#endregion
9
+ export { WaitForParams };
10
+ //# sourceMappingURL=WaitForParams.d.mts.map
@@ -1,5 +1,10 @@
1
- import { SpyEvent } from '../common/spyEvents/SpyEvent';
2
- export interface WaitForParams<TSpyEvent extends SpyEvent = SpyEvent> {
3
- condition?: (event: TSpyEvent) => boolean;
4
- timoutMs?: number;
1
+ import { SpyEvent } from "../common/spyEvents/SpyEvent.js";
2
+
3
+ //#region listener/WaitForParams.d.ts
4
+ interface WaitForParams<TSpyEvent extends SpyEvent = SpyEvent> {
5
+ condition?: (event: TSpyEvent) => boolean;
6
+ timoutMs?: number;
5
7
  }
8
+ //#endregion
9
+ export { WaitForParams };
10
+ //# sourceMappingURL=WaitForParams.d.ts.map
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2FpdEZvclBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpc3RlbmVyL1dhaXRGb3JQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9TcHlFdmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FpdEZvclBhcmFtczxUU3B5RXZlbnQgZXh0ZW5kcyBTcHlFdmVudCA9IFNweUV2ZW50PiB7XG4gIGNvbmRpdGlvbj86IChldmVudDogVFNweUV2ZW50KSA9PiBib29sZWFuO1xuICB0aW1vdXRNcz86IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2FpdEZvclBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpc3RlbmVyL1dhaXRGb3JQYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNweUV2ZW50IH0gZnJvbSAnLi4vY29tbW9uL3NweUV2ZW50cy9TcHlFdmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2FpdEZvclBhcmFtczxUU3B5RXZlbnQgZXh0ZW5kcyBTcHlFdmVudCA9IFNweUV2ZW50PiB7XG4gIGNvbmRpdGlvbj86IChldmVudDogVFNweUV2ZW50KSA9PiBib29sZWFuO1xuICB0aW1vdXRNcz86IG51bWJlcjtcbn1cbiJdfQ==
1
+ export { };
@@ -0,0 +1,27 @@
1
+ import { ServerlessSpyListener } from "./ServerlessSpyListener.mjs";
2
+ import { ServerlessSpyListenerParams } from "./ServerlessSpyListenerParams.mjs";
3
+
4
+ //#region listener/WsListener.d.ts
5
+ declare class WsListener<TSpyEvents> {
6
+ private messages;
7
+ private trackers;
8
+ private connectionOpenResolve?;
9
+ private connectionOpenReject?;
10
+ private closed;
11
+ private functionPrefix;
12
+ private debugMode;
13
+ private connection;
14
+ private fragments;
15
+ start(params: ServerlessSpyListenerParams): Promise<void>;
16
+ stop(): Promise<void>;
17
+ private trackerMatchMessage;
18
+ private resolveTrackerInOldMessages;
19
+ private resolveOldTrackerWithNewMessage;
20
+ private trackerMatchCondition;
21
+ private createWaitForXXXFunc;
22
+ createProxy(): ServerlessSpyListener<TSpyEvents>;
23
+ private log;
24
+ }
25
+ //#endregion
26
+ export { WsListener };
27
+ //# sourceMappingURL=WsListener.d.mts.map
@@ -1,22 +1,27 @@
1
- import { ServerlessSpyListener } from './ServerlessSpyListener';
2
- import { ServerlessSpyListenerParams } from './ServerlessSpyListenerParams';
3
- export declare class WsListener<TSpyEvents> {
4
- private messages;
5
- private trackers;
6
- private connectionOpenResolve?;
7
- private connectionOpenReject?;
8
- private closed;
9
- private functionPrefix;
10
- private debugMode;
11
- private connection;
12
- private fragments;
13
- start(params: ServerlessSpyListenerParams): Promise<void>;
14
- stop(): Promise<void>;
15
- private trackerMatchMessage;
16
- private resolveTrackerInOldMessages;
17
- private resolveOldTrackerWithNewMessage;
18
- private trackerMatchCondition;
19
- private createWaitForXXXFunc;
20
- createProxy(): ServerlessSpyListener<TSpyEvents>;
21
- private log;
1
+ import { ServerlessSpyListener } from "./ServerlessSpyListener.js";
2
+ import { ServerlessSpyListenerParams } from "./ServerlessSpyListenerParams.js";
3
+
4
+ //#region listener/WsListener.d.ts
5
+ declare class WsListener<TSpyEvents> {
6
+ private messages;
7
+ private trackers;
8
+ private connectionOpenResolve?;
9
+ private connectionOpenReject?;
10
+ private closed;
11
+ private functionPrefix;
12
+ private debugMode;
13
+ private connection;
14
+ private fragments;
15
+ start(params: ServerlessSpyListenerParams): Promise<void>;
16
+ stop(): Promise<void>;
17
+ private trackerMatchMessage;
18
+ private resolveTrackerInOldMessages;
19
+ private resolveOldTrackerWithNewMessage;
20
+ private trackerMatchCondition;
21
+ private createWaitForXXXFunc;
22
+ createProxy(): ServerlessSpyListener<TSpyEvents>;
23
+ private log;
22
24
  }
25
+ //#endregion
26
+ export { WsListener };
27
+ //# sourceMappingURL=WsListener.d.ts.map