@livestore/adapter-web 0.4.0-dev.2 → 0.4.0-dev.20
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/in-memory/in-memory-adapter.d.ts +15 -5
- package/dist/in-memory/in-memory-adapter.d.ts.map +1 -1
- package/dist/in-memory/in-memory-adapter.js +29 -15
- package/dist/in-memory/in-memory-adapter.js.map +1 -1
- package/dist/web-worker/client-session/client-session-devtools.d.ts +1 -1
- package/dist/web-worker/client-session/client-session-devtools.d.ts.map +1 -1
- package/dist/web-worker/client-session/client-session-devtools.js +14 -3
- package/dist/web-worker/client-session/client-session-devtools.js.map +1 -1
- package/dist/web-worker/client-session/persisted-adapter.d.ts +15 -0
- package/dist/web-worker/client-session/persisted-adapter.d.ts.map +1 -1
- package/dist/web-worker/client-session/persisted-adapter.js +67 -46
- package/dist/web-worker/client-session/persisted-adapter.js.map +1 -1
- package/dist/web-worker/client-session/sqlite-loader.d.ts +2 -0
- package/dist/web-worker/client-session/sqlite-loader.d.ts.map +1 -0
- package/dist/web-worker/client-session/sqlite-loader.js +16 -0
- package/dist/web-worker/client-session/sqlite-loader.js.map +1 -0
- package/dist/web-worker/common/persisted-sqlite.d.ts +23 -7
- package/dist/web-worker/common/persisted-sqlite.d.ts.map +1 -1
- package/dist/web-worker/common/persisted-sqlite.js +114 -76
- package/dist/web-worker/common/persisted-sqlite.js.map +1 -1
- package/dist/web-worker/common/shutdown-channel.d.ts +3 -2
- package/dist/web-worker/common/shutdown-channel.d.ts.map +1 -1
- package/dist/web-worker/common/shutdown-channel.js +2 -2
- package/dist/web-worker/common/shutdown-channel.js.map +1 -1
- package/dist/web-worker/common/worker-disconnect-channel.d.ts +2 -6
- package/dist/web-worker/common/worker-disconnect-channel.d.ts.map +1 -1
- package/dist/web-worker/common/worker-disconnect-channel.js +3 -2
- package/dist/web-worker/common/worker-disconnect-channel.js.map +1 -1
- package/dist/web-worker/common/worker-schema.d.ts +103 -58
- package/dist/web-worker/common/worker-schema.d.ts.map +1 -1
- package/dist/web-worker/common/worker-schema.js +48 -36
- package/dist/web-worker/common/worker-schema.js.map +1 -1
- package/dist/web-worker/leader-worker/make-leader-worker.d.ts +4 -2
- package/dist/web-worker/leader-worker/make-leader-worker.d.ts.map +1 -1
- package/dist/web-worker/leader-worker/make-leader-worker.js +47 -21
- package/dist/web-worker/leader-worker/make-leader-worker.js.map +1 -1
- package/dist/web-worker/shared-worker/make-shared-worker.d.ts +2 -1
- package/dist/web-worker/shared-worker/make-shared-worker.d.ts.map +1 -1
- package/dist/web-worker/shared-worker/make-shared-worker.js +65 -49
- package/dist/web-worker/shared-worker/make-shared-worker.js.map +1 -1
- package/dist/web-worker/vite-dev-polyfill.js +1 -0
- package/dist/web-worker/vite-dev-polyfill.js.map +1 -1
- package/package.json +8 -9
- package/src/in-memory/in-memory-adapter.ts +36 -20
- package/src/web-worker/ambient.d.ts +7 -24
- package/src/web-worker/client-session/client-session-devtools.ts +18 -3
- package/src/web-worker/client-session/persisted-adapter.ts +112 -59
- package/src/web-worker/client-session/sqlite-loader.ts +19 -0
- package/src/web-worker/common/persisted-sqlite.ts +219 -113
- package/src/web-worker/common/shutdown-channel.ts +10 -3
- package/src/web-worker/common/worker-disconnect-channel.ts +10 -3
- package/src/web-worker/common/worker-schema.ts +62 -35
- package/src/web-worker/leader-worker/make-leader-worker.ts +58 -33
- package/src/web-worker/shared-worker/make-shared-worker.ts +95 -75
- package/src/web-worker/vite-dev-polyfill.ts +1 -0
- package/dist/opfs-utils.d.ts +0 -5
- package/dist/opfs-utils.d.ts.map +0 -1
- package/dist/opfs-utils.js +0 -43
- package/dist/opfs-utils.js.map +0 -1
- package/src/opfs-utils.ts +0 -61
package/src/opfs-utils.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// NOTE we're already firing off this promise call here since we'll need it anyway and need it cached
|
|
2
|
-
|
|
3
|
-
import { prettyBytes } from '@livestore/utils'
|
|
4
|
-
|
|
5
|
-
// To improve LiveStore compatibility with e.g. Node.js we're guarding for `navigator` / `navigator.storage` to be defined.
|
|
6
|
-
export const rootHandlePromise =
|
|
7
|
-
typeof navigator === 'undefined' || navigator.storage === undefined
|
|
8
|
-
? // We're using a proxy here to make the promise reject lazy
|
|
9
|
-
(new Proxy(
|
|
10
|
-
{},
|
|
11
|
-
{
|
|
12
|
-
get: () =>
|
|
13
|
-
Promise.reject(
|
|
14
|
-
new Error(`Can't get OPFS root handle in this environment as navigator.storage is undefined`),
|
|
15
|
-
),
|
|
16
|
-
},
|
|
17
|
-
) as never)
|
|
18
|
-
: navigator.storage.getDirectory()
|
|
19
|
-
|
|
20
|
-
export const getDirHandle = async (absDirPath: string | undefined) => {
|
|
21
|
-
const rootHandle = await rootHandlePromise
|
|
22
|
-
if (absDirPath === undefined) return rootHandle
|
|
23
|
-
|
|
24
|
-
let dirHandle = rootHandle
|
|
25
|
-
const directoryStack = absDirPath?.split('/').filter(Boolean)
|
|
26
|
-
while (directoryStack.length > 0) {
|
|
27
|
-
dirHandle = await dirHandle.getDirectoryHandle(directoryStack.shift()!)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return dirHandle
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export const printTree = async (
|
|
34
|
-
directoryHandle_: FileSystemDirectoryHandle | Promise<FileSystemDirectoryHandle> = rootHandlePromise,
|
|
35
|
-
depth: number = Number.POSITIVE_INFINITY,
|
|
36
|
-
prefix = '',
|
|
37
|
-
): Promise<void> => {
|
|
38
|
-
if (depth < 0) return
|
|
39
|
-
|
|
40
|
-
const directoryHandle = await directoryHandle_
|
|
41
|
-
const entries = directoryHandle.values()
|
|
42
|
-
|
|
43
|
-
for await (const entry of entries) {
|
|
44
|
-
const isDirectory = entry.kind === 'directory'
|
|
45
|
-
const size = entry.kind === 'file' ? await entry.getFile().then((file) => prettyBytes(file.size)) : undefined
|
|
46
|
-
console.log(`${prefix}${isDirectory ? '📁' : '📄'} ${entry.name} ${size ? `(${size})` : ''}`)
|
|
47
|
-
|
|
48
|
-
if (isDirectory) {
|
|
49
|
-
const nestedDirectoryHandle = await directoryHandle.getDirectoryHandle(entry.name)
|
|
50
|
-
await printTree(nestedDirectoryHandle, depth - 1, `${prefix} `)
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export const deleteAll = async (directoryHandle: FileSystemDirectoryHandle) => {
|
|
56
|
-
if (directoryHandle.kind !== 'directory') return
|
|
57
|
-
|
|
58
|
-
for await (const entryName of directoryHandle.keys()) {
|
|
59
|
-
await directoryHandle.removeEntry(entryName, { recursive: true })
|
|
60
|
-
}
|
|
61
|
-
}
|