@delali/sirannon-db 0.1.3 → 0.1.5

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 (51) hide show
  1. package/README.md +655 -80
  2. package/dist/backup-scheduler/index.d.ts +3 -0
  3. package/dist/backup-scheduler/index.mjs +2 -0
  4. package/dist/change-tracker-CFTQ9TSn.d.ts +89 -0
  5. package/dist/chunk-3MCMONVP.mjs +115 -0
  6. package/dist/chunk-74UN4DIE.mjs +14 -0
  7. package/dist/chunk-ER7ODTDA.mjs +23 -0
  8. package/dist/chunk-FB2U2Q3Y.mjs +21 -0
  9. package/dist/chunk-GS7T5YMI.mjs +51 -0
  10. package/dist/chunk-O7BHI3CF.mjs +90 -0
  11. package/dist/chunk-PXKAKK2V.mjs +124 -0
  12. package/dist/chunk-UTO3ZAFS.mjs +514 -0
  13. package/dist/chunk-UVMVN3OT.mjs +111 -0
  14. package/dist/client/index.d.ts +137 -44
  15. package/dist/client/index.mjs +726 -26
  16. package/dist/core/index.d.ts +32 -241
  17. package/dist/core/index.mjs +294 -568
  18. package/dist/database-BVY1GqE7.d.ts +95 -0
  19. package/dist/driver/better-sqlite3.d.ts +8 -0
  20. package/dist/driver/better-sqlite3.mjs +63 -0
  21. package/dist/driver/bun.mjs +61 -0
  22. package/dist/driver/expo.mjs +55 -0
  23. package/dist/driver/node.d.ts +8 -0
  24. package/dist/driver/node.mjs +60 -0
  25. package/dist/driver/wa-sqlite.d.ts +34 -0
  26. package/dist/driver/wa-sqlite.mjs +141 -0
  27. package/dist/errors-C00ed08Q.d.ts +101 -0
  28. package/dist/file-migrations/index.d.ts +16 -0
  29. package/dist/file-migrations/index.mjs +128 -0
  30. package/dist/index-CLdNrcPz.d.ts +16 -0
  31. package/dist/replication/coordinator/etcd.d.ts +44 -0
  32. package/dist/replication/coordinator/etcd.mjs +650 -0
  33. package/dist/replication/index.d.ts +491 -0
  34. package/dist/replication/index.mjs +3784 -0
  35. package/dist/server/index.d.ts +121 -54
  36. package/dist/server/index.mjs +347 -114
  37. package/dist/sirannon-Cd-lK6T0.d.ts +31 -0
  38. package/dist/transport/grpc.d.ts +316 -0
  39. package/dist/transport/grpc.mjs +3341 -0
  40. package/dist/transport/memory.d.ts +221 -0
  41. package/dist/transport/memory.mjs +337 -0
  42. package/dist/types-B2byqt0B.d.ts +273 -0
  43. package/dist/types-BEu1I_9_.d.ts +139 -0
  44. package/dist/types-BFSsG77t.d.ts +29 -0
  45. package/dist/types-BeozgNPr.d.ts +26 -0
  46. package/dist/{types-DArCObcu.d.ts → types-D-74JiXb.d.ts} +80 -1
  47. package/dist/vfs-INWQ5DTE.mjs +2 -0
  48. package/package.json +106 -11
  49. package/dist/chunk-VI4UP4RR.mjs +0 -417
  50. package/dist/protocol-BX1H-_Mz.d.ts +0 -104
  51. package/dist/sirannon-BJ8Yd1Uf.d.ts +0 -148
