@livestore/sqlite-wasm 0.4.0-dev.2 → 0.4.0-dev.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 (74) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/browser/mod.d.ts +1 -0
  3. package/dist/browser/mod.d.ts.map +1 -1
  4. package/dist/browser/mod.js.map +1 -1
  5. package/dist/cf/BlockManager.d.ts +61 -0
  6. package/dist/cf/BlockManager.d.ts.map +1 -0
  7. package/dist/cf/BlockManager.js +157 -0
  8. package/dist/cf/BlockManager.js.map +1 -0
  9. package/dist/cf/CloudflareSqlVFS.d.ts +51 -0
  10. package/dist/cf/CloudflareSqlVFS.d.ts.map +1 -0
  11. package/dist/cf/CloudflareSqlVFS.js +351 -0
  12. package/dist/cf/CloudflareSqlVFS.js.map +1 -0
  13. package/dist/cf/CloudflareWorkerVFS.d.ts +72 -0
  14. package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -0
  15. package/dist/cf/CloudflareWorkerVFS.js +552 -0
  16. package/dist/cf/CloudflareWorkerVFS.js.map +1 -0
  17. package/dist/cf/mod.d.ts +43 -0
  18. package/dist/cf/mod.d.ts.map +1 -0
  19. package/dist/cf/mod.js +74 -0
  20. package/dist/cf/mod.js.map +1 -0
  21. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.d.ts +2 -0
  22. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.d.ts.map +1 -0
  23. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +314 -0
  24. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -0
  25. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.d.ts +2 -0
  26. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.d.ts.map +1 -0
  27. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +266 -0
  28. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -0
  29. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.d.ts +2 -0
  30. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.d.ts.map +1 -0
  31. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +444 -0
  32. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -0
  33. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.d.ts +2 -0
  34. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.d.ts.map +1 -0
  35. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +334 -0
  36. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -0
  37. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.d.ts +2 -0
  38. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.d.ts.map +1 -0
  39. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +354 -0
  40. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -0
  41. package/dist/load-wasm/mod.node.d.ts.map +1 -1
  42. package/dist/load-wasm/mod.node.js +1 -2
  43. package/dist/load-wasm/mod.node.js.map +1 -1
  44. package/dist/load-wasm/mod.workerd.d.ts +2 -0
  45. package/dist/load-wasm/mod.workerd.d.ts.map +1 -0
  46. package/dist/load-wasm/mod.workerd.js +26 -0
  47. package/dist/load-wasm/mod.workerd.js.map +1 -0
  48. package/dist/make-sqlite-db.d.ts +1 -0
  49. package/dist/make-sqlite-db.d.ts.map +1 -1
  50. package/dist/make-sqlite-db.js.map +1 -1
  51. package/dist/node/NodeFS.d.ts +1 -2
  52. package/dist/node/NodeFS.d.ts.map +1 -1
  53. package/dist/node/NodeFS.js +1 -6
  54. package/dist/node/NodeFS.js.map +1 -1
  55. package/dist/node/mod.js +3 -8
  56. package/dist/node/mod.js.map +1 -1
  57. package/package.json +20 -7
  58. package/src/browser/mod.ts +1 -0
  59. package/src/cf/BlockManager.ts +225 -0
  60. package/src/cf/CloudflareSqlVFS.ts +450 -0
  61. package/src/cf/CloudflareWorkerVFS.ts +664 -0
  62. package/src/cf/README.md +60 -0
  63. package/src/cf/mod.ts +143 -0
  64. package/src/cf/test/README.md +224 -0
  65. package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +389 -0
  66. package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +322 -0
  67. package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +567 -0
  68. package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +403 -0
  69. package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +433 -0
  70. package/src/load-wasm/mod.node.ts +1 -2
  71. package/src/load-wasm/mod.workerd.ts +26 -0
  72. package/src/make-sqlite-db.ts +1 -0
  73. package/src/node/NodeFS.ts +1 -9
  74. package/src/node/mod.ts +3 -10
