@delali/sirannon-db 0.2.3-next.38 → 0.3.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 (41) hide show
  1. package/dist/backup/index.d.ts +5 -5
  2. package/dist/backup/index.mjs +4 -4
  3. package/dist/backup-scheduler/index.d.ts +58 -8
  4. package/dist/backup-scheduler/index.mjs +3 -2
  5. package/dist/{change-tracker-BLKRX8ic.d.ts → change-tracker-uG9gWvsY.d.ts} +1 -1
  6. package/dist/chunk-2QCPVE67.mjs +143 -0
  7. package/dist/{chunk-P53I2G6J.mjs → chunk-63VBFSCS.mjs} +2 -2
  8. package/dist/{chunk-CR6HTXSC.mjs → chunk-7SC2TZAS.mjs} +1 -1
  9. package/dist/chunk-DVS4QSIZ.mjs +124 -0
  10. package/dist/{chunk-IPDHHIG2.mjs → chunk-DXXCLTFF.mjs} +205 -45
  11. package/dist/{chunk-G7AXGAEA.mjs → chunk-OJQHM4MT.mjs} +202 -100
  12. package/dist/{chunk-KSYFFYAP.mjs → chunk-U445A3C4.mjs} +1 -70
  13. package/dist/{chunk-GJ6SX53Z.mjs → chunk-W77EEVOT.mjs} +4 -120
  14. package/dist/client/index.d.ts +8 -8
  15. package/dist/client/topology.d.ts +4 -4
  16. package/dist/{client-base-DldBgJWS.d.ts → client-base-C-B8u5Lm.d.ts} +2 -2
  17. package/dist/core/index.d.ts +9 -9
  18. package/dist/core/index.mjs +14 -5
  19. package/dist/{database-DSbJl-k5.d.ts → database-BlhUdJAO.d.ts} +7 -6
  20. package/dist/{database-backup-CliAhaEm.d.ts → database-backup-C090lMHc.d.ts} +2 -2
  21. package/dist/driver/better-sqlite3.d.ts +1 -1
  22. package/dist/driver/better-sqlite3.mjs +7 -6
  23. package/dist/driver/bun.d.ts +1 -1
  24. package/dist/driver/expo.d.ts +1 -1
  25. package/dist/driver/node.d.ts +1 -1
  26. package/dist/driver/node.mjs +7 -6
  27. package/dist/driver/wa-sqlite.d.ts +1 -1
  28. package/dist/file-migrations/index.d.ts +1 -1
  29. package/dist/{protocol-BK0Yxu5P.d.ts → protocol-QekTGoKn.d.ts} +1 -1
  30. package/dist/replication/index.d.ts +7 -7
  31. package/dist/{restore-options-O5gYlr3n.d.ts → restore-options-C9MW9gpm.d.ts} +1 -1
  32. package/dist/server/index.d.ts +9 -9
  33. package/dist/server/index.mjs +5 -4
  34. package/dist/{server-options-CFgBQDLz.d.ts → server-options-DeK6ZG8u.d.ts} +1 -1
  35. package/dist/{sirannon-Bo0PX2Cj.d.ts → sirannon-C9cTgFrw.d.ts} +2 -2
  36. package/dist/transport/grpc.d.ts +3 -3
  37. package/dist/transport/memory.d.ts +3 -3
  38. package/dist/{types-CL8uxXIV.d.ts → types-C1yBGTdx.d.ts} +2 -2
  39. package/dist/{types-CopTgHG3.d.ts → types-DApb7dvw.d.ts} +151 -5
  40. package/package.json +8 -7
  41. package/dist/chunk-GBM4AU24.mjs +0 -42
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@delali/sirannon-db",
3
3
  "type": "module",
4
- "version": "0.2.3-next.38",
4
+ "version": "0.3.0",
5
5
  "description": "A production-grade library that turns SQLite databases into a networked data layer with real-time subscriptions.",
6
6
  "author": "Delali (https://sondelali.com)",
