@delali/sirannon-db 0.1.7 → 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 (72) hide show
  1. package/README.md +117 -969
  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-DJLX6CAE.mjs → chunk-4ISB7XMA.mjs} +2 -1
  7. package/dist/chunk-5NOIGN5Y.mjs +18 -0
  8. package/dist/chunk-67M7KAH6.mjs +90 -0
  9. package/dist/{chunk-GEZUUIKV.mjs → chunk-D7LAYTKN.mjs} +5 -2
  10. package/dist/{chunk-4IGMIJQK.mjs → chunk-EBJXPQQO.mjs} +59 -20
  11. package/dist/{chunk-BNUTBHHH.mjs → chunk-FHWTZFI4.mjs} +1 -1
  12. package/dist/chunk-GVCNMPOS.mjs +130 -0
  13. package/dist/chunk-H237TXZW.mjs +1407 -0
  14. package/dist/{chunk-HHRMRFFR.mjs → chunk-H6PIVVDN.mjs} +353 -142
  15. package/dist/chunk-HR5CWTLC.mjs +661 -0
  16. package/dist/chunk-JU64Y7HM.mjs +299 -0
  17. package/dist/{chunk-CW6S3WL5.mjs → chunk-JZGINXTN.mjs} +7 -5
  18. package/dist/{chunk-CJLYFDP5.mjs → chunk-LFZ37BSX.mjs} +1 -1
  19. package/dist/chunk-LNY2VVHE.mjs +18 -0
  20. package/dist/chunk-NVQS53NT.mjs +665 -0
  21. package/dist/{chunk-H5AB6NIR.mjs → chunk-O7SLN3GI.mjs} +2 -15
  22. package/dist/chunk-OQVZBEBY.mjs +283 -0
  23. package/dist/{chunk-VLTICJOD.mjs → chunk-PIKHN33N.mjs} +1 -1
  24. package/dist/chunk-TJF5GZSV.mjs +187 -0
  25. package/dist/chunk-TUD5CJ76.mjs +126 -0
  26. package/dist/{chunk-YPYVQJ4C.mjs → chunk-UC3SCMIN.mjs} +9 -1
  27. package/dist/client/index.d.ts +216 -321
  28. package/dist/client/index.mjs +1192 -1342
  29. package/dist/client/topology.d.ts +61 -0
  30. package/dist/client/topology.mjs +682 -0
  31. package/dist/client-base-CLWmH5Ln.d.ts +234 -0
  32. package/dist/codegen/cli.d.ts +2 -0
  33. package/dist/codegen/cli.mjs +11 -0
  34. package/dist/codegen/index.d.ts +30 -0
  35. package/dist/codegen/index.mjs +5 -0
  36. package/dist/core/index.d.ts +37 -16
  37. package/dist/core/index.mjs +2322 -298
  38. package/dist/core/writer-worker.mjs +28 -6
  39. package/dist/{database-DuGp0Rtr.d.ts → database-BY0L5Q2n.d.ts} +59 -14
  40. package/dist/driver/better-sqlite3.d.ts +1 -1
  41. package/dist/driver/better-sqlite3.mjs +6 -6
  42. package/dist/driver/node.d.ts +1 -1
  43. package/dist/driver/node.mjs +6 -6
  44. package/dist/driver/wa-sqlite.d.ts +1 -136
  45. package/dist/{errors-5Nf5ZAEC.d.ts → errors-Bw5MdNCu.d.ts} +5 -1
  46. package/dist/file-migrations/index.d.ts +7 -5
  47. package/dist/file-migrations/index.mjs +42 -37
  48. package/dist/operation-registry-9DcvxcE5.d.ts +45 -0
  49. package/dist/primary-wins-DPAm2AKG.d.ts +61 -0
  50. package/dist/protocol-6KrSq2Hy.d.ts +66 -0
  51. package/dist/react/index.d.ts +20 -0
  52. package/dist/react/index.mjs +137 -0
  53. package/dist/replication/coordinator/etcd.d.ts +5 -3
  54. package/dist/replication/coordinator/etcd.mjs +554 -462
  55. package/dist/replication/index.d.ts +51 -105
  56. package/dist/replication/index.mjs +1415 -2061
  57. package/dist/server/index.d.ts +111 -87
  58. package/dist/server/index.mjs +1917 -489
  59. package/dist/server-options-1JHu8pid.d.ts +191 -0
  60. package/dist/{sirannon-4SspRvP5.d.ts → sirannon-DaQSyhbJ.d.ts} +7 -2
  61. package/dist/transport/grpc.d.ts +7 -4
  62. package/dist/transport/grpc.mjs +191 -97
  63. package/dist/transport/memory.d.ts +5 -134
  64. package/dist/transport/memory.mjs +3 -1
  65. package/dist/{types-BsjobKbl.d.ts → types-B7gmEsZW.d.ts} +8 -61
  66. package/dist/{types-BEu1I_9_.d.ts → types-BsVabqSI.d.ts} +1 -1
  67. package/dist/types-CL6piSnD.d.ts +43 -0
  68. package/dist/types-C_D8IhpO.d.ts +60 -0
  69. package/dist/{types-D_hQW1hr.d.ts → types-zhnRXrsb.d.ts} +55 -165
  70. package/package.json +44 -6
  71. package/dist/chunk-TKGHYWQ6.mjs +0 -35
  72. 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 };