@livestore/wa-sqlite 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 (62) hide show
  1. package/README.md +46 -36
  2. package/dist/README.md +13 -13
  3. package/dist/fts5/wa-sqlite.mjs +1 -1
  4. package/dist/fts5/wa-sqlite.node.mjs +1 -1
  5. package/dist/fts5/wa-sqlite.node.wasm +0 -0
  6. package/dist/fts5/wa-sqlite.wasm +0 -0
  7. package/dist/wa-sqlite-async.mjs +1 -1
  8. package/dist/wa-sqlite-async.wasm +0 -0
  9. package/dist/wa-sqlite-jspi.mjs +1 -1
  10. package/dist/wa-sqlite-jspi.wasm +0 -0
  11. package/dist/wa-sqlite.mjs +1 -1
  12. package/dist/wa-sqlite.node.mjs +1 -1
  13. package/dist/wa-sqlite.node.wasm +0 -0
  14. package/dist/wa-sqlite.wasm +0 -0
  15. package/package.json +40 -29
  16. package/src/FacadeVFS.js +252 -261
  17. package/src/VFS.js +84 -85
  18. package/src/WebLocksMixin.js +357 -351
  19. package/src/examples/AccessHandlePoolVFS.js +185 -194
  20. package/src/examples/IDBBatchAtomicVFS.js +429 -409
  21. package/src/examples/IDBMirrorVFS.js +402 -409
  22. package/src/examples/MemoryAsyncVFS.js +32 -37
  23. package/src/examples/MemoryVFS.js +71 -75
  24. package/src/examples/OPFSAdaptiveVFS.js +206 -206
  25. package/src/examples/OPFSAnyContextVFS.js +141 -140
  26. package/src/examples/OPFSCoopSyncVFS.js +297 -299
  27. package/src/examples/OPFSPermutedVFS.js +529 -540
  28. package/src/examples/README.md +27 -15
  29. package/src/examples/tag.js +27 -27
  30. package/src/sqlite-api.js +910 -941
  31. package/src/sqlite-constants.js +246 -232
  32. package/src/types/globals.d.ts +52 -52
  33. package/src/types/index.d.ts +586 -576
  34. package/test/AccessHandlePoolVFS.test.js +21 -21
  35. package/test/IDBBatchAtomicVFS.test.js +69 -69
  36. package/test/IDBMirrorVFS.test.js +21 -21
  37. package/test/MemoryAsyncVFS.test.js +21 -21
  38. package/test/MemoryVFS.test.js +21 -21
  39. package/test/OPFSAdaptiveVFS.test.js +21 -21
  40. package/test/OPFSAnyContextVFS.test.js +21 -21
  41. package/test/OPFSCoopSyncVFS.test.js +21 -21
  42. package/test/OPFSPermutedVFS.test.js +21 -21
  43. package/test/TestContext.js +44 -41
  44. package/test/WebLocksMixin.test.js +369 -360
  45. package/test/api.test.js +23 -23
  46. package/test/api_exec.js +72 -61
  47. package/test/api_misc.js +53 -54
  48. package/test/api_statements.js +271 -279
  49. package/test/callbacks.test.js +492 -478
  50. package/test/data/idbv5.json +1135 -1
  51. package/test/sql.test.js +30 -30
  52. package/test/sql_0001.js +49 -33
  53. package/test/sql_0002.js +55 -34
  54. package/test/sql_0003.js +85 -49
  55. package/test/sql_0004.js +76 -47
  56. package/test/sql_0005.js +60 -44
  57. package/test/test-worker.js +171 -163
  58. package/test/vfs_xAccess.js +1 -2
  59. package/test/vfs_xClose.js +50 -49
  60. package/test/vfs_xOpen.js +73 -72
  61. package/test/vfs_xRead.js +31 -31
  62. package/test/vfs_xWrite.js +30 -29
package/src/VFS.js CHANGED
@@ -1,212 +1,211 @@
1
1
  // Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
2
- import * as VFS from './sqlite-constants.js';
3
- export * from './sqlite-constants.js';
2
+ import * as VFS from './sqlite-constants.js'
3
+ export * from './sqlite-constants.js'
4
4
 
5
- const DEFAULT_SECTOR_SIZE = 512;
5
+ const DEFAULT_SECTOR_SIZE = 512
6
6
 
7
7
  // Base class for a VFS.