7
7
  "license": "Apache-2.0",
@@ -38,6 +38,7 @@
38
38
  "test:coverage": "vitest run --coverage",
39
39
  "test:e2e": "vitest run --config vitest.e2e.config.ts",
40
40
  "test:failover": "vitest run --config vitest.failover.config.ts",
41
+ "test:large": "vitest run --config vitest.large.config.ts",
41
42
  "test:soak": "vitest run --config vitest.soak.config.ts",
42
43
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
43
44
  "lint": "biome check --error-on-warnings .",
@@ -209,11 +210,11 @@
209
210
  "vitest": "4.0.18"
210
211
  },
211
212
  "optionalDependencies": {
212
- "@delali/sirannon-vfs-darwin-arm64": "0.2.3-next.38",
213
- "@delali/sirannon-vfs-darwin-x64": "0.2.3-next.38",
214
- "@delali/sirannon-vfs-linux-arm64": "0.2.3-next.38",
215
- "@delali/sirannon-vfs-linux-x64": "0.2.3-next.38",
216
- "@delali/sirannon-vfs-win32-arm64": "0.2.3-next.38",
217
- "@delali/sirannon-vfs-win32-x64": "0.2.3-next.38"
213
+ "@delali/sirannon-vfs-darwin-arm64": "0.3.0",
214
+ "@delali/sirannon-vfs-darwin-x64": "0.3.0",
215
+ "@delali/sirannon-vfs-linux-arm64": "0.3.0",
216
+ "@delali/sirannon-vfs-linux-x64": "0.3.0",
217
+ "@delali/sirannon-vfs-win32-arm64": "0.3.0",
218
+ "@delali/sirannon-vfs-win32-x64": "0.3.0"
218
219
  }
219
220
  }
@@ -1,42 +0,0 @@
1
- import { SirannonError } from './chunk-PBRXXISQ.mjs';
2
-
3
- // src/core/backup/destination-deadline.ts
4
- var DEFAULT_DESTINATION_TIMEOUT_MS = 6e5;
5
- async function withinDeadline(operation, action, timeoutMs) {
6
- let timer = null;
7
- const deadline = new Promise((_, reject) => {
8
- timer = setTimeout(() => {
9
- reject(
10
- new SirannonError(
11
- `The destination did not ${action} within ${timeoutMs}ms, so the run stopped`,
12
- "BACKUP_DESTINATION_ERROR"
13
- )
14
- );
15
- }, timeoutMs);
16
- });
17
- try {
18
- return await Promise.race([operation, deadline]);
19
- } finally {
20
- if (timer) clearTimeout(timer);
21
- }
22
- }
23
- function destinationWithDeadline(destination, timeoutMs) {
24
- if (!Number.isFinite(timeoutMs) || timeoutMs < 0) {
25
- throw new SirannonError(
26
- `The destination deadline must be a number of milliseconds that is zero or above, and it was ${timeoutMs}`,
27
- "BACKUP_ERROR"
28
- );
29
- }
30
- if (timeoutMs === 0) return destination;
31
- const claim = destination.writePieceIfAbsent?.bind(destination);
32
- return {
33
- writePiece: (name, index, bytes) => withinDeadline(destination.writePiece(name, index, bytes), `store piece ${index} of '${name}'`, timeoutMs),
34
- ...claim ? {
35
- writePieceIfAbsent: (name, index, bytes) => withinDeadline(claim(name, index, bytes), `claim piece ${index} of '${name}'`, timeoutMs)
36
- } : {},
37
- readPiece: (name, index) => withinDeadline(destination.readPiece(name, index), `return piece ${index} of '${name}'`, timeoutMs),
38
- listPieces: (name) => withinDeadline(destination.listPieces(name), `list the pieces of '${name}'`, timeoutMs)
39
- };
40
- }
41
-
42
- export { DEFAULT_DESTINATION_TIMEOUT_MS, destinationWithDeadline };