@azure/event-hubs 6.0.2-alpha.20251015.1 → 6.0.2-alpha.20251023.1

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 (260) hide show
  1. package/dist/browser/batchingPartitionChannel.d.ts.map +1 -1
  2. package/dist/browser/batchingPartitionChannel.js +2 -1
  3. package/dist/browser/batchingPartitionChannel.js.map +1 -1
  4. package/dist/browser/connectionContext.d.ts.map +1 -1
  5. package/dist/browser/connectionContext.js +10 -4
  6. package/dist/browser/connectionContext.js.map +1 -1
  7. package/dist/browser/eventHubBufferedProducerClient.d.ts.map +1 -1
  8. package/dist/browser/eventHubBufferedProducerClient.js +2 -1
  9. package/dist/browser/eventHubBufferedProducerClient.js.map +1 -1
  10. package/dist/browser/eventHubConsumerClient.d.ts.map +1 -1
  11. package/dist/browser/eventHubConsumerClient.js +3 -6
  12. package/dist/browser/eventHubConsumerClient.js.map +1 -1
  13. package/dist/browser/eventHubProducerClient.d.ts.map +1 -1
  14. package/dist/browser/eventHubProducerClient.js +3 -6
  15. package/dist/browser/eventHubProducerClient.js.map +1 -1
  16. package/dist/browser/eventHubSender.d.ts.map +1 -1
  17. package/dist/browser/eventHubSender.js +6 -4
  18. package/dist/browser/eventHubSender.js.map +1 -1
  19. package/dist/browser/partitionReceiver.js +4 -4
  20. package/dist/browser/partitionReceiver.js.map +1 -1
  21. package/dist/browser/util/timerLoop.d.ts.map +1 -1
  22. package/dist/browser/util/timerLoop.js +12 -5
  23. package/dist/browser/util/timerLoop.js.map +1 -1
  24. package/dist/commonjs/batchingPartitionChannel.d.ts.map +1 -1
  25. package/dist/commonjs/batchingPartitionChannel.js +2 -1
  26. package/dist/commonjs/batchingPartitionChannel.js.map +1 -1
  27. package/dist/commonjs/connectionContext.d.ts.map +1 -1
  28. package/dist/commonjs/connectionContext.js +10 -4
  29. package/dist/commonjs/connectionContext.js.map +1 -1
  30. package/dist/commonjs/eventHubBufferedProducerClient.d.ts.map +1 -1
  31. package/dist/commonjs/eventHubBufferedProducerClient.js +2 -1
  32. package/dist/commonjs/eventHubBufferedProducerClient.js.map +1 -1
  33. package/dist/commonjs/eventHubConsumerClient.d.ts.map +1 -1
  34. package/dist/commonjs/eventHubConsumerClient.js +3 -6
  35. package/dist/commonjs/eventHubConsumerClient.js.map +1 -1
  36. package/dist/commonjs/eventHubProducerClient.d.ts.map +1 -1
  37. package/dist/commonjs/eventHubProducerClient.js +3 -6
  38. package/dist/commonjs/eventHubProducerClient.js.map +1 -1
  39. package/dist/commonjs/eventHubSender.d.ts.map +1 -1
  40. package/dist/commonjs/eventHubSender.js +6 -4
  41. package/dist/commonjs/eventHubSender.js.map +1 -1
  42. package/dist/commonjs/partitionReceiver.js +4 -4
  43. package/dist/commonjs/partitionReceiver.js.map +1 -1
  44. package/dist/commonjs/tsdoc-metadata.json +1 -1
  45. package/dist/commonjs/util/timerLoop.d.ts.map +1 -1
  46. package/dist/commonjs/util/timerLoop.js +12 -5
  47. package/dist/commonjs/util/timerLoop.js.map +1 -1
  48. package/dist/esm/batchingPartitionChannel.d.ts.map +1 -1
  49. package/dist/esm/batchingPartitionChannel.js +2 -1
  50. package/dist/esm/batchingPartitionChannel.js.map +1 -1
  51. package/dist/esm/connectionContext.d.ts.map +1 -1
  52. package/dist/esm/connectionContext.js +10 -4
  53. package/dist/esm/connectionContext.js.map +1 -1
  54. package/dist/esm/eventHubBufferedProducerClient.d.ts.map +1 -1
  55. package/dist/esm/eventHubBufferedProducerClient.js +2 -1
  56. package/dist/esm/eventHubBufferedProducerClient.js.map +1 -1
  57. package/dist/esm/eventHubConsumerClient.d.ts.map +1 -1
  58. package/dist/esm/eventHubConsumerClient.js +3 -6
  59. package/dist/esm/eventHubConsumerClient.js.map +1 -1
  60. package/dist/esm/eventHubProducerClient.d.ts.map +1 -1
  61. package/dist/esm/eventHubProducerClient.js +3 -6
  62. package/dist/esm/eventHubProducerClient.js.map +1 -1
  63. package/dist/esm/eventHubSender.d.ts.map +1 -1
  64. package/dist/esm/eventHubSender.js +6 -4
  65. package/dist/esm/eventHubSender.js.map +1 -1
  66. package/dist/esm/partitionReceiver.js +4 -4
  67. package/dist/esm/partitionReceiver.js.map +1 -1
  68. package/dist/esm/util/timerLoop.d.ts.map +1 -1
  69. package/dist/esm/util/timerLoop.js +12 -5
  70. package/dist/esm/util/timerLoop.js.map +1 -1
  71. package/dist/react-native/batchingPartitionChannel.d.ts +94 -0
  72. package/dist/react-native/batchingPartitionChannel.d.ts.map +1 -0
  73. package/dist/react-native/batchingPartitionChannel.js +255 -0
  74. package/dist/react-native/batchingPartitionChannel.js.map +1 -0
  75. package/dist/react-native/connectionContext.d.ts +108 -0
  76. package/dist/react-native/connectionContext.d.ts.map +1 -0
  77. package/dist/react-native/connectionContext.js +310 -0
  78. package/dist/react-native/connectionContext.js.map +1 -0
  79. package/dist/react-native/dataTransformer.d.ts +53 -0
  80. package/dist/react-native/dataTransformer.d.ts.map +1 -0
  81. package/dist/react-native/dataTransformer.js +133 -0
  82. package/dist/react-native/dataTransformer.js.map +1 -0
  83. package/dist/react-native/diagnostics/instrumentEventData.d.ts +28 -0
  84. package/dist/react-native/diagnostics/instrumentEventData.d.ts.map +1 -0
  85. package/dist/react-native/diagnostics/instrumentEventData.js +67 -0
  86. package/dist/react-native/diagnostics/instrumentEventData.js.map +1 -0
  87. package/dist/react-native/diagnostics/tracing.d.ts +19 -0
  88. package/dist/react-native/diagnostics/tracing.d.ts.map +1 -0
  89. package/dist/react-native/diagnostics/tracing.js +40 -0
  90. package/dist/react-native/diagnostics/tracing.js.map +1 -0
  91. package/dist/react-native/eventData.d.ts +295 -0
  92. package/dist/react-native/eventData.d.ts.map +1 -0
  93. package/dist/react-native/eventData.js +247 -0
  94. package/dist/react-native/eventData.js.map +1 -0
  95. package/dist/react-native/eventDataAdapter.d.ts +69 -0
  96. package/dist/react-native/eventDataAdapter.d.ts.map +1 -0
  97. package/dist/react-native/eventDataAdapter.js +38 -0
  98. package/dist/react-native/eventDataAdapter.js.map +1 -0
  99. package/dist/react-native/eventDataBatch.d.ts +225 -0
  100. package/dist/react-native/eventDataBatch.d.ts.map +1 -0
  101. package/dist/react-native/eventDataBatch.js +301 -0
  102. package/dist/react-native/eventDataBatch.js.map +1 -0
  103. package/dist/react-native/eventHubBufferedProducerClient.d.ts +323 -0
  104. package/dist/react-native/eventHubBufferedProducerClient.d.ts.map +1 -0
  105. package/dist/react-native/eventHubBufferedProducerClient.js +301 -0
  106. package/dist/react-native/eventHubBufferedProducerClient.js.map +1 -0
  107. package/dist/react-native/eventHubConsumerClient.d.ts +293 -0
  108. package/dist/react-native/eventHubConsumerClient.d.ts.map +1 -0
  109. package/dist/react-native/eventHubConsumerClient.js +336 -0
  110. package/dist/react-native/eventHubConsumerClient.js.map +1 -0
  111. package/dist/react-native/eventHubConsumerClientModels.d.ts +218 -0
  112. package/dist/react-native/eventHubConsumerClientModels.d.ts.map +1 -0
  113. package/dist/react-native/eventHubConsumerClientModels.js +4 -0
  114. package/dist/react-native/eventHubConsumerClientModels.js.map +1 -0
  115. package/dist/react-native/eventHubProducerClient.d.ts +299 -0
  116. package/dist/react-native/eventHubProducerClient.d.ts.map +1 -0
  117. package/dist/react-native/eventHubProducerClient.js +366 -0
  118. package/dist/react-native/eventHubProducerClient.js.map +1 -0
  119. package/dist/react-native/eventHubSender.d.ts +227 -0
  120. package/dist/react-native/eventHubSender.d.ts.map +1 -0
  121. package/dist/react-native/eventHubSender.js +626 -0
  122. package/dist/react-native/eventHubSender.js.map +1 -0
  123. package/dist/react-native/eventPosition.d.ts +73 -0
  124. package/dist/react-native/eventPosition.d.ts.map +1 -0
  125. package/dist/react-native/eventPosition.js +121 -0
  126. package/dist/react-native/eventPosition.js.map +1 -0
  127. package/dist/react-native/eventProcessor.d.ts +232 -0
  128. package/dist/react-native/eventProcessor.d.ts.map +1 -0
  129. package/dist/react-native/eventProcessor.js +389 -0
  130. package/dist/react-native/eventProcessor.js.map +1 -0
  131. package/dist/react-native/eventhubConnectionConfig.d.ts +96 -0
  132. package/dist/react-native/eventhubConnectionConfig.d.ts.map +1 -0
  133. package/dist/react-native/eventhubConnectionConfig.js +98 -0
  134. package/dist/react-native/eventhubConnectionConfig.js.map +1 -0
  135. package/dist/react-native/impl/awaitableQueue.d.ts +25 -0
  136. package/dist/react-native/impl/awaitableQueue.d.ts.map +1 -0
  137. package/dist/react-native/impl/awaitableQueue.js +51 -0
  138. package/dist/react-native/impl/awaitableQueue.js.map +1 -0
  139. package/dist/react-native/impl/partitionAssigner.d.ts +29 -0
  140. package/dist/react-native/impl/partitionAssigner.d.ts.map +1 -0
  141. package/dist/react-native/impl/partitionAssigner.js +52 -0
  142. package/dist/react-native/impl/partitionAssigner.js.map +1 -0
  143. package/dist/react-native/impl/partitionGate.d.ts +27 -0
  144. package/dist/react-native/impl/partitionGate.d.ts.map +1 -0
  145. package/dist/react-native/impl/partitionGate.js +38 -0
  146. package/dist/react-native/impl/partitionGate.js.map +1 -0
  147. package/dist/react-native/impl/partitionKeyToIdMapper.d.ts +6 -0
  148. package/dist/react-native/impl/partitionKeyToIdMapper.d.ts.map +1 -0
  149. package/dist/react-native/impl/partitionKeyToIdMapper.js +111 -0
  150. package/dist/react-native/impl/partitionKeyToIdMapper.js.map +1 -0
  151. package/dist/react-native/inMemoryCheckpointStore.d.ts +44 -0
  152. package/dist/react-native/inMemoryCheckpointStore.d.ts.map +1 -0
  153. package/dist/react-native/inMemoryCheckpointStore.js +94 -0
  154. package/dist/react-native/inMemoryCheckpointStore.js.map +1 -0
  155. package/dist/react-native/index.d.ts +21 -0
  156. package/dist/react-native/index.d.ts.map +1 -0
  157. package/dist/react-native/index.js +12 -0
  158. package/dist/react-native/index.js.map +1 -0
  159. package/dist/react-native/loadBalancerStrategies/balancedStrategy.d.ts +30 -0
  160. package/dist/react-native/loadBalancerStrategies/balancedStrategy.d.ts.map +1 -0
  161. package/dist/react-native/loadBalancerStrategies/balancedStrategy.js +40 -0
  162. package/dist/react-native/loadBalancerStrategies/balancedStrategy.js.map +1 -0
  163. package/dist/react-native/loadBalancerStrategies/greedyStrategy.d.ts +24 -0
  164. package/dist/react-native/loadBalancerStrategies/greedyStrategy.d.ts.map +1 -0
  165. package/dist/react-native/loadBalancerStrategies/greedyStrategy.js +29 -0
  166. package/dist/react-native/loadBalancerStrategies/greedyStrategy.js.map +1 -0
  167. package/dist/react-native/loadBalancerStrategies/loadBalancingStrategy.d.ts +28 -0
  168. package/dist/react-native/loadBalancerStrategies/loadBalancingStrategy.d.ts.map +1 -0
  169. package/dist/react-native/loadBalancerStrategies/loadBalancingStrategy.js +245 -0
  170. package/dist/react-native/loadBalancerStrategies/loadBalancingStrategy.js.map +1 -0
  171. package/dist/react-native/loadBalancerStrategies/unbalancedStrategy.d.ts +20 -0
  172. package/dist/react-native/loadBalancerStrategies/unbalancedStrategy.d.ts.map +1 -0
  173. package/dist/react-native/loadBalancerStrategies/unbalancedStrategy.js +22 -0
  174. package/dist/react-native/loadBalancerStrategies/unbalancedStrategy.js.map +1 -0
  175. package/dist/react-native/logger.d.ts +37 -0
  176. package/dist/react-native/logger.d.ts.map +1 -0
  177. package/dist/react-native/logger.js +56 -0
  178. package/dist/react-native/logger.js.map +1 -0
  179. package/dist/react-native/managementClient.d.ts +145 -0
  180. package/dist/react-native/managementClient.d.ts.map +1 -0
  181. package/dist/react-native/managementClient.js +305 -0
  182. package/dist/react-native/managementClient.js.map +1 -0
  183. package/dist/react-native/models/private.d.ts +185 -0
  184. package/dist/react-native/models/private.d.ts.map +1 -0
  185. package/dist/react-native/models/private.js +4 -0
  186. package/dist/react-native/models/private.js.map +1 -0
  187. package/dist/react-native/models/public.d.ts +240 -0
  188. package/dist/react-native/models/public.d.ts.map +1 -0
  189. package/dist/react-native/models/public.js +18 -0
  190. package/dist/react-native/models/public.js.map +1 -0
  191. package/dist/react-native/package.json +3 -0
  192. package/dist/react-native/partitionProcessor.d.ts +134 -0
  193. package/dist/react-native/partitionProcessor.d.ts.map +1 -0
  194. package/dist/react-native/partitionProcessor.js +137 -0
  195. package/dist/react-native/partitionProcessor.js.map +1 -0
  196. package/dist/react-native/partitionPump.d.ts +38 -0
  197. package/dist/react-native/partitionPump.d.ts.map +1 -0
  198. package/dist/react-native/partitionPump.js +175 -0
  199. package/dist/react-native/partitionPump.js.map +1 -0
  200. package/dist/react-native/partitionReceiver.d.ts +82 -0
  201. package/dist/react-native/partitionReceiver.d.ts.map +1 -0
  202. package/dist/react-native/partitionReceiver.js +335 -0
  203. package/dist/react-native/partitionReceiver.js.map +1 -0
  204. package/dist/react-native/pumpManager.d.ts +72 -0
  205. package/dist/react-native/pumpManager.d.ts.map +1 -0
  206. package/dist/react-native/pumpManager.js +120 -0
  207. package/dist/react-native/pumpManager.js.map +1 -0
  208. package/dist/react-native/util/connectionStringUtils.d.ts +52 -0
  209. package/dist/react-native/util/connectionStringUtils.d.ts.map +1 -0
  210. package/dist/react-native/util/connectionStringUtils.js +48 -0
  211. package/dist/react-native/util/connectionStringUtils.js.map +1 -0
  212. package/dist/react-native/util/constants.d.ts +25 -0
  213. package/dist/react-native/util/constants.d.ts.map +1 -0
  214. package/dist/react-native/util/constants.js +27 -0
  215. package/dist/react-native/util/constants.js.map +1 -0
  216. package/dist/react-native/util/delayWithoutThrow.d.ts +8 -0
  217. package/dist/react-native/util/delayWithoutThrow.d.ts.map +1 -0
  218. package/dist/react-native/util/delayWithoutThrow.js +17 -0
  219. package/dist/react-native/util/delayWithoutThrow.js.map +1 -0
  220. package/dist/react-native/util/error.d.ts +39 -0
  221. package/dist/react-native/util/error.d.ts.map +1 -0
  222. package/dist/react-native/util/error.js +103 -0
  223. package/dist/react-native/util/error.js.map +1 -0
  224. package/dist/react-native/util/getPromiseParts.d.ts +10 -0
  225. package/dist/react-native/util/getPromiseParts.d.ts.map +1 -0
  226. package/dist/react-native/util/getPromiseParts.js +20 -0
  227. package/dist/react-native/util/getPromiseParts.js.map +1 -0
  228. package/dist/react-native/util/operationOptions.d.ts +16 -0
  229. package/dist/react-native/util/operationOptions.d.ts.map +1 -0
  230. package/dist/react-native/util/operationOptions.js +4 -0
  231. package/dist/react-native/util/operationOptions.js.map +1 -0
  232. package/dist/react-native/util/parseEndpoint.d.ts +11 -0
  233. package/dist/react-native/util/parseEndpoint.d.ts.map +1 -0
  234. package/dist/react-native/util/parseEndpoint.js +17 -0
  235. package/dist/react-native/util/parseEndpoint.js.map +1 -0
  236. package/dist/react-native/util/retries.d.ts +6 -0
  237. package/dist/react-native/util/retries.d.ts.map +1 -0
  238. package/dist/react-native/util/retries.js +13 -0
  239. package/dist/react-native/util/retries.js.map +1 -0
  240. package/dist/react-native/util/runtimeInfo-react-native.d.mts.map +1 -0
  241. package/dist/react-native/util/runtimeInfo-react-native.mjs.map +1 -0
  242. package/dist/react-native/util/runtimeInfo.d.ts +6 -0
  243. package/dist/react-native/util/runtimeInfo.js +20 -0
  244. package/dist/react-native/util/timerLoop.d.ts +26 -0
  245. package/dist/react-native/util/timerLoop.d.ts.map +1 -0
  246. package/dist/react-native/util/timerLoop.js +34 -0
  247. package/dist/react-native/util/timerLoop.js.map +1 -0
  248. package/dist/react-native/util/typeGuards.d.ts +8 -0
  249. package/dist/react-native/util/typeGuards.d.ts.map +1 -0
  250. package/dist/react-native/util/typeGuards.js +12 -0
  251. package/dist/react-native/util/typeGuards.js.map +1 -0
  252. package/dist/react-native/util/utils.d.ts +7 -0
  253. package/dist/react-native/util/utils.d.ts.map +1 -0
  254. package/dist/react-native/util/utils.js +13 -0
  255. package/dist/react-native/util/utils.js.map +1 -0
  256. package/dist/react-native/withAuth.d.ts +25 -0
  257. package/dist/react-native/withAuth.d.ts.map +1 -0
  258. package/dist/react-native/withAuth.js +84 -0
  259. package/dist/react-native/withAuth.js.map +1 -0
  260. package/package.json +14 -9