8
8
  export class Base {
9
- name;
10
- mxPathname = 64;
11
- _module;
9
+ name
10
+ mxPathname = 64
11
+ _module
12
12
 
13
13
  /**
14
- * @param {string} name
15
- * @param {object} module
14
+ * @param {string} name
15
+ * @param {object} module
16
16
  */
17
17
  constructor(name, module) {
18
- this.name = name;
19
- this._module = module;
18
+ this.name = name
19
+ this._module = module
20
20
  }
21
21
 
22
22
  /**
23
- * @returns {void|Promise<void>}
23
+ * @returns {void|Promise<void>}
24
24
  */
25
- close() {
26
- }
25
+ close() {}
27
26
 
28
27
  /**
29
28
  * @returns {boolean|Promise<boolean>}
30
29
  */
31
30
  isReady() {
32
- return true;
31
+ return true
33
32
  }
34
33
 
35
34
  /**
36
35
  * Overload in subclasses to indicate which methods are asynchronous.
37
- * @param {string} methodName
36
+ * @param {string} methodName
38
37
  * @returns {boolean}
39
38
  */
40
39
  hasAsyncMethod(methodName) {
41
- return false;
40
+ return false
42
41
  }
43
42
 
44
43
  /**
45
- * @param {number} pVfs
46
- * @param {number} zName
47
- * @param {number} pFile
48
- * @param {number} flags
49
- * @param {number} pOutFlags
44
+ * @param {number} pVfs
45
+ * @param {number} zName
46
+ * @param {number} pFile
47
+ * @param {number} flags
48
+ * @param {number} pOutFlags
50
49
  * @returns {number|Promise<number>}
51
50
  */
52
51
  xOpen(pVfs, zName, pFile, flags, pOutFlags) {
53
- return VFS.SQLITE_CANTOPEN;
52
+ return VFS.SQLITE_CANTOPEN
54
53
  }
55
54
 
56
55
  /**
57
- * @param {number} pVfs
58
- * @param {number} zName
59
- * @param {number} syncDir
56
+ * @param {number} pVfs
57
+ * @param {number} zName
58
+ * @param {number} syncDir
60
59
  * @returns {number|Promise<number>}
61
60
  */
62
61
  xDelete(pVfs, zName, syncDir) {
63
- return VFS.SQLITE_OK;
62
+ return VFS.SQLITE_OK
64
63
  }
65
64
 
66
65
  /**
67
- * @param {number} pVfs
68
- * @param {number} zName
69
- * @param {number} flags
70
- * @param {number} pResOut
66
+ * @param {number} pVfs
67
+ * @param {number} zName
68
+ * @param {number} flags
69
+ * @param {number} pResOut
71
70
  * @returns {number|Promise<number>}
72
71
  */
73
72
  xAccess(pVfs, zName, flags, pResOut) {
74
- return VFS.SQLITE_OK;
73
+ return VFS.SQLITE_OK
75
74
  }
76
75
 
77
76
  /**
78
- * @param {number} pVfs
79
- * @param {number} zName
80
- * @param {number} nOut
81
- * @param {number} zOut
77
+ * @param {number} pVfs
78
+ * @param {number} zName
79
+ * @param {number} nOut
80
+ * @param {number} zOut
82
81
  * @returns {number|Promise<number>}
83
82
  */
84
83
  xFullPathname(pVfs, zName, nOut, zOut) {
85
- return VFS.SQLITE_OK;
84
+ return VFS.SQLITE_OK
86
85
  }
87
86
 
88
87
  /**
89
- * @param {number} pVfs
90
- * @param {number} nBuf
91
- * @param {number} zBuf
88
+ * @param {number} pVfs
89
+ * @param {number} nBuf
90
+ * @param {number} zBuf
92
91
  * @returns {number|Promise<number>}
93
92
  */
94
93
  xGetLastError(pVfs, nBuf, zBuf) {
95
- return VFS.SQLITE_OK;
94
+ return VFS.SQLITE_OK
96
95
  }
97
96
 
98
97
  /**
99
- * @param {number} pFile
98
+ * @param {number} pFile
100
99
  * @returns {number|Promise<number>}
101
100
  */
102
101
  xClose(pFile) {
103
- return VFS.SQLITE_OK;
102
+ return VFS.SQLITE_OK
104
103
  }
105
104
 
106
105
  /**
107
- * @param {number} pFile
108
- * @param {number} pData
109
- * @param {number} iAmt
110
- * @param {number} iOffsetLo
111
- * @param {number} iOffsetHi
106
+ * @param {number} pFile
107
+ * @param {number} pData
108
+ * @param {number} iAmt
109
+ * @param {number} iOffsetLo
110
+ * @param {number} iOffsetHi
112
111
  * @returns {number|Promise<number>}
113
112
  */
114
113
  xRead(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
115
- return VFS.SQLITE_OK;
114
+ return VFS.SQLITE_OK
116
115
  }
117
116
 
118
117
  /**
119
- * @param {number} pFile
120
- * @param {number} pData
121
- * @param {number} iAmt
122
- * @param {number} iOffsetLo
123
- * @param {number} iOffsetHi
118
+ * @param {number} pFile
119
+ * @param {number} pData
120
+ * @param {number} iAmt
121
+ * @param {number} iOffsetLo
122
+ * @param {number} iOffsetHi
124
123
  * @returns {number|Promise<number>}
125
124
  */
126
125
  xWrite(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
127
- return VFS.SQLITE_OK;
126
+ return VFS.SQLITE_OK
128
127
  }
129
128
 
130
129
  /**
131
- * @param {number} pFile
132
- * @param {number} sizeLo
133
- * @param {number} sizeHi
130
+ * @param {number} pFile
131
+ * @param {number} sizeLo
132
+ * @param {number} sizeHi
134
133
  * @returns {number|Promise<number>}
135
134
  */
136
135
  xTruncate(pFile, sizeLo, sizeHi) {
137
- return VFS.SQLITE_OK;
136
+ return VFS.SQLITE_OK
138
137
  }
139
138
 
140
139
  /**
141
- * @param {number} pFile
142
- * @param {number} flags
140
+ * @param {number} pFile
141
+ * @param {number} flags
143
142
  * @returns {number|Promise<number>}
144
143
  */
145
144
  xSync(pFile, flags) {
146
- return VFS.SQLITE_OK;
145
+ return VFS.SQLITE_OK
147
146
  }
148
147
 
149
148
  /**
150
- *
151
- * @param {number} pFile
152
- * @param {number} pSize
149
+ *
150
+ * @param {number} pFile
151
+ * @param {number} pSize
153
152
  * @returns {number|Promise<number>}
154
153
  */
155
154
  xFileSize(pFile, pSize) {
156
- return VFS.SQLITE_OK;
155
+ return VFS.SQLITE_OK
157
156
  }
158
157
 
159
158
  /**
160
- * @param {number} pFile
161
- * @param {number} lockType
159
+ * @param {number} pFile
160
+ * @param {number} lockType
162
161
  * @returns {number|Promise<number>}
163
162
  */
164
163
  xLock(pFile, lockType) {
165
- return VFS.SQLITE_OK;
164
+ return VFS.SQLITE_OK
166
165
  }
167
166
 
168
167
  /**
169
- * @param {number} pFile
170
- * @param {number} lockType
168
+ * @param {number} pFile
169
+ * @param {number} lockType
171
170
  * @returns {number|Promise<number>}
172
171
  */
173
172
  xUnlock(pFile, lockType) {
174
- return VFS.SQLITE_OK;
175
- }
173
+ return VFS.SQLITE_OK
174
+ }
176
175
 