@@ -1,148 +0,0 @@
1
- import { Q as QueryHookContext, g as ConnectionHookContext, c as BeforeSubscribeHook, H as HookConfig, M as MetricsConfig, l as QueryMetrics, h as ConnectionMetrics, C as CDCMetrics, P as Params, E as ExecuteResult, D as DatabaseOptions, p as SubscriptionBuilder, B as BackupScheduleOptions, b as BeforeQueryHook, A as AfterQueryHook, n as SirannonOptions, a as BeforeConnectHook, k as DatabaseOpenHook, j as DatabaseCloseHook } from './types-DArCObcu.js';
2
- import Database$1 from 'better-sqlite3';
3
-
4
- type HookEvent = 'beforeQuery' | 'afterQuery' | 'beforeConnect' | 'databaseOpen' | 'databaseClose' | 'beforeSubscribe';
5
- type SubscribeHookContext = Parameters<BeforeSubscribeHook>[0];
6
- interface HookEventContextMap {
7
- beforeQuery: QueryHookContext;
8
- afterQuery: QueryHookContext & {
9
- durationMs: number;
10
- };
11
- beforeConnect: ConnectionHookContext;
12
- databaseOpen: ConnectionHookContext;
13
- databaseClose: ConnectionHookContext;
14
- beforeSubscribe: SubscribeHookContext;
15
- }
16
- type HookHandler<E extends HookEvent> = (ctx: HookEventContextMap[E]) => void | Promise<void>;
17
- type HookDispose = () => void;
18
-
19
- declare class HookRegistry {
20
- private hooks;
21
- constructor(config?: HookConfig);
22
- register<E extends HookEvent>(event: E, hook: HookHandler<E>): HookDispose;
23
- invoke<E extends HookEvent>(event: E, ctx: HookEventContextMap[E]): Promise<void>;
24
- invokeSync<E extends HookEvent>(event: E, ctx: HookEventContextMap[E]): void;
25
- has(event: HookEvent): boolean;
26
- count(event: HookEvent): number;
27
- clear(event?: HookEvent): void;
28
- private addHook;
29
- private loadConfig;
30
- }
31
-
32
- declare class MetricsCollector {
33
- private config;
34
- constructor(config?: MetricsConfig);
35
- trackQuery<T>(fn: () => T, context: Omit<QueryMetrics, 'durationMs' | 'error'>): T;
36
- trackConnection(metrics: ConnectionMetrics): void;
37
- trackCDCEvent(metrics: CDCMetrics): void;
38
- get active(): boolean;
39
- }
40
-
41
- type SqliteDb = InstanceType<typeof Database$1>;
42
- declare class Transaction {
43
- private readonly db;
44
- private _lastInsertRowId;
45
- constructor(db: SqliteDb);
46
- query<T = Record<string, unknown>>(sql: string, params?: Params): T[];
47
- execute(sql: string, params?: Params): ExecuteResult;
48
- executeBatch(sql: string, paramsBatch: Params[]): ExecuteResult[];
49
- get lastInsertRowId(): number | bigint;
50
- static run<T>(db: SqliteDb, fn: (tx: Transaction) => T): T;
51
- }
52
-
53
- interface AppliedMigration {
54
- version: number;
55
- name: string;
56
- applied_at: number;
57
- }
58
- interface Migration {
59
- version: number;
60
- name: string;
61
- up: string | ((tx: Transaction) => void);
62
- down?: string | ((tx: Transaction) => void);
63
- }
64
- interface AppliedMigrationEntry {
65
- version: number;
66
- name: string;
67
- }
68
- interface MigrationResult {
69
- applied: AppliedMigrationEntry[];
70
- skipped: number;
71
- }
72
- interface RollbackResult {
73
- rolledBack: AppliedMigrationEntry[];
74
- }
75
-
76
- interface DatabaseInternals {
77
- parentHooks?: HookRegistry;
78
- metrics?: MetricsCollector;
79
- }
80
- declare class Database {
81
- readonly id: string;
82
- readonly path: string;
83
- readonly readOnly: boolean;
84
- private readonly pool;
85
- private readonly closeListeners;
86
- private _closed;
87
- private changeTracker;
88
- private subscriptionManager;
89
- private stopCdcPolling;
90
- private readonly cdcPollInterval;
91
- private readonly cdcRetention;
92
- private readonly hookRegistry;
93
- private readonly parentHooks;
94
- private readonly metricsCollector;
95
- private readonly backupManager;
96
- private readonly backupScheduler;
97
- private readonly scheduledBackupCancellers;
98
- constructor(id: string, path: string, options?: DatabaseOptions, internals?: DatabaseInternals);
99
- query<T = Record<string, unknown>>(sql: string, params?: Params): T[];
100
- queryOne<T = Record<string, unknown>>(sql: string, params?: Params): T | undefined;
101
- execute(sql: string, params?: Params): ExecuteResult;
102
- executeBatch(sql: string, paramsBatch: Params[]): ExecuteResult[];
103
- transaction<T>(fn: (tx: Transaction) => T): T;
104
- watch(table: string): void;
105
- unwatch(table: string): void;
106
- on(table: string): SubscriptionBuilder;
107
- migrate(input: string | Migration[]): MigrationResult;
108
- rollback(input: string | Migration[], version?: number): RollbackResult;
109
- backup(destPath: string): void;
110
- scheduleBackup(options: BackupScheduleOptions): void;
111
- loadExtension(extensionPath: string): void;
112
- onBeforeQuery(hook: BeforeQueryHook): void;
113
- onAfterQuery(hook: AfterQueryHook): void;
114
- addCloseListener(fn: () => void): void;
115
- close(): void;
116
- get closed(): boolean;
117
- get readerCount(): number;
118
- private ensureOpen;
119
- private ensureCdc;
120
- private ensureCdcPolling;
121
- private stopCdcPollingLoop;
122
- private fireBeforeQueryHooks;
123
- private fireAfterQueryHooks;
124
- }
125
-
126
- declare class Sirannon {
127
- readonly options?: SirannonOptions | undefined;
128
- private readonly dbs;
129
- private _shutdown;
130
- private readonly hookRegistry;
131
- private readonly metricsCollector;
132
- private readonly lifecycleManager;
133
- constructor(options?: SirannonOptions | undefined);
134
- open(id: string, path: string, options?: DatabaseOptions): Database;
135
- close(id: string): void;
136
- get(id: string): Database | undefined;
137
- has(id: string): boolean;
138
- databases(): Map<string, Database>;
139
- shutdown(): void;
140
- onBeforeQuery(hook: BeforeQueryHook): void;
141
- onAfterQuery(hook: AfterQueryHook): void;
142
- onBeforeConnect(hook: BeforeConnectHook): void;
143
- onDatabaseOpen(hook: DatabaseOpenHook): void;
144
- onDatabaseClose(hook: DatabaseCloseHook): void;
145
- private ensureRunning;
146
- }
147
-
148
- export { type AppliedMigration as A, Database as D, type HookDispose as H, type Migration as M, type RollbackResult as R, Sirannon as S, Transaction as T, type MigrationResult as a, type AppliedMigrationEntry as b, type HookEvent as c, type HookEventContextMap as d, type HookHandler as e, HookRegistry as f, MetricsCollector as g, type SubscribeHookContext as h };