@@ -0,0 +1,334 @@
1
+ /// <reference types="vitest/globals" />
2
+ import * as VFS from '@livestore/wa-sqlite/src/VFS.js';
3
+ import { beforeEach, describe, expect, it } from 'vitest';
4
+ import { CloudflareWorkerVFS } from "../../mod.js";
5
+ describe('CloudflareWorkerVFS - Reliability & Error Recovery', () => {
6
+ let vfs;
7
+ let mockStorage;
8
+ let storageData;
9
+ beforeEach(async () => {
10
+ storageData = new Map();
11
+ mockStorage = {
12
+ get: (async (_key) => {
13
+ if (Array.isArray(_key)) {
14
+ return new Map();
15
+ }
16
+ return storageData.get(_key);
17
+ }),
18
+ put: async (_key, _value) => {
19
+ if (typeof _key === 'string') {
20
+ storageData.set(_key, _value);
21
+ }
22
+ else {
23
+ for (const [k, v] of Object.entries(_key)) {
24
+ storageData.set(k, v);
25
+ }
26
+ }
27
+ },
28
+ delete: (async (_key) => {
29
+ if (Array.isArray(_key)) {
30
+ let count = 0;
31
+ for (const k of _key) {
32
+ if (storageData.delete(k))
33
+ count++;
34
+ }
35
+ return count;
36
+ }
37
+ else {
38
+ return storageData.delete(_key);
39
+ }
40
+ }),
41
+ list: async () => new Map(storageData),
42
+ sync: async () => { },
43
+ transactionSync: (fn) => fn(),
44
+ deleteAll: async () => {
45
+ storageData.clear();
46
+ },
47
+ transaction: async (fn) => fn({}),
48
+ getCurrentBookmark: async () => '',
49
+ getBookmarkForTime: async (_time) => '',
50
+ onNextSessionRestoreBookmark: async (_bookmark) => '',
51
+ getAlarm: async () => null,
52
+ setAlarm: async (_timestamp) => { },
53
+ deleteAlarm: async () => { },
54
+ sql: {},
55
+ };
56
+ vfs = new CloudflareWorkerVFS('test-reliability-vfs', mockStorage, {});
57
+ await vfs.isReady();
58
+ });
59
+ describe('Error Recovery', () => {
60
+ it('should handle storage failures gracefully during reads', async () => {
61
+ const path = '/test/read-failure-recovery.db';
62
+ const fileId = 1;
63
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
64
+ const pOutFlags = new DataView(new ArrayBuffer(4));
65
+ vfs.jOpen(path, fileId, flags, pOutFlags);
66
+ // Write data successfully first
67
+ const testData = new TextEncoder().encode('Test data for failure recovery');
68
+ expect(vfs.jWrite(fileId, testData, 0)).toBe(VFS.SQLITE_OK);
69
+ // Read should work initially (from cache)
70
+ const readData1 = new Uint8Array(testData.length);
71
+ expect(vfs.jRead(fileId, readData1, 0)).toBe(VFS.SQLITE_OK);
72
+ expect(readData1).toEqual(testData);
73
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
74
+ });
75
+ it('should handle invalid file operations gracefully', async () => {
76
+ const invalidFileId = 999;
77
+ const buffer = new Uint8Array(100);
78
+ // All operations on invalid file ID should return appropriate error
79
+ expect(vfs.jRead(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
80
+ expect(vfs.jWrite(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
81
+ expect(vfs.jTruncate(invalidFileId, 50)).toBe(VFS.SQLITE_IOERR);
82
+ expect(vfs.jSync(invalidFileId, VFS.SQLITE_SYNC_NORMAL)).toBe(VFS.SQLITE_IOERR);
83
+ expect(vfs.jClose(invalidFileId)).toBe(VFS.SQLITE_OK);
84
+ const pSize64 = new DataView(new ArrayBuffer(8));
85
+ expect(vfs.jFileSize(invalidFileId, pSize64)).toBe(VFS.SQLITE_IOERR);
86
+ });
87
+ it('should handle operations on closed files gracefully', async () => {
88
+ const path = '/test/closed-file-ops.db';
89
+ const fileId = 1;
90
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
91
+ const pOutFlags = new DataView(new ArrayBuffer(4));
92
+ // Open and immediately close file
93
+ vfs.jOpen(path, fileId, flags, pOutFlags);
94
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
95
+ // Operations on closed file should fail gracefully
96
+ const buffer = new Uint8Array(10);
97
+ expect(vfs.jRead(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
98
+ expect(vfs.jWrite(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
99
+ expect(vfs.jTruncate(fileId, 5)).toBe(VFS.SQLITE_IOERR);
100
+ expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_NORMAL)).toBe(VFS.SQLITE_IOERR);
101
+ });
102
+ it('should handle invalid paths gracefully', async () => {
103
+ const invalidPaths = ['', null, undefined];
104
+ const fileId = 1;
105
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
106
+ const pOutFlags = new DataView(new ArrayBuffer(4));
107
+ for (const invalidPath of invalidPaths) {
108
+ const result = vfs.jOpen(invalidPath, fileId, flags, pOutFlags);
109
+ expect(result).toBe(VFS.SQLITE_OK);
110
+ }
111
+ });
112
+ it('should recover from corrupted metadata gracefully', async () => {
113
+ const path = '/test/corrupted-metadata.db';
114
+ const fileId = 1;
115
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
116
+ const pOutFlags = new DataView(new ArrayBuffer(4));
117
+ // Manually insert corrupted metadata
118
+ const metadataKey = `file:${path}:meta`;
119
+ storageData.set(metadataKey, { invalid: 'metadata', structure: true });
120
+ // Opening file should handle corrupted metadata
121
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
122
+ // Should be able to write new data (which will create new metadata)
123
+ const testData = new TextEncoder().encode('Recovery test data');
124
+ expect(vfs.jWrite(fileId, testData, 0)).toBe(VFS.SQLITE_OK);
125
+ // Should be able to read the data back
126
+ const readData = new Uint8Array(testData.length);
127
+ expect(vfs.jRead(fileId, readData, 0)).toBe(VFS.SQLITE_OK);
128
+ expect(readData).toEqual(testData);
129
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
130
+ });
131
+ });
132
+ describe('Concurrent Operations', () => {
133
+ it('should handle multiple files opened simultaneously', async () => {
134
+ const numFiles = 10;
135
+ const files = [];
136
+ // Open multiple files
137
+ for (let i = 0; i < numFiles; i++) {
138
+ const path = `/test/concurrent-${i}.db`;
139
+ const fileId = i + 1;
140
+ files.push({ path, id: fileId });
141
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
142
+ const pOutFlags = new DataView(new ArrayBuffer(4));
143
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
144
+ }
145
+ // Write different data to each file
146
+ for (let i = 0; i < files.length; i++) {
147
+ const testData = new TextEncoder().encode(`File ${i} data`);
148
+ expect(vfs.jWrite(files[i]?.id ?? 0, testData, 0)).toBe(VFS.SQLITE_OK);
149
+ }
150
+ // Read back and verify each file has correct data
151
+ for (let i = 0; i < files.length; i++) {
152
+ const expectedData = new TextEncoder().encode(`File ${i} data`);
153
+ const readData = new Uint8Array(expectedData.length);
154
+ expect(vfs.jRead(files[i]?.id ?? 0, readData, 0)).toBe(VFS.SQLITE_OK);
155
+ expect(readData).toEqual(expectedData);
156
+ }
157
+ // Close all files
158
+ for (const file of files) {
159
+ expect(vfs.jClose(file.id)).toBe(VFS.SQLITE_OK);
160
+ }
161
+ });
162
+ it('should handle rapid sequential operations on same file', async () => {
163
+ const path = '/test/rapid-sequential.db';
164
+ const fileId = 1;
165
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
166
+ const pOutFlags = new DataView(new ArrayBuffer(4));
167
+ vfs.jOpen(path, fileId, flags, pOutFlags);
168
+ // Perform rapid sequential write operations
169
+ const numOperations = 50;
170
+ for (let i = 0; i < numOperations; i++) {
171
+ const data = new TextEncoder().encode(`Operation ${i}`);
172
+ const offset = i * 20; // Non-overlapping writes
173
+ expect(vfs.jWrite(fileId, data, offset)).toBe(VFS.SQLITE_OK);
174
+ }
175
+ // Verify all operations succeeded
176
+ for (let i = 0; i < numOperations; i++) {
177
+ const expectedData = new TextEncoder().encode(`Operation ${i}`);
178
+ const readData = new Uint8Array(expectedData.length);
179
+ const offset = i * 20;
180
+ expect(vfs.jRead(fileId, readData, offset)).toBe(VFS.SQLITE_OK);
181
+ expect(readData).toEqual(expectedData);
182
+ }
183
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
184
+ });
185
+ it('should handle mixed read/write operations', async () => {
186
+ const path = '/test/mixed-operations.db';
187
+ const fileId = 1;
188
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
189
+ const pOutFlags = new DataView(new ArrayBuffer(4));
190
+ vfs.jOpen(path, fileId, flags, pOutFlags);
191
+ // Initialize with some data
192
+ const initialData = new Uint8Array(1000);
193
+ for (let i = 0; i < initialData.length; i++) {
194
+ initialData[i] = i % 256;
195
+ }
196
+ expect(vfs.jWrite(fileId, initialData, 0)).toBe(VFS.SQLITE_OK);
197
+ // Perform mixed operations
198
+ for (let i = 0; i < 20; i++) {
199
+ if (i % 2 === 0) {
200
+ // Write operation
201
+ const writeData = new Uint8Array(10);
202
+ writeData.fill((i + 100) % 256);
203
+ const offset = (i * 10) % 500;
204
+ expect(vfs.jWrite(fileId, writeData, offset)).toBe(VFS.SQLITE_OK);
205
+ }
206
+ else {
207
+ // Read operation
208
+ const readData = new Uint8Array(10);
209
+ const offset = ((i - 1) * 10) % 500;
210
+ expect(vfs.jRead(fileId, readData, offset)).toBe(VFS.SQLITE_OK);
211
+ // Verify read data matches what we wrote in previous iteration
212
+ const expectedValue = (i - 1 + 100) % 256;
213
+ expect(readData.every((byte) => byte === expectedValue)).toBe(true);
214
+ }
215
+ }
216
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
217
+ });
218
+ it('should handle cache pressure under concurrent access', async () => {
219
+ const path = '/test/cache-pressure.db';
220
+ const fileId = 1;
221
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
222
+ const pOutFlags = new DataView(new ArrayBuffer(4));
223
+ vfs.jOpen(path, fileId, flags, pOutFlags);
224
+ const chunkSize = 64 * 1024;
225
+ const numChunks = 15; // More than typical cache size
226
+ // Write data to create cache pressure
227
+ for (let i = 0; i < numChunks; i++) {
228
+ const chunkData = new Uint8Array(chunkSize);
229
+ chunkData.fill(i % 256);
230
+ const offset = i * chunkSize;
231
+ expect(vfs.jWrite(fileId, chunkData, offset)).toBe(VFS.SQLITE_OK);
232
+ }
233
+ // Random access pattern to stress cache
234
+ const accessPattern = [];
235
+ for (let i = 0; i < 30; i++) {
236
+ accessPattern.push(Math.floor(Math.random() * numChunks));
237
+ }
238
+ for (const chunkIdx of accessPattern) {
239
+ const readData = new Uint8Array(1000); // Read partial chunk
240
+ const offset = chunkIdx * chunkSize + 1000;
241
+ const readResult = vfs.jRead(fileId, readData, offset);
242
+ if (readResult === VFS.SQLITE_OK) {
243
+ const expectedValue = chunkIdx % 256;
244
+ expect(readData.every((byte) => byte === expectedValue)).toBe(true);
245
+ }
246
+ else {
247
+ // Cache miss is acceptable under cache pressure
248
+ expect(readResult).toBe(VFS.SQLITE_IOERR_SHORT_READ);
249
+ }
250
+ }
251
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
252
+ });
253
+ });
254
+ describe('Resource Management', () => {
255
+ it('should handle resource cleanup properly', async () => {
256
+ const paths = ['/test/cleanup1.db', '/test/cleanup2.db', '/test/cleanup3.db'];
257
+ const fileIds = [1, 2, 3];
258
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
259
+ const pOutFlags = new DataView(new ArrayBuffer(4));
260
+ // Open files and write data
261
+ for (let i = 0; i < paths.length; i++) {
262
+ expect(vfs.jOpen(paths[i] ?? '', fileIds[i] ?? 0, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
263
+ const testData = new TextEncoder().encode(`Cleanup test ${i}`);
264
+ expect(vfs.jWrite(fileIds[i] ?? 0, testData, 0)).toBe(VFS.SQLITE_OK);
265
+ }
266
+ // Get initial stats
267
+ const statsBefore = vfs.getStats();
268
+ expect(statsBefore.openFiles).toBe(3);
269
+ // Close all files
270
+ for (const fileId of fileIds) {
271
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
272
+ }
273
+ // Verify cleanup
274
+ const statsAfter = vfs.getStats();
275
+ expect(statsAfter.openFiles).toBe(0);
276
+ });
277
+ it('should handle file deletion and cleanup', async () => {
278
+ const path = '/test/delete-cleanup.db';
279
+ const fileId = 1;
280
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
281
+ const pOutFlags = new DataView(new ArrayBuffer(4));
282
+ // Create and write to file
283
+ vfs.jOpen(path, fileId, flags, pOutFlags);
284
+ const testData = new TextEncoder().encode('Data to be deleted');
285
+ expect(vfs.jWrite(fileId, testData, 0)).toBe(VFS.SQLITE_OK);
286
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
287
+ // Wait for async operations
288
+ await new Promise((resolve) => setTimeout(resolve, 10));
289
+ // Verify file exists
290
+ const pResOut = new DataView(new ArrayBuffer(4));
291
+ expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
292
+ // Delete file
293
+ expect(vfs.jDelete(path, 0)).toBe(VFS.SQLITE_OK);
294
+ // Wait for cleanup
295
+ await new Promise((resolve) => setTimeout(resolve, 10));
296
+ // Verify file is deleted
297
+ vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut);
298
+ expect(pResOut.getUint32(0, true)).toBe(0);
299
+ });
300
+ it('should handle memory pressure gracefully', async () => {
301
+ // Create multiple files with large data to simulate memory pressure
302
+ const numFiles = 5;
303
+ const chunkSize = 64 * 1024;
304
+ const dataPerFile = chunkSize * 2; // 128KB per file
305
+ for (let fileIdx = 0; fileIdx < numFiles; fileIdx++) {
306
+ const path = `/test/memory-pressure-${fileIdx}.db`;
307
+ const fileId = fileIdx + 1;
308
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
309
+ const pOutFlags = new DataView(new ArrayBuffer(4));
310
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
311
+ // Write large data
312
+ const largeData = new Uint8Array(dataPerFile);
313
+ largeData.fill(fileIdx % 256);
314
+ expect(vfs.jWrite(fileId, largeData, 0)).toBe(VFS.SQLITE_OK);
315
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
316
+ }
317
+ // Verify all files are still accessible
318
+ for (let fileIdx = 0; fileIdx < numFiles; fileIdx++) {
319
+ const path = `/test/memory-pressure-${fileIdx}.db`;
320
+ const fileId = fileIdx + 1;
321
+ const flags = VFS.SQLITE_OPEN_READWRITE;
322
+ const pOutFlags = new DataView(new ArrayBuffer(4));
323
+ expect(vfs.jOpen(path, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
324
+ // Read and verify data
325
+ const readData = new Uint8Array(dataPerFile);
326
+ expect(vfs.jRead(fileId, readData, 0)).toBe(VFS.SQLITE_OK);
327
+ const expectedValue = fileIdx % 256;
328
+ expect(readData.every((byte) => byte === expectedValue)).toBe(true);
329
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
330
+ }
331
+ });
332
+ });
333
+ });
334
+ //# sourceMappingURL=cloudflare-worker-vfs-reliability.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-worker-vfs-reliability.test.js","sourceRoot":"","sources":["../../../../src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cloudflare-sql-vfs-core.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-sql-vfs-core.test.d.ts","sourceRoot":"","sources":["../../../../src/cf/test/sql/cloudflare-sql-vfs-core.test.ts"],"names":[],"mappings":""}