@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,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseConnectionString = void 0;
4
+ const constants_1 = require("../constants");
5
+ const utils_1 = require("../utils");
6
+ const toflatCase = (str) => str.trim().toLowerCase().replace(/[_-]/g, "");
7
+ // This wierd key value syntax is the only way I could find ensure that every option in a union is passed
8
+ const caseMap = (options) => {
9
+ const expected = Object.values(options);
10
+ const mapping = new Map(expected.map((option) => [toflatCase(option), option]));
11
+ function MapTo(value) {
12
+ const flatValue = toflatCase(value);
13
+ return mapping.get(flatValue);
14
+ }
15
+ MapTo.expected = expected;
16
+ return MapTo;
17
+ };
18
+ const mapToNodePreference = caseMap({
19
+ [constants_1.LEADER]: constants_1.LEADER,
20
+ [constants_1.FOLLOWER]: constants_1.FOLLOWER,
21
+ [constants_1.READ_ONLY_REPLICA]: constants_1.READ_ONLY_REPLICA,
22
+ [constants_1.RANDOM]: constants_1.RANDOM,
23
+ });
24
+ const mapToQueryOption = caseMap({
25
+ userCertFile: "userCertFile",
26
+ userKeyFile: "userKeyFile",
27
+ maxDiscoverAttempts: "maxDiscoverAttempts",
28
+ connectionName: "connectionName",
29
+ defaultDeadline: "defaultDeadline",
30
+ discoveryInterval: "discoveryInterval",
31
+ gossipTimeout: "gossipTimeout",
32
+ nodePreference: "nodePreference",
33
+ tls: "tls",
34
+ tlsVerifyCert: "tlsVerifyCert",
35
+ tlsCAFile: "tlsCAFile",
36
+ throwOnAppendFailure: "throwOnAppendFailure",
37
+ keepAliveInterval: "keepAliveInterval",
38
+ keepAliveTimeout: "keepAliveTimeout",
39
+ });
40
+ const parseConnectionString = (connectionString) => parseProtocol(connectionString.trim().replace(/\/+$/, ""), 0, {
41
+ dnsDiscover: false,
42
+ hosts: [],
43
+ });
44
+ exports.parseConnectionString = parseConnectionString;
45
+ const parseProtocol = (connectionString, position, options) => {
46
+ let nextPosition = position;
47
+ const expected = "kurrentdb://, kurrentdb+discover://, kurrent://, kurrent+discover://, kdb://, or kdb+discover://";
48
+ const match = connectionString
49
+ .substring(position)
50
+ .match(/^(?<protocol>[^:]+):\/\//);
51
+ if (match && match.groups?.protocol) {
52
+ nextPosition += match[0].length;
53
+ if (match.groups.protocol.startsWith("esdb")) {
54
+ console.warn(`The 'esdb' protocol is deprecated. Please use 'kurrentdb' instead`);
55
+ }
56
+ switch (match.groups.protocol) {
57
+ case "esdb":
58
+ case "kurrentdb":
59
+ case "kdb":
60
+ case "kurrent": {
61
+ return parseCredentials(connectionString, nextPosition, {
62
+ ...options,
63
+ dnsDiscover: false,
64
+ });
65
+ }
66
+ case "esdb+discover":
67
+ case "kurrentdb+discover":
68
+ case "kdb+discover":
69
+ case "kurrent+discover": {
70
+ return parseCredentials(connectionString, nextPosition, {
71
+ ...options,
72
+ dnsDiscover: true,
73
+ });
74
+ }
75
+ }
76
+ }
77
+ throw new ParseError(connectionString, [position, nextPosition], expected);
78
+ };
79
+ const parseCredentials = (connectionString, position, options) => {
80
+ let nextPosition = position;
81
+ const expected = "username:password";
82
+ const match = connectionString
83
+ .substring(position)
84
+ .match(/^(?:(?<credentials>[^:]+:[^@]+)@)/);
85
+ // This is optional
86
+ if (!match) {
87
+ return parseHosts(connectionString, nextPosition, options, true);
88
+ }
89
+ if (match.groups?.credentials) {
90
+ nextPosition += match[0].length;
91
+ const [username, password] = match.groups.credentials.trim().split(":");
92
+ return parseHosts(connectionString, nextPosition, {
93
+ ...options,
94
+ defaultCredentials: {
95
+ username: decodeURIComponent(username),
96
+ password: decodeURIComponent(password),
97
+ },
98
+ }, true);
99
+ }
100
+ throw new ParseError(connectionString, [position, nextPosition], expected);
101
+ };
102
+ const parseHosts = (connectionString, position, options, mustMatch) => {
103
+ let nextPosition = position;
104
+ const expected = "host";
105
+ const match = connectionString
106
+ .substring(position)
107
+ .match(/^(?:(?<host>[^$+!?*'(),;[\]{}|"%~#<>=&]+)[,/]?)/);
108
+ if (!match && mustMatch) {
109
+ throw new ParseError(connectionString, [position, nextPosition], expected);
110
+ }
111
+ if (match && match.groups?.host) {
112
+ nextPosition += match[0].length;
113
+ const [address, rawPort = "2113", ...rest] = match
114
+ .groups.host.trim()
115
+ .split(":");
116
+ if (rest.length) {
117
+ throw new ParseError(connectionString, [position + `${address}:${rawPort}`.length, nextPosition], ", or ?key=value");
118
+ }
119
+ const port = parseInt(rawPort.trim());
120
+ if (Number.isNaN(port)) {
121
+ throw new ParseError(connectionString, [position + `${address}:`.length, nextPosition], "port number");
122
+ }
123
+ return parseHosts(connectionString, nextPosition, {
124
+ ...options,
125
+ hosts: [...options.hosts, { address, port }],
126
+ }, false);
127
+ }
128
+ return parseSearchParams(connectionString, nextPosition, options, true);
129
+ };
130
+ const parseSearchParams = (connectionString, position, options, first) => {
131
+ if (position === connectionString.length)
132
+ return options;
133
+ let nextPosition = position;
134
+ const expected = `${first ? "?" : "&"}key=value`;
135
+ const match = connectionString
136
+ .substring(position)
137
+ .match(new RegExp(`^(?:[${first ? "?" : "&"}](?<key>[^=]+)=(?<value>[^&?]+))`));
138
+ if (!match || !match.groups || !match.groups.key || !match.groups.value) {
139
+ throw new ParseError(connectionString, [position, nextPosition], expected);
140
+ }
141
+ nextPosition += match[0].length;
142
+ const keypair = verifyKeyValuePair(match.groups, connectionString, [position, nextPosition]);
143
+ return parseSearchParams(connectionString, nextPosition, keypair
144
+ ? {
145
+ ...options,
146
+ [keypair.key]: keypair.value,
147
+ }
148
+ : options, false);
149
+ };
150
+ const verifyKeyValuePair = ({ key: rawKey, value: rawValue }, connectionString, [from, to]) => {
151
+ const keyFrom = from + `&${rawKey}=`.length;
152
+ const key = mapToQueryOption(rawKey) ?? rawKey;
153
+ const value = rawValue.trim();
154
+ if (key === "tlsVerifyCert" && value === "false") {
155
+ console.warn([
156
+ `"tlsVerifyCert" is not currently supported by this client, and will have no effect.`,
157
+ `Consider either:`,
158
+ ` Passing "tlsCAFile" in the connection string.`,
159
+ ` Setting NODE_EXTRA_CA_CERTS https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file`,
160
+ errorLocationString(connectionString, [from + `&`.length, to]),
161
+ ].join("\n"));
162
+ }
163
+ switch (key) {
164
+ case "nodePreference": {
165
+ const parsedValue = mapToNodePreference(value);
166
+ if (!parsedValue) {
167
+ throw new ParseError(connectionString, [keyFrom, to], mapToNodePreference.expected.join(" or "));
168
+ }
169
+ return { key, value: parsedValue };
170
+ }
171
+ case "connectionName":
172
+ case "tlsCAFile": {
173
+ return { key, value: decodeURIComponent(value) };
174
+ }
175
+ case "userCertFile": {
176
+ return { key, value: decodeURIComponent(value) };
177
+ }
178
+ case "userKeyFile": {
179
+ return { key, value: decodeURIComponent(value) };
180
+ }
181
+ case "maxDiscoverAttempts":
182
+ case "defaultDeadline":
183
+ case "discoveryInterval":
184
+ case "gossipTimeout":
185
+ case "keepAliveInterval":
186
+ case "keepAliveTimeout": {
187
+ const parsedValue = parseInt(value);
188
+ if (Number.isNaN(parsedValue)) {
189
+ throw new ParseError(connectionString, [keyFrom, to], "Integer");
190
+ }
191
+ return { key, value: parsedValue };
192
+ }
193
+ case "dnsDiscover":
194
+ case "tls":
195
+ case "tlsVerifyCert":
196
+ case "throwOnAppendFailure": {
197
+ if (value !== "true" && value !== "false") {
198
+ throw new ParseError(connectionString, [keyFrom, to], "true or false");
199
+ }
200
+ return { key, value: value === "true" };
201
+ }
202
+ }
203
+ console.warn([
204
+ `Unknown option key "${key}", setting will be ignored.`,
205
+ errorLocationString(connectionString, [
206
+ from + `&`.length,
207
+ from + `&${key}`.length,
208
+ ]),
209
+ ].join("\n"));
210
+ return null;
211
+ };
212
+ const errorString = (connectionString, [from, to], expected, full) => {
213
+ const lines = [];
214
+ lines.push(`Unexpected "${connectionString.substring(from, from === to ? from + 1 : to)}" at position ${from}, expected ${expected}.`);
215
+ if (full) {
216
+ lines.push(errorLocationString(connectionString, [from, to]));
217
+ }
218
+ return lines.join("\n");
219
+ };
220
+ const errorLocationString = (connectionString, [from, to]) => {
221
+ const lines = [];
222
+ lines.push(connectionString);
223
+ lines.push(`${" ".repeat(from)}${"^".repeat(Math.max(to - from, 1))}`);
224
+ return lines.join("\n");
225
+ };
226
+ class ParseError extends Error {
227
+ connectionString;
228
+ location;
229
+ expected;
230
+ constructor(connectionString, location, expected) {
231
+ super(errorString(connectionString, location, expected, false));
232
+ this.connectionString = connectionString;
233
+ this.location = location;
234
+ this.expected = expected;
235
+ utils_1.debug.connection(errorString(connectionString, location, expected, true));
236
+ }
237
+ }
238
+ //# sourceMappingURL=parseConnectionString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseConnectionString.js","sourceRoot":"","sources":["../../src/Client/parseConnectionString.ts"],"names":[],"mappings":";;;AAAA,4CAA2E;AAE3E,oCAAiC;AA2BjC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAEhD,yGAAyG;AACzG,MAAM,OAAO,GAAG,CAAmB,OAAwB,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAI,OAAO,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CACvD,CAAC;IAEF,SAAS,KAAK,CAAC,KAAa;QAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE1B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,OAAO,CAAiB;IAClD,CAAC,kBAAM,CAAC,EAAE,kBAAM;IAChB,CAAC,oBAAQ,CAAC,EAAE,oBAAQ;IACpB,CAAC,6BAAiB,CAAC,EAAE,6BAAiB;IACtC,CAAC,kBAAM,CAAC,EAAE,kBAAM;CACjB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,OAAO,CAAqB;IACnD,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,mBAAmB,EAAE,qBAAqB;IAC1C,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;CACrC,CAAC,CAAC;AAEI,MAAM,qBAAqB,GAAG,CACnC,gBAAwB,EACL,EAAE,CACrB,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;IAC5D,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,EAAE;CACV,CAAC,CAAC;AANQ,QAAA,qBAAqB,yBAM7B;AAEL,MAAM,aAAa,GAAG,CACpB,gBAAwB,EACxB,QAAgB,EAChB,OAA0B,EACP,EAAE;IACrB,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,MAAM,QAAQ,GACZ,kGAAkG,CAAC;IACrG,MAAM,KAAK,GAAG,gBAAgB;SAC3B,SAAS,CAAC,QAAQ,CAAC;SACnB,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACpC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CACV,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,QAAQ,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC;YACjB,KAAK,KAAK,CAAC;YACX,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,EAAE;oBACtD,GAAG,OAAO;oBACV,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,eAAe,CAAC;YACrB,KAAK,oBAAoB,CAAC;YAC1B,KAAK,cAAc,CAAC;YACpB,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,EAAE;oBACtD,GAAG,OAAO;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,gBAAwB,EACxB,QAAgB,EAChB,OAA0B,EACP,EAAE;IACrB,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,MAAM,QAAQ,GAAG,mBAAmB,CAAC;IACrC,MAAM,KAAK,GAAG,gBAAgB;SAC3B,SAAS,CAAC,QAAQ,CAAC;SACnB,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAE9C,mBAAmB;IACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,UAAU,CAAC,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC9B,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxE,OAAO,UAAU,CACf,gBAAgB,EAChB,YAAY,EACZ;YACE,GAAG,OAAO;YACV,kBAAkB,EAAE;gBAClB,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;aACvC;SACF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,gBAAwB,EACxB,QAAgB,EAChB,OAA0B,EAC1B,SAAkB,EACC,EAAE;IACrB,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,KAAK,GAAG,gBAAgB;SAC3B,SAAS,CAAC,QAAQ,CAAC;SACnB,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAE5D,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAChC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEhC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK;aAC/C,MAAO,CAAC,IAAI,CAAC,IAAI,EAAE;aACnB,KAAK,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,UAAU,CAClB,gBAAgB,EAChB,CAAC,QAAQ,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EACzD,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,UAAU,CAClB,gBAAgB,EAChB,CAAC,QAAQ,GAAG,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/C,aAAa,CACd,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CACf,gBAAgB,EAChB,YAAY,EACZ;YACE,GAAG,OAAO;YACV,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC7C,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,gBAAwB,EACxB,QAAgB,EAChB,OAA0B,EAC1B,KAAc,EACK,EAAE;IACrB,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAEzD,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACjD,MAAM,KAAK,GAAG,gBAAgB;SAC3B,SAAS,CAAC,QAAQ,CAAC;SACnB,KAAK,CACJ,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,kCAAkC,CAAC,CACxE,CAAC;IAEJ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxE,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhC,MAAM,OAAO,GAAG,kBAAkB,CAChC,KAAK,CAAC,MAAoB,EAC1B,gBAAgB,EAChB,CAAC,QAAQ,EAAE,YAAY,CAAC,CACzB,CAAC;IAEF,OAAO,iBAAiB,CACtB,gBAAgB,EAChB,YAAY,EACZ,OAAO;QACL,CAAC,CAAC;YACE,GAAG,OAAO;YACV,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK;SAC7B;QACH,CAAC,CAAC,OAAO,EACX,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAaF,MAAM,kBAAkB,GAAG,CACzB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAc,EAC5C,gBAAwB,EACxB,CAAC,IAAI,EAAE,EAAE,CAAkB,EACN,EAAE;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC;IAC5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,GAAG,KAAK,eAAe,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CACV;YACE,qFAAqF;YACrF,kBAAkB;YAClB,mDAAmD;YACnD,8FAA8F;YAC9F,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAE/C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,UAAU,CAClB,gBAAgB,EAChB,CAAC,OAAO,EAAE,EAAE,CAAC,EACb,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAC1C,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACrC,CAAC;QACD,KAAK,gBAAgB,CAAC;QACtB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,CAAC;QACD,KAAK,qBAAqB,CAAC;QAC3B,KAAK,iBAAiB,CAAC;QACvB,KAAK,mBAAmB,CAAC;QACzB,KAAK,eAAe,CAAC;QACrB,KAAK,mBAAmB,CAAC;QACzB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACrC,CAAC;QACD,KAAK,aAAa,CAAC;QACnB,KAAK,KAAK,CAAC;QACX,KAAK,eAAe,CAAC;QACrB,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CACV;QACE,uBAAuB,GAAG,6BAA6B;QACvD,mBAAmB,CAAC,gBAAgB,EAAE;YACpC,IAAI,GAAG,GAAG,CAAC,MAAM;YACjB,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,MAAM;SACxB,CAAC;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,gBAAwB,EACxB,CAAC,IAAI,EAAE,EAAE,CAAkB,EAC3B,QAAgB,EAChB,IAAa,EACL,EAAE;IACV,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,CAAC,IAAI,CACR,eAAe,gBAAgB,CAAC,SAAS,CACvC,IAAI,EACJ,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5B,iBAAiB,IAAI,cAAc,QAAQ,GAAG,CAChD,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,gBAAwB,EACxB,CAAC,IAAI,EAAE,EAAE,CAAkB,EACnB,EAAE;IACV,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,UAAW,SAAQ,KAAK;IACrB,gBAAgB,CAAS;IACzB,QAAQ,CAAkB;IAC1B,QAAQ,CAAS;IAExB,YACE,gBAAwB,EACxB,QAAyB,EACzB,QAAgB;QAEhB,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,aAAK,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ export declare const ANY = "any";
2
+ export declare const STREAM_EXISTS = "stream_exists";
3
+ export declare const NO_STREAM = "no_stream";
4
+ export declare const START = "start";
5
+ export declare const END = "end";
6
+ export declare const FORWARDS = "forwards";
7
+ export declare const BACKWARDS = "backwards";
8
+ export declare const RANDOM = "random";
9
+ export declare const FOLLOWER = "follower";
10
+ export declare const LEADER = "leader";
11
+ export declare const READ_ONLY_REPLICA = "read_only_replica";
12
+ export declare const DISPATCH_TO_SINGLE = "DispatchToSingle";
13
+ export declare const ROUND_ROBIN = "RoundRobin";
14
+ export declare const PINNED = "Pinned";
15
+ export declare const PARK = "park";
16
+ export declare const RETRY = "retry";
17
+ export declare const SKIP = "skip";
18
+ export declare const STOP = "stop";
19
+ export declare const CREATING = "Creating";
20
+ export declare const LOADING = "Loading";
21
+ export declare const LOADED = "Loaded";
22
+ export declare const PREPARING = "Preparing";
23
+ export declare const PREPARED = "Prepared";
24
+ export declare const STARTING = "Starting";
25
+ export declare const LOADING_STOPPED = "LoadingStopped";
26
+ export declare const RUNNING = "Running";
27
+ export declare const STOPPING = "Stopping";
28
+ export declare const ABORTING = "Aborting";
29
+ export declare const STOPPED = "Stopped";
30
+ export declare const COMPLETED = "Completed";
31
+ export declare const ABORTED = "Aborted";
32
+ export declare const FAULTED = "Faulted";
33
+ export declare const DELETING = "Deleting";
34
+ export declare const PAUSED = "Paused";
35
+ export declare const WRITING_RESULTS = "Writing results";
36
+ export declare const STREAM_NAME = "streamName";
37
+ export declare const EVENT_TYPE = "eventType";
38
+ export declare const UNBOUNDED = "unbounded";
39
+ /**
40
+ * A stream containing links pointing to each stream in the KurrentDB.
41
+ */
42
+ export declare const STREAMS_STREAM = "$streams";
43
+ /**
44
+ * A stream containing system settings.
45
+ */
46
+ export declare const SETTINGS_STREAM = "$settings";
47
+ /**
48
+ * A stream containing statistics.
49
+ */
50
+ export declare const STATS_STREAM_PREFIX = "$stats";
51
+ /**
52
+ * The user default acl stream.
53
+ */
54
+ export declare const USER_STREAM_ACL = "$userStreamAcl";
55
+ /**
56
+ * The system stream defaults acl stream.
57
+ */
58
+ export declare const SYSTEM_STREAM_ACL = "$systemStreamAcl";
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SYSTEM_STREAM_ACL = exports.USER_STREAM_ACL = exports.STATS_STREAM_PREFIX = exports.SETTINGS_STREAM = exports.STREAMS_STREAM = exports.UNBOUNDED = exports.EVENT_TYPE = exports.STREAM_NAME = exports.WRITING_RESULTS = exports.PAUSED = exports.DELETING = exports.FAULTED = exports.ABORTED = exports.COMPLETED = exports.STOPPED = exports.ABORTING = exports.STOPPING = exports.RUNNING = exports.LOADING_STOPPED = exports.STARTING = exports.PREPARED = exports.PREPARING = exports.LOADED = exports.LOADING = exports.CREATING = exports.STOP = exports.SKIP = exports.RETRY = exports.PARK = exports.PINNED = exports.ROUND_ROBIN = exports.DISPATCH_TO_SINGLE = exports.READ_ONLY_REPLICA = exports.LEADER = exports.FOLLOWER = exports.RANDOM = exports.BACKWARDS = exports.FORWARDS = exports.END = exports.START = exports.NO_STREAM = exports.STREAM_EXISTS = exports.ANY = void 0;
4
+ // revision
5
+ exports.ANY = "any";
6
+ exports.STREAM_EXISTS = "stream_exists";
7
+ exports.NO_STREAM = "no_stream";
8
+ // known positions / revisions
9
+ exports.START = "start";
10
+ exports.END = "end";
11
+ // directions
12
+ exports.FORWARDS = "forwards";
13
+ exports.BACKWARDS = "backwards";
14
+ // node Preference
15
+ exports.RANDOM = "random";
16
+ exports.FOLLOWER = "follower";
17
+ exports.LEADER = "leader";
18
+ exports.READ_ONLY_REPLICA = "read_only_replica";
19
+ // consumer strategy
20
+ exports.DISPATCH_TO_SINGLE = "DispatchToSingle";
21
+ exports.ROUND_ROBIN = "RoundRobin";
22
+ exports.PINNED = "Pinned";
23
+ // persistent action
24
+ exports.PARK = "park";
25
+ exports.RETRY = "retry";
26
+ exports.SKIP = "skip";
27
+ exports.STOP = "stop";
28
+ // projection status
29
+ exports.CREATING = "Creating";
30
+ exports.LOADING = "Loading";
31
+ exports.LOADED = "Loaded";
32
+ exports.PREPARING = "Preparing";
33
+ exports.PREPARED = "Prepared";
34
+ exports.STARTING = "Starting";
35
+ exports.LOADING_STOPPED = "LoadingStopped";
36
+ exports.RUNNING = "Running";
37
+ exports.STOPPING = "Stopping";
38
+ exports.ABORTING = "Aborting";
39
+ exports.STOPPED = "Stopped";
40
+ exports.COMPLETED = "Completed";
41
+ exports.ABORTED = "Aborted";
42
+ exports.FAULTED = "Faulted";
43
+ exports.DELETING = "Deleting";
44
+ // processing status
45
+ exports.PAUSED = "Paused";
46
+ exports.WRITING_RESULTS = "Writing results";
47
+ // STOPPED
48
+ // filter
49
+ exports.STREAM_NAME = "streamName";
50
+ exports.EVENT_TYPE = "eventType";
51
+ // max subscriber count
52
+ exports.UNBOUNDED = "unbounded";
53
+ // system streams
54
+ /**
55
+ * A stream containing links pointing to each stream in the KurrentDB.
56
+ */
57
+ exports.STREAMS_STREAM = "$streams";
58
+ /**
59
+ * A stream containing system settings.
60
+ */
61
+ exports.SETTINGS_STREAM = "$settings";
62
+ /**
63
+ * A stream containing statistics.
64
+ */
65
+ exports.STATS_STREAM_PREFIX = "$stats";
66
+ // acl defaults
67
+ /**
68
+ * The user default acl stream.
69
+ */
70
+ exports.USER_STREAM_ACL = "$userStreamAcl";
71
+ /**
72
+ * The system stream defaults acl stream.
73
+ */
74
+ exports.SYSTEM_STREAM_ACL = "$systemStreamAcl";
75
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACE,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,8BAA8B;AACjB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,GAAG,GAAG,KAAK,CAAC;AAEzB,aAAa;AACA,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,kBAAkB;AACL,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,oBAAoB;AACP,QAAA,kBAAkB,GAAG,kBAAkB,CAAC;AACxC,QAAA,WAAW,GAAG,YAAY,CAAC;AAC3B,QAAA,MAAM,GAAG,QAAQ,CAAC;AAE/B,oBAAoB;AACP,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,IAAI,GAAG,MAAM,CAAC;AAE3B,oBAAoB;AACP,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,eAAe,GAAG,gBAAgB,CAAC;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,QAAQ,GAAG,UAAU,CAAC;AACtB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,oBAAoB;AACP,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACjD,UAAU;AAEV,SAAS;AACI,QAAA,WAAW,GAAG,YAAY,CAAC;AAC3B,QAAA,UAAU,GAAG,WAAW,CAAC;AAEtC,uBAAuB;AACV,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,iBAAiB;AAEjB;;GAEG;AACU,QAAA,cAAc,GAAG,UAAU,CAAC;AAEzC;;GAEG;AACU,QAAA,eAAe,GAAG,WAAW,CAAC;AAE3C;;GAEG;AACU,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,eAAe;AAEf;;GAEG;AACU,QAAA,eAAe,GAAG,gBAAgB,CAAC;AAChD;;GAEG;AACU,QAAA,iBAAiB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { BinaryEventType, EventData } from "../types";
2
+ export type BinaryEventOptions<E extends BinaryEventType> = E & {
3
+ /**
4
+ * The id to this event. By default, the id will be generated.
5
+ */
6
+ id?: string;
7
+ /**
8
+ * The binary data of the event.
9
+ */
10
+ data: Uint8Array | Buffer;
11
+ };
12
+ export declare const binaryEvent: <E extends BinaryEventType = {
13
+ type: string;
14
+ data: Uint8Array;
15
+ metadata?: unknown;
16
+ }>({ type, data, metadata, id, }: BinaryEventOptions<E>) => EventData<E>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.binaryEvent = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const convertMetadata_1 = require("./convertMetadata");
6
+ const binaryEvent = ({ type, data, metadata, id = (0, uuid_1.v4)(), }) => ({
7
+ id,
8
+ contentType: "application/octet-stream",
9
+ type,
10
+ data: Uint8Array.from(data),
11
+ metadata: (0, convertMetadata_1.convertMetadata)(metadata),
12
+ });
13
+ exports.binaryEvent = binaryEvent;
14
+ //# sourceMappingURL=binaryEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binaryEvent.js","sourceRoot":"","sources":["../../src/events/binaryEvent.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAIlC,uDAAoD;AAa7C,MAAM,WAAW,GAAG,CAA8C,EACvE,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,EAAE,GAAG,IAAA,SAAI,GAAE,GACW,EAAgB,EAAE,CACxC,CAAC;IACC,EAAE;IACF,WAAW,EAAE,0BAA0B;IACvC,IAAI;IACJ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,QAAQ,EAAE,IAAA,iCAAe,EAAgB,QAAQ,CAAC;CAClC,CAAA,CAAC;AAZR,QAAA,WAAW,eAYH"}
@@ -0,0 +1 @@
1
+ export declare const convertMetadata: <Metadata>(metadata?: Metadata | Buffer) => Metadata | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertMetadata = void 0;
4
+ const convertMetadata = (metadata) => {
5
+ if (Buffer.isBuffer(metadata)) {
6
+ return Uint8Array.from(metadata);
7
+ }
8
+ return metadata;
9
+ };
10
+ exports.convertMetadata = convertMetadata;
11
+ //# sourceMappingURL=convertMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertMetadata.js","sourceRoot":"","sources":["../../src/events/convertMetadata.ts"],"names":[],"mappings":";;;AAAO,MAAM,eAAe,GAAG,CAC7B,QAA4B,EACN,EAAE;IACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAwB,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
@@ -0,0 +1,2 @@
1
+ export * from "./binaryEvent";
2
+ export * from "./jsonEvent";
@@ -0,0 +1,19 @@
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("./binaryEvent"), exports);
18
+ __exportStar(require("./jsonEvent"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B"}
@@ -0,0 +1,8 @@
1
+ import type { EventData, JSONEventType } from "../types";
2
+ export type JSONEventOptions<E extends JSONEventType> = {
3
+ /**
4
+ * The id to this event. By default, the id will be generated.
5
+ */
6
+ id?: string;
7
+ } & E;
8
+ export declare const jsonEvent: <E extends JSONEventType>({ type, data, metadata, id, }: JSONEventOptions<E>) => EventData<E>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonEvent = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const convertMetadata_1 = require("./convertMetadata");
6
+ const jsonEvent = ({ type, data, metadata, id = (0, uuid_1.v4)(), }) => ({
7
+ id,
8
+ contentType: "application/json",
9
+ type,
10
+ data: data,
11
+ metadata: (0, convertMetadata_1.convertMetadata)(metadata),
12
+ });
13
+ exports.jsonEvent = jsonEvent;
14
+ //# sourceMappingURL=jsonEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonEvent.js","sourceRoot":"","sources":["../../src/events/jsonEvent.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAIlC,uDAAoD;AAS7C,MAAM,SAAS,GAAG,CAA0B,EACjD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,EAAE,GAAG,IAAA,SAAI,GAAE,GACS,EAAgB,EAAE,CACtC,CAAC;IACC,EAAE;IACF,WAAW,EAAE,kBAAkB;IAC/B,IAAI;IACJ,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAA,iCAAe,EAAgB,QAAQ,CAAC;CAClC,CAAA,CAAC;AAZR,QAAA,SAAS,aAYD"}
@@ -0,0 +1,13 @@
1
+ export * from "./persistentSubscription";
2
+ export * from "./projections";
3
+ export * from "./streams";
4
+ export { Client as KurrentDBClient, DNSClusterOptions, GossipClusterOptions, SingleNodeOptions, ChannelCredentialOptions, } from "./Client";
5
+ export * from "./events";
6
+ export * from "./constants";
7
+ export * from "./types";
8
+ export * from "./utils/filter";
9
+ export * from "./utils/CommandError";
10
+ export type { StreamMetadata, StreamACL } from "./streams/utils/streamMetadata";
11
+ export * from "./streams/utils/systemStreams";
12
+ export { PersistentSubscriptionToStreamSettings, PersistentSubscriptionToAllSettings, persistentSubscriptionToStreamSettingsFromDefaults, persistentSubscriptionToAllSettingsFromDefaults, } from "./persistentSubscription/utils/persistentSubscriptionSettings";
13
+ export type { ExtraStatisticsKey, PersistentSubscriptionConnectionInfo, PersistentSubscriptionToAllStats, PersistentSubscriptionToStreamStats, PersistentSubscriptionToAllInfo, PersistentSubscriptionToStreamInfo, } from "./persistentSubscription/utils/mapPersistentSubscriptionInfo";
package/dist/index.js ADDED
@@ -0,0 +1,32 @@
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
+ exports.persistentSubscriptionToAllSettingsFromDefaults = exports.persistentSubscriptionToStreamSettingsFromDefaults = exports.KurrentDBClient = void 0;
18
+ __exportStar(require("./persistentSubscription"), exports);
19
+ __exportStar(require("./projections"), exports);
20
+ __exportStar(require("./streams"), exports);
21
+ var Client_1 = require("./Client");
22
+ Object.defineProperty(exports, "KurrentDBClient", { enumerable: true, get: function () { return Client_1.Client; } });
23
+ __exportStar(require("./events"), exports);
24
+ __exportStar(require("./constants"), exports);
25
+ __exportStar(require("./types"), exports);
26
+ __exportStar(require("./utils/filter"), exports);
27
+ __exportStar(require("./utils/CommandError"), exports);
28
+ __exportStar(require("./streams/utils/systemStreams"), exports);
29
+ var persistentSubscriptionSettings_1 = require("./persistentSubscription/utils/persistentSubscriptionSettings");
30
+ Object.defineProperty(exports, "persistentSubscriptionToStreamSettingsFromDefaults", { enumerable: true, get: function () { return persistentSubscriptionSettings_1.persistentSubscriptionToStreamSettingsFromDefaults; } });
31
+ Object.defineProperty(exports, "persistentSubscriptionToAllSettingsFromDefaults", { enumerable: true, get: function () { return persistentSubscriptionSettings_1.persistentSubscriptionToAllSettingsFromDefaults; } });
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,gDAA8B;AAC9B,4CAA0B;AAE1B,mCAMkB;AALhB,yGAAA,MAAM,OAAmB;AAM3B,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AAExB,iDAA+B;AAC/B,uDAAqC;AAGrC,gEAA8C;AAC9C,gHAKuE;AAFrE,oKAAA,kDAAkD,OAAA;AAClD,iKAAA,+CAA+C,OAAA"}
@@ -0,0 +1,23 @@
1
+ import type { BaseOptions, Filter } from "../types";
2
+ import type { PersistentSubscriptionToAllSettings } from "./utils/persistentSubscriptionSettings";
3
+ export interface CreatePersistentSubscriptionToAllOptions extends BaseOptions {
4
+ /**
5
+ * Filters events or streams based upon a predicate.
6
+ */
7
+ filter?: Filter;
8
+ }
9
+ declare module "../Client" {
10
+ interface Client {
11
+ /**
12
+ * Creates a persistent subscription to all. Persistent subscriptions are special kind of subscription where the
13
+ * server remembers where the read offset is. This allows for many different modes of operations compared to a
14
+ * regular subscription where the client holds the read offset. The group name must be unique.
15
+ * Available from server version 21.10 onwards.
16
+ * @param groupName - A group name.
17
+ * @param settings - PersistentSubscription settings.
18
+ * @see {@link persistentSubscriptionToStreamSettingsFromDefaults}
19
+ * @param options - Command options.
20
+ */
21
+ createPersistentSubscriptionToAll(groupName: string, settings: PersistentSubscriptionToAllSettings, options?: CreatePersistentSubscriptionToAllOptions): Promise<void>;
22
+ }
23
+ }