@livestore/sqlite-wasm 0.4.0-dev.22 → 0.4.0-dev.24

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 (79) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/FacadeVFS.d.ts +0 -1
  4. package/dist/FacadeVFS.d.ts.map +1 -1
  5. package/dist/FacadeVFS.js +9 -14
  6. package/dist/FacadeVFS.js.map +1 -1
  7. package/dist/browser/mod.d.ts +2 -2
  8. package/dist/browser/mod.d.ts.map +1 -1
  9. package/dist/browser/mod.js +2 -2
  10. package/dist/browser/mod.js.map +1 -1
  11. package/dist/browser/opfs/AccessHandlePoolVFS.d.ts.map +1 -1
  12. package/dist/browser/opfs/AccessHandlePoolVFS.js +15 -13
  13. package/dist/browser/opfs/AccessHandlePoolVFS.js.map +1 -1
  14. package/dist/browser/opfs/opfs-sah-pool.js +3 -3
  15. package/dist/browser/opfs/opfs-sah-pool.js.map +1 -1
  16. package/dist/cf/CloudflareDurableObjectVFS.d.ts +104 -0
  17. package/dist/cf/CloudflareDurableObjectVFS.d.ts.map +1 -0
  18. package/dist/cf/CloudflareDurableObjectVFS.js +281 -0
  19. package/dist/cf/CloudflareDurableObjectVFS.js.map +1 -0
  20. package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -1
  21. package/dist/cf/CloudflareWorkerVFS.js +29 -28
  22. package/dist/cf/CloudflareWorkerVFS.js.map +1 -1
  23. package/dist/cf/mod.d.ts +3 -4
  24. package/dist/cf/mod.d.ts.map +1 -1
  25. package/dist/cf/mod.js +4 -12
  26. package/dist/cf/mod.js.map +1 -1
  27. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +5 -4
  28. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -1
  29. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +3 -3
  30. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -1
  31. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +3 -3
  32. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -1
  33. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +3 -3
  34. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -1
  35. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +194 -179
  36. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -1
  37. package/dist/in-memory-vfs.d.ts.map +1 -1
  38. package/dist/in-memory-vfs.js +0 -1
  39. package/dist/in-memory-vfs.js.map +1 -1
  40. package/dist/load-wasm/mod.node.js +1 -1
  41. package/dist/load-wasm/mod.node.js.map +1 -1
  42. package/dist/load-wasm/mod.workerd.d.ts.map +1 -1
  43. package/dist/load-wasm/mod.workerd.js.map +1 -1
  44. package/dist/make-sqlite-db.d.ts.map +1 -1
  45. package/dist/make-sqlite-db.js +16 -4
  46. package/dist/make-sqlite-db.js.map +1 -1
  47. package/dist/node/NodeFS.d.ts.map +1 -1
  48. package/dist/node/NodeFS.js +13 -13
  49. package/dist/node/NodeFS.js.map +1 -1
  50. package/package.json +54 -15
  51. package/src/FacadeVFS.ts +9 -14
  52. package/src/browser/mod.ts +1 -1
  53. package/src/browser/opfs/AccessHandlePoolVFS.ts +33 -25
  54. package/src/browser/opfs/opfs-sah-pool.ts +3 -3
  55. package/src/cf/CloudflareDurableObjectVFS.ts +325 -0
  56. package/src/cf/CloudflareWorkerVFS.ts +41 -39
  57. package/src/cf/README.md +3 -3
  58. package/src/cf/mod.ts +10 -15
  59. package/src/cf/test/README.md +55 -26
  60. package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +6 -4
  61. package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +4 -3
  62. package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +4 -3
  63. package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +4 -3
  64. package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +228 -197
  65. package/src/in-memory-vfs.ts +0 -1
  66. package/src/load-wasm/mod.node.ts +1 -1
  67. package/src/load-wasm/mod.workerd.ts +0 -1
  68. package/src/make-sqlite-db.ts +24 -4
  69. package/src/node/NodeFS.ts +24 -23
  70. package/dist/cf/BlockManager.d.ts +0 -61
  71. package/dist/cf/BlockManager.d.ts.map +0 -1
  72. package/dist/cf/BlockManager.js +0 -157
  73. package/dist/cf/BlockManager.js.map +0 -1
  74. package/dist/cf/CloudflareSqlVFS.d.ts +0 -51
  75. package/dist/cf/CloudflareSqlVFS.d.ts.map +0 -1
  76. package/dist/cf/CloudflareSqlVFS.js +0 -351
  77. package/dist/cf/CloudflareSqlVFS.js.map +0 -1
  78. package/src/cf/BlockManager.ts +0 -225
  79. package/src/cf/CloudflareSqlVFS.ts +0 -450