@@ -0,0 +1,240 @@
1
+ import type { RetryOptions, WebSocketOptions } from "@azure/core-amqp";
2
+ import type { OperationOptions } from "../util/operationOptions.js";
3
+ /**
4
+ * The set of options to configure the behavior of `getEventHubProperties`.
5
+ * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.
6
+ * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.
7
+ */
8
+ export interface GetEventHubPropertiesOptions extends OperationOptions {
9
+ }
10
+ /**
11
+ * The set of options to configure the behavior of `getPartitionProperties`.
12
+ * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.
13
+ * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.
14
+ */
15
+ export interface GetPartitionPropertiesOptions extends OperationOptions {
16
+ }
17
+ /**
18
+ * The set of options to configure the behavior of `getPartitionIds`.
19
+ * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.
20
+ * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.
21
+ */
22
+ export interface GetPartitionIdsOptions extends OperationOptions {
23
+ }
24
+ /**
25
+ * Options to configure the `sendBatch` method on the `EventHubProducerClient`
26
+ * when sending an array of events.
27
+ * If `partitionId` is set, `partitionKey` must not be set and vice versa.
28
+ *
29
+ * - `partitionId` : The partition this batch will be sent to.
30
+ * - `partitionKey` : A value that is hashed to produce a partition assignment.
31
+ * - `abortSignal` : A signal used to cancel the send operation.
32
+ */
33
+ export interface SendBatchOptions extends OperationOptions {
34
+ /**
35
+ * The partition this batch will be sent to.
36
+ * If this value is set then partitionKey can not be set.
37
+ */
38
+ partitionId?: string;
39
+ /**
40
+ * A value that is hashed to produce a partition assignment.
41
+ * It guarantees that messages with the same partitionKey end up in the same partition.
42
+ * Specifying this will throw an error if the producer was created using a `partitionId`.
43
+ */
44
+ partitionKey?: string;
45
+ }
46
+ /**
47
+ * The set of options to configure the `send` operation on the `EventHubProducer`.
48
+ * - `partitionKey` : A value that is hashed to produce a partition assignment.
49
+ * - `abortSignal` : A signal used to cancel the send operation.
50
+ *
51
+ * Example usage:
52
+ * ```ts snippet:ignore
53
+ * {
54
+ * partitionKey: 'foo'
55
+ * }
56
+ * ```
57
+ *
58
+ * @internal
59
+ */
60
+ export interface SendOptions extends OperationOptions {
61
+ /**
62
+ * A value that is hashed to produce a partition assignment.
63
+ * It guarantees that messages with the same partitionKey end up in the same partition.
64
+ * Specifying this will throw an error if the producer was created using a `partitionId`.
65
+ */
66
+ partitionKey?: string;
67
+ }
68
+ /**
69
+ * An enum representing the different reasons for an `EventHubConsumerClient` to stop processing
70
+ * events from a partition in a consumer group of an Event Hub.
71
+ */
72
+ export declare enum CloseReason {
73
+ /**
74
+ * Ownership of the partition was lost or transitioned to a new processor instance.
75
+ */
76
+ OwnershipLost = "OwnershipLost",
77
+ /**
78
+ * The EventProcessor was shutdown.
79
+ */
80
+ Shutdown = "Shutdown"
81
+ }
82
+ /**
83
+ * Describes the options that can be provided while creating the EventHubClient.
84
+ * - `userAgent` : A string to append to the built in user agent string that is passed as a connection property
85
+ * to the service.
86
+ * - `webSocketOptions` : Options to configure the channelling of the AMQP connection over Web Sockets.
87
+ * - `websocket` : The WebSocket constructor used to create an AMQP connection if you choose to make the connection
88
+ * over a WebSocket.
89
+ * - `webSocketConstructorOptions` : Options to pass to the Websocket constructor when you choose to make the connection
90
+ * over a WebSocket.
91
+ * - `retryOptions` : The retry options for all the operations on the client/producer/consumer.
92
+ * - `maxRetries` : The number of times the operation can be retried in case of a retryable error.
93
+ * - `maxRetryDelayInMs`: The maximum delay between retries. Applicable only when performing exponential retries.
94
+ * - `mode`: Which retry mode to apply, specified by the `RetryMode` enum. Options are `Exponential` and `Fixed`. Defaults to `Fixed`.
95
+ * - `retryDelayInMs`: Amount of time to wait in milliseconds before making the next attempt. When `mode` is set to `Exponential`,
96
+ * this is used to compute the exponentially increasing delays between retries. Default: 30000 milliseconds.
97
+ * - `timeoutInMs`: Amount of time in milliseconds to wait before the operation times out. This will trigger a retry if there are any
98
+ * retry attempts remaining. Default value: 60000 milliseconds.
99
+ *
100
+ * A simple usage can be `{ "maxRetries": 4 }`.
101
+ *
102
+ * Example usage:
103
+ * ```ts snippet:ignore
104
+ * {
105
+ * retryOptions: {
106
+ * maxRetries: 4
107
+ * }
108
+ * }
109
+ * ```
110
+ */
111
+ export interface EventHubClientOptions {
112
+ /**
113
+ * A custom endpoint to use when connecting to the Event Hubs service.
114
+ * This can be useful when your network does not allow connecting to the
115
+ * standard Azure Event Hubs endpoint address, but does allow connecting
116
+ * through an intermediary.
117
+ *
118
+ * Example: "https://my.custom.endpoint:100/"
119
+ */
120
+ customEndpointAddress?: string;
121
+ /**
122
+ * Options to configure the retry policy for all the operations on the client.
123
+ * For example, `{ "maxRetries": 4 }` or `{ "maxRetries": 4, "retryDelayInMs": 30000 }`.
124
+ *
125
+ */
126
+ retryOptions?: RetryOptions;
127
+ /**
128
+ * Options to configure the channelling of the AMQP connection over Web Sockets.
129
+ */
130
+ webSocketOptions?: WebSocketOptions;
131
+ /**
132
+ * Value that is appended to the built in user agent string that is passed to the Event Hubs service.
133
+ */
134
+ userAgent?: string;
135
+ /**
136
+ * A unique name used to identify the client. If not provided, a GUID will be used as the identifier
137
+ */
138
+ identifier?: string;
139
+ }
140
+ /**
141
+ * Describes the options that can be provided while creating the EventHubConsumerClient.
142
+ * - `loadBalancingOptions`: Options to tune how the EventHubConsumerClient claims partitions.
143
+ * - `userAgent` : A string to append to the built in user agent string that is passed as a connection property
144
+ * to the service.
145
+ * - `webSocketOptions` : Options to configure the channelling of the AMQP connection over Web Sockets.
146
+ * - `websocket` : The WebSocket constructor used to create an AMQP connection if you choose to make the connection
147
+ * over a WebSocket.
148
+ * - `webSocketConstructorOptions` : Options to pass to the Websocket constructor when you choose to make the connection
149
+ * over a WebSocket.
150
+ * - `retryOptions` : The retry options for all the operations on the client/producer/consumer.
151
+ * - `maxRetries` : The number of times the operation can be retried in case of a retryable error.
152
+ * - `maxRetryDelayInMs`: The maximum delay between retries. Applicable only when performing exponential retries.
153
+ * - `mode`: Which retry mode to apply, specified by the `RetryMode` enum. Options are `Exponential` and `Fixed`. Defaults to `Fixed`.
154
+ * - `retryDelayInMs`: Amount of time to wait in milliseconds before making the next attempt. When `mode` is set to `Exponential`,
155
+ * this is used to compute the exponentially increasing delays between retries. Default: 30000 milliseconds.
156
+ * - `timeoutInMs`: Amount of time in milliseconds to wait before the operation times out. This will trigger a retry if there are any
157
+ * retry attempts remaining. Default value: 60000 milliseconds.
158
+ *
159
+ * A simple usage can be `{ "maxRetries": 4 }`.
160
+ *
161
+ * Example usage:
162
+ * ```ts snippet:ignore
163
+ * {
164
+ * retryOptions: {
165
+ * maxRetries: 4
166
+ * }
167
+ * }
168
+ * ```
169
+ */
170
+ export interface EventHubConsumerClientOptions extends EventHubClientOptions {
171
+ /**
172
+ * Options to tune how the EventHubConsumerClient claims partitions.
173
+ */
174
+ loadBalancingOptions?: LoadBalancingOptions;
175
+ }
176
+ /**
177
+ * An options bag to configure load balancing settings.
178
+ */
179
+ export interface LoadBalancingOptions {
180
+ /**
181
+ * Whether to apply a greedy or a more balanced approach when
182
+ * claiming partitions.
183
+ *
184
+ * - balanced: The `EventHubConsumerClient` will take a measured approach to
185
+ * requesting partition ownership when balancing work with other clients,
186
+ * slowly claiming partitions until a stabilized distribution is achieved.
187
+ *
188
+ * - greedy: The `EventHubConsumerClient` will attempt to claim ownership
189
+ * of its fair share of partitions aggressively when balancing work with
190
+ * other clients.
191
+ *
192
+ * This option is ignored when either:
193
+ * - `CheckpointStore` is __not__ provided to the `EventHubConsumerClient`.
194
+ * - `subscribe()` is called for a single partition.
195
+ * Default: balanced
196
+ */
197
+ strategy?: "balanced" | "greedy";
198
+ /**
199
+ * The length of time between attempts to claim partitions.
200
+ * Default: 10000
201
+ */
202
+ updateIntervalInMs?: number;
203
+ /**
204
+ * The length of time a partition claim is valid.
205
+ * Default: 60000
206
+ */
207
+ partitionOwnershipExpirationIntervalInMs?: number;
208
+ }
209
+ /**
210
+ * Options to configure the `createBatch` method on the `EventHubProducerClient`.
211
+ * - `partitionKey` : A value that is hashed to produce a partition assignment.
212
+ * - `maxSizeInBytes`: The upper limit for the size of batch.
213
+ * - `abortSignal` : A signal the request to cancel the send operation.
214
+ *
215
+ * Example usage:
216
+ * ```ts snippet:ignore
217
+ * {
218
+ * partitionKey: 'foo',
219
+ * maxSizeInBytes: 1024 * 1024 // 1 MB
220
+ * }
221
+ * ```
222
+ */
223
+ export interface CreateBatchOptions extends OperationOptions {
224
+ /**
225
+ * A value that is hashed to produce a partition assignment. It guarantees that messages
226
+ * with the same partitionKey end up in the same partition.
227
+ * If this value is set then partitionId can not be set.
228
+ */
229
+ partitionKey?: string;
230
+ /**
231
+ * The partition this batch will be sent to.
232
+ * If this value is set then partitionKey can not be set.
233
+ */
234
+ partitionId?: string;
235
+ /**
236
+ * The upper limit for the size of batch. The `tryAdd` function will return `false` after this limit is reached.
237
+ */
238
+ maxSizeInBytes?: number;
239
+ }
240
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/models/public.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;CAAG;AAEzE;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;CAAG;AAE1E;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;CAAG;AAEnE;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,aAAa,kBAAkB;IAC/B;;OAEG;IACH,QAAQ,aAAa;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,wCAAwC,CAAC,EAAE,MAAM,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,18 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * An enum representing the different reasons for an `EventHubConsumerClient` to stop processing
5
+ * events from a partition in a consumer group of an Event Hub.
6
+ */
7
+ export var CloseReason;
8
+ (function (CloseReason) {
9
+ /**
10
+ * Ownership of the partition was lost or transitioned to a new processor instance.
11
+ */
12
+ CloseReason["OwnershipLost"] = "OwnershipLost";
13
+ /**
14
+ * The EventProcessor was shutdown.
15
+ */
16
+ CloseReason["Shutdown"] = "Shutdown";
17
+ })(CloseReason || (CloseReason = {}));
18
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/models/public.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAwElC;;;GAGG;AACH,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB;;OAEG;IACH,8CAA+B,CAAA;IAC/B;;OAEG;IACH,oCAAqB,CAAA;AACvB,CAAC,EATW,WAAW,KAAX,WAAW,QAStB","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RetryOptions, WebSocketOptions } from \"@azure/core-amqp\";\nimport type { OperationOptions } from \"../util/operationOptions.js\";\n\n/**\n * The set of options to configure the behavior of `getEventHubProperties`.\n * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.\n */\nexport interface GetEventHubPropertiesOptions extends OperationOptions {}\n\n/**\n * The set of options to configure the behavior of `getPartitionProperties`.\n * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.\n */\nexport interface GetPartitionPropertiesOptions extends OperationOptions {}\n\n/**\n * The set of options to configure the behavior of `getPartitionIds`.\n * - `abortSignal` : An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * - `parentSpan` : The `Span` or `SpanContext` to use as the `parent` of the span created while calling this operation.\n */\nexport interface GetPartitionIdsOptions extends OperationOptions {}\n\n/**\n * Options to configure the `sendBatch` method on the `EventHubProducerClient`\n * when sending an array of events.\n * If `partitionId` is set, `partitionKey` must not be set and vice versa.\n *\n * - `partitionId` : The partition this batch will be sent to.\n * - `partitionKey` : A value that is hashed to produce a partition assignment.\n * - `abortSignal` : A signal used to cancel the send operation.\n */\nexport interface SendBatchOptions extends OperationOptions {\n /**\n * The partition this batch will be sent to.\n * If this value is set then partitionKey can not be set.\n */\n partitionId?: string;\n /**\n * A value that is hashed to produce a partition assignment.\n * It guarantees that messages with the same partitionKey end up in the same partition.\n * Specifying this will throw an error if the producer was created using a `partitionId`.\n */\n partitionKey?: string;\n}\n\n/**\n * The set of options to configure the `send` operation on the `EventHubProducer`.\n * - `partitionKey` : A value that is hashed to produce a partition assignment.\n * - `abortSignal` : A signal used to cancel the send operation.\n *\n * Example usage:\n * ```ts snippet:ignore\n * {\n * partitionKey: 'foo'\n * }\n * ```\n *\n * @internal\n */\nexport interface SendOptions extends OperationOptions {\n /**\n * A value that is hashed to produce a partition assignment.\n * It guarantees that messages with the same partitionKey end up in the same partition.\n * Specifying this will throw an error if the producer was created using a `partitionId`.\n */\n partitionKey?: string;\n}\n\n/**\n * An enum representing the different reasons for an `EventHubConsumerClient` to stop processing\n * events from a partition in a consumer group of an Event Hub.\n */\nexport enum CloseReason {\n /**\n * Ownership of the partition was lost or transitioned to a new processor instance.\n */\n OwnershipLost = \"OwnershipLost\",\n /**\n * The EventProcessor was shutdown.\n */\n Shutdown = \"Shutdown\",\n}\n\n/**\n * Describes the options that can be provided while creating the EventHubClient.\n * - `userAgent` : A string to append to the built in user agent string that is passed as a connection property\n * to the service.\n * - `webSocketOptions` : Options to configure the channelling of the AMQP connection over Web Sockets.\n * - `websocket` : The WebSocket constructor used to create an AMQP connection if you choose to make the connection\n * over a WebSocket.\n * - `webSocketConstructorOptions` : Options to pass to the Websocket constructor when you choose to make the connection\n * over a WebSocket.\n * - `retryOptions` : The retry options for all the operations on the client/producer/consumer.\n * - `maxRetries` : The number of times the operation can be retried in case of a retryable error.\n * - `maxRetryDelayInMs`: The maximum delay between retries. Applicable only when performing exponential retries.\n * - `mode`: Which retry mode to apply, specified by the `RetryMode` enum. Options are `Exponential` and `Fixed`. Defaults to `Fixed`.\n * - `retryDelayInMs`: Amount of time to wait in milliseconds before making the next attempt. When `mode` is set to `Exponential`,\n * this is used to compute the exponentially increasing delays between retries. Default: 30000 milliseconds.\n * - `timeoutInMs`: Amount of time in milliseconds to wait before the operation times out. This will trigger a retry if there are any\n * retry attempts remaining. Default value: 60000 milliseconds.\n *\n * A simple usage can be `{ \"maxRetries\": 4 }`.\n *\n * Example usage:\n * ```ts snippet:ignore\n * {\n * retryOptions: {\n * maxRetries: 4\n * }\n * }\n * ```\n */\nexport interface EventHubClientOptions {\n /**\n * A custom endpoint to use when connecting to the Event Hubs service.\n * This can be useful when your network does not allow connecting to the\n * standard Azure Event Hubs endpoint address, but does allow connecting\n * through an intermediary.\n *\n * Example: \"https://my.custom.endpoint:100/\"\n */\n customEndpointAddress?: string;\n /**\n * Options to configure the retry policy for all the operations on the client.\n * For example, `{ \"maxRetries\": 4 }` or `{ \"maxRetries\": 4, \"retryDelayInMs\": 30000 }`.\n *\n */\n retryOptions?: RetryOptions;\n /**\n * Options to configure the channelling of the AMQP connection over Web Sockets.\n */\n webSocketOptions?: WebSocketOptions;\n /**\n * Value that is appended to the built in user agent string that is passed to the Event Hubs service.\n */\n userAgent?: string;\n /**\n * A unique name used to identify the client. If not provided, a GUID will be used as the identifier\n */\n identifier?: string;\n}\n\n/**\n * Describes the options that can be provided while creating the EventHubConsumerClient.\n * - `loadBalancingOptions`: Options to tune how the EventHubConsumerClient claims partitions.\n * - `userAgent` : A string to append to the built in user agent string that is passed as a connection property\n * to the service.\n * - `webSocketOptions` : Options to configure the channelling of the AMQP connection over Web Sockets.\n * - `websocket` : The WebSocket constructor used to create an AMQP connection if you choose to make the connection\n * over a WebSocket.\n * - `webSocketConstructorOptions` : Options to pass to the Websocket constructor when you choose to make the connection\n * over a WebSocket.\n * - `retryOptions` : The retry options for all the operations on the client/producer/consumer.\n * - `maxRetries` : The number of times the operation can be retried in case of a retryable error.\n * - `maxRetryDelayInMs`: The maximum delay between retries. Applicable only when performing exponential retries.\n * - `mode`: Which retry mode to apply, specified by the `RetryMode` enum. Options are `Exponential` and `Fixed`. Defaults to `Fixed`.\n * - `retryDelayInMs`: Amount of time to wait in milliseconds before making the next attempt. When `mode` is set to `Exponential`,\n * this is used to compute the exponentially increasing delays between retries. Default: 30000 milliseconds.\n * - `timeoutInMs`: Amount of time in milliseconds to wait before the operation times out. This will trigger a retry if there are any\n * retry attempts remaining. Default value: 60000 milliseconds.\n *\n * A simple usage can be `{ \"maxRetries\": 4 }`.\n *\n * Example usage:\n * ```ts snippet:ignore\n * {\n * retryOptions: {\n * maxRetries: 4\n * }\n * }\n * ```\n */\nexport interface EventHubConsumerClientOptions extends EventHubClientOptions {\n /**\n * Options to tune how the EventHubConsumerClient claims partitions.\n */\n loadBalancingOptions?: LoadBalancingOptions;\n}\n\n/**\n * An options bag to configure load balancing settings.\n */\nexport interface LoadBalancingOptions {\n /**\n * Whether to apply a greedy or a more balanced approach when\n * claiming partitions.\n *\n * - balanced: The `EventHubConsumerClient` will take a measured approach to\n * requesting partition ownership when balancing work with other clients,\n * slowly claiming partitions until a stabilized distribution is achieved.\n *\n * - greedy: The `EventHubConsumerClient` will attempt to claim ownership\n * of its fair share of partitions aggressively when balancing work with\n * other clients.\n *\n * This option is ignored when either:\n * - `CheckpointStore` is __not__ provided to the `EventHubConsumerClient`.\n * - `subscribe()` is called for a single partition.\n * Default: balanced\n */\n strategy?: \"balanced\" | \"greedy\";\n /**\n * The length of time between attempts to claim partitions.\n * Default: 10000\n */\n updateIntervalInMs?: number;\n /**\n * The length of time a partition claim is valid.\n * Default: 60000\n */\n partitionOwnershipExpirationIntervalInMs?: number;\n}\n\n/**\n * Options to configure the `createBatch` method on the `EventHubProducerClient`.\n * - `partitionKey` : A value that is hashed to produce a partition assignment.\n * - `maxSizeInBytes`: The upper limit for the size of batch.\n * - `abortSignal` : A signal the request to cancel the send operation.\n *\n * Example usage:\n * ```ts snippet:ignore\n * {\n * partitionKey: 'foo',\n * maxSizeInBytes: 1024 * 1024 // 1 MB\n * }\n * ```\n */\nexport interface CreateBatchOptions extends OperationOptions {\n /**\n * A value that is hashed to produce a partition assignment. It guarantees that messages\n * with the same partitionKey end up in the same partition.\n * If this value is set then partitionId can not be set.\n */\n partitionKey?: string;\n /**\n * The partition this batch will be sent to.\n * If this value is set then partitionKey can not be set.\n */\n partitionId?: string;\n /**\n * The upper limit for the size of batch. The `tryAdd` function will return `false` after this limit is reached.\n */\n maxSizeInBytes?: number;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,134 @@
1
+ import type { BasicPartitionProperties, PartitionContext, SubscriptionEventHandlers } from "./eventHubConsumerClientModels.js";
2
+ import type { CheckpointStore } from "./eventProcessor.js";
3
+ import type { CloseReason } from "./models/public.js";
4
+ import type { LastEnqueuedEventProperties } from "./partitionReceiver.js";
5
+ import type { ReceivedEventData } from "./eventData.js";
6
+ /**
7
+ * A checkpoint is meant to represent the last successfully processed event by the user from a particular
8
+ * partition of a consumer group in an Event Hub instance.
9
+ *
10
+ * When the `updateCheckpoint()` method on the `PartitionProcessor` class is called by the user, a
11
+ * `Checkpoint` is created internally. It is then stored in the storage solution implemented by the
12
+ * `CheckpointManager` chosen by the user when creating an `EventProcessor`.
13
+ *
14
+ * Users are never expected to interact with `Checkpoint` directly. This interface exists to support the
15
+ * internal workings of `EventProcessor` and `CheckpointManager`.
16
+ **/
17
+ export interface Checkpoint {
18
+ /**
19
+ * The fully qualified Event Hubs namespace. This is likely to be similar to
20
+ * <yournamespace>.servicebus.windows.net
21
+ */
22
+ fullyQualifiedNamespace: string;
23
+ /**
24
+ * The event hub name
25
+ */
26
+ eventHubName: string;
27
+ /**
28
+ * The consumer group name
29
+ */
30
+ consumerGroup: string;
31
+ /**
32
+ * The identifier of the Event Hub partition
33
+ */
34
+ partitionId: string;
35
+ /**
36
+ * The sequence number of the event
37
+ */
38
+ sequenceNumber: number;
39
+ /**
40
+ * The offset of the event.
41
+ */
42
+ offset: string;
43
+ }
44
+ /**
45
+ * The `PartitionProcessor` is responsible for processing events received from Event Hubs when using `EventProcessor`
46
+ *
47
+ * The EventProcessor creates a new instance of the PartitionProcessor for each partition of the event hub it starts processing. When you extend the `PartitionProcessor` in order to customize it as you see fit,
48
+ * - Override the `processEvents()` method to add the code to process the received events. This is also a good place to update the checkpoints using the `updateCheckpoint()` method
49
+ * - Optionally override the `processError()` method to handle any error that might have occurred when processing the events.
50
+ * - Optionally override the `initialize()` method to implement any set up related tasks you would want to carry out before starting to receive events from the partition
51
+ * - Optionally override the `close()` method to implement any tear down or clean up tasks you would want to carry out.
52
+ * @internal
53
+ */
54
+ export declare class PartitionProcessor implements PartitionContext {
55
+ private _eventHandlers;
56
+ private _checkpointStore;
57
+ private _context;
58
+ private _lastEnqueuedEventProperties?;
59
+ constructor(_eventHandlers: SubscriptionEventHandlers, _checkpointStore: CheckpointStore, _context: BasicPartitionProperties & {
60
+ eventProcessorId: string;
61
+ });
62
+ /**
63
+ * Information on the last enqueued event in the partition that is being processed.
64
+ * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true
65
+ * when creating an instance of EventProcessor
66
+ * @readonly
67
+ */
68
+ get lastEnqueuedEventProperties(): LastEnqueuedEventProperties;
69
+ /**
70
+ * Information on the last enqueued event in the partition that is being processed.
71
+ * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true
72
+ * when creating an instance of EventProcessor
73
+ */
74
+ set lastEnqueuedEventProperties(properties: LastEnqueuedEventProperties);
75
+ /**
76
+ * The fully qualified namespace from where the current partition is being processed. It is set by the `EventProcessor`
77
+ * @readonly
78
+ */
79
+ get fullyQualifiedNamespace(): string;
80
+ /**
81
+ * The name of the consumer group from where the current partition is being processed. It is set by the `EventProcessor`
82
+ * @readonly
83
+ */
84
+ get consumerGroup(): string;
85
+ /**
86
+ * The name of the event hub to which the current partition belongs. It is set by the `EventProcessor`
87
+ * @readonly
88
+ */
89
+ get eventHubName(): string;
90
+ /**
91
+ * The identifier of the Event Hub partition that is being processed. It is set by the `EventProcessor`
92
+ * @readonly
93
+ */
94
+ get partitionId(): string;
95
+ /**
96
+ * The unique identifier of the `EventProcessor` that has spawned the current instance of `PartitionProcessor`. This is set by the `EventProcessor`
97
+ */
98
+ get eventProcessorId(): string;
99
+ /**
100
+ * This method is called when the `EventProcessor` takes ownership of a new partition and before any
101
+ * events are received.
102
+ */
103
+ initialize(): Promise<void>;
104
+ /**
105
+ * This method is called before the partition processor is closed by the EventProcessor.
106
+ *
107
+ * @param reason - The reason for closing this partition processor.
108
+ */
109
+ close(reason: CloseReason): Promise<void>;
110
+ /**
111
+ * This method is called when new events are received.
112
+ *
113
+ * This is also a good place to update checkpoints as appropriate.
114
+ *
115
+ * @param event - The received events to be processed.
116
+ */
117
+ processEvents(events: ReceivedEventData[]): Promise<void>;
118
+ /**
119
+ * This method is called when an error occurs while receiving events from Event Hubs.
120
+ *
121
+ * @param error - The error to be processed.
122
+ */
123
+ processError(error: Error): Promise<void>;
124
+ /**
125
+ * Updates the checkpoint using the event data.
126
+ *
127
+ * A checkpoint is meant to represent the last successfully processed event by the user from a particular
128
+ * partition of a consumer group in an Event Hub instance.
129
+ *
130
+ * @param eventData - The event that you want to update the checkpoint with.
131
+ */
132
+ updateCheckpoint(eventData: ReceivedEventData): Promise<void>;
133
+ }
134
+ //# sourceMappingURL=partitionProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionProcessor.d.ts","sourceRoot":"","sources":["../../src/partitionProcessor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD;;;;;;;;;;IAUI;AACJ,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAIvD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ;IALlB,OAAO,CAAC,4BAA4B,CAAC,CAA8B;gBAGzD,cAAc,EAAE,yBAAyB,EACzC,gBAAgB,EAAE,eAAe,EACjC,QAAQ,EAAE,wBAAwB,GAAG;QAC3C,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAGH;;;;;OAKG;IACH,IAAW,2BAA2B,IAAI,2BAA2B,CAEpE;IAED;;;;OAIG;IACH,IAAW,2BAA2B,CAAC,UAAU,EAAE,2BAA2B,EAE7E;IAED;;;OAGG;IACH,IAAW,uBAAuB,IAAI,MAAM,CAE3C;IAED;;;OAGG;IACH,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C;;;;;;;OAOG;IACU,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAY3E"}
@@ -0,0 +1,137 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { logger } from "./logger.js";
4
+ /**
5
+ * The `PartitionProcessor` is responsible for processing events received from Event Hubs when using `EventProcessor`
6
+ *
7
+ * The EventProcessor creates a new instance of the PartitionProcessor for each partition of the event hub it starts processing. When you extend the `PartitionProcessor` in order to customize it as you see fit,
8
+ * - Override the `processEvents()` method to add the code to process the received events. This is also a good place to update the checkpoints using the `updateCheckpoint()` method
9
+ * - Optionally override the `processError()` method to handle any error that might have occurred when processing the events.
10
+ * - Optionally override the `initialize()` method to implement any set up related tasks you would want to carry out before starting to receive events from the partition
11
+ * - Optionally override the `close()` method to implement any tear down or clean up tasks you would want to carry out.
12
+ * @internal
13
+ */
14
+ export class PartitionProcessor {
15
+ _eventHandlers;
16
+ _checkpointStore;
17
+ _context;
18
+ _lastEnqueuedEventProperties;
19
+ constructor(_eventHandlers, _checkpointStore, _context) {
20
+ this._eventHandlers = _eventHandlers;
21
+ this._checkpointStore = _checkpointStore;
22
+ this._context = _context;
23
+ }
24
+ /**
25
+ * Information on the last enqueued event in the partition that is being processed.
26
+ * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true
27
+ * when creating an instance of EventProcessor
28
+ * @readonly
29
+ */
30
+ get lastEnqueuedEventProperties() {
31
+ return this._lastEnqueuedEventProperties;
32
+ }
33
+ /**
34
+ * Information on the last enqueued event in the partition that is being processed.
35
+ * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true
36
+ * when creating an instance of EventProcessor
37
+ */
38
+ set lastEnqueuedEventProperties(properties) {
39
+ this._lastEnqueuedEventProperties = properties;
40
+ }
41
+ /**
42
+ * The fully qualified namespace from where the current partition is being processed. It is set by the `EventProcessor`
43
+ * @readonly
44
+ */
45
+ get fullyQualifiedNamespace() {
46
+ return this._context.fullyQualifiedNamespace;
47
+ }
48
+ /**
49
+ * The name of the consumer group from where the current partition is being processed. It is set by the `EventProcessor`
50
+ * @readonly
51
+ */
52
+ get consumerGroup() {
53
+ return this._context.consumerGroup;
54
+ }
55
+ /**
56
+ * The name of the event hub to which the current partition belongs. It is set by the `EventProcessor`
57
+ * @readonly
58
+ */
59
+ get eventHubName() {
60
+ return this._context.eventHubName;
61
+ }
62
+ /**
63
+ * The identifier of the Event Hub partition that is being processed. It is set by the `EventProcessor`
64
+ * @readonly
65
+ */
66
+ get partitionId() {
67
+ return this._context.partitionId;
68
+ }
69
+ /**
70
+ * The unique identifier of the `EventProcessor` that has spawned the current instance of `PartitionProcessor`. This is set by the `EventProcessor`
71
+ */
72
+ get eventProcessorId() {
73
+ return this._context.eventProcessorId;
74
+ }
75
+ /**
76
+ * This method is called when the `EventProcessor` takes ownership of a new partition and before any
77
+ * events are received.
78
+ */
79
+ async initialize() {
80
+ return this._eventHandlers.processInitialize?.(this);
81
+ }
82
+ /**
83
+ * This method is called before the partition processor is closed by the EventProcessor.
84
+ *
85
+ * @param reason - The reason for closing this partition processor.
86
+ */
87
+ async close(reason) {
88
+ if (this._eventHandlers.processClose) {
89
+ await this._eventHandlers.processClose(reason, this);
90
+ }
91
+ }
92
+ /**
93
+ * This method is called when new events are received.
94
+ *
95
+ * This is also a good place to update checkpoints as appropriate.
96
+ *
97
+ * @param event - The received events to be processed.
98
+ */
99
+ async processEvents(events) {
100
+ await this._eventHandlers.processEvents(events, this);
101
+ }
102
+ /**
103
+ * This method is called when an error occurs while receiving events from Event Hubs.
104
+ *
105
+ * @param error - The error to be processed.
106
+ */
107
+ async processError(error) {
108
+ if (this._eventHandlers.processError) {
109
+ try {
110
+ await this._eventHandlers.processError(error, this);
111
+ }
112
+ catch (err) {
113
+ logger.verbose(`Error thrown from user's processError handler : ${err}`);
114
+ }
115
+ }
116
+ }
117
+ /**
118
+ * Updates the checkpoint using the event data.
119
+ *
120
+ * A checkpoint is meant to represent the last successfully processed event by the user from a particular
121
+ * partition of a consumer group in an Event Hub instance.
122
+ *
123
+ * @param eventData - The event that you want to update the checkpoint with.
124
+ */
125
+ async updateCheckpoint(eventData) {
126
+ const checkpoint = {
127
+ fullyQualifiedNamespace: this._context.fullyQualifiedNamespace,
128
+ eventHubName: this._context.eventHubName,
129
+ consumerGroup: this._context.consumerGroup,
130
+ partitionId: this._context.partitionId,
131
+ sequenceNumber: eventData.sequenceNumber,
132
+ offset: eventData.offset,
133
+ };
134
+ await this._checkpointStore.updateCheckpoint(checkpoint);
135
+ }
136
+ }
137
+ //# sourceMappingURL=partitionProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionProcessor.js","sourceRoot":"","sources":["../../src/partitionProcessor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAWlC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAyCrC;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAkB;IAInB;IACA;IACA;IALF,4BAA4B,CAA+B;IAEnE,YACU,cAAyC,EACzC,gBAAiC,EACjC,QAEP;QAJO,mBAAc,GAAd,cAAc,CAA2B;QACzC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,aAAQ,GAAR,QAAQ,CAEf;IACA,CAAC;IAEJ;;;;;OAKG;IACH,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,4BAA6B,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,IAAW,2BAA2B,CAAC,UAAuC;QAC5E,IAAI,CAAC,4BAA4B,GAAG,UAAU,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,IAAW,uBAAuB;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAc,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAY;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,OAAO,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,gBAAgB,CAAC,SAA4B;QACxD,MAAM,UAAU,GAAe;YAC7B,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,uBAAuB;YAC9D,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;YACxC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,MAAM,EAAE,SAAS,CAAC,MAAM;SACzB,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n BasicPartitionProperties,\n PartitionContext,\n SubscriptionEventHandlers,\n} from \"./eventHubConsumerClientModels.js\";\nimport type { CheckpointStore } from \"./eventProcessor.js\";\nimport type { CloseReason } from \"./models/public.js\";\nimport type { LastEnqueuedEventProperties } from \"./partitionReceiver.js\";\nimport type { ReceivedEventData } from \"./eventData.js\";\nimport { logger } from \"./logger.js\";\n\n/**\n * A checkpoint is meant to represent the last successfully processed event by the user from a particular\n * partition of a consumer group in an Event Hub instance.\n *\n * When the `updateCheckpoint()` method on the `PartitionProcessor` class is called by the user, a\n * `Checkpoint` is created internally. It is then stored in the storage solution implemented by the\n * `CheckpointManager` chosen by the user when creating an `EventProcessor`.\n *\n * Users are never expected to interact with `Checkpoint` directly. This interface exists to support the\n * internal workings of `EventProcessor` and `CheckpointManager`.\n **/\nexport interface Checkpoint {\n /**\n * The fully qualified Event Hubs namespace. This is likely to be similar to\n * <yournamespace>.servicebus.windows.net\n */\n fullyQualifiedNamespace: string;\n /**\n * The event hub name\n */\n eventHubName: string;\n /**\n * The consumer group name\n */\n consumerGroup: string;\n /**\n * The identifier of the Event Hub partition\n */\n partitionId: string;\n /**\n * The sequence number of the event\n */\n sequenceNumber: number;\n /**\n * The offset of the event.\n */\n offset: string;\n}\n\n/**\n * The `PartitionProcessor` is responsible for processing events received from Event Hubs when using `EventProcessor`\n *\n * The EventProcessor creates a new instance of the PartitionProcessor for each partition of the event hub it starts processing. When you extend the `PartitionProcessor` in order to customize it as you see fit,\n * - Override the `processEvents()` method to add the code to process the received events. This is also a good place to update the checkpoints using the `updateCheckpoint()` method\n * - Optionally override the `processError()` method to handle any error that might have occurred when processing the events.\n * - Optionally override the `initialize()` method to implement any set up related tasks you would want to carry out before starting to receive events from the partition\n * - Optionally override the `close()` method to implement any tear down or clean up tasks you would want to carry out.\n * @internal\n */\nexport class PartitionProcessor implements PartitionContext {\n private _lastEnqueuedEventProperties?: LastEnqueuedEventProperties;\n\n constructor(\n private _eventHandlers: SubscriptionEventHandlers,\n private _checkpointStore: CheckpointStore,\n private _context: BasicPartitionProperties & {\n eventProcessorId: string;\n },\n ) {}\n\n /**\n * Information on the last enqueued event in the partition that is being processed.\n * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true\n * when creating an instance of EventProcessor\n * @readonly\n */\n public get lastEnqueuedEventProperties(): LastEnqueuedEventProperties {\n return this._lastEnqueuedEventProperties!;\n }\n\n /**\n * Information on the last enqueued event in the partition that is being processed.\n * This property is updated by the `EventProcessor` if the `trackLastEnqueuedEventProperties` option is set to true\n * when creating an instance of EventProcessor\n */\n public set lastEnqueuedEventProperties(properties: LastEnqueuedEventProperties) {\n this._lastEnqueuedEventProperties = properties;\n }\n\n /**\n * The fully qualified namespace from where the current partition is being processed. It is set by the `EventProcessor`\n * @readonly\n */\n public get fullyQualifiedNamespace(): string {\n return this._context.fullyQualifiedNamespace;\n }\n\n /**\n * The name of the consumer group from where the current partition is being processed. It is set by the `EventProcessor`\n * @readonly\n */\n public get consumerGroup(): string {\n return this._context.consumerGroup!;\n }\n\n /**\n * The name of the event hub to which the current partition belongs. It is set by the `EventProcessor`\n * @readonly\n */\n public get eventHubName(): string {\n return this._context.eventHubName;\n }\n\n /**\n * The identifier of the Event Hub partition that is being processed. It is set by the `EventProcessor`\n * @readonly\n */\n public get partitionId(): string {\n return this._context.partitionId;\n }\n\n /**\n * The unique identifier of the `EventProcessor` that has spawned the current instance of `PartitionProcessor`. This is set by the `EventProcessor`\n */\n public get eventProcessorId(): string {\n return this._context.eventProcessorId;\n }\n\n /**\n * This method is called when the `EventProcessor` takes ownership of a new partition and before any\n * events are received.\n */\n async initialize(): Promise<void> {\n return this._eventHandlers.processInitialize?.(this);\n }\n\n /**\n * This method is called before the partition processor is closed by the EventProcessor.\n *\n * @param reason - The reason for closing this partition processor.\n */\n async close(reason: CloseReason): Promise<void> {\n if (this._eventHandlers.processClose) {\n await this._eventHandlers.processClose(reason, this);\n }\n }\n\n /**\n * This method is called when new events are received.\n *\n * This is also a good place to update checkpoints as appropriate.\n *\n * @param event - The received events to be processed.\n */\n async processEvents(events: ReceivedEventData[]): Promise<void> {\n await this._eventHandlers.processEvents(events, this);\n }\n\n /**\n * This method is called when an error occurs while receiving events from Event Hubs.\n *\n * @param error - The error to be processed.\n */\n async processError(error: Error): Promise<void> {\n if (this._eventHandlers.processError) {\n try {\n await this._eventHandlers.processError(error, this);\n } catch (err: any) {\n logger.verbose(`Error thrown from user's processError handler : ${err}`);\n }\n }\n }\n\n /**\n * Updates the checkpoint using the event data.\n *\n * A checkpoint is meant to represent the last successfully processed event by the user from a particular\n * partition of a consumer group in an Event Hub instance.\n *\n * @param eventData - The event that you want to update the checkpoint with.\n */\n public async updateCheckpoint(eventData: ReceivedEventData): Promise<void> {\n const checkpoint: Checkpoint = {\n fullyQualifiedNamespace: this._context.fullyQualifiedNamespace,\n eventHubName: this._context.eventHubName,\n consumerGroup: this._context.consumerGroup,\n partitionId: this._context.partitionId,\n sequenceNumber: eventData.sequenceNumber,\n offset: eventData.offset,\n };\n\n await this._checkpointStore!.updateCheckpoint(checkpoint);\n }\n}\n"]}
@@ -0,0 +1,38 @@
1
+ import type { TracingSpanOptions } from "@azure/core-tracing";
2
+ import { CloseReason } from "./models/public.js";
3
+ import type { CommonEventProcessorOptions } from "./models/private.js";
4
+ import type { ConnectionContext } from "./connectionContext.js";
5
+ import type { EventHubConnectionConfig } from "./eventhubConnectionConfig.js";
6
+ import type { EventPosition } from "./eventPosition.js";
7
+ import type { PartitionProcessor } from "./partitionProcessor.js";
8
+ import type { ReceivedEventData } from "./eventData.js";
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare class PartitionPump {
13
+ private _context;
14
+ private readonly _startPosition;
15
+ private _partitionProcessor;
16
+ private _processorOptions;
17
+ private _receiver;
18
+ private _isReceiving;
19
+ private _isStopped;
20
+ private _abortController;
21
+ constructor(_context: ConnectionContext, partitionProcessor: PartitionProcessor, _startPosition: EventPosition, options: CommonEventProcessorOptions);
22
+ get isReceiving(): boolean;
23
+ start(): Promise<void>;
24
+ /**
25
+ * Creates a new `PartitionReceiver` and replaces any existing receiver.
26
+ * @param partitionId - The partition the receiver should read messages from.
27
+ * @param lastSeenSequenceNumber - The sequence number to begin receiving messages from (exclusive).
28
+ * If `-1`, then the PartitionPump's startPosition will be used instead.
29
+ */
30
+ private _setOrReplaceReceiver;
31
+ private _receiveEvents;
32
+ stop(reason: CloseReason): Promise<void>;
33
+ }
34
+ /**
35
+ * @internal
36
+ */
37
+ export declare function toProcessingSpanOptions(receivedEvents: ReceivedEventData[], eventHubProperties: Pick<EventHubConnectionConfig, "entityPath" | "host">): TracingSpanOptions;
38
+ //# sourceMappingURL=partitionPump.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partitionPump.d.ts","sourceRoot":"","sources":["../../src/partitionPump.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;GAEG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,QAAQ;IAEhB,OAAO,CAAC,QAAQ,CAAC,cAAc;IATjC,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,gBAAgB,CAAkB;gBAEhC,QAAQ,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,kBAAkB,EACrB,cAAc,EAAE,aAAa,EAC9C,OAAO,EAAE,2BAA2B;IAOtC,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;YAmCf,cAAc;IAiFtB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,iBAAiB,EAAE,EACnC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,GAAG,MAAM,CAAC,GACxE,kBAAkB,CAkBpB"}