177
176
  /**
178
- * @param {number} pFile
179
- * @param {number} pResOut
177
+ * @param {number} pFile
178
+ * @param {number} pResOut
180
179
  * @returns {number|Promise<number>}
181
180
  */
182
181
  xCheckReservedLock(pFile, pResOut) {
183
- return VFS.SQLITE_OK;
182
+ return VFS.SQLITE_OK
184
183
  }
185
184
 
186
185
  /**
187
- * @param {number} pFile
188
- * @param {number} op
189
- * @param {number} pArg
186
+ * @param {number} pFile
187
+ * @param {number} op
188
+ * @param {number} pArg
190
189
  * @returns {number|Promise<number>}
191
190
  */
192
191
  xFileControl(pFile, op, pArg) {
193
- return VFS.SQLITE_NOTFOUND;
192
+ return VFS.SQLITE_NOTFOUND
194
193
  }
195
194
 
196
195
  /**
197
- * @param {number} pFile
196
+ * @param {number} pFile
198
197
  * @returns {number|Promise<number>}
199
198
  */
200
199
  xSectorSize(pFile) {
201
- return DEFAULT_SECTOR_SIZE;
200
+ return DEFAULT_SECTOR_SIZE
202
201
  }
203
202
 
204
203
  /**
205
- * @param {number} pFile
204
+ * @param {number} pFile
206
205
  * @returns {number|Promise<number>}
207
206
  */
208
207
  xDeviceCharacteristics(pFile) {
209
- return 0;
208
+ return 0
210
209
  }
211
210
  }
212
211
 
@@ -218,5 +217,5 @@ export const FILE_TYPE_MASK = [
218
217
  VFS.SQLITE_OPEN_TRANSIENT_DB,
219
218
  VFS.SQLITE_OPEN_SUBJOURNAL,
220
219
  VFS.SQLITE_OPEN_SUPER_JOURNAL,
221
- VFS.SQLITE_OPEN_WAL
222
- ].reduce((mask, element) => mask | element);
220
+ VFS.SQLITE_OPEN_WAL,
221
+ ].reduce((mask, element) => mask | element)