@@ -1 +1 @@
1
- {"version":3,"file":"mod.workerd.d.ts","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,0BAoB3B,CAAA"}
1
+ {"version":3,"file":"mod.workerd.d.ts","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,0BAoB3B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mod.workerd.js","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,eAAe,MAAM,yCAAyC,CAAA;AAErE,+CAA+C;AAC/C,OAAO,IAAI,MAAM,0CAA0C,CAAA;AAE3D,sHAAsH;AACtH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,2EAA2E;IAC3E,kGAAkG;IAClG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,eAAe,EAAE,CAAC,IAAS,EAAE,eAAoB,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACrD,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC/B,OAAO,QAAQ,CAAC,OAAO,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;gBACnD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"mod.workerd.js","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,eAAe,MAAM,yCAAyC,CAAA;AACrE,+CAA+C;AAC/C,OAAO,IAAI,MAAM,0CAA0C,CAAA;AAE3D,sHAAsH;AACtH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,2EAA2E;IAC3E,kGAAkG;IAClG,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,eAAe,EAAE,CAAC,IAAS,EAAE,eAAoB,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACrD,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC/B,OAAO,QAAQ,CAAC,OAAO,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;gBACnD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,QAAQ,EAET,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;CAC/C,EACD,wBAGC;IACD,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB,KAAG,QAAQ,CAAC,SAAS,CA8OrB,CAAA"}
1
+ {"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,QAAQ,EAET,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKrD,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;CAC/C,EACD,wBAGC;IACD,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB,KAAG,QAAQ,CAAC,SAAS,CAiQrB,CAAA"}
@@ -27,7 +27,7 @@ export const makeSqliteDb = ({ sqlite3, metadata, }) => {
27
27
  sqlite3.step(stmt);
28
28
  }
29
29
  finally {
30
- if (options?.onRowsChanged) {
30
+ if (options?.onRowsChanged !== undefined) {
31
31
  options.onRowsChanged(sqlite3.changes(dbPointer));
32
32
  }
33
33
  sqlite3.reset(stmt); // Reset is needed for next execution
@@ -79,7 +79,7 @@ export const makeSqliteDb = ({ sqlite3, metadata, }) => {
79
79
  },
80
80
  finalize: () => {
81
81
  // Avoid double finalization which leads to a crash
82
- if (isFinalized) {
82
+ if (isFinalized === true) {
83
83
  return;
84
84
  }
85
85
  isFinalized = true;
@@ -117,7 +117,7 @@ export const makeSqliteDb = ({ sqlite3, metadata, }) => {
117
117
  metadata.deleteDb();
118
118
  },
119
119
  close: () => {
120
- if (isClosed) {
120
+ if (isClosed === true) {
121
121
  return;
122
122
  }
123
123
  for (const stmt of preparedStmts) {
@@ -195,7 +195,19 @@ export const makeSqliteDb = ({ sqlite3, metadata, }) => {
195
195
  },
196
196
  apply: () => {
197
197
  try {
198
- sqlite3.changeset_apply(dbPointer, data);
198
+ sqlite3.changeset_apply(dbPointer, data, null, (eConflict) => {
199
+ // During rollback we apply inverted changesets to undo local events
200
+ // before replaying them on top of remote state. We want the undo to
201
+ // succeed unconditionally: if the row was already changed by another
202
+ // tab (DATA) or reinserted (CONFLICT), force-overwrite it. For
203
+ // NOTFOUND, CONSTRAINT, and FOREIGN_KEY the row is already gone or
204
+ // can't be replaced, so we skip.
205
+ if (eConflict === SqliteConstants.SQLITE_CHANGESET_DATA ||
206
+ eConflict === SqliteConstants.SQLITE_CHANGESET_CONFLICT) {
207
+ return SqliteConstants.SQLITE_CHANGESET_REPLACE;
208
+ }
209
+ return SqliteConstants.SQLITE_CHANGESET_OMIT;
210
+ });
199
211
  // @ts-expect-error data should be garbage collected after use
200
212
  // biome-ignore lint/style/noParameterAssign: ...
201
213
  data = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFS.d.ts","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAO,CAAC,WAAW,CAAgC;IAEnD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBACtB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM;IAMxE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAmCvF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAoB9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAe/E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB9B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAcpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAahD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAc7C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAYjE,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAG1B"}
1
+ {"version":3,"file":"NodeFS.d.ts","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAO,CAAC,WAAW,CAAgC;IAEnD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBACtB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM;IAM/D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAoCvF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAoB9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAe/E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB9B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAcpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAahD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAc7C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAY1E,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAG1B"}
@@ -18,19 +18,19 @@ export class NodeFS extends FacadeVFS {
18
18
  }
19
19
  jOpen(zName, fileId, flags, pOutFlags) {
20
20
  try {
21
- const pathname = zName ? path.resolve(this.directory, zName) : Math.random().toString(36).slice(2);
21
+ const pathname = zName !== null && zName !== '' ? path.resolve(this.directory, zName) : Math.random().toString(36).slice(2);
22
22
  const file = { pathname, flags, fileHandle: null };
23
23
  this.mapIdToFile.set(fileId, file);
24
24
  const create = !!(flags & VFS.SQLITE_OPEN_CREATE);
25
25
  const readwrite = !!(flags & VFS.SQLITE_OPEN_READWRITE);
26
26
  // Convert SQLite flags to Node.js flags
27
27
  let fsFlags = 'r';
28
- if (create && readwrite) {
28
+ if (create === true && readwrite === true) {
29
29
  // Check if file exists first
30
30
  const exists = fs.existsSync(pathname);
31
- fsFlags = exists ? 'r+' : 'w+'; // Use r+ for existing files, w+ only for new files
31
+ fsFlags = exists === true ? 'r+' : 'w+'; // Use r+ for existing files, w+ only for new files
32
32
  }
33
- else if (readwrite) {
33
+ else if (readwrite === true) {
34
34
  fsFlags = 'r+'; // Open file for reading and writing
35
35
  }
36
36
  try {
@@ -39,7 +39,7 @@ export class NodeFS extends FacadeVFS {
39
39
  return VFS.SQLITE_OK;
40
40
  }
41
41
  catch (err) {
42
- if (err.code === 'ENOENT' && !create) {
42
+ if (err.code === 'ENOENT' && create == null) {
43
43
  return VFS.SQLITE_CANTOPEN;
44
44
  }
45
45
  throw err;
@@ -53,7 +53,7 @@ export class NodeFS extends FacadeVFS {
53
53
  jRead(fileId, pData, iOffset) {
54
54
  try {
55
55
  const file = this.mapIdToFile.get(fileId);
56
- if (!file?.fileHandle)
56
+ if (file?.fileHandle == null)
57
57
  return VFS.SQLITE_IOERR_READ;
58
58
  // const view = new DataView(pData.buffer, pData.byteOffset, pData.length)
59
59
  // const bytesRead = fs.readSync(file.fileHandle, view, 0, pData.length, iOffset)
@@ -72,7 +72,7 @@ export class NodeFS extends FacadeVFS {
72
72
  jWrite(fileId, pData, iOffset) {
73
73
  try {
74
74
  const file = this.mapIdToFile.get(fileId);
75
- if (!file?.fileHandle)
75
+ if (file?.fileHandle == null)
76
76
  return VFS.SQLITE_IOERR_WRITE;
77
77
  // const view = new DataView(pData.buffer, pData.byteOffset, pData.length)
78
78
  // fs.writeSync(file.fileHandle, view, 0, pData.length, iOffset)
@@ -87,13 +87,13 @@ export class NodeFS extends FacadeVFS {
87
87
  jClose(fileId) {
88
88
  try {
89
89
  const file = this.mapIdToFile.get(fileId);
90
- if (!file)
90
+ if (file == null)
91
91
  return VFS.SQLITE_OK;
92
92
  this.mapIdToFile.delete(fileId);
93
93
  if (file.fileHandle !== null) {
94
94
  fs.closeSync(file.fileHandle);
95
95
  }
96
- if (file.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) {
96
+ if ((file.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0) {
97
97
  fs.unlinkSync(file.pathname);
98
98
  }
99
99
  return VFS.SQLITE_OK;
@@ -106,7 +106,7 @@ export class NodeFS extends FacadeVFS {
106
106
  jFileSize(fileId, pSize64) {
107
107
  try {
108
108
  const file = this.mapIdToFile.get(fileId);
109
- if (!file?.fileHandle)
109
+ if (file?.fileHandle == null)
110
110
  return VFS.SQLITE_IOERR_FSTAT;
111
111
  const stats = fs.fstatSync(file.fileHandle);
112
112
  pSize64.setBigInt64(0, BigInt(stats.size), true);
@@ -120,7 +120,7 @@ export class NodeFS extends FacadeVFS {
120
120
  jTruncate(fileId, iSize) {
121
121
  try {
122
122
  const file = this.mapIdToFile.get(fileId);
123
- if (!file?.fileHandle)
123
+ if (file?.fileHandle == null)
124
124
  return VFS.SQLITE_IOERR_TRUNCATE;
125
125
  fs.ftruncateSync(file.fileHandle, iSize);
126
126
  return VFS.SQLITE_OK;
@@ -133,7 +133,7 @@ export class NodeFS extends FacadeVFS {
133
133
  jSync(fileId, _flags) {
134
134
  try {
135
135
  const file = this.mapIdToFile.get(fileId);
136
- if (!file?.fileHandle)
136
+ if (file?.fileHandle == null)
137
137
  return VFS.SQLITE_OK;
138
138
  // TODO do this out of band (for now we disable it to speed up the node vfs)
139
139
  // fs.fsyncSync(file.fileHandle)
@@ -159,7 +159,7 @@ export class NodeFS extends FacadeVFS {
159
159
  try {
160
160
  const pathname = path.resolve(this.directory, zName);
161
161
  const exists = fs.existsSync(pathname);
162
- pResOut.setInt32(0, exists ? 1 : 0, true);
162
+ pResOut.setInt32(0, exists === true ? 1 : 0, true);
163
163
  return VFS.SQLITE_OK;
164
164
  }
165
165
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,18 @@
1
1
  {
2
2
  "name": "@livestore/sqlite-wasm",
3
- "version": "0.4.0-dev.22",
3
+ "version": "0.4.0-dev.24",
4
+ "license": "Apache-2.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/livestorejs/livestore.git"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "package.json",
12
+ "src"
13
+ ],
4
14
  "type": "module",
15
+ "sideEffects": false,
5
16
  "exports": {
6
17
  ".": {
7
18
  "types": "./dist/index.d.ts",
@@ -28,28 +39,56 @@
28
39
  "default": "./dist/browser/mod.js"
29
40
  }
30
41
  },
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
31
45
  "dependencies": {
32
46
  "@cloudflare/workers-types": "4.20251118.0",
33
- "@livestore/common": "0.4.0-dev.22",
34
- "@livestore/utils": "0.4.0-dev.22",
35
- "@livestore/common-cf": "0.4.0-dev.22",
36
- "@livestore/wa-sqlite": "0.4.0-dev.22"
47
+ "@livestore/common": "^0.4.0-dev.24",
48
+ "@livestore/common-cf": "^0.4.0-dev.24",
49
+ "@livestore/wa-sqlite": "^0.4.0-dev.24",
50
+ "@livestore/utils": "^0.4.0-dev.24"
37
51
  },
38
52
  "devDependencies": {
39
53
  "@types/chrome": "0.1.4",
40
- "@types/node": "24.10.1",
41
- "@types/wicg-file-system-access": "^2023.10.6",
54
+ "@types/node": "25.3.3",
55
+ "@types/wicg-file-system-access": "2023.10.6",
42
56
  "vitest": "3.2.4",
43
57
  "wrangler": "4.42.2"
44
58
  },
45
- "files": [
46
- "package.json",
47
- "src",
48
- "dist"
49
- ],
50
- "license": "Apache-2.0",
51
- "publishConfig": {
52
- "access": "public"
59
+ "peerDependencies": {
60
+ "@effect/ai": "^0.35.0",
61
+ "@effect/cli": "^0.75.1",
62
+ "@effect/cluster": "^0.58.2",
63
+ "@effect/experimental": "^0.60.0",
64
+ "@effect/opentelemetry": "^0.63.0",
65
+ "@effect/platform": "^0.96.1",
66
+ "@effect/platform-browser": "^0.76.0",
67
+ "@effect/platform-bun": "^0.89.0",
68
+ "@effect/platform-node": "^0.106.0",
69
+ "@effect/printer": "^0.49.0",
70
+ "@effect/printer-ansi": "^0.49.0",
71
+ "@effect/rpc": "^0.75.1",
72
+ "@effect/sql": "^0.51.1",
73
+ "@effect/typeclass": "^0.40.0",
74
+ "@effect/vitest": "^0.29.0",
75
+ "@opentelemetry/api": "^1.9.0",
76
+ "@opentelemetry/resources": "^2.2.0",
77
+ "@standard-schema/spec": "^1.1.0",
78
+ "effect": "^3.21.2"
79
+ },
80
+ "$genie": {
81
+ "source": "package.json.genie.ts",
82
+ "warning": "DO NOT EDIT - changes will be overwritten",
83
+ "workspaceClosureDirs": [
84
+ "packages/@livestore/common",
85
+ "packages/@livestore/common-cf",
86
+ "packages/@livestore/sqlite-wasm",
87
+ "packages/@livestore/utils",
88
+ "packages/@livestore/utils-dev",
89
+ "packages/@livestore/wa-sqlite",
90
+ "packages/@livestore/webmesh"
91
+ ]
53
92
  },
54
93
  "scripts": {
55
94
  "test": "vitest",
package/src/FacadeVFS.ts CHANGED
@@ -18,9 +18,6 @@ export class FacadeVFS extends VFS.Base {
18
18
  * @param {string} name
19
19
  * @param {object} module
20
20
  */
21
- constructor(name, module) {
22
- super(name, module)
23
- }
24
21
 
25
22
  /**
26
23
  * Override to indicate which methods are asynchronous.
@@ -429,17 +426,17 @@ export class FacadeVFS extends VFS.Base {
429
426
  }
430
427
  if (prop === getter) {
431
428
  return (byteOffset, littleEndian) => {
432
- if (!littleEndian) throw new Error('must be little endian')
429
+ if (littleEndian === false) throw new Error('must be little endian')
433
430
  return dataView[prop](byteOffset, littleEndian)
434
431
  }
435
432
  }
436
433
  if (prop === setter) {
437
434
  return (byteOffset, value, littleEndian) => {
438
- if (!littleEndian) throw new Error('must be little endian')
435
+ if (littleEndian === false) throw new Error('must be little endian')
439
436
  return dataView[prop](byteOffset, value, littleEndian)
440
437
  }
441
438
  }
442
- if (typeof prop === 'string' && /^(get)|(set)/.test(prop)) {
439
+ if (typeof prop === 'string' && /^(get)|(set)/.test(prop) === true) {
443
440
  throw new Error('invalid type')
444
441
  }
445
442
  const result = dataView[prop]
@@ -467,19 +464,19 @@ export class FacadeVFS extends VFS.Base {
467
464
  }
468
465
 
469
466
  #decodeFilename(zName, flags) {
470
- if (flags & VFS.SQLITE_OPEN_URI) {
467
+ if ((flags & VFS.SQLITE_OPEN_URI) !== 0) {
471
468
  // The first null-terminated string is the URI path. Subsequent
472
469
  // strings are query parameter keys and values.
473
470
  // https://www.sqlite.org/c3ref/open.html#urifilenamesinsqlite3open
474
471
  let pName = zName
475
472
  let state = 1
476
473
  const charCodes = []
477
- while (state) {
474
+ while (state !== null) {
478
475
  const charCode = this._module.HEAPU8[pName++]
479
- if (charCode) {
476
+ if (charCode !== 0) {
480
477
  charCodes.push(charCode)
481
478
  } else {
482
- if (!this._module.HEAPU8[pName]) state = null
479
+ if (this._module.HEAPU8[pName] === 0) state = null
483
480
  switch (state) {
484
481
  case 1: {
485
482
  // path
@@ -504,11 +501,9 @@ export class FacadeVFS extends VFS.Base {
504
501
  }
505
502
  return new TextDecoder().decode(new Uint8Array(charCodes))
506
503
  }
507
- return zName ? this._module.UTF8ToString(zName) : null
504
+ return zName !== 0 ? this._module.UTF8ToString(zName) : null
508
505
  }
509
506
  }
510
507
  // Emscripten "legalizes" 64-bit integer arguments by passing them as
511
508
  // two 32-bit signed integers.
512
- function delegalize(lo32, hi32) {
513
- return hi32 * 0x1_00_00_00_00 + lo32 + (lo32 < 0 ? 2 ** 32 : 0)
514
- }
509
+ const delegalize = (lo32, hi32) => hi32 * 0x1_00_00_00_00 + lo32 + (lo32 < 0 ? 2 ** 32 : 0)
@@ -62,7 +62,7 @@ type MakeOpfsWebDatabase = MakeSqliteDb<
62
62
  Opfs.Opfs | Scope.Scope
63
63
  >
64
64
 
65
- export function sqliteDbFactory({ sqlite3 }: { sqlite3: SQLiteAPI }) {
65
+ export const sqliteDbFactory = ({ sqlite3 }: { sqlite3: SQLiteAPI }) => {
66
66
  function makeDb(input: WebDatabaseInputInMemory): ReturnType<MakeInMemoryWebDatabase>
67
67
  function makeDb(input: WebDatabaseInputOpfs): ReturnType<MakeOpfsWebDatabase>
68
68
  function makeDb(
@@ -5,6 +5,7 @@ import { shouldNeverHappen } from '@livestore/utils'
5
5
  import { Effect, Runtime, Schedule, type Scope, Stream } from '@livestore/utils/effect'
6
6
  import { Opfs, type WebError } from '@livestore/utils/effect/browser'
7
7
  import * as VFS from '@livestore/wa-sqlite/src/VFS.js'
8
+
8
9
  import { FacadeVFS } from '../../FacadeVFS.ts'
9
10
 
10
11
  const SECTOR_SIZE = 4096
@@ -94,7 +95,12 @@ export class AccessHandlePoolVFS extends FacadeVFS {
94
95
  directoryPath,
95
96
  module,
96
97
  runtime,
97
- }: { name: string; directoryPath: string; module: any; runtime: Runtime.Runtime<Opfs.Opfs | Scope.Scope> }) {
98
+ }: {
99
+ name: string
100
+ directoryPath: string
101
+ module: any
102
+ runtime: Runtime.Runtime<Opfs.Opfs | Scope.Scope>
103
+ }) {
98
104
  super(name, module)
99
105
  this.#directoryPath = directoryPath
100
106
  this.#runtime = runtime
@@ -163,12 +169,13 @@ export class AccessHandlePoolVFS extends FacadeVFS {
163
169
  }),
164
170
  )
165
171
 
166
- jOpen(zName: string, fileId: number, flags: number, pOutFlags: DataView): number {
172
+ override jOpen(zName: string, fileId: number, flags: number, pOutFlags: DataView): number {
167
173
  return Effect.gen(this, function* () {
168
174
  // First try to open a path that already exists in the file system.
169
- const path = zName ? this.#getPath(zName) : Math.random().toString(36)
175
+ const name = zName as unknown
176
+ const path = typeof name === 'string' && name !== '' ? this.#getPath(name) : Math.random().toString(36)
170
177
  let accessHandle = this.#mapPathToAccessHandle.get(path)
171
- if (!accessHandle && flags & VFS.SQLITE_OPEN_CREATE) {
178
+ if (accessHandle == null && (flags & VFS.SQLITE_OPEN_CREATE) !== 0) {
172
179
  // File not found so try to create it.
173
180
  if (this.getSize() < this.getCapacity()) {
174
181
  // Choose an unassociated OPFS file from the pool.
@@ -180,7 +187,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
180
187
  return yield* Effect.dieMessage('cannot create file')
181
188
  }
182
189
  }
183
- if (!accessHandle) return yield* Effect.dieMessage('file not found')
190
+ if (accessHandle == null) return yield* Effect.dieMessage('file not found')
184
191
 
185
192
  // Subsequent methods are only passed the fileId, so make sure we have
186
193
  // a way to get the file resources.
@@ -196,13 +203,13 @@ export class AccessHandlePoolVFS extends FacadeVFS {
196
203
  )
197
204
  }
198
205
 
199
- jClose(fileId: number): number {
206
+ override jClose(fileId: number): number {
200
207
  return Effect.gen(this, function* () {
201
208
  const file = this.#mapIdToFile.get(fileId)
202
- if (file) {
209
+ if (file !== undefined) {
203
210
  yield* Opfs.Opfs.syncFlush(file.accessHandle)
204
211
  this.#mapIdToFile.delete(fileId)
205
- if (file.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) {
212
+ if ((file.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0) {
206
213
  yield* this.#deletePath(file.path)
207
214
  }
208
215
  }
@@ -214,7 +221,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
214
221
  )
215
222
  }
216
223
 
217
- jRead(fileId: number, pData: Uint8Array<ArrayBuffer>, iOffset: number): number {
224
+ override jRead(fileId: number, pData: Uint8Array<ArrayBuffer>, iOffset: number): number {
218
225
  return Effect.gen(this, function* () {
219
226
  const file = this.#mapIdToFile.get(fileId)!
220
227
  const nBytes = yield* Opfs.Opfs.syncRead(file.accessHandle, pData.subarray(), {
@@ -232,7 +239,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
232
239
  )
233
240
  }
234
241
 
235
- jWrite(fileId: number, pData: Uint8Array<ArrayBuffer>, iOffset: number): number {
242
+ override jWrite(fileId: number, pData: Uint8Array<ArrayBuffer>, iOffset: number): number {
236
243
  return Effect.gen(this, function* () {
237
244
  const file = this.#mapIdToFile.get(fileId)!
238
245
  const nBytes = yield* Opfs.Opfs.syncWrite(file.accessHandle, pData.subarray(), {
@@ -249,7 +256,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
249
256
  )
250
257
  }
251
258
 
252
- jTruncate(fileId: number, iSize: number): number {
259
+ override jTruncate(fileId: number, iSize: number): number {
253
260
  return Effect.gen(this, function* () {
254
261
  const file = this.#mapIdToFile.get(fileId)!
255
262
  yield* Opfs.Opfs.syncTruncate(file.accessHandle, HEADER_OFFSET_DATA + iSize)
@@ -261,7 +268,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
261
268
  )
262
269
  }
263
270
 
264
- jSync(fileId: number, _flags: number): number {
271
+ override jSync(fileId: number, _flags: number): number {
265
272
  return Effect.gen(this, function* () {
266
273
  const file = this.#mapIdToFile.get(fileId)!
267
274
  yield* Opfs.Opfs.syncFlush(file.accessHandle)
@@ -273,7 +280,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
273
280
  )
274
281
  }
275
282
 
276
- jFileSize(fileId: number, pSize64: DataView): number {
283
+ override jFileSize(fileId: number, pSize64: DataView): number {
277
284
  return Effect.gen(this, function* () {
278
285
  const file = this.#mapIdToFile.get(fileId)!
279
286
  const opfsFileSize = yield* Opfs.Opfs.syncGetSize(file.accessHandle)
@@ -287,18 +294,18 @@ export class AccessHandlePoolVFS extends FacadeVFS {
287
294
  )
288
295
  }
289
296
 
290
- jSectorSize(_fileId: number): number {
297
+ override jSectorSize(_fileId: number): number {
291
298
  return SECTOR_SIZE
292
299
  }
293
300
 
294
- jDeviceCharacteristics(_fileId: number): number {
301
+ override jDeviceCharacteristics(_fileId: number): number {
295
302
  return VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN
296
303
  }
297
304
 
298
- jAccess(zName: string, _flags: number, pResOut: DataView): number {
305
+ override jAccess(zName: string, _flags: number, pResOut: DataView): number {
299
306
  return Effect.gen(this, function* () {
300
307
  const path = this.#getPath(zName)
301
- pResOut.setInt32(0, this.#mapPathToAccessHandle.has(path) ? 1 : 0, true)
308
+ pResOut.setInt32(0, this.#mapPathToAccessHandle.has(path) === true ? 1 : 0, true)
302
309
  return VFS.SQLITE_OK
303
310
  }).pipe(
304
311
  Effect.tapCauseLogPretty,
@@ -307,7 +314,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
307
314
  )
308
315
  }
309
316
 
310
- jDelete(zName: string, _syncDir: number): number {
317
+ override jDelete(zName: string, _syncDir: number): number {
311
318
  return Effect.gen(this, function* () {
312
319
  const path = this.#getPath(zName)
313
320
  yield* this.#deletePath(path)
@@ -325,7 +332,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
325
332
 
326
333
  async isReady() {
327
334
  return Effect.gen(this, function* () {
328
- if (!this.#directoryHandle) {
335
+ if (this.#directoryHandle == null) {
329
336
  // All files are stored in a single directory.
330
337
  this.#directoryHandle = yield* Opfs.getDirectoryHandleByPath(this.#directoryPath, { create: true })
331
338
 
@@ -401,6 +408,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
401
408
  this.#mapAccessHandleToName.delete(accessHandle)
402
409
  this.#availableAccessHandles.delete(accessHandle)
403
410
  ++nRemoved
411
+ return nRemoved
404
412
  }),
405
413
  { discard: true },
406
414
  )
@@ -429,7 +437,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
429
437
  Stream.runForEach(({ opfsFileName, accessHandle, path }) =>
430
438
  Effect.gen(this, function* () {
431
439
  this.#mapAccessHandleToName.set(accessHandle, opfsFileName)
432
- if (path) {
440
+ if (path !== '') {
433
441
  this.#mapPathToAccessHandle.set(path, accessHandle)
434
442
  } else {
435
443
  this.#availableAccessHandles.add(accessHandle)
@@ -467,7 +475,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
467
475
  // Delete files not expected to be present.
468
476
  const dataView = new DataView(corpus.buffer, corpus.byteOffset)
469
477
  const flags = dataView.getUint32(HEADER_OFFSET_FLAGS)
470
- if (corpus[0] && (flags & VFS.SQLITE_OPEN_DELETEONCLOSE || (flags & PERSISTENT_FILE_TYPES) === 0)) {
478
+ if (corpus[0] !== 0 && ((flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0 || (flags & PERSISTENT_FILE_TYPES) === 0)) {
471
479
  yield* Effect.logWarning(`Remove file with unexpected flags ${flags.toString(16)}`)
472
480
  yield* this.#setAssociatedPath(accessHandle, '', 0)
473
481
  return ''
@@ -478,7 +486,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
478
486
 
479
487
  // Verify the digest.
480
488
  const computedDigest = this.#computeDigest(corpus)
481
- if (fileDigest.every((value, i) => value === computedDigest[i])) {
489
+ if (fileDigest.every((value, i) => value === computedDigest[i]) === true) {
482
490
  // Good digest. Decode the null-terminated path string.
483
491
  const pathBytes = corpus.indexOf(0)
484
492
  if (pathBytes === 0) {
@@ -520,7 +528,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
520
528
  yield* Opfs.Opfs.syncWrite(accessHandle, digest, { at: HEADER_OFFSET_DIGEST })
521
529
  yield* Opfs.Opfs.syncFlush(accessHandle)
522
530
 
523
- if (path) {
531
+ if (path !== '') {
524
532
  this.#mapPathToAccessHandle.set(path, accessHandle)
525
533
  this.#availableAccessHandles.delete(accessHandle)
526
534
  } else {
@@ -538,7 +546,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
538
546
  * @returns {ArrayBuffer} 64-bit digest
539
547
  */
540
548
  #computeDigest(corpus: Uint8Array): Uint32Array {
541
- if (!corpus[0]) {
549
+ if (corpus[0] === 0) {
542
550
  // Optimization for deleted file.
543
551
  return new Uint32Array([0xfe_cc_5f_80, 0xac_ce_c0_37])
544
552
  }
@@ -572,7 +580,7 @@ export class AccessHandlePoolVFS extends FacadeVFS {
572
580
  #deletePath = Effect.fn((path: string) =>
573
581
  Effect.gen(this, function* () {
574
582
  const accessHandle = this.#mapPathToAccessHandle.get(path)
575
- if (accessHandle) {
583
+ if (accessHandle !== undefined) {
576
584
  // Un-associate the SQLite path from the OPFS file.
577
585
  this.#mapPathToAccessHandle.delete(path)
578
586
  yield* this.#setAssociatedPath(accessHandle, '', 0)
@@ -21,7 +21,7 @@ export const decodeAccessHandlePoolFilename = async (file: File): Promise<string
21
21
  // Delete files not expected to be present.
22
22
  const dataView = new DataView(corpus.buffer, corpus.byteOffset)
23
23
  const flags = dataView.getUint32(HEADER_OFFSET_FLAGS)
24
- if (corpus[0] && (flags & VFS.SQLITE_OPEN_DELETEONCLOSE || (flags & PERSISTENT_FILE_TYPES) === 0)) {
24
+ if (corpus[0] !== 0 && ((flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0 || (flags & PERSISTENT_FILE_TYPES) === 0)) {
25
25
  console.warn(`Remove file with unexpected flags ${flags.toString(16)}`)
26
26
  return ''
27
27
  }
@@ -32,7 +32,7 @@ export const decodeAccessHandlePoolFilename = async (file: File): Promise<string
32
32
 
33
33
  // Verify the digest.
34
34
  const computedDigest = computeDigest(corpus)
35
- if (fileDigest.every((value, i) => value === computedDigest[i])) {
35
+ if (fileDigest.every((value, i) => value === computedDigest[i]) === true) {
36
36
  // Good digest. Decode the null-terminated path string.
37
37
  const pathBytes = corpus.indexOf(0)
38
38
  if (pathBytes === 0) {
@@ -48,7 +48,7 @@ export const decodeAccessHandlePoolFilename = async (file: File): Promise<string
48
48
  }
49
49
 
50
50
  const computeDigest = (corpus: Uint8Array): Uint32Array => {
51
- if (!corpus[0]) {
51
+ if (corpus[0] === 0) {
52
52
  // Optimization for deleted file.
53
53
  return new Uint32Array([0xfe_cc_5f_80, 0xac_ce_c0_37])
54
54
  }