@delali/sirannon-db 0.1.8 → 0.2.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 (71) hide show
  1. package/README.md +117 -989
  2. package/dist/backup-scheduler/index.d.ts +1 -1
  3. package/dist/backup-scheduler/index.mjs +2 -2
  4. package/dist/baseline-Br77Fnhb.d.ts +6 -0
  5. package/dist/{change-tracker-CbmaMO-N.d.ts → change-tracker-DKRVUC3l.d.ts} +5 -8
  6. package/dist/chunk-5NOIGN5Y.mjs +18 -0
  7. package/dist/chunk-67M7KAH6.mjs +90 -0
  8. package/dist/{chunk-GEZUUIKV.mjs → chunk-D7LAYTKN.mjs} +5 -2
  9. package/dist/{chunk-UXLAO6ZH.mjs → chunk-EBJXPQQO.mjs} +8 -3
  10. package/dist/{chunk-BNUTBHHH.mjs → chunk-FHWTZFI4.mjs} +1 -1
  11. package/dist/chunk-GVCNMPOS.mjs +130 -0
  12. package/dist/chunk-H237TXZW.mjs +1407 -0
  13. package/dist/{chunk-HHRMRFFR.mjs → chunk-H6PIVVDN.mjs} +353 -142
  14. package/dist/chunk-HR5CWTLC.mjs +661 -0
  15. package/dist/chunk-JU64Y7HM.mjs +299 -0
  16. package/dist/{chunk-CW6S3WL5.mjs → chunk-JZGINXTN.mjs} +7 -5
  17. package/dist/{chunk-CJLYFDP5.mjs → chunk-LFZ37BSX.mjs} +1 -1
  18. package/dist/chunk-LNY2VVHE.mjs +18 -0
  19. package/dist/chunk-NVQS53NT.mjs +665 -0
  20. package/dist/{chunk-H5AB6NIR.mjs → chunk-O7SLN3GI.mjs} +2 -15
  21. package/dist/chunk-OQVZBEBY.mjs +283 -0
  22. package/dist/{chunk-VLTICJOD.mjs → chunk-PIKHN33N.mjs} +1 -1
  23. package/dist/chunk-TJF5GZSV.mjs +187 -0
  24. package/dist/chunk-TUD5CJ76.mjs +126 -0
  25. package/dist/{chunk-YPYVQJ4C.mjs → chunk-UC3SCMIN.mjs} +9 -1
  26. package/dist/client/index.d.ts +216 -321
  27. package/dist/client/index.mjs +1192 -1342
  28. package/dist/client/topology.d.ts +61 -0
  29. package/dist/client/topology.mjs +682 -0
  30. package/dist/client-base-CLWmH5Ln.d.ts +234 -0
  31. package/dist/codegen/cli.d.ts +2 -0
  32. package/dist/codegen/cli.mjs +11 -0
  33. package/dist/codegen/index.d.ts +30 -0
  34. package/dist/codegen/index.mjs +5 -0
  35. package/dist/core/index.d.ts +37 -16
  36. package/dist/core/index.mjs +2322 -298
  37. package/dist/core/writer-worker.mjs +3 -3
  38. package/dist/{database-DuGp0Rtr.d.ts → database-BY0L5Q2n.d.ts} +59 -14
  39. package/dist/driver/better-sqlite3.d.ts +1 -1
  40. package/dist/driver/better-sqlite3.mjs +5 -5
  41. package/dist/driver/node.d.ts +1 -1
  42. package/dist/driver/node.mjs +5 -5
  43. package/dist/driver/wa-sqlite.d.ts +1 -136
  44. package/dist/{errors-5Nf5ZAEC.d.ts → errors-Bw5MdNCu.d.ts} +5 -1
  45. package/dist/file-migrations/index.d.ts +7 -5
  46. package/dist/file-migrations/index.mjs +42 -37
  47. package/dist/operation-registry-9DcvxcE5.d.ts +45 -0
  48. package/dist/primary-wins-DPAm2AKG.d.ts +61 -0
  49. package/dist/protocol-6KrSq2Hy.d.ts +66 -0
  50. package/dist/react/index.d.ts +20 -0
  51. package/dist/react/index.mjs +137 -0
  52. package/dist/replication/coordinator/etcd.d.ts +5 -3
  53. package/dist/replication/coordinator/etcd.mjs +554 -462
  54. package/dist/replication/index.d.ts +51 -105
  55. package/dist/replication/index.mjs +1415 -2061
  56. package/dist/server/index.d.ts +111 -87
  57. package/dist/server/index.mjs +1917 -489
  58. package/dist/server-options-1JHu8pid.d.ts +191 -0
  59. package/dist/{sirannon-4SspRvP5.d.ts → sirannon-DaQSyhbJ.d.ts} +7 -2
  60. package/dist/transport/grpc.d.ts +7 -4
  61. package/dist/transport/grpc.mjs +191 -97
  62. package/dist/transport/memory.d.ts +5 -134
  63. package/dist/transport/memory.mjs +3 -1
  64. package/dist/{types-BsjobKbl.d.ts → types-B7gmEsZW.d.ts} +8 -61
  65. package/dist/{types-BEu1I_9_.d.ts → types-BsVabqSI.d.ts} +1 -1
  66. package/dist/types-CL6piSnD.d.ts +43 -0
  67. package/dist/types-C_D8IhpO.d.ts +60 -0
  68. package/dist/{types-D_hQW1hr.d.ts → types-zhnRXrsb.d.ts} +55 -165
  69. package/package.json +44 -6
  70. package/dist/chunk-TKGHYWQ6.mjs +0 -35
  71. package/dist/types-D4p4UyDK.d.ts +0 -26
@@ -0,0 +1,61 @@
1
+ import { g as ReadConcernLevel } from '../types-zhnRXrsb.js';
2
+ import { T as Transport, D as DatabaseClient } from '../client-base-CLWmH5Ln.js';
3
+ import { C as ClientOptions } from '../server-options-1JHu8pid.js';
4
+ import '../types-CL6piSnD.js';
5
+ import '../operation-registry-9DcvxcE5.js';
6
+ import '../protocol-6KrSq2Hy.js';
7
+ import '../types-C_D8IhpO.js';
8
+
9
+ interface TopologyRouting {
10
+ _getReadEndpoint(databaseId?: string, readConcern?: ReadConcernLevel): Promise<string>;
11
+ _getWriteEndpoint(databaseId?: string): Promise<string>;
12
+ _getReadConcern(): ReadConcernLevel | undefined;
13
+ _usesCoordinatorDiscovery(): boolean;
14
+ _removeReplica(url: string): void;
15
+ _refreshClusterRouting(databaseId: string): Promise<void>;
16
+ _createTransportForEndpoint(url: string, databaseId: string): Transport;
17
+ }
18
+
19
+ interface TopologyAwareClientOptions extends ClientOptions {
20
+ endpoints?: string[];
21
+ primary?: string;
22
+ replicas?: string[];
23
+ readPreference?: 'primary' | 'replica' | 'nearest';
24
+ discovery?: 'static' | 'coordinator';
25
+ readConcern?: ReadConcernLevel;
26
+ }
27
+ declare class TopologyAwareClient extends DatabaseClient implements TopologyRouting {
28
+ private readonly baseUrl;
29
+ private readonly primaryUrl;
30
+ private readonly replicaUrls;
31
+ private readonly readPreference;
32
+ private readonly discovery;
33
+ private readonly readConcern;
34
+ private readonly starterEndpoints;
35
+ private readonly clusterRouting;
36
+ private readonly topologyTransports;
37
+ private latencies;
38
+ private latencyMeasuredAt;
39
+ private latencyMeasuring;
40
+ private readonly removedReplicas;
41
+ constructor(options: TopologyAwareClientOptions);
42
+ protected createTransport(databaseId: string): Transport;
43
+ _createTransportForEndpoint(url: string, databaseId: string): Transport;
44
+ protected resolveServerUrl(databaseId: string): Promise<string>;
45
+ _getReadEndpoint(databaseId?: string, readConcern?: ReadConcernLevel): Promise<string>;
46
+ private routedReadEndpoint;
47
+ _getWriteEndpoint(databaseId?: string): Promise<string>;
48
+ _getReadConcern(): ReadConcernLevel | undefined;
49
+ _usesCoordinatorDiscovery(): boolean;
50
+ _removeReplica(url: string): void;
51
+ _refreshClusterRouting(databaseId: string): Promise<void>;
52
+ private fetchClusterRouting;
53
+ private ensureClusterRouting;
54
+ private clusterDiscoveryCandidates;
55
+ private ensureLatencyMeasured;
56
+ private measureLatencies;
57
+ private unregisterTopologyTransport;
58
+ private notifyClusterRoutingChanged;
59
+ }
60
+
61
+ export { TopologyAwareClient, type TopologyAwareClientOptions };