@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,27 @@
1
+ import type { BaseOptions } from "../types";
2
+ import { CustomStreamMetadata, StreamMetadata } from "./utils/streamMetadata";
3
+ export interface GetStreamMetadataResult<CustomMetadata extends CustomStreamMetadata = CustomStreamMetadata> {
4
+ /**
5
+ * The name of the stream.
6
+ */
7
+ streamName: string;
8
+ /**
9
+ * A containing user-specified metadata.
10
+ */
11
+ metadata?: StreamMetadata<CustomMetadata>;
12
+ /**
13
+ * A the version of the metadata.
14
+ */
15
+ metastreamRevision?: bigint;
16
+ }
17
+ export type GetStreamMetadataOptions = BaseOptions;
18
+ declare module "../Client" {
19
+ interface Client {
20
+ /**
21
+ * Reads the metadata for a stream.
22
+ * @param streamName - A stream name.
23
+ * @param options - Read options.
24
+ */
25
+ getStreamMetadata<CustomMetadata extends CustomStreamMetadata = CustomStreamMetadata>(streamName: string, options?: GetStreamMetadataOptions): Promise<GetStreamMetadataResult<CustomMetadata>>;
26
+ }
27
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Client_1 = require("../Client");
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ const streamMetadata_1 = require("./utils/streamMetadata");
7
+ const systemStreams_1 = require("./utils/systemStreams");
8
+ Client_1.Client.prototype.getStreamMetadata = async function (streamName, baseOptions = {}) {
9
+ const metadataStreamName = (0, systemStreams_1.metastreamOf)(streamName);
10
+ utils_1.debug.command("getStreamMetadata: %O", {
11
+ streamName,
12
+ options: baseOptions,
13
+ });
14
+ try {
15
+ let metadataEvent;
16
+ for await (const e of await this.readStream(metadataStreamName, {
17
+ ...baseOptions,
18
+ fromRevision: constants_1.END,
19
+ maxCount: 1,
20
+ direction: constants_1.BACKWARDS,
21
+ })) {
22
+ metadataEvent = e;
23
+ }
24
+ if (!metadataEvent || !metadataEvent.event || !metadataEvent.event.isJson) {
25
+ return { streamName };
26
+ }
27
+ return {
28
+ streamName,
29
+ metadata: (0, streamMetadata_1.readStreamMetadata)(metadataEvent.event.data),
30
+ metastreamRevision: metadataEvent.commitPosition,
31
+ };
32
+ }
33
+ catch (error) {
34
+ if (error instanceof utils_1.StreamNotFoundError) {
35
+ return { streamName };
36
+ }
37
+ throw error;
38
+ }
39
+ };
40
+ //# sourceMappingURL=getStreamMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStreamMetadata.js","sourceRoot":"","sources":["../../src/streams/getStreamMetadata.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,4CAA8C;AAE9C,oCAAsD;AAEtD,2DAIgC;AAChC,yDAAqD;AAuCrD,eAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG,KAAK,WAIxC,UAAkB,EAClB,cAAwC,EAAE;IAE1C,MAAM,kBAAkB,GAAG,IAAA,4BAAY,EAAC,UAAU,CAAC,CAAC;IAEpD,aAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACrC,UAAU;QACV,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,IAAI,aAAa,CAAC;QAElB,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YAC9D,GAAG,WAAW;YACd,YAAY,EAAE,eAAG;YACjB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,qBAAS;SACrB,CAAC,EAAE,CAAC;YACH,aAAa,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1E,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;QAED,OAAO;YACL,UAAU;YACV,QAAQ,EAAE,IAAA,mCAAkB,EAC1B,aAAa,CAAC,KAAK,CAAC,IAA+B,CACpD;YACD,kBAAkB,EAAE,aAAa,CAAC,cAAc;SACjD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,2BAAmB,EAAE,CAAC;YACzC,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from "./appendToStream";
2
+ export * from "./deleteStream";
3
+ export * from "./readAll";
4
+ export * from "./readStream";
5
+ export * from "./subscribeToAll";
6
+ export * from "./subscribeToStream";
7
+ export * from "./tombstoneStream";
8
+ export * from "./getStreamMetadata";
9
+ export * from "./setStreamMetadata";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./appendToStream"), exports);
18
+ __exportStar(require("./deleteStream"), exports);
19
+ __exportStar(require("./readAll"), exports);
20
+ __exportStar(require("./readStream"), exports);
21
+ __exportStar(require("./subscribeToAll"), exports);
22
+ __exportStar(require("./subscribeToStream"), exports);
23
+ __exportStar(require("./tombstoneStream"), exports);
24
+ // Use other actions, so must come last
25
+ __exportStar(require("./getStreamMetadata"), exports);
26
+ __exportStar(require("./setStreamMetadata"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/streams/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B;AAC1B,+CAA6B;AAC7B,mDAAiC;AACjC,sDAAoC;AACpC,oDAAkC;AAElC,uCAAuC;AACvC,sDAAoC;AACpC,sDAAoC"}
@@ -0,0 +1,39 @@
1
+ import type { BaseOptions, ReadPosition, Direction, AllStreamResolvedEvent, Filter } from "../types";
2
+ export interface ReadAllOptions extends BaseOptions {
3
+ /**
4
+ * The number of events to read.
5
+ * @defaultValue Number.MAX_SAFE_INTEGER
6
+ */
7
+ maxCount?: number | bigint;
8
+ /**
9
+ * Starts the read at the given position.
10
+ * @defaultValue START
11
+ */
12
+ fromPosition?: ReadPosition;
13
+ /**
14
+ * The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
15
+ * contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
16
+ * resolution feature, the server will also return the event targeted by the link.
17
+ * @defaultValue false
18
+ */
19
+ resolveLinkTos?: boolean;
20
+ /**
21
+ * Sets the read direction of the streamconnection.
22
+ * @defaultValue FORWARDS
23
+ */
24
+ direction?: Direction;
25
+ /**
26
+ * Filters events or streams based upon a predicate.
27
+ */
28
+ filter?: Filter;
29
+ }
30
+ declare module "../Client" {
31
+ interface Client {
32
+ /**
33
+ * Reads events from the $all. You can read forwards or backwards.
34
+ * You might need to be authenticated to execute the command successfully.
35
+ * @param options - Reading options.
36
+ */
37
+ readAll(options?: ReadAllOptions): AsyncIterableIterator<AllStreamResolvedEvent>;
38
+ }
39
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constants_1 = require("../constants");
4
+ const Client_1 = require("../Client");
5
+ const convertRustEvent_1 = require("../utils/convertRustEvent");
6
+ const convertBridgeError_1 = require("../utils/convertBridgeError");
7
+ Client_1.Client.prototype.readAll = function ({ maxCount = Number.MAX_SAFE_INTEGER, fromPosition = constants_1.START, resolveLinkTos = false, direction = constants_1.FORWARDS, ...baseOptions } = {}) {
8
+ const options = {
9
+ maxCount: BigInt(maxCount),
10
+ fromPosition,
11
+ resolvesLink: resolveLinkTos,
12
+ direction,
13
+ requiresLeader: baseOptions.requiresLeader ?? true,
14
+ credentials: baseOptions.credentials,
15
+ filter: baseOptions.filter,
16
+ };
17
+ let stream;
18
+ try {
19
+ stream = this.rustClient.readAll(options);
20
+ }
21
+ catch (error) {
22
+ throw (0, convertBridgeError_1.convertBridgeError)(error);
23
+ }
24
+ const convert = async function* (stream) {
25
+ try {
26
+ for await (const events of stream) {
27
+ for (const event of events) {
28
+ yield (0, convertRustEvent_1.convertRustEvent)(event);
29
+ }
30
+ }
31
+ }
32
+ catch (error) {
33
+ throw (0, convertBridgeError_1.convertBridgeError)(error);
34
+ }
35
+ };
36
+ return convert(stream);
37
+ };
38
+ //# sourceMappingURL=readAll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../src/streams/readAll.ts"],"names":[],"mappings":";;AAOA,4CAA+C;AAC/C,sCAAmC;AAGnC,gEAA6D;AAC7D,oEAAiE;AA4CjE,eAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAEzB,EACE,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAClC,YAAY,GAAG,iBAAK,EACpB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,oBAAQ,EACpB,GAAG,WAAW,KACI,EAAE;IAEtB,MAAM,OAAO,GAA8B;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,YAAY;QACZ,YAAY,EAAE,cAAc;QAC5B,SAAS;QACT,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,IAAI;QAClD,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC;IAEF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,uCAAkB,EAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,SAAS,CAAC,EAC7B,MAA6C;QAE7C,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,IAAA,mCAAgB,EAAyB,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,uCAAkB,EAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { BaseOptions, Direction, EventType, ReadRevision, ResolvedEvent } from "../types";
2
+ export interface ReadStreamOptions extends BaseOptions {
3
+ /**
4
+ * The number of events to read.
5
+ * @defaultValue Number.MAX_SAFE_INTEGER
6
+ */
7
+ maxCount?: number | bigint;
8
+ /**
9
+ * Starts the read at the given event revision.
10
+ * @defaultValue START
11
+ */
12
+ fromRevision?: ReadRevision;
13
+ /**
14
+ * The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
15
+ * contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
16
+ * resolution feature, the server will also return the event targeted by the link.
17
+ * @defaultValue false
18
+ */
19
+ resolveLinkTos?: boolean;
20
+ /**
21
+ * Sets the read direction of the stream.
22
+ * @defaultValue FORWARDS
23
+ */
24
+ direction?: Direction;
25
+ }
26
+ declare module "../Client" {
27
+ interface Client {
28
+ /**
29
+ * Reads events from a given stream.
30
+ * @param streamName - A stream name.
31
+ * @param options - Reading options.
32
+ */
33
+ readStream<KnownEventType extends EventType = EventType>(streamName: string, options?: ReadStreamOptions): AsyncIterableIterator<ResolvedEvent<KnownEventType>>;
34
+ }
35
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Client_1 = require("../Client");
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ const convertRustEvent_1 = require("../utils/convertRustEvent");
7
+ const convertBridgeError_1 = require("../utils/convertBridgeError");
8
+ Client_1.Client.prototype.readStream = function (streamName, { maxCount = Number.MAX_SAFE_INTEGER, fromRevision = constants_1.START, resolveLinkTos = false, direction = constants_1.FORWARDS, ...baseOptions } = {}) {
9
+ const options = {
10
+ maxCount: BigInt(maxCount),
11
+ fromRevision,
12
+ resolvesLink: resolveLinkTos,
13
+ direction,
14
+ requiresLeader: baseOptions.requiresLeader ?? true,
15
+ credentials: baseOptions.credentials,
16
+ };
17
+ switch (fromRevision) {
18
+ case constants_1.START: {
19
+ break;
20
+ }
21
+ case constants_1.END: {
22
+ break;
23
+ }
24
+ default: {
25
+ const lowerBound = BigInt("0");
26
+ const upperBound = BigInt("0xffffffffffffffff");
27
+ if (fromRevision < lowerBound) {
28
+ throw new utils_1.InvalidArgumentError(`fromRevision value must be a non-negative integer. Value Received: ${fromRevision}`);
29
+ }
30
+ if (fromRevision > upperBound) {
31
+ throw new utils_1.InvalidArgumentError(`fromRevision value must be a non-negative integer, range from 0 to 18446744073709551615. Value Received: ${fromRevision}`);
32
+ }
33
+ options.fromRevision = fromRevision;
34
+ break;
35
+ }
36
+ }
37
+ let stream;
38
+ try {
39
+ stream = this.rustClient.readStream(streamName, options);
40
+ }
41
+ catch (error) {
42
+ throw (0, convertBridgeError_1.convertBridgeError)(error, streamName);
43
+ }
44
+ const convert = async function* (stream) {
45
+ try {
46
+ for await (const events of stream) {
47
+ for (const event of events) {
48
+ yield (0, convertRustEvent_1.convertRustEvent)(event);
49
+ }
50
+ }
51
+ }
52
+ catch (error) {
53
+ throw (0, convertBridgeError_1.convertBridgeError)(error, streamName);
54
+ }
55
+ };
56
+ return convert(stream);
57
+ };
58
+ //# sourceMappingURL=readStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readStream.js","sourceRoot":"","sources":["../../src/streams/readStream.ts"],"names":[],"mappings":";;AAEA,sCAAmC;AACnC,4CAAoD;AAQpD,oCAAgD;AAChD,gEAA6D;AAC7D,oEAAiE;AAyCjE,eAAM,CAAC,SAAS,CAAC,UAAU,GAAG,UAI5B,UAAkB,EAClB,EACE,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAClC,YAAY,GAAG,iBAAK,EACpB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,oBAAQ,EACpB,GAAG,WAAW,KACO,EAAE;IAEzB,MAAM,OAAO,GAAiC;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,YAAY;QACZ,YAAY,EAAE,cAAc;QAC5B,SAAS;QACT,cAAc,EAAE,WAAW,CAAC,cAAc,IAAI,IAAI;QAClD,WAAW,EAAE,WAAW,CAAC,WAAW;KACrC,CAAC;IACF,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,iBAAK,CAAC,CAAC,CAAC;YACX,MAAM;QACR,CAAC;QAED,KAAK,eAAG,CAAC,CAAC,CAAC;YACT,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAEhD,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,4BAAoB,CAC5B,sEAAsE,YAAY,EAAE,CACrF,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,4BAAoB,CAC5B,4GAA4G,YAAY,EAAE,CAC3H,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YAEpC,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,uCAAkB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,SAAS,CAAC,EAC7B,MAA6C;QAE7C,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,IAAA,mCAAgB,EAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAA,uCAAkB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { BaseOptions, AppendResult, AppendStreamState } from "../types";
2
+ import { StreamMetadata } from "./utils/streamMetadata";
3
+ export interface SetStreamMetadataOptions extends BaseOptions {
4
+ /**
5
+ * Asks the server to check the stream is at specific revision before writing events.
6
+ * @defaultValue ANY
7
+ */
8
+ expectedRevision?: AppendStreamState;
9
+ }
10
+ declare module "../Client" {
11
+ interface Client {
12
+ /**
13
+ * Sets metadata for steam.
14
+ * @param streamName - A stream name.
15
+ * @param metadata - Metadata to write.
16
+ * @param options - Writing options.
17
+ */
18
+ setStreamMetadata<MetadataType extends StreamMetadata = StreamMetadata>(streamName: string, metadata: StreamMetadata<MetadataType>, options?: SetStreamMetadataOptions): Promise<AppendResult>;
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Client_1 = require("../Client");
4
+ const utils_1 = require("../utils");
5
+ const events_1 = require("../events");
6
+ const streamMetadata_1 = require("./utils/streamMetadata");
7
+ const systemStreams_1 = require("./utils/systemStreams");
8
+ Client_1.Client.prototype.setStreamMetadata = async function (streamName, metadata, options = {}) {
9
+ utils_1.debug.command("setStreamMetadata: %O", {
10
+ streamName,
11
+ metadata,
12
+ options,
13
+ });
14
+ const event = (0, events_1.jsonEvent)({
15
+ type: "$metadata",
16
+ data: (0, streamMetadata_1.prepareStreamMetadata)(metadata),
17
+ });
18
+ return this.appendToStream((0, systemStreams_1.metastreamOf)(streamName), event, options);
19
+ };
20
+ //# sourceMappingURL=setStreamMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setStreamMetadata.js","sourceRoot":"","sources":["../../src/streams/setStreamMetadata.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AAEnC,oCAAiC;AACjC,sCAAsC;AAEtC,2DAA+E;AAC/E,yDAAqD;AA0BrD,eAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG,KAAK,WAIxC,UAAkB,EAClB,QAAsB,EACtB,UAAoC,EAAE;IAEtC,aAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACrC,UAAU;QACV,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC;QACtB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAA,sCAAqB,EAAC,QAAQ,CAAC;KACtC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,cAAc,CAAC,IAAA,4BAAY,EAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ReadableOptions } from "stream";
2
+ import type { ReadPosition, AllStreamSubscription, BaseOptions, Filter } from "../types";
3
+ export interface SubscribeToAllOptions extends BaseOptions {
4
+ /**
5
+ * Starts the read at the given position.
6
+ * @defaultValue START
7
+ */
8
+ fromPosition?: ReadPosition;
9
+ /**
10
+ * The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
11
+ * contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
12
+ * resolution feature, the server will also return the event targeted by the link.
13
+ * @defaultValue false
14
+ */
15
+ resolveLinkTos?: boolean;
16
+ /**
17
+ * Filters events or streams based upon a predicate.
18
+ */
19
+ filter?: Filter;
20
+ }
21
+ declare module "../Client" {
22
+ interface Client {
23
+ /**
24
+ * Subscribe to events on the $all stream.
25
+ * @param options - Subscription options.
26
+ * @param readableOptions - Readable stream options.
27
+ */
28
+ subscribeToAll(options?: SubscribeToAllOptions, readableOptions?: ReadableOptions): AllStreamSubscription;
29
+ }
30
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const shared_pb_1 = require("../../generated/shared_pb");
4
+ const streams_grpc_pb_1 = require("../../generated/streams_grpc_pb");
5
+ const streams_pb_1 = require("../../generated/streams_pb");
6
+ const utils_1 = require("../utils");
7
+ const Client_1 = require("../Client");
8
+ const constants_1 = require("../constants");
9
+ const Subscription_1 = require("./utils/Subscription");
10
+ Client_1.Client.prototype.subscribeToAll = function ({ fromPosition = constants_1.START, resolveLinkTos = false, filter, ...baseOptions } = {}, readableOptions = {}) {
11
+ const req = new streams_pb_1.ReadReq();
12
+ const options = new streams_pb_1.ReadReq.Options();
13
+ const uuidOption = new streams_pb_1.ReadReq.Options.UUIDOption();
14
+ uuidOption.setString(new shared_pb_1.Empty());
15
+ const allOptions = new streams_pb_1.ReadReq.Options.AllOptions();
16
+ switch (fromPosition) {
17
+ case constants_1.START: {
18
+ allOptions.setStart(new shared_pb_1.Empty());
19
+ break;
20
+ }
21
+ case constants_1.END: {
22
+ allOptions.setEnd(new shared_pb_1.Empty());
23
+ break;
24
+ }
25
+ default: {
26
+ const grpcPos = new streams_pb_1.ReadReq.Options.Position();
27
+ grpcPos.setCommitPosition(fromPosition.commit.toString(10));
28
+ grpcPos.setPreparePosition(fromPosition.prepare.toString(10));
29
+ allOptions.setPosition(grpcPos);
30
+ break;
31
+ }
32
+ }
33
+ options.setAll(allOptions);
34
+ options.setResolveLinks(resolveLinkTos);
35
+ options.setSubscription(new streams_pb_1.ReadReq.Options.SubscriptionOptions());
36
+ options.setUuidOption(uuidOption);
37
+ if (filter) {
38
+ const expr = new streams_pb_1.ReadReq.Options.FilterOptions.Expression();
39
+ if ("prefixes" in filter) {
40
+ expr.setPrefixList(filter.prefixes);
41
+ }
42
+ if ("regex" in filter) {
43
+ expr.setRegex(filter.regex);
44
+ }
45
+ const filterOptions = new streams_pb_1.ReadReq.Options.FilterOptions();
46
+ switch (filter.filterOn) {
47
+ case constants_1.STREAM_NAME: {
48
+ filterOptions.setStreamIdentifier(expr);
49
+ break;
50
+ }
51
+ case constants_1.EVENT_TYPE: {
52
+ filterOptions.setEventType(expr);
53
+ break;
54
+ }
55
+ }
56
+ if (typeof filter.maxSearchWindow === "number") {
57
+ if (filter.maxSearchWindow <= 0) {
58
+ throw new Error("MaxSearchWindow must be greater than 0.");
59
+ }
60
+ filterOptions.setMax(filter.maxSearchWindow);
61
+ }
62
+ else {
63
+ filterOptions.setCount(new shared_pb_1.Empty());
64
+ }
65
+ if (filter.checkpointInterval <= 0) {
66
+ throw new Error("CheckpointInterval must be greater than 0.");
67
+ }
68
+ filterOptions.setCheckpointintervalmultiplier(filter.checkpointInterval);
69
+ options.setFilter(filterOptions);
70
+ }
71
+ else {
72
+ options.setNoFilter(new shared_pb_1.Empty());
73
+ }
74
+ req.setOptions(options);
75
+ utils_1.debug.command("subscribeToAll: %O", {
76
+ options: {
77
+ fromPosition,
78
+ resolveLinkTos,
79
+ filter,
80
+ ...baseOptions,
81
+ },
82
+ });
83
+ utils_1.debug.command_grpc("subscribeToAll: %g", req);
84
+ const createGRPCStream = this.GRPCStreamCreator(streams_grpc_pb_1.StreamsClient, "subscribeToAll", (client) => client.read(req, ...this.callArguments(baseOptions, {
85
+ deadline: Infinity,
86
+ })));
87
+ return new Subscription_1.Subscription(createGRPCStream, utils_1.convertGrpcEvent, readableOptions, filter?.checkpointReached);
88
+ };
89
+ //# sourceMappingURL=subscribeToAll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeToAll.js","sourceRoot":"","sources":["../../src/streams/subscribeToAll.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ReadableOptions } from "stream";
2
+ import type { ReadRevision, StreamSubscription, BaseOptions, EventType } from "../types";
3
+ export interface SubscribeToStreamOptions extends BaseOptions {
4
+ /**
5
+ * Starts the read at the given event revision.
6
+ * @defaultValue START
7
+ */
8
+ fromRevision?: ReadRevision;
9
+ /**
10
+ * The best way to explain link resolution is when using system projections. When reading the stream `$streams` (which
11
+ * contains all streams), each event is actually a link pointing to the first event of a stream. By enabling link
12
+ * resolution feature, the server will also return the event targeted by the link.
13
+ * @defaultValue false
14
+ */
15
+ resolveLinkTos?: boolean;
16
+ }
17
+ declare module "../Client" {
18
+ interface Client {
19
+ /**
20
+ * Subscribe to events on the given stream.
21
+ * @param streamName - A stream name.
22
+ * @param options - Subscription options.
23
+ * @param readableOptions - Readable stream options.
24
+ */
25
+ subscribeToStream<KnownEventType extends EventType = EventType>(streamName: string, options?: SubscribeToStreamOptions, readableOptions?: ReadableOptions): StreamSubscription<KnownEventType>;
26
+ }
27
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const streams_grpc_pb_1 = require("../../generated/streams_grpc_pb");
4
+ const streams_pb_1 = require("../../generated/streams_pb");
5
+ const shared_pb_1 = require("../../generated/shared_pb");
6
+ const Client_1 = require("../Client");
7
+ const constants_1 = require("../constants");
8
+ const utils_1 = require("../utils");
9
+ const Subscription_1 = require("./utils/Subscription");
10
+ Client_1.Client.prototype.subscribeToStream = function (streamName, { fromRevision = constants_1.START, resolveLinkTos = false, ...baseOptions } = {}, readableOptions = {}) {
11
+ const req = new streams_pb_1.ReadReq();
12
+ const options = new streams_pb_1.ReadReq.Options();
13
+ const streamOptions = new streams_pb_1.ReadReq.Options.StreamOptions();
14
+ const uuidOption = new streams_pb_1.ReadReq.Options.UUIDOption();
15
+ const identifier = (0, utils_1.createStreamIdentifier)(streamName);
16
+ uuidOption.setString(new shared_pb_1.Empty());
17
+ streamOptions.setStreamIdentifier(identifier);
18
+ switch (fromRevision) {
19
+ case constants_1.START: {
20
+ streamOptions.setStart(new shared_pb_1.Empty());
21
+ break;
22
+ }
23
+ case constants_1.END: {
24
+ streamOptions.setEnd(new shared_pb_1.Empty());
25
+ break;
26
+ }
27
+ default: {
28
+ streamOptions.setRevision(fromRevision.toString(10));
29
+ break;
30
+ }
31
+ }
32
+ options.setStream(streamOptions);
33
+ options.setResolveLinks(resolveLinkTos);
34
+ options.setSubscription(new streams_pb_1.ReadReq.Options.SubscriptionOptions());
35
+ options.setUuidOption(uuidOption);
36
+ options.setNoFilter(new shared_pb_1.Empty());
37
+ req.setOptions(options);
38
+ utils_1.debug.command("subscribeToStream: %O", {
39
+ streamName,
40
+ options: {
41
+ fromRevision,
42
+ resolveLinkTos,
43
+ ...baseOptions,
44
+ },
45
+ });
46
+ utils_1.debug.command_grpc("subscribeToStream: %g", req);
47
+ const createGRPCStream = this.GRPCStreamCreator(streams_grpc_pb_1.StreamsClient, "subscribeToStream", (client) => client.read(req, ...this.callArguments(baseOptions, {
48
+ deadline: Infinity,
49
+ })));
50
+ return new Subscription_1.Subscription(createGRPCStream, utils_1.convertGrpcEvent, readableOptions);
51
+ };
52
+ //# sourceMappingURL=subscribeToStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeToStream.js","sourceRoot":"","sources":["../../src/streams/subscribeToStream.ts"],"names":[],"mappings":";;AAEA,qEAAgE;AAChE,2DAAqD;AACrD,yDAAkD;AAQlD,sCAAmC;AACnC,4CAA0C;AAC1C,oCAA2E;AAE3E,uDAAoD;AAiCpD,eAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAInC,UAAkB,EAClB,EACE,YAAY,GAAG,iBAAK,EACpB,cAAc,GAAG,KAAK,EACtB,GAAG,WAAW,KACc,EAAE,EAChC,kBAAmC,EAAE;IAErC,MAAM,GAAG,GAAG,IAAI,oBAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,oBAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,oBAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IAEtD,UAAU,CAAC,SAAS,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;IAClC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE9C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,iBAAK,CAAC,CAAC,CAAC;YACX,aAAa,CAAC,QAAQ,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;YACpC,MAAM;QACR,CAAC;QAED,KAAK,eAAG,CAAC,CAAC,CAAC;YACT,aAAa,CAAC,MAAM,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;YAClC,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IACxC,OAAO,CAAC,eAAe,CAAC,IAAI,oBAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,WAAW,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;IAEjC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAExB,aAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACrC,UAAU;QACV,OAAO,EAAE;YACP,YAAY;YACZ,cAAc;YACd,GAAG,WAAW;SACf;KACF,CAAC,CAAC;IACH,aAAK,CAAC,YAAY,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAC7C,+BAAa,EACb,mBAAmB,EACnB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,CACT,GAAG,EACH,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;QACjC,QAAQ,EAAE,QAAQ;KACnB,CAAC,CACH,CACJ,CAAC;IAEF,OAAO,IAAI,2BAAY,CAAC,gBAAgB,EAAE,wBAAgB,EAAE,eAAe,CAAC,CAAC;AAC/E,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { BaseOptions, DeleteResult, StreamState } from "../types";
2
+ export interface TombstoneStreamOptions extends BaseOptions {
3
+ /**
4
+ * Asks the server to check the stream is at specific revision before deleting.
5
+ * @defaultValue ANY
6
+ */
7
+ expectedRevision?: StreamState;
8
+ }
9
+ declare module "../Client" {
10
+ interface Client {
11
+ /**
12
+ * Hard-deletes a stream.
13
+ * @param streamName - A stream name.
14
+ * @param options - Tombstoneing options.
15
+ */
16
+ tombstoneStream(streamName: string, options?: TombstoneStreamOptions): Promise<DeleteResult>;
17
+ }
18
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const shared_pb_1 = require("../../generated/shared_pb");
4
+ const streams_grpc_pb_1 = require("../../generated/streams_grpc_pb");
5
+ const streams_pb_1 = require("../../generated/streams_pb");
6
+ const Client_1 = require("../Client");
7
+ const constants_1 = require("../constants");
8
+ const utils_1 = require("../utils");
9
+ Client_1.Client.prototype.tombstoneStream = async function (streamName, { expectedRevision = constants_1.ANY, ...baseOptions } = {}) {
10
+ const req = new streams_pb_1.TombstoneReq();
11
+ const options = new streams_pb_1.TombstoneReq.Options();
12
+ const identifier = (0, utils_1.createStreamIdentifier)(streamName);
13
+ options.setStreamIdentifier(identifier);
14
+ switch (expectedRevision) {
15
+ case constants_1.ANY: {
16
+ options.setAny(new shared_pb_1.Empty());
17
+ break;
18
+ }
19
+ case constants_1.NO_STREAM: {
20
+ options.setNoStream(new shared_pb_1.Empty());
21
+ break;
22
+ }
23
+ default: {
24
+ options.setRevision(expectedRevision.toString(10));
25
+ break;
26
+ }
27
+ }
28
+ req.setOptions(options);
29
+ utils_1.debug.command("tombstoneStream: %O", {
30
+ streamName,
31
+ options: { expectedRevision, ...baseOptions },
32
+ });
33
+ utils_1.debug.command_grpc("tombstoneStream: %g", req);
34
+ return this.execute(streams_grpc_pb_1.StreamsClient, "tombstoneStream", (client) => new Promise((resolve, reject) => {
35
+ client.tombstone(req, ...this.callArguments(baseOptions), (error, resp) => {
36
+ if (error) {
37
+ return reject((0, utils_1.convertToCommandError)(error));
38
+ }
39
+ const result = {};
40
+ if (resp.hasPosition()) {
41
+ const grpcPos = resp.getPosition();
42
+ result.position = {
43
+ commit: BigInt(grpcPos.getCommitPosition()),
44
+ prepare: BigInt(grpcPos.getPreparePosition()),
45
+ };
46
+ }
47
+ return resolve(result);
48
+ });
49
+ }));
50
+ };
51
+ //# sourceMappingURL=tombstoneStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tombstoneStream.js","sourceRoot":"","sources":["../../src/streams/tombstoneStream.ts"],"names":[],"mappings":";;AAAA,yDAAkD;AAClD,qEAAgE;AAChE,2DAA0D;AAE1D,sCAAmC;AACnC,4CAA8C;AAE9C,oCAAgF;AAwBhF,eAAM,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK,WAEtC,UAAkB,EAClB,EAAE,gBAAgB,GAAG,eAAG,EAAE,GAAG,WAAW,KAA6B,EAAE;IAEvE,MAAM,GAAG,GAAG,IAAI,yBAAY,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,yBAAY,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;IAEtD,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAExC,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,eAAG,CAAC,CAAC,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,KAAK,qBAAS,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,WAAW,CAAC,IAAI,iBAAK,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;IACH,CAAC;IAED,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAExB,aAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;QACnC,UAAU;QACV,OAAO,EAAE,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE;KAC9C,CAAC,CAAC;IACH,aAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IAE/C,OAAO,IAAI,CAAC,OAAO,CACjB,+BAAa,EACb,iBAAiB,EACjB,CAAC,MAAM,EAAE,EAAE,CACT,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,CAAC,SAAS,CACd,GAAG,EACH,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAClC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,MAAM,CAAC,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;YAED,MAAM,MAAM,GAAiB,EAAE,CAAC;YAEhC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAG,CAAC;gBACpC,MAAM,CAAC,QAAQ,GAAG;oBAChB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;iBAC9C,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC,CAAC"}