@kurrent/kurrentdb-client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/README.md +201 -0
  2. package/dist/Client/ServerFeatures.d.ts +17 -0
  3. package/dist/Client/ServerFeatures.js +56 -0
  4. package/dist/Client/ServerFeatures.js.map +1 -0
  5. package/dist/Client/discovery.d.ts +15 -0
  6. package/dist/Client/discovery.js +135 -0
  7. package/dist/Client/discovery.js.map +1 -0
  8. package/dist/Client/http.d.ts +19 -0
  9. package/dist/Client/http.js +97 -0
  10. package/dist/Client/http.js.map +1 -0
  11. package/dist/Client/index.d.ts +119 -0
  12. package/dist/Client/index.js +390 -0
  13. package/dist/Client/index.js.map +1 -0
  14. package/dist/Client/parseConnectionString.d.ts +23 -0
  15. package/dist/Client/parseConnectionString.js +238 -0
  16. package/dist/Client/parseConnectionString.js.map +1 -0
  17. package/dist/constants.d.ts +58 -0
  18. package/dist/constants.js +75 -0
  19. package/dist/constants.js.map +1 -0
  20. package/dist/events/binaryEvent.d.ts +16 -0
  21. package/dist/events/binaryEvent.js +14 -0
  22. package/dist/events/binaryEvent.js.map +1 -0
  23. package/dist/events/convertMetadata.d.ts +1 -0
  24. package/dist/events/convertMetadata.js +11 -0
  25. package/dist/events/convertMetadata.js.map +1 -0
  26. package/dist/events/index.d.ts +2 -0
  27. package/dist/events/index.js +19 -0
  28. package/dist/events/index.js.map +1 -0
  29. package/dist/events/jsonEvent.d.ts +8 -0
  30. package/dist/events/jsonEvent.js +14 -0
  31. package/dist/events/jsonEvent.js.map +1 -0
  32. package/dist/index.d.ts +13 -0
  33. package/dist/index.js +32 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/persistentSubscription/createPersistentSubscriptionToAll.d.ts +23 -0
  36. package/dist/persistentSubscription/createPersistentSubscriptionToAll.js +90 -0
  37. package/dist/persistentSubscription/createPersistentSubscriptionToAll.js.map +1 -0
  38. package/dist/persistentSubscription/createPersistentSubscriptionToStream.d.ts +17 -0
  39. package/dist/persistentSubscription/createPersistentSubscriptionToStream.js +49 -0
  40. package/dist/persistentSubscription/createPersistentSubscriptionToStream.js.map +1 -0
  41. package/dist/persistentSubscription/deletePersistentSubscriptionToAll.d.ts +13 -0
  42. package/dist/persistentSubscription/deletePersistentSubscriptionToAll.js +30 -0
  43. package/dist/persistentSubscription/deletePersistentSubscriptionToAll.js.map +1 -0
  44. package/dist/persistentSubscription/deletePersistentSubscriptionToStream.d.ts +13 -0
  45. package/dist/persistentSubscription/deletePersistentSubscriptionToStream.js +28 -0
  46. package/dist/persistentSubscription/deletePersistentSubscriptionToStream.js.map +1 -0
  47. package/dist/persistentSubscription/getPersistentSubscriptionToAllInfo.d.ts +13 -0
  48. package/dist/persistentSubscription/getPersistentSubscriptionToAllInfo.js +31 -0
  49. package/dist/persistentSubscription/getPersistentSubscriptionToAllInfo.js.map +1 -0
  50. package/dist/persistentSubscription/getPersistentSubscriptionToStreamInfo.d.ts +14 -0
  51. package/dist/persistentSubscription/getPersistentSubscriptionToStreamInfo.js +49 -0
  52. package/dist/persistentSubscription/getPersistentSubscriptionToStreamInfo.js.map +1 -0
  53. package/dist/persistentSubscription/index.d.ts +16 -0
  54. package/dist/persistentSubscription/index.js +33 -0
  55. package/dist/persistentSubscription/index.js.map +1 -0
  56. package/dist/persistentSubscription/listAllPersistentSubscriptions.d.ts +13 -0
  57. package/dist/persistentSubscription/listAllPersistentSubscriptions.js +42 -0
  58. package/dist/persistentSubscription/listAllPersistentSubscriptions.js.map +1 -0
  59. package/dist/persistentSubscription/listPersistentSubscriptionsToAll.d.ts +13 -0
  60. package/dist/persistentSubscription/listPersistentSubscriptionsToAll.js +33 -0
  61. package/dist/persistentSubscription/listPersistentSubscriptionsToAll.js.map +1 -0
  62. package/dist/persistentSubscription/listPersistentSubscriptionsToStream.d.ts +14 -0
  63. package/dist/persistentSubscription/listPersistentSubscriptionsToStream.js +51 -0
  64. package/dist/persistentSubscription/listPersistentSubscriptionsToStream.js.map +1 -0
  65. package/dist/persistentSubscription/replayParkedMessagesToAll.d.ts +18 -0
  66. package/dist/persistentSubscription/replayParkedMessagesToAll.js +36 -0
  67. package/dist/persistentSubscription/replayParkedMessagesToAll.js.map +1 -0
  68. package/dist/persistentSubscription/replayParkedMessagesToStream.d.ts +19 -0
  69. package/dist/persistentSubscription/replayParkedMessagesToStream.js +57 -0
  70. package/dist/persistentSubscription/replayParkedMessagesToStream.js.map +1 -0
  71. package/dist/persistentSubscription/restartPersistentSubscriptionSubsystem.d.ts +11 -0
  72. package/dist/persistentSubscription/restartPersistentSubscriptionSubsystem.js +30 -0
  73. package/dist/persistentSubscription/restartPersistentSubscriptionSubsystem.js.map +1 -0
  74. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToAll.d.ts +20 -0
  75. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToAll.js +38 -0
  76. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToAll.js.map +1 -0
  77. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToStream.d.ts +20 -0
  78. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToStream.js +37 -0
  79. package/dist/persistentSubscription/subscribeToPersistentSubscriptionToStream.js.map +1 -0
  80. package/dist/persistentSubscription/updatePersistentSubscriptionToAll.d.ts +15 -0
  81. package/dist/persistentSubscription/updatePersistentSubscriptionToAll.js +53 -0
  82. package/dist/persistentSubscription/updatePersistentSubscriptionToAll.js.map +1 -0
  83. package/dist/persistentSubscription/updatePersistentSubscriptionToStream.d.ts +15 -0
  84. package/dist/persistentSubscription/updatePersistentSubscriptionToStream.js +49 -0
  85. package/dist/persistentSubscription/updatePersistentSubscriptionToStream.js.map +1 -0
  86. package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.d.ts +18 -0
  87. package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.js +112 -0
  88. package/dist/persistentSubscription/utils/PersistentSubscriptionImpl.js.map +1 -0
  89. package/dist/persistentSubscription/utils/mapPersistentSubscriptionInfo.d.ts +146 -0
  90. package/dist/persistentSubscription/utils/mapPersistentSubscriptionInfo.js +204 -0
  91. package/dist/persistentSubscription/utils/mapPersistentSubscriptionInfo.js.map +1 -0
  92. package/dist/persistentSubscription/utils/persistentSubscriptionSettings.d.ts +90 -0
  93. package/dist/persistentSubscription/utils/persistentSubscriptionSettings.js +39 -0
  94. package/dist/persistentSubscription/utils/persistentSubscriptionSettings.js.map +1 -0
  95. package/dist/persistentSubscription/utils/settingsToGRPC.d.ts +5 -0
  96. package/dist/persistentSubscription/utils/settingsToGRPC.js +49 -0
  97. package/dist/persistentSubscription/utils/settingsToGRPC.js.map +1 -0
  98. package/dist/projections/createProjection.d.ts +24 -0
  99. package/dist/projections/createProjection.js +48 -0
  100. package/dist/projections/createProjection.js.map +1 -0
  101. package/dist/projections/deleteProjection.d.ts +28 -0
  102. package/dist/projections/deleteProjection.js +33 -0
  103. package/dist/projections/deleteProjection.js.map +1 -0
  104. package/dist/projections/disableProjection.d.ts +19 -0
  105. package/dist/projections/disableProjection.js +34 -0
  106. package/dist/projections/disableProjection.js.map +1 -0
  107. package/dist/projections/enableProjection.d.ts +12 -0
  108. package/dist/projections/enableProjection.js +25 -0
  109. package/dist/projections/enableProjection.js.map +1 -0
  110. package/dist/projections/getProjectionResult.d.ts +17 -0
  111. package/dist/projections/getProjectionResult.js +29 -0
  112. package/dist/projections/getProjectionResult.js.map +1 -0
  113. package/dist/projections/getProjectionState.d.ts +17 -0
  114. package/dist/projections/getProjectionState.js +29 -0
  115. package/dist/projections/getProjectionState.js.map +1 -0
  116. package/dist/projections/getProjectionStatus.d.ts +12 -0
  117. package/dist/projections/getProjectionStatus.js +36 -0
  118. package/dist/projections/getProjectionStatus.js.map +1 -0
  119. package/dist/projections/index.d.ts +11 -0
  120. package/dist/projections/index.js +28 -0
  121. package/dist/projections/index.js.map +1 -0
  122. package/dist/projections/listProjections.d.ts +12 -0
  123. package/dist/projections/listProjections.js +36 -0
  124. package/dist/projections/listProjections.js.map +1 -0
  125. package/dist/projections/resetProjection.d.ts +13 -0
  126. package/dist/projections/resetProjection.js +25 -0
  127. package/dist/projections/resetProjection.js.map +1 -0
  128. package/dist/projections/restartSubsystem.d.ts +11 -0
  129. package/dist/projections/restartSubsystem.js +21 -0
  130. package/dist/projections/restartSubsystem.js.map +1 -0
  131. package/dist/projections/updateProjection.d.ts +20 -0
  132. package/dist/projections/updateProjection.js +34 -0
  133. package/dist/projections/updateProjection.js.map +1 -0
  134. package/dist/projections/utils/mapGrpcProjectionDetails.d.ts +3 -0
  135. package/dist/projections/utils/mapGrpcProjectionDetails.js +31 -0
  136. package/dist/projections/utils/mapGrpcProjectionDetails.js.map +1 -0
  137. package/dist/streams/appendToStream/append.d.ts +5 -0
  138. package/dist/streams/appendToStream/append.js +131 -0
  139. package/dist/streams/appendToStream/append.js.map +1 -0
  140. package/dist/streams/appendToStream/batchAppend.d.ts +5 -0
  141. package/dist/streams/appendToStream/batchAppend.js +145 -0
  142. package/dist/streams/appendToStream/batchAppend.js.map +1 -0
  143. package/dist/streams/appendToStream/index.d.ts +24 -0
  144. package/dist/streams/appendToStream/index.js +24 -0
  145. package/dist/streams/appendToStream/index.js.map +1 -0
  146. package/dist/streams/appendToStream/unpackError.d.ts +5 -0
  147. package/dist/streams/appendToStream/unpackError.js +54 -0
  148. package/dist/streams/appendToStream/unpackError.js.map +1 -0
  149. package/dist/streams/deleteStream.d.ts +18 -0
  150. package/dist/streams/deleteStream.js +51 -0
  151. package/dist/streams/deleteStream.js.map +1 -0
  152. package/dist/streams/getStreamMetadata.d.ts +27 -0
  153. package/dist/streams/getStreamMetadata.js +40 -0
  154. package/dist/streams/getStreamMetadata.js.map +1 -0
  155. package/dist/streams/index.d.ts +9 -0
  156. package/dist/streams/index.js +27 -0
  157. package/dist/streams/index.js.map +1 -0
  158. package/dist/streams/readAll.d.ts +39 -0
  159. package/dist/streams/readAll.js +38 -0
  160. package/dist/streams/readAll.js.map +1 -0
  161. package/dist/streams/readStream.d.ts +35 -0
  162. package/dist/streams/readStream.js +58 -0
  163. package/dist/streams/readStream.js.map +1 -0
  164. package/dist/streams/setStreamMetadata.d.ts +20 -0
  165. package/dist/streams/setStreamMetadata.js +20 -0
  166. package/dist/streams/setStreamMetadata.js.map +1 -0
  167. package/dist/streams/subscribeToAll.d.ts +30 -0
  168. package/dist/streams/subscribeToAll.js +89 -0
  169. package/dist/streams/subscribeToAll.js.map +1 -0
  170. package/dist/streams/subscribeToStream.d.ts +27 -0
  171. package/dist/streams/subscribeToStream.js +52 -0
  172. package/dist/streams/subscribeToStream.js.map +1 -0
  173. package/dist/streams/tombstoneStream.d.ts +18 -0
  174. package/dist/streams/tombstoneStream.js +51 -0
  175. package/dist/streams/tombstoneStream.js.map +1 -0
  176. package/dist/streams/utils/ReadStream.d.ts +14 -0
  177. package/dist/streams/utils/ReadStream.js +61 -0
  178. package/dist/streams/utils/ReadStream.js.map +1 -0
  179. package/dist/streams/utils/Subscription.d.ts +16 -0
  180. package/dist/streams/utils/Subscription.js +71 -0
  181. package/dist/streams/utils/Subscription.js.map +1 -0
  182. package/dist/streams/utils/streamMetadata.d.ts +53 -0
  183. package/dist/streams/utils/streamMetadata.js +77 -0
  184. package/dist/streams/utils/streamMetadata.js.map +1 -0
  185. package/dist/streams/utils/systemStreams.d.ts +20 -0
  186. package/dist/streams/utils/systemStreams.js +28 -0
  187. package/dist/streams/utils/systemStreams.js.map +1 -0
  188. package/dist/types/events.d.ts +157 -0
  189. package/dist/types/events.js +3 -0
  190. package/dist/types/events.js.map +1 -0
  191. package/dist/types/index.d.ts +348 -0
  192. package/dist/types/index.js +22 -0
  193. package/dist/types/index.js.map +1 -0
  194. package/dist/utils/CommandError.d.ts +174 -0
  195. package/dist/utils/CommandError.js +403 -0
  196. package/dist/utils/CommandError.js.map +1 -0
  197. package/dist/utils/backpressuredWrite.d.ts +2 -0
  198. package/dist/utils/backpressuredWrite.js +50 -0
  199. package/dist/utils/backpressuredWrite.js.map +1 -0
  200. package/dist/utils/convertBridgeError.d.ts +1 -0
  201. package/dist/utils/convertBridgeError.js +41 -0
  202. package/dist/utils/convertBridgeError.js.map +1 -0
  203. package/dist/utils/convertGrpcEvent.d.ts +10 -0
  204. package/dist/utils/convertGrpcEvent.js +135 -0
  205. package/dist/utils/convertGrpcEvent.js.map +1 -0
  206. package/dist/utils/convertRustEvent.d.ts +4 -0
  207. package/dist/utils/convertRustEvent.js +85 -0
  208. package/dist/utils/convertRustEvent.js.map +1 -0
  209. package/dist/utils/debug.d.ts +7 -0
  210. package/dist/utils/debug.js +30 -0
  211. package/dist/utils/debug.js.map +1 -0
  212. package/dist/utils/filter.d.ts +44 -0
  213. package/dist/utils/filter.js +29 -0
  214. package/dist/utils/filter.js.map +1 -0
  215. package/dist/utils/grpcStreamIdentifier.d.ts +2 -0
  216. package/dist/utils/grpcStreamIdentifier.js +11 -0
  217. package/dist/utils/grpcStreamIdentifier.js.map +1 -0
  218. package/dist/utils/grpcUUID.d.ts +4 -0
  219. package/dist/utils/grpcUUID.js +29 -0
  220. package/dist/utils/grpcUUID.js.map +1 -0
  221. package/dist/utils/index.d.ts +9 -0
  222. package/dist/utils/index.js +26 -0
  223. package/dist/utils/index.js.map +1 -0
  224. package/dist/utils/isClientCancellationError.d.ts +1 -0
  225. package/dist/utils/isClientCancellationError.js +13 -0
  226. package/dist/utils/isClientCancellationError.js.map +1 -0
  227. package/dist/utils/utilityTypes.d.ts +2 -0
  228. package/dist/utils/utilityTypes.js +3 -0
  229. package/dist/utils/utilityTypes.js.map +1 -0
  230. package/generated/cluster_grpc_pb.d.ts +211 -0
  231. package/generated/cluster_grpc_pb.js +247 -0
  232. package/generated/cluster_pb.d.ts +546 -0
  233. package/generated/cluster_pb.js +4357 -0
  234. package/generated/code_grpc_pb.js +1 -0
  235. package/generated/code_pb.d.ts +27 -0
  236. package/generated/code_pb.js +48 -0
  237. package/generated/gossip_grpc_pb.d.ts +42 -0
  238. package/generated/gossip_grpc_pb.js +45 -0
  239. package/generated/gossip_pb.d.ts +111 -0
  240. package/generated/gossip_pb.js +727 -0
  241. package/generated/monitoring_grpc_pb.d.ts +39 -0
  242. package/generated/monitoring_grpc_pb.js +44 -0
  243. package/generated/monitoring_pb.d.ts +52 -0
  244. package/generated/monitoring_pb.js +361 -0
  245. package/generated/operations_grpc_pb.d.ts +144 -0
  246. package/generated/operations_grpc_pb.js +144 -0
  247. package/generated/operations_pb.d.ts +151 -0
  248. package/generated/operations_pb.js +1050 -0
  249. package/generated/persistent_grpc_pb.d.ts +160 -0
  250. package/generated/persistent_grpc_pb.js +265 -0
  251. package/generated/persistent_pb.d.ts +1702 -0
  252. package/generated/persistent_pb.js +12340 -0
  253. package/generated/projections_grpc_pb.d.ts +194 -0
  254. package/generated/projections_grpc_pb.js +332 -0
  255. package/generated/projections_pb.d.ts +821 -0
  256. package/generated/projections_pb.js +6065 -0
  257. package/generated/serverfeatures_grpc_pb.d.ts +42 -0
  258. package/generated/serverfeatures_grpc_pb.js +45 -0
  259. package/generated/serverfeatures_pb.d.ts +61 -0
  260. package/generated/serverfeatures_pb.js +476 -0
  261. package/generated/shared_grpc_pb.js +1 -0
  262. package/generated/shared_pb.d.ts +335 -0
  263. package/generated/shared_pb.js +2374 -0
  264. package/generated/status_grpc_pb.js +1 -0
  265. package/generated/status_pb.d.ts +38 -0
  266. package/generated/status_pb.js +261 -0
  267. package/generated/streams_grpc_pb.d.ts +112 -0
  268. package/generated/streams_grpc_pb.js +180 -0
  269. package/generated/streams_pb.d.ts +1660 -0
  270. package/generated/streams_pb.js +11556 -0
  271. package/generated/users_grpc_pb.d.ts +158 -0
  272. package/generated/users_grpc_pb.js +275 -0
  273. package/generated/users_pb.d.ts +601 -0
  274. package/generated/users_pb.js +4451 -0
  275. package/package.json +64 -0
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PersistentSubscriptionImpl = void 0;
4
+ const stream_1 = require("stream");
5
+ const persistent_pb_1 = require("../../../generated/persistent_pb");
6
+ const utils_1 = require("../../utils");
7
+ class PersistentSubscriptionImpl extends stream_1.Transform {
8
+ #grpcStream;
9
+ convertGrpcEvent;
10
+ id;
11
+ constructor(createGRPCStream, convertGrpcEvent, options) {
12
+ super({ ...options, objectMode: true });
13
+ this.#grpcStream = createGRPCStream();
14
+ this.convertGrpcEvent = convertGrpcEvent;
15
+ this.initialize();
16
+ }
17
+ initialize = async () => {
18
+ try {
19
+ (await this.#grpcStream)
20
+ .on("error", (err) => {
21
+ if ((0, utils_1.isClientCancellationError)(err))
22
+ return;
23
+ const error = (0, utils_1.convertToCommandError)(err);
24
+ this.emit("error", error);
25
+ })
26
+ .pipe(this);
27
+ }
28
+ catch (error) {
29
+ this.emit("error", error);
30
+ }
31
+ };
32
+ _transform(resp, _encoding, next) {
33
+ if (resp.hasSubscriptionConfirmation()) {
34
+ this.id = resp.getSubscriptionConfirmation()?.getSubscriptionId();
35
+ this.emit("confirmation");
36
+ }
37
+ if (resp.hasEvent()) {
38
+ const resolved = this.convertGrpcEvent(resp.getEvent());
39
+ next(null, resolved);
40
+ return;
41
+ }
42
+ next();
43
+ }
44
+ async ack(...events) {
45
+ try {
46
+ const req = new persistent_pb_1.ReadReq();
47
+ const ack = new persistent_pb_1.ReadReq.Ack();
48
+ for (const event of events) {
49
+ const id = event.link?.id ?? event.event?.id;
50
+ // A resolved event will always have either link or event (or both), so this should to be unreachable
51
+ if (!id)
52
+ throw new Error("Attempted to ack an event with no id");
53
+ const uuid = (0, utils_1.createUUID)(id);
54
+ ack.addIds(uuid);
55
+ }
56
+ req.setAck(ack);
57
+ const stream = await this.#grpcStream;
58
+ await (0, utils_1.backpressuredWrite)(stream, req);
59
+ }
60
+ catch (error) {
61
+ throw (0, utils_1.convertToCommandError)(error);
62
+ }
63
+ }
64
+ async nack(action, reason, ...events) {
65
+ try {
66
+ const req = new persistent_pb_1.ReadReq();
67
+ const nack = new persistent_pb_1.ReadReq.Nack();
68
+ switch (action) {
69
+ case "park":
70
+ nack.setAction(persistent_pb_1.ReadReq.Nack.Action.PARK);
71
+ break;
72
+ case "retry":
73
+ nack.setAction(persistent_pb_1.ReadReq.Nack.Action.RETRY);
74
+ break;
75
+ case "skip":
76
+ nack.setAction(persistent_pb_1.ReadReq.Nack.Action.SKIP);
77
+ break;
78
+ case "stop":
79
+ nack.setAction(persistent_pb_1.ReadReq.Nack.Action.STOP);
80
+ break;
81
+ }
82
+ for (const event of events) {
83
+ const id = event.link?.id ?? event.event?.id;
84
+ // A resolved event will always have either link or event (or both), so this should to be unreachable
85
+ if (!id)
86
+ throw new Error("Attempted to ack an event with no id");
87
+ const uuid = (0, utils_1.createUUID)(id);
88
+ nack.addIds(uuid);
89
+ }
90
+ nack.setReason(reason);
91
+ req.setNack(nack);
92
+ const stream = await this.#grpcStream;
93
+ await (0, utils_1.backpressuredWrite)(stream, req);
94
+ }
95
+ catch (error) {
96
+ throw (0, utils_1.convertToCommandError)(error);
97
+ }
98
+ }
99
+ async unsubscribe() {
100
+ const stream = await this.#grpcStream;
101
+ return new Promise((resolve) => {
102
+ // https://github.com/grpc/grpc-node/issues/1464
103
+ // https://github.com/grpc/grpc-node/issues/1652
104
+ setImmediate(() => {
105
+ stream.cancel();
106
+ resolve();
107
+ });
108
+ });
109
+ }
110
+ }
111
+ exports.PersistentSubscriptionImpl = PersistentSubscriptionImpl;
112
+ //# sourceMappingURL=PersistentSubscriptionImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistentSubscriptionImpl.js","sourceRoot":"","sources":["../../../src/persistentSubscription/utils/PersistentSubscriptionImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ import type { SubscriptionInfo } from "../../../generated/persistent_pb";
2
+ import type { Position } from "../../types";
3
+ import type { PersistentSubscriptionToStreamSettings, PersistentSubscriptionToAllSettings } from "./persistentSubscriptionSettings";
4
+ export type ExtraStatisticsKey = "mean" | "median" | "fastest" | "quintile 1" | "quintile 2" | "quintile 3" | "quintile 4" | "quintile 5" | "90%" | "95%" | "99%" | "99.5%" | "99.9%" | "highest";
5
+ export interface PersistentSubscriptionConnectionInfo {
6
+ /** Origin of this connection. */
7
+ from: string;
8
+ /** Connection username. */
9
+ username: string;
10
+ /** The name of the connection. */
11
+ connectionName: string;
12
+ /** Average events per second on this connection. */
13
+ averageItemsPerSecond: number;
14
+ /** Total items on this connection. */
15
+ totalItems: bigint;
16
+ /** Number of items seen since last measurement on this connection (used as the basis for `averageItemsPerSecond`). */
17
+ countSinceLastMeasurement: bigint;
18
+ /** Number of available slots. */
19
+ availableSlots: number;
20
+ /** Number of in flight messages on this connection. */
21
+ inFlightMessages: number;
22
+ /** Timing measurements for the connection. Can be enabled with the `extraStatistics` setting. */
23
+ extraStatistics?: Map<ExtraStatisticsKey, bigint>;
24
+ }
25
+ interface PersistentSubscriptionStatsBase {
26
+ /** Average number of events per second. */
27
+ averagePerSecond: number;
28
+ /** Total number of events processed by subscription. */
29
+ totalItems: bigint;
30
+ /** Number of events seen since last measurement on this connection (used as the basis for `averagePerSecond`). */
31
+ countSinceLastMeasurement: bigint;
32
+ /** Current in flight messages across all connections. */
33
+ totalInFlightMessages: number;
34
+ /** Number of events in the read buffer. */
35
+ readBufferCount: number;
36
+ /** Number of events in the live buffer. */
37
+ liveBufferCount: bigint;
38
+ /** Number of events in the retry buffer. */
39
+ retryBufferCount: number;
40
+ /** The current number of parked messages. */
41
+ parkedMessageCount: bigint;
42
+ /** Current number of outstanding messages. */
43
+ outstandingMessagesCount: number;
44
+ }
45
+ export interface PersistentSubscriptionToStreamStats extends PersistentSubscriptionStatsBase {
46
+ /** The revision of the last checkpoint. */
47
+ lastCheckpointedEventRevision?: bigint;
48
+ /** The revision of the last known event. */
49
+ lastKnownEventRevision?: bigint;
50
+ }
51
+ export interface PersistentSubscriptionToAllStats extends PersistentSubscriptionStatsBase {
52
+ /** The position of the last checkpoint. */
53
+ lastCheckpointedEventPosition?: Position;
54
+ /** The position of the last known event. */
55
+ lastKnownEventPosition?: Position;
56
+ }
57
+ export interface PersistentSubscriptionToStreamInfo {
58
+ /** The source of events for the subscription. */
59
+ eventSource: string;
60
+ /** The group name given on creation. */
61
+ groupName: string;
62
+ /** The current status of the subscription. */
63
+ status: string;
64
+ /** The settings used to create the persistent subscription. */
65
+ settings: PersistentSubscriptionToStreamSettings;
66
+ /** The settings used to create the persistent subscription. */
67
+ stats: PersistentSubscriptionToStreamStats;
68
+ /** Active connections to the subscription. */
69
+ connections: PersistentSubscriptionConnectionInfo[];
70
+ }
71
+ export interface PersistentSubscriptionToAllInfo {
72
+ /** The source of events for the subscription. */
73
+ eventSource: "$all";
74
+ /** The group name given on creation. */
75
+ groupName: string;
76
+ /** The current status of the subscription. */
77
+ status: string;
78
+ /** The settings used to create the persistent subscription. */
79
+ settings: PersistentSubscriptionToAllSettings;
80
+ /** The settings used to create the persistent subscription. */
81
+ stats: PersistentSubscriptionToAllStats;
82
+ /** Active connections to the subscription. */
83
+ connections: PersistentSubscriptionConnectionInfo[];
84
+ }
85
+ export type PersistentSubscriptionToEitherInfo = PersistentSubscriptionToStreamInfo | PersistentSubscriptionToAllInfo;
86
+ export declare const isPersistentSubscriptionToAllInfo: (info: PersistentSubscriptionToEitherInfo) => info is PersistentSubscriptionToAllInfo;
87
+ export declare const isPersistentSubscriptionToStreamInfo: (info: PersistentSubscriptionToEitherInfo) => info is PersistentSubscriptionToStreamInfo;
88
+ export declare const mapPersistentSubscriptionToEitherInfo: (response: SubscriptionInfo) => PersistentSubscriptionToEitherInfo;
89
+ export declare const mapPersistentSubscriptionToStreamInfo: (response: SubscriptionInfo) => PersistentSubscriptionToStreamInfo;
90
+ export declare const mapPersistentSubscriptionToAllInfo: (response: SubscriptionInfo) => PersistentSubscriptionToAllInfo;
91
+ export interface HTTPSubscriptionInfo {
92
+ links: Array<{
93
+ href: string;
94
+ rel: string;
95
+ }>;
96
+ config: HTTPConfig;
97
+ eventStreamId: string;
98
+ groupName: string;
99
+ status: string;
100
+ averageItemsPerSecond: number;
101
+ parkedMessageUri: string;
102
+ parkedMessageCount?: number;
103
+ getMessagesUri: string;
104
+ totalItemsProcessed: number;
105
+ countSinceLastMeasurement: number;
106
+ lastProcessedEventNumber: number;
107
+ lastKnownEventNumber: number;
108
+ readBufferCount: number;
109
+ liveBufferCount: number;
110
+ retryBufferCount: number;
111
+ totalInFlightMessages: number;
112
+ outstandingMessagesCount: number;
113
+ connections: HTTPConnectionInfo[];
114
+ }
115
+ interface HTTPConfig {
116
+ resolveLinktos: boolean;
117
+ startFrom: number;
118
+ messageTimeoutMilliseconds: number;
119
+ extraStatistics: boolean;
120
+ maxRetryCount: number;
121
+ liveBufferSize: number;
122
+ bufferSize: number;
123
+ readBatchSize: number;
124
+ preferRoundRobin: boolean;
125
+ checkPointAfterMilliseconds: number;
126
+ minCheckPointCount: number;
127
+ maxCheckPointCount: number;
128
+ maxSubscriberCount: number;
129
+ namedConsumerStrategy: string;
130
+ }
131
+ interface HTTPConnectionInfo {
132
+ from: string;
133
+ username: string;
134
+ averageItemsPerSecond: number;
135
+ totalItemsProcessed: number;
136
+ countSinceLastMeasurement: number;
137
+ extraStatistics: Array<{
138
+ key: string;
139
+ value: number;
140
+ }>;
141
+ availableSlots: number;
142
+ inFlightMessages: number;
143
+ connectionName: string;
144
+ }
145
+ export declare const mapHTTPPersistentSubscriptionInfo: (response: HTTPSubscriptionInfo) => PersistentSubscriptionToStreamInfo;
146
+ export {};
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapHTTPPersistentSubscriptionInfo = exports.mapPersistentSubscriptionToAllInfo = exports.mapPersistentSubscriptionToStreamInfo = exports.mapPersistentSubscriptionToEitherInfo = exports.isPersistentSubscriptionToStreamInfo = exports.isPersistentSubscriptionToAllInfo = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const isPersistentSubscriptionToAllInfo = (info) => info.eventSource === "$all";
6
+ exports.isPersistentSubscriptionToAllInfo = isPersistentSubscriptionToAllInfo;
7
+ const isPersistentSubscriptionToStreamInfo = (info) => info.eventSource !== "$all";
8
+ exports.isPersistentSubscriptionToStreamInfo = isPersistentSubscriptionToStreamInfo;
9
+ const mapPersistentSubscriptionToEitherInfo = (response) => {
10
+ if (response.getEventSource() === "$all") {
11
+ return (0, exports.mapPersistentSubscriptionToAllInfo)(response);
12
+ }
13
+ return (0, exports.mapPersistentSubscriptionToStreamInfo)(response);
14
+ };
15
+ exports.mapPersistentSubscriptionToEitherInfo = mapPersistentSubscriptionToEitherInfo;
16
+ const mapPersistentSubscriptionToStreamInfo = (response) => ({
17
+ eventSource: response.getEventSource(),
18
+ groupName: response.getGroupName(),
19
+ status: response.getStatus(),
20
+ settings: mapSettings(response),
21
+ connections: response.getConnectionsList().map(mapConnection),
22
+ stats: mapStats(response),
23
+ });
24
+ exports.mapPersistentSubscriptionToStreamInfo = mapPersistentSubscriptionToStreamInfo;
25
+ const mapPersistentSubscriptionToAllInfo = (response) => ({
26
+ eventSource: response.getEventSource(),
27
+ groupName: response.getGroupName(),
28
+ status: response.getStatus(),
29
+ settings: mapToAllSettings(response),
30
+ connections: response.getConnectionsList().map(mapConnection),
31
+ stats: mapToAllStats(response),
32
+ });
33
+ exports.mapPersistentSubscriptionToAllInfo = mapPersistentSubscriptionToAllInfo;
34
+ const stringToRevision = (str) => {
35
+ if (!str.length)
36
+ return undefined;
37
+ return BigInt(str);
38
+ };
39
+ const stringToStartFromRevision = (startFrom) => {
40
+ switch (startFrom) {
41
+ case "0":
42
+ return constants_1.START;
43
+ case "-1":
44
+ return constants_1.END;
45
+ default:
46
+ return stringToRevision(startFrom);
47
+ }
48
+ };
49
+ const positionRegex = /^C:(?<commit>[0-9]*)\/P:(?<prepare>[0-9]*)$/;
50
+ const stringToPosition = (str) => {
51
+ if (!str.length)
52
+ return undefined;
53
+ const match = str.match(positionRegex);
54
+ if (!match || !match.groups)
55
+ return undefined;
56
+ return {
57
+ commit: BigInt(match.groups.commit),
58
+ prepare: BigInt(match.groups.prepare),
59
+ };
60
+ };
61
+ const stringToStartFromPostition = (startFrom) => {
62
+ switch (startFrom) {
63
+ case "C:0/P:0":
64
+ return constants_1.START;
65
+ case "C:-1/P:-1":
66
+ return constants_1.END;
67
+ default:
68
+ return stringToPosition(startFrom);
69
+ }
70
+ };
71
+ const mapMaxSubscriberCount = (count) => {
72
+ if (count === 0)
73
+ return constants_1.UNBOUNDED;
74
+ return count;
75
+ };
76
+ const mapSettingBase = (response) => ({
77
+ resolveLinkTos: response.getResolveLinkTos(),
78
+ extraStatistics: response.getExtraStatistics(),
79
+ messageTimeout: response.getMessageTimeoutMilliseconds(),
80
+ maxRetryCount: response.getMaxRetryCount(),
81
+ checkPointAfter: response.getCheckPointAfterMilliseconds(),
82
+ checkPointLowerBound: response.getMinCheckPointCount(),
83
+ checkPointUpperBound: response.getMaxCheckPointCount(),
84
+ maxSubscriberCount: mapMaxSubscriberCount(response.getMaxSubscriberCount()),
85
+ liveBufferSize: response.getLiveBufferSize(),
86
+ readBatchSize: response.getReadBatchSize(),
87
+ historyBufferSize: response.getBufferSize(),
88
+ consumerStrategyName: response.getNamedConsumerStrategy(),
89
+ });
90
+ const mapSettings = (response) => ({
91
+ ...mapSettingBase(response),
92
+ startFrom: stringToStartFromRevision(response.getStartFrom()),
93
+ });
94
+ const mapToAllSettings = (response) => ({
95
+ ...mapSettingBase(response),
96
+ startFrom: stringToStartFromPostition(response.getStartFrom()),
97
+ });
98
+ const mapConnection = (connection) => ({
99
+ from: connection.getFrom(),
100
+ username: connection.getUsername(),
101
+ averageItemsPerSecond: connection.getAverageItemsPerSecond(),
102
+ totalItems: BigInt(connection.getTotalItems()),
103
+ countSinceLastMeasurement: BigInt(connection.getCountSinceLastMeasurement()),
104
+ extraStatistics: connection
105
+ .getObservedMeasurementsList()
106
+ .reduce((acc, observedMeasurement) => {
107
+ if (acc == null)
108
+ acc = new Map();
109
+ acc.set(observedMeasurement.getKey().toLowerCase(), BigInt(observedMeasurement.getValue()));
110
+ return acc;
111
+ }, undefined),
112
+ availableSlots: connection.getAvailableSlots(),
113
+ inFlightMessages: connection.getInFlightMessages(),
114
+ connectionName: connection.getConnectionName(),
115
+ });
116
+ const mapStatsBase = (response) => ({
117
+ averagePerSecond: response.getAveragePerSecond(),
118
+ totalItems: BigInt(response.getTotalItems()),
119
+ countSinceLastMeasurement: BigInt(response.getCountSinceLastMeasurement()),
120
+ readBufferCount: response.getReadBufferCount(),
121
+ liveBufferCount: BigInt(response.getLiveBufferCount()),
122
+ retryBufferCount: response.getRetryBufferCount(),
123
+ totalInFlightMessages: response.getTotalInFlightMessages(),
124
+ outstandingMessagesCount: response.getOutstandingMessagesCount(),
125
+ parkedMessageCount: BigInt(response.getParkedMessageCount()),
126
+ });
127
+ const mapStats = (response) => ({
128
+ ...mapStatsBase(response),
129
+ lastCheckpointedEventRevision: stringToRevision(response.getLastCheckpointedEventPosition()),
130
+ lastKnownEventRevision: stringToRevision(response.getLastKnownEventPosition()),
131
+ });
132
+ const mapToAllStats = (response) => ({
133
+ ...mapStatsBase(response),
134
+ lastCheckpointedEventPosition: stringToPosition(response.getLastCheckpointedEventPosition()),
135
+ lastKnownEventPosition: stringToPosition(response.getLastKnownEventPosition()),
136
+ });
137
+ const mapHTTPPersistentSubscriptionInfo = (response) => ({
138
+ eventSource: response.eventStreamId,
139
+ groupName: response.groupName,
140
+ status: response.status,
141
+ settings: mapHTTPSettings(response),
142
+ connections: response.connections.map(mapHTTPConnection),
143
+ stats: mapHTTPStats(response),
144
+ });
145
+ exports.mapHTTPPersistentSubscriptionInfo = mapHTTPPersistentSubscriptionInfo;
146
+ const mapHTTPSettings = (response) => ({
147
+ startFrom: mapHTTPStartFrom(response.config.startFrom),
148
+ resolveLinkTos: response.config.resolveLinktos,
149
+ extraStatistics: response.config.extraStatistics,
150
+ messageTimeout: response.config.messageTimeoutMilliseconds,
151
+ maxRetryCount: response.config.maxRetryCount,
152
+ checkPointAfter: response.config.checkPointAfterMilliseconds,
153
+ checkPointLowerBound: response.config.minCheckPointCount,
154
+ checkPointUpperBound: response.config.maxCheckPointCount,
155
+ maxSubscriberCount: mapMaxSubscriberCount(response.config.maxSubscriberCount),
156
+ liveBufferSize: response.config.liveBufferSize,
157
+ readBatchSize: response.config.readBatchSize,
158
+ historyBufferSize: response.config.bufferSize,
159
+ consumerStrategyName: response.config.namedConsumerStrategy,
160
+ });
161
+ const mapHTTPStartFrom = (startFrom) => {
162
+ switch (startFrom) {
163
+ case 0:
164
+ return constants_1.START;
165
+ case -1:
166
+ return constants_1.END;
167
+ default:
168
+ return BigInt(startFrom);
169
+ }
170
+ };
171
+ const mapHTTPStats = (response) => ({
172
+ averagePerSecond: response.averageItemsPerSecond,
173
+ totalItems: BigInt(response.totalItemsProcessed),
174
+ countSinceLastMeasurement: BigInt(response.countSinceLastMeasurement),
175
+ readBufferCount: response.readBufferCount,
176
+ liveBufferCount: BigInt(response.liveBufferCount),
177
+ retryBufferCount: response.retryBufferCount,
178
+ totalInFlightMessages: response.totalInFlightMessages,
179
+ outstandingMessagesCount: response.outstandingMessagesCount,
180
+ parkedMessageCount: BigInt(response.parkedMessageCount ?? 0),
181
+ lastCheckpointedEventRevision: response.lastProcessedEventNumber < 0
182
+ ? undefined
183
+ : BigInt(response.lastProcessedEventNumber),
184
+ lastKnownEventRevision: response.lastKnownEventNumber < 0
185
+ ? undefined
186
+ : BigInt(response.lastKnownEventNumber),
187
+ });
188
+ const mapHTTPConnection = (connection) => ({
189
+ from: connection.from,
190
+ username: connection.username,
191
+ connectionName: connection.connectionName,
192
+ averageItemsPerSecond: connection.averageItemsPerSecond,
193
+ totalItems: BigInt(connection.totalItemsProcessed),
194
+ countSinceLastMeasurement: BigInt(connection.countSinceLastMeasurement),
195
+ availableSlots: connection.availableSlots,
196
+ inFlightMessages: connection.inFlightMessages,
197
+ extraStatistics: connection.extraStatistics.reduce((acc, { key, value }) => {
198
+ if (acc == null)
199
+ acc = new Map();
200
+ acc.set(key.toLowerCase(), BigInt(value));
201
+ return acc;
202
+ }, undefined),
203
+ });
204
+ //# sourceMappingURL=mapPersistentSubscriptionInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapPersistentSubscriptionInfo.js","sourceRoot":"","sources":["../../../src/persistentSubscription/utils/mapPersistentSubscriptionInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { END, START, UNBOUNDED } from "../../constants";
2
+ import type { ConsumerStrategy, Position } from "../../types";
3
+ export interface PersistentSubscriptionSettingsGeneric {
4
+ /**
5
+ * The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
6
+ * contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
7
+ * resolution feature, the server will also return the event targeted by the link.
8
+ * @defaultValue false
9
+ */
10
+ resolveLinkTos: boolean;
11
+ /**
12
+ * Enable tracking of in depth latency statistics on this subscription.
13
+ * @defaultValue false
14
+ */
15
+ extraStatistics: boolean;
16
+ /**
17
+ * The amount of time in milliseconds after which a message should be considered to be timeout and retried.
18
+ * @defaultValue 30_000
19
+ */
20
+ messageTimeout: number;
21
+ /**
22
+ * The maximum number of retries (due to timeout) before a message gets considered to be parked.
23
+ * @defaultValue 10
24
+ */
25
+ maxRetryCount: number;
26
+ /**
27
+ * The amount of time to try checkpoint after in milliseconds.
28
+ * @defaultValue 2_000
29
+ */
30
+ checkPointAfter: number;
31
+ /**
32
+ * The minimum number of messages to process before a checkpoint may be written.
33
+ * @defaultValue 10
34
+ */
35
+ checkPointLowerBound: number;
36
+ /**
37
+ * The maximum number of messages not checkpointed before forcing a checkpoint.
38
+ * @defaultValue 1_000
39
+ */
40
+ checkPointUpperBound: number;
41
+ /**
42
+ * The maximum number of subscribers allowed.
43
+ * @defaultValue UNLIMITED
44
+ */
45
+ maxSubscriberCount: typeof UNBOUNDED | number;
46
+ /**
47
+ * The size of the buffer listening to live messages as they happen.
48
+ * @defaultValue 500
49
+ */
50
+ liveBufferSize: number;
51
+ /**
52
+ * The number of events read at a time when paging in history.
53
+ * @defaultValue 20
54
+ */
55
+ readBatchSize: number;
56
+ /**
57
+ * The number of events to cache when paging through history.
58
+ * @defaultValue 500
59
+ */
60
+ historyBufferSize: number;
61
+ /**
62
+ * The strategy to use for distributing events to client consumers.
63
+ * @defaultValue ROUND_ROBIN
64
+ */
65
+ consumerStrategyName: ConsumerStrategy | string;
66
+ }
67
+ export interface PersistentSubscriptionToStreamSettings extends PersistentSubscriptionSettingsGeneric {
68
+ /**
69
+ * Where to start the subscription from. This can be from the start of the stream, from the end of the stream at the time of creation, or from an inclusive position in the stream.
70
+ * @defaultValue END
71
+ */
72
+ startFrom: typeof START | typeof END | bigint;
73
+ }
74
+ export interface PersistentSubscriptionToAllSettings extends PersistentSubscriptionSettingsGeneric {
75
+ /**
76
+ * Where to start the subscription from. This can be from the start of the stream, from the end of the stream at the time of creation, or from an inclusive position in the stream.
77
+ * @defaultValue END
78
+ */
79
+ startFrom: typeof START | typeof END | Position;
80
+ }
81
+ /**
82
+ * Creates {@link PersistentSubscriptionToStreamSettings} from default settings.
83
+ * @param changes - Changes to apply to the default settings.
84
+ */
85
+ export declare const persistentSubscriptionToStreamSettingsFromDefaults: (changes?: Partial<PersistentSubscriptionToStreamSettings>) => PersistentSubscriptionToStreamSettings;
86
+ /**
87
+ * Creates {@link PersistentSubscriptionToAllSettings} from default settings.
88
+ * @param changes - Changes to apply to the default settings.
89
+ */
90
+ export declare const persistentSubscriptionToAllSettingsFromDefaults: (changes?: Partial<PersistentSubscriptionToAllSettings>) => PersistentSubscriptionToAllSettings;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.persistentSubscriptionToAllSettingsFromDefaults = exports.persistentSubscriptionToStreamSettingsFromDefaults = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const defaults = {
6
+ resolveLinkTos: false,
7
+ extraStatistics: false,
8
+ messageTimeout: 30_000,
9
+ maxRetryCount: 10,
10
+ checkPointAfter: 2_000,
11
+ checkPointLowerBound: 10,
12
+ checkPointUpperBound: 1_000,
13
+ maxSubscriberCount: constants_1.UNBOUNDED,
14
+ liveBufferSize: 500,
15
+ readBatchSize: 20,
16
+ historyBufferSize: 500,
17
+ consumerStrategyName: constants_1.ROUND_ROBIN,
18
+ };
19
+ /**
20
+ * Creates {@link PersistentSubscriptionToStreamSettings} from default settings.
21
+ * @param changes - Changes to apply to the default settings.
22
+ */
23
+ const persistentSubscriptionToStreamSettingsFromDefaults = (changes = {}) => ({
24
+ startFrom: constants_1.END,
25
+ ...defaults,
26
+ ...changes,
27
+ });
28
+ exports.persistentSubscriptionToStreamSettingsFromDefaults = persistentSubscriptionToStreamSettingsFromDefaults;
29
+ /**
30
+ * Creates {@link PersistentSubscriptionToAllSettings} from default settings.
31
+ * @param changes - Changes to apply to the default settings.
32
+ */
33
+ const persistentSubscriptionToAllSettingsFromDefaults = (changes = {}) => ({
34
+ startFrom: constants_1.END,
35
+ ...defaults,
36
+ ...changes,
37
+ });
38
+ exports.persistentSubscriptionToAllSettingsFromDefaults = persistentSubscriptionToAllSettingsFromDefaults;
39
+ //# sourceMappingURL=persistentSubscriptionSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistentSubscriptionSettings.js","sourceRoot":"","sources":["../../../src/persistentSubscription/utils/persistentSubscriptionSettings.ts"],"names":[],"mappings":";;;AAAA,+CAAqE;AAiGrE,MAAM,QAAQ,GAA0C;IACtD,cAAc,EAAE,KAAK;IACrB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,EAAE;IACxB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,qBAAS;IAC7B,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,uBAAW;CAClC,CAAC;AAEF;;;GAGG;AACI,MAAM,kDAAkD,GAAG,CAChE,UAA2D,EAAE,EACrB,EAAE,CAAC,CAAC;IAC5C,SAAS,EAAE,eAAG;IACd,GAAG,QAAQ;IACX,GAAG,OAAO;CACX,CAAC,CAAC;AANU,QAAA,kDAAkD,sDAM5D;AAEH;;;GAGG;AACI,MAAM,+CAA+C,GAAG,CAC7D,UAAwD,EAAE,EACrB,EAAE,CAAC,CAAC;IACzC,SAAS,EAAE,eAAG;IACd,GAAG,QAAQ;IACX,GAAG,OAAO;CACX,CAAC,CAAC;AANU,QAAA,+CAA+C,mDAMzD"}
@@ -0,0 +1,5 @@
1
+ import { CreateReq, UpdateReq } from "../../../generated/persistent_pb";
2
+ import type { PersistentSubscriptionToStreamSettings, PersistentSubscriptionToAllSettings } from "./persistentSubscriptionSettings";
3
+ type GRPCSettings = typeof CreateReq.Settings | typeof UpdateReq.Settings;
4
+ export declare const settingsToGRPC: <T extends GRPCSettings>(settings: PersistentSubscriptionToStreamSettings | PersistentSubscriptionToAllSettings, ReqSettings: T) => InstanceType<T>;
5
+ export {};