tinybase 5.0.0-beta.26 → 5.0.0-beta.28
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/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
- package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
- package/@types/checkpoints/index.d.cts +30 -1
- package/@types/checkpoints/index.d.ts +30 -1
- package/@types/checkpoints/with-schemas/index.d.cts +30 -1
- package/@types/checkpoints/with-schemas/index.d.ts +30 -1
- package/@types/common/index.d.cts +9 -0
- package/@types/common/index.d.ts +9 -0
- package/@types/common/with-schemas/index.d.cts +9 -0
- package/@types/common/with-schemas/index.d.ts +9 -0
- package/@types/index.d.cts +1 -0
- package/@types/index.d.ts +1 -0
- package/@types/indexes/index.d.cts +32 -1
- package/@types/indexes/index.d.ts +32 -1
- package/@types/indexes/with-schemas/index.d.cts +32 -1
- package/@types/indexes/with-schemas/index.d.ts +32 -1
- package/@types/mergeable-store/index.d.cts +0 -2
- package/@types/mergeable-store/index.d.ts +0 -2
- package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
- package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
- package/@types/metrics/index.d.cts +30 -4
- package/@types/metrics/index.d.ts +30 -4
- package/@types/metrics/with-schemas/index.d.cts +30 -4
- package/@types/metrics/with-schemas/index.d.ts +30 -4
- package/@types/persisters/index.d.cts +246 -62
- package/@types/persisters/index.d.ts +246 -62
- package/@types/persisters/persister-automerge/index.d.cts +13 -9
- package/@types/persisters/persister-automerge/index.d.ts +13 -9
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +13 -9
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +13 -9
- package/@types/persisters/persister-browser/index.d.cts +25 -15
- package/@types/persisters/persister-browser/index.d.ts +25 -15
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +25 -15
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +25 -15
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +12 -9
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +12 -9
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +12 -9
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +12 -9
- package/@types/persisters/persister-electric-sql/index.d.cts +12 -9
- package/@types/persisters/persister-electric-sql/index.d.ts +12 -9
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +12 -9
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +12 -9
- package/@types/persisters/persister-expo-sqlite/index.d.cts +14 -10
- package/@types/persisters/persister-expo-sqlite/index.d.ts +14 -10
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +14 -10
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +14 -10
- package/@types/persisters/persister-file/index.d.cts +14 -8
- package/@types/persisters/persister-file/index.d.ts +14 -8
- package/@types/persisters/persister-file/with-schemas/index.d.cts +14 -8
- package/@types/persisters/persister-file/with-schemas/index.d.ts +14 -8
- package/@types/persisters/persister-indexed-db/index.d.cts +13 -8
- package/@types/persisters/persister-indexed-db/index.d.ts +13 -8
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +13 -8
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +13 -8
- package/@types/persisters/persister-libsql/index.d.cts +13 -8
- package/@types/persisters/persister-libsql/index.d.ts +13 -8
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +13 -8
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +13 -8
- package/@types/persisters/persister-partykit-client/index.d.cts +24 -13
- package/@types/persisters/persister-partykit-client/index.d.ts +24 -13
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +24 -13
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +24 -13
- package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
- package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
- package/@types/persisters/persister-powersync/index.d.cts +15 -9
- package/@types/persisters/persister-powersync/index.d.ts +15 -9
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +15 -9
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +15 -9
- package/@types/persisters/persister-remote/index.d.cts +15 -10
- package/@types/persisters/persister-remote/index.d.ts +15 -10
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +15 -10
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +15 -10
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +14 -9
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +14 -9
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +14 -9
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +14 -9
- package/@types/persisters/persister-sqlite3/index.d.cts +14 -9
- package/@types/persisters/persister-sqlite3/index.d.ts +14 -9
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +14 -9
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +14 -9
- package/@types/persisters/persister-yjs/index.d.cts +13 -8
- package/@types/persisters/persister-yjs/index.d.ts +13 -8
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +13 -8
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +13 -8
- package/@types/persisters/with-schemas/index.d.cts +280 -63
- package/@types/persisters/with-schemas/index.d.ts +280 -63
- package/@types/queries/index.d.cts +64 -5
- package/@types/queries/index.d.ts +64 -5
- package/@types/queries/with-schemas/index.d.cts +64 -5
- package/@types/queries/with-schemas/index.d.ts +64 -5
- package/@types/relationships/index.d.cts +34 -1
- package/@types/relationships/index.d.ts +34 -1
- package/@types/relationships/with-schemas/index.d.cts +34 -1
- package/@types/relationships/with-schemas/index.d.ts +34 -1
- package/@types/store/index.d.cts +125 -0
- package/@types/store/index.d.ts +125 -0
- package/@types/store/with-schemas/index.d.cts +125 -0
- package/@types/store/with-schemas/index.d.ts +125 -0
- package/@types/synchronizers/index.d.cts +375 -41
- package/@types/synchronizers/index.d.ts +375 -41
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
- package/@types/synchronizers/synchronizer-local/index.d.cts +62 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +62 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +77 -3
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +77 -3
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +110 -3
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +110 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +121 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +121 -3
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
- package/@types/synchronizers/with-schemas/index.d.cts +372 -42
- package/@types/synchronizers/with-schemas/index.d.ts +372 -42
- package/@types/tools/index.d.cts +22 -0
- package/@types/tools/index.d.ts +22 -0
- package/@types/tools/with-schemas/index.d.cts +22 -0
- package/@types/tools/with-schemas/index.d.ts +22 -0
- package/@types/ui-react/index.d.cts +375 -1
- package/@types/ui-react/index.d.ts +375 -1
- package/@types/ui-react/with-schemas/index.d.cts +100 -1
- package/@types/ui-react/with-schemas/index.d.ts +100 -1
- package/@types/ui-react-dom/index.d.cts +112 -0
- package/@types/ui-react-dom/index.d.ts +112 -0
- package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
- package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
- package/@types/ui-react-inspector/index.d.cts +6 -2
- package/@types/ui-react-inspector/index.d.ts +6 -2
- package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
- package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
- package/@types/with-schemas/index.d.cts +1 -0
- package/@types/with-schemas/index.d.ts +1 -0
- package/cjs/es6/index.cjs +49 -43
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/metrics/index.cjs +1 -1
- package/cjs/es6/min/metrics/index.cjs.gz +0 -0
- package/cjs/es6/min/metrics/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/metrics/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/queries/index.cjs +1 -1
- package/cjs/es6/min/queries/index.cjs.gz +0 -0
- package/cjs/es6/min/queries/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/queries/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react/index.cjs +1 -1
- package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/index.cjs +5 -5
- package/cjs/es6/persisters/persister-automerge/index.cjs +5 -5
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-browser/index.cjs +5 -5
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +11 -11
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +11 -11
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-file/index.cjs +5 -5
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +5 -5
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-libsql/index.cjs +11 -11
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +5 -5
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-powersync/index.cjs +11 -11
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-remote/index.cjs +5 -5
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +11 -11
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +11 -11
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
- package/cjs/es6/persisters/persister-yjs/index.cjs +5 -5
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +5 -5
- package/cjs/es6/persisters/with-schemas/index.cjs +5 -5
- package/cjs/es6/synchronizers/index.cjs +49 -43
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +53 -48
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -48
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +61 -62
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
- package/cjs/es6/synchronizers/with-schemas/index.cjs +49 -43
- package/cjs/es6/ui-react/index.cjs +137 -75
- package/cjs/es6/ui-react/with-schemas/index.cjs +137 -75
- package/cjs/es6/ui-react-inspector/index.cjs +5 -5
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +5 -5
- package/cjs/es6/with-schemas/index.cjs +49 -43
- package/cjs/index.cjs +49 -43
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/metrics/index.cjs +1 -1
- package/cjs/min/metrics/index.cjs.gz +0 -0
- package/cjs/min/metrics/with-schemas/index.cjs +1 -1
- package/cjs/min/metrics/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/queries/index.cjs +1 -1
- package/cjs/min/queries/index.cjs.gz +0 -0
- package/cjs/min/queries/with-schemas/index.cjs +1 -1
- package/cjs/min/queries/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react/index.cjs +1 -1
- package/cjs/min/ui-react/index.cjs.gz +0 -0
- package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/index.cjs +5 -5
- package/cjs/persisters/persister-automerge/index.cjs +5 -5
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-browser/index.cjs +5 -5
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +11 -11
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-electric-sql/index.cjs +11 -11
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-expo-sqlite/index.cjs +11 -11
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-file/index.cjs +5 -5
- package/cjs/persisters/persister-file/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-indexed-db/index.cjs +5 -5
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-libsql/index.cjs +11 -11
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-partykit-client/index.cjs +5 -5
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-powersync/index.cjs +11 -11
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-remote/index.cjs +5 -5
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +5 -5
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +11 -11
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-sqlite3/index.cjs +11 -11
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +11 -11
- package/cjs/persisters/persister-yjs/index.cjs +5 -5
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +5 -5
- package/cjs/persisters/with-schemas/index.cjs +5 -5
- package/cjs/synchronizers/index.cjs +49 -43
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs +53 -53
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +53 -53
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +61 -62
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +61 -62
- package/cjs/synchronizers/with-schemas/index.cjs +49 -43
- package/cjs/ui-react/index.cjs +139 -74
- package/cjs/ui-react/with-schemas/index.cjs +139 -74
- package/cjs/ui-react-inspector/index.cjs +5 -5
- package/cjs/ui-react-inspector/with-schemas/index.cjs +5 -5
- package/cjs/with-schemas/index.cjs +49 -43
- package/es6/index.js +49 -43
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/metrics/index.js +1 -1
- package/es6/min/metrics/index.js.gz +0 -0
- package/es6/min/metrics/with-schemas/index.js +1 -1
- package/es6/min/metrics/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/queries/index.js +1 -1
- package/es6/min/queries/index.js.gz +0 -0
- package/es6/min/queries/with-schemas/index.js +1 -1
- package/es6/min/queries/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react/index.js +1 -1
- package/es6/min/ui-react/index.js.gz +0 -0
- package/es6/min/ui-react/with-schemas/index.js +1 -1
- package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/index.js +5 -5
- package/es6/persisters/persister-automerge/index.js +5 -5
- package/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
- package/es6/persisters/persister-browser/index.js +5 -5
- package/es6/persisters/persister-browser/with-schemas/index.js +5 -5
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
- package/es6/persisters/persister-electric-sql/index.js +11 -11
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
- package/es6/persisters/persister-expo-sqlite/index.js +11 -11
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
- package/es6/persisters/persister-file/index.js +5 -5
- package/es6/persisters/persister-file/with-schemas/index.js +5 -5
- package/es6/persisters/persister-indexed-db/index.js +5 -5
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
- package/es6/persisters/persister-libsql/index.js +11 -11
- package/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
- package/es6/persisters/persister-partykit-client/index.js +5 -5
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
- package/es6/persisters/persister-powersync/index.js +11 -11
- package/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
- package/es6/persisters/persister-remote/index.js +5 -5
- package/es6/persisters/persister-remote/with-schemas/index.js +5 -5
- package/es6/persisters/persister-sqlite-wasm/index.js +11 -11
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
- package/es6/persisters/persister-sqlite3/index.js +11 -11
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
- package/es6/persisters/persister-yjs/index.js +5 -5
- package/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
- package/es6/persisters/with-schemas/index.js +5 -5
- package/es6/synchronizers/index.js +49 -44
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
- package/es6/synchronizers/synchronizer-local/index.js +53 -48
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +53 -48
- package/es6/synchronizers/synchronizer-ws-client/index.js +61 -62
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
- package/es6/synchronizers/with-schemas/index.js +49 -44
- package/es6/ui-react/index.js +137 -75
- package/es6/ui-react/with-schemas/index.js +137 -75
- package/es6/ui-react-inspector/index.js +5 -5
- package/es6/ui-react-inspector/with-schemas/index.js +5 -5
- package/es6/with-schemas/index.js +49 -43
- package/index.js +49 -43
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +109 -5
- package/persisters/index.js +5 -5
- package/persisters/persister-automerge/index.js +5 -5
- package/persisters/persister-automerge/with-schemas/index.js +5 -5
- package/persisters/persister-browser/index.js +5 -5
- package/persisters/persister-browser/with-schemas/index.js +5 -5
- package/persisters/persister-cr-sqlite-wasm/index.js +11 -11
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
- package/persisters/persister-electric-sql/index.js +11 -11
- package/persisters/persister-electric-sql/with-schemas/index.js +11 -11
- package/persisters/persister-expo-sqlite/index.js +11 -11
- package/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
- package/persisters/persister-file/index.js +5 -5
- package/persisters/persister-file/with-schemas/index.js +5 -5
- package/persisters/persister-indexed-db/index.js +5 -5
- package/persisters/persister-indexed-db/with-schemas/index.js +5 -5
- package/persisters/persister-libsql/index.js +11 -11
- package/persisters/persister-libsql/with-schemas/index.js +11 -11
- package/persisters/persister-partykit-client/index.js +5 -5
- package/persisters/persister-partykit-client/with-schemas/index.js +5 -5
- package/persisters/persister-powersync/index.js +11 -11
- package/persisters/persister-powersync/with-schemas/index.js +11 -11
- package/persisters/persister-remote/index.js +5 -5
- package/persisters/persister-remote/with-schemas/index.js +5 -5
- package/persisters/persister-sqlite-wasm/index.js +11 -11
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
- package/persisters/persister-sqlite3/index.js +11 -11
- package/persisters/persister-sqlite3/with-schemas/index.js +11 -11
- package/persisters/persister-yjs/index.js +5 -5
- package/persisters/persister-yjs/with-schemas/index.js +5 -5
- package/persisters/with-schemas/index.js +5 -5
- package/readme.md +10 -10
- package/releases.md +8 -8
- package/synchronizers/index.js +49 -44
- package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
- package/synchronizers/synchronizer-local/index.js +53 -53
- package/synchronizers/synchronizer-local/with-schemas/index.js +53 -53
- package/synchronizers/synchronizer-ws-client/index.js +61 -62
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +61 -62
- package/synchronizers/with-schemas/index.js +49 -44
- package/ui-react/index.js +139 -74
- package/ui-react/with-schemas/index.js +139 -74
- package/ui-react-inspector/index.js +5 -5
- package/ui-react-inspector/with-schemas/index.js +5 -5
- package/umd/es6/index.js +52 -43
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/metrics/index.js +1 -1
- package/umd/es6/min/metrics/index.js.gz +0 -0
- package/umd/es6/min/metrics/with-schemas/index.js +1 -1
- package/umd/es6/min/metrics/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/queries/index.js +1 -1
- package/umd/es6/min/queries/index.js.gz +0 -0
- package/umd/es6/min/queries/with-schemas/index.js +1 -1
- package/umd/es6/min/queries/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/ui-react/index.js +1 -1
- package/umd/es6/min/ui-react/index.js.gz +0 -0
- package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/index.js +5 -5
- package/umd/es6/persisters/persister-automerge/index.js +5 -5
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-browser/index.js +5 -5
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +11 -11
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-electric-sql/index.js +11 -11
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-expo-sqlite/index.js +11 -11
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-file/index.js +5 -5
- package/umd/es6/persisters/persister-file/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-indexed-db/index.js +5 -5
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-libsql/index.js +11 -11
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-partykit-client/index.js +5 -5
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-powersync/index.js +11 -11
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-remote/index.js +5 -5
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +5 -5
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +11 -11
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-sqlite3/index.js +11 -11
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +11 -11
- package/umd/es6/persisters/persister-yjs/index.js +5 -5
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +5 -5
- package/umd/es6/persisters/with-schemas/index.js +5 -5
- package/umd/es6/synchronizers/index.js +52 -43
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
- package/umd/es6/synchronizers/synchronizer-local/index.js +56 -48
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +56 -48
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +64 -62
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -62
- package/umd/es6/synchronizers/with-schemas/index.js +52 -43
- package/umd/es6/ui-react/index.js +135 -72
- package/umd/es6/ui-react/with-schemas/index.js +135 -72
- package/umd/es6/ui-react-inspector/index.js +5 -5
- package/umd/es6/ui-react-inspector/with-schemas/index.js +5 -5
- package/umd/es6/with-schemas/index.js +52 -43
- package/umd/index.js +52 -47
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/metrics/index.js +1 -1
- package/umd/min/metrics/index.js.gz +0 -0
- package/umd/min/metrics/with-schemas/index.js +1 -1
- package/umd/min/metrics/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/queries/index.js +1 -1
- package/umd/min/queries/index.js.gz +0 -0
- package/umd/min/queries/with-schemas/index.js +1 -1
- package/umd/min/queries/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react/index.js +1 -1
- package/umd/min/ui-react/index.js.gz +0 -0
- package/umd/min/ui-react/with-schemas/index.js +1 -1
- package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/index.js +5 -5
- package/umd/persisters/persister-automerge/index.js +5 -5
- package/umd/persisters/persister-automerge/with-schemas/index.js +5 -5
- package/umd/persisters/persister-browser/index.js +5 -5
- package/umd/persisters/persister-browser/with-schemas/index.js +5 -5
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +11 -11
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +11 -11
- package/umd/persisters/persister-electric-sql/index.js +11 -11
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +11 -11
- package/umd/persisters/persister-expo-sqlite/index.js +11 -11
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +11 -11
- package/umd/persisters/persister-file/index.js +5 -5
- package/umd/persisters/persister-file/with-schemas/index.js +5 -5
- package/umd/persisters/persister-indexed-db/index.js +5 -5
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +5 -5
- package/umd/persisters/persister-libsql/index.js +11 -11
- package/umd/persisters/persister-libsql/with-schemas/index.js +11 -11
- package/umd/persisters/persister-partykit-client/index.js +5 -5
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +5 -5
- package/umd/persisters/persister-powersync/index.js +11 -11
- package/umd/persisters/persister-powersync/with-schemas/index.js +11 -11
- package/umd/persisters/persister-remote/index.js +5 -5
- package/umd/persisters/persister-remote/with-schemas/index.js +5 -5
- package/umd/persisters/persister-sqlite-wasm/index.js +11 -11
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +11 -11
- package/umd/persisters/persister-sqlite3/index.js +11 -11
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +11 -11
- package/umd/persisters/persister-yjs/index.js +5 -5
- package/umd/persisters/persister-yjs/with-schemas/index.js +5 -5
- package/umd/persisters/with-schemas/index.js +5 -5
- package/umd/synchronizers/index.js +52 -47
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
- package/umd/synchronizers/synchronizer-local/index.js +56 -57
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +56 -57
- package/umd/synchronizers/synchronizer-ws-client/index.js +64 -66
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +64 -66
- package/umd/synchronizers/with-schemas/index.js +52 -47
- package/umd/ui-react/index.js +140 -71
- package/umd/ui-react/with-schemas/index.js +140 -71
- package/umd/ui-react-inspector/index.js +5 -5
- package/umd/ui-react-inspector/with-schemas/index.js +5 -5
- package/umd/with-schemas/index.js +52 -47
- package/with-schemas/index.js +49 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=d(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(Oa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[da]??Y,e[ua]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[va]:null,[pa]:Y},va,(a=>O(w,a)),(a=>z(l,a))),ha(i,{[ga]:null,[pa]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>O(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,h,A(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{fa as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),u=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==u(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],h=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,f=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>u(f(a)),$=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(h(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(O(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),U="_",Y="_id",k=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(v(await a(Q+k(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const d=W();D(o??{},(a=>v(f(a??{}),(a=>z(d,a)))));const u=A(d);if(!w&&y&&g(u)&&O(r,t))return await a("DROP "+K+k(t)),void B(r,t);if(g(u)||O(r,t)){const n=j(r,t),i=W(F(n));await E([...v(u,(async s=>{h(i,s)||(await a(V+k(t)+"ADD"+k(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+k(t)+"DROP"+k(e)),B(n,e))})):[]])}else await a("CREATE "+K+k(t)+"("+k(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(u,(a=>n+k(a))))});`),B(r,t,_([[s,e],...v(u,(a=>[a,e]))]));if(w)c(o)?await a(q+k(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+k(t)+Z+k(s)+"=?",[n]):g(u)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(g(u))O(r,t)&&await a(q+k(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...v(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+k(t)+Z+k(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+k(t)+"("+k(s)+p(v(r,(a=>n+k(a))))+")VALUES"+d(i(`,(?${i(",?",u(r))})`,u(o)/(u(r)+1)),1)+(c?"ON CONFLICT("+k(s)+")DO UPDATE SET"+p(v(r,(a=>k(a)+"=excluded."+k(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let d,u,E,p=0,v=0,g=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[m,O,A,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),f=()=>(u&&(s(u),u=void 0),D),S=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(O,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),d=a.shift()));)try{await d()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await f().load(a),u=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(u),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();h(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,d)=>{const[u,E,p,v]=aa(t,l,s,d);return ia(a,(async()=>await v((async()=>{return await u(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await u(),await p(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],d,u,p,v)=>{const[g,C,O,A]=aa(t,d,s,v),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await O(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await O(w,Y,{[U]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(x(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,Y))[U]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>u},u)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",da=la+"Id"+ca,ua=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=d(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,u="getDb",E)=>{let p,v,g;const[m,C,h,T]=(a=>{const e=(a=>b(Oa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[da]??Y,e[ua]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=d(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[ha(s,{[va]:null,[pa]:Y},va,(a=>O(w,a)),(a=>z(l,a))),ha(i,{[ga]:null,[pa]:Y,[ma]:0,[Ca]:0},ga,((a,t)=>O(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,h,A(T),w,u,E)})(a,n,(async(a,t=[])=>await e.execO(a,t)),(a=>e.onUpdate(((t,e,n)=>a(n)))),(a=>a()),s,i,1,e);export{fa as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const o=u(M(S(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",ba="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,O,T]=(a=>{const e=(a=>S(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[ga]:null,[va]:x},ga,(a=>h(w,a)),(a=>q(l,a))),Oa(i,{[pa]:null,[va]:x,[Ca]:0,[ma]:0},pa,((a,t)=>h(w,t)),((a,t)=>q(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${ba}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Na as createElectricSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),b=T.entries,N=T.keys,R=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),D=(a,t)=>t in a,I=(a,t)=>g(b(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(N(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(I(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,L(await E(g(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(g(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(C(g(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();I(o??{},(a=>g(N(a??{}),(a=>q(u,a)))));const d=A(u);if(!w&&y&&p(d)&&h(r,t))return await a("DROP "+z+G(t)),void H(r,t);if(p(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...g(d,(async s=>{O(i,s)||(await a(K+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?g(A(i),(async e=>{e!=s&&(await a(K+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+z+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...g(d,(a=>[a,e]))]));if(w)c(o)?await a(V+G(t)+Z+" 1"):await E(I(o,(async(e,n)=>{c(e)?await a(V+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,N(e),[n,...M(e)],i)})));else if(p(d))h(r,t)&&await a(V+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];I(o??{},((a,t)=>{m(n,t,...g(e,(t=>a?.[t]))),m(c,t)})),await ta(a,t,s,e,n,i),await a(V+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(g(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(g(r,(a=>G(a)+"=excluded."+G(a))),n):e),g(o,(a=>a??null))),ea=a=>v(g(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,g=0,p=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[C,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=v&&(v=1,g++,await D((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),I),N=()=>(d&&(s(d),d=void 0),I),L=async a=>(1!=v&&(v=2,p++,await D((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),I),S=()=>(l(E,a.delListener),E=void 0,I),D=async(...a)=>(m(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),I),I={load:b,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,g++,f(t??a),v=0):await b()})),I),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),I),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:D,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({loads:g,saves:p}),...o};return R(I)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,g]=aa(t,l,s,u);return ia(a,(async()=>await g((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,g)=>{const[p,m,h,A]=aa(t,u,s,g),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>L(C(await E(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await m(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,ga="tableId",pa="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return I(a,((a,r)=>{const o=u(M(S(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",ba="schema_version",Na=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,g,p;const[C,m,O,T]=(a=>{const e=(a=>S(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(S(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[ga]:null,[va]:x},ga,(a=>h(w,a)),(a=>q(l,a))),Oa(i,{[pa]:null,[va]:x,[Ca]:0,[ma]:0},pa,((a,t)=>h(w,t)),((a,t)=>q(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${ba} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${ba}`);t==(v??=t)&&e==(g??=e)&&s==(p??=s)||(a(),v=t,g=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=g=p=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>await e.db.raw({sql:a,args:t})),(a=>e.notifier.subscribeToDataChanges((t=>{return n=({tablename:t})=>a(t),e.notifier.alias(t).forEach(n);var n}))),(a=>a()),s,i,1,e,"getElectricClient");export{Na as createElectricSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as a}from"expo-sqlite";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa={mode:wa,[pa]:1},
|
|
1
|
+
import{addDatabaseChangeListener as a}from"expo-sqlite";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:wa,[pa]:1},ha={load:0,save:0,[ma]:e+"_values"},Na=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Ra="schema_version",La=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,N]=(a=>{const t=(a=>I(Oa,w(a)?{[ua]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??G,t[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=q(c),y=q(c);return[0,n,[Na(s,{[ga]:null,[va]:G},ga,(a=>O(y,a)),(a=>z(l,a))),Na(i,{[ma]:null,[va]:G,[Aa]:0,[Ca]:0},ma,((a,t)=>O(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(m?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,h(N),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{La as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as a}from"expo-sqlite";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa={mode:wa,[pa]:1},
|
|
1
|
+
import{addDatabaseChangeListener as a}from"expo-sqlite";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),r=(a,t)=>a.repeat(t),o=Promise,c=clearInterval,l=a=>null==a,y=(a,t,e)=>l(a)?e?.():t(a),w=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,p=async a=>o.all(a),v=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),m=a=>0==E(a),A=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],N=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),R=T.entries,L=T.keys,S=T.freeze,b=(a=[])=>T.fromEntries(a),I=(...a)=>T.assign({},...a),D=(a,t)=>t in a,M=(a,t)=>g(R(a),(([a,e])=>t(e,a))),P=a=>T.values(a),$=a=>E(L(a)),_=a=>(a=>!l(a)&&y(f(a),(a=>a==T.prototype||l(f(a))),(()=>!0)))(a)&&0==$(a),F=a=>new Map(a),j=a=>[...a?.keys()??[]],x=(a,t)=>a?.get(t),B=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>l(e)?(N(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)||H(a,t,e()),x(a,t)),Y=(a,t,e,n=H)=>(M(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>D(t,e)?0:n(a,e))),a),k="_",G="_id",U=a=>`"${a.replace(/"/g,'""')}"`,W="SELECT",q=a=>new Set(u(a)||l(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,Q="DELETE FROM",X=W+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=F();return[async()=>Y(r,b(await p(g(await a("SELECT name "+Z+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+na(t)+")ORDER BY name",t),(async({name:t})=>[t,b(g(await a(W+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,F),e,((a,t,e)=>{e!=x(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!l(x(x(r,a),t)))(t,e)?b(A(g(await a(X+U(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!_(t)))):{},async(t,e,o,c,y,w=!1)=>{const u=q();M(o??{},(a=>g(L(a??{}),(a=>z(u,a)))));const d=h(u);if(!w&&y&&m(d)&&O(r,t))return await a("DROP "+K+U(t)),void H(r,t);if(m(d)||O(r,t)){const s=x(r,t),i=q(j(s));await p([...g(d,(async e=>{N(i,e)||(await a(V+U(t)+"ADD"+U(e)),H(s,e,n))})),...!w&&c?g(h(i),(async n=>{n!=e&&(await a(V+U(t)+"DROP"+U(n)),H(s,n))})):[]])}else await a("CREATE "+K+U(t)+"("+U(e)+` PRIMARY KEY ON CONFLICT REPLACE${v(g(d,(a=>s+U(a))))});`),H(r,t,F([[e,n],...g(d,(a=>[a,n]))]));if(w)l(o)?await a(Q+U(t)+aa+" 1"):await p(M(o,(async(n,s)=>{l(n)?await a(Q+U(t)+aa+U(e)+"=?",[s]):m(d)||await ea(a,t,e,L(n),[s,...P(n)],i)})));else if(m(d))O(r,t)&&await a(Q+U(t)+aa+" 1");else{const n=A(j(x(r,t)),(a=>a!=e)),s=[],c=[];M(o??{},((a,t)=>{C(s,t,...g(n,(t=>a?.[t]))),C(c,t)})),await ea(a,t,e,n,s,i),await a(Q+U(t)+aa+U(e)+"NOT IN("+na(c)+")",c)}},async t=>{let n;await a("BEGIN");try{n=await t()}catch(a){e?.(a)}return await a("END"),n}]},ea=async(a,t,e,i,o,c=!0)=>await a("INSERT "+(c?n:"OR REPLACE ")+"INTO"+U(t)+"("+U(e)+v(g(i,(a=>s+U(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+U(e)+")DO UPDATE SET"+v(g(i,(a=>U(a)+"=excluded."+U(a))),s):n),g(o,(a=>a??null))),na=a=>v(g(a,(()=>"?")),s),sa=F(),ia=F(),ra=(a,t,e,n,s,i,r,o={},c=[])=>{let w,d,E,p=0,v=0,g=0;J(sa,c,(()=>0)),J(ia,c,(()=>[]));const[m,A,O,h,N]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),T=t=>{(m&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{T(await t())}catch(t){i?.(t),a&&N(a)}p=0}))),D),R=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}p=0}))),D),b=()=>(y(E,a.delListener),E=void 0,D),I=async(...a)=>(C(x(ia,c),...a),await(async()=>{if(!x(sa,c)){for(H(sa,c,1);!l((a=x(ia,c),w=a.shift()));)try{await w()}catch(a){i?.(a)}H(sa,c,0)}var a})(),D),D={load:f,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,T(t??a),p=0):await f()})),D),stopAutoLoad:R,isAutoLoading:()=>!l(d),save:L,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&L(a)})),D),stopAutoSave:b,isAutoSaving:()=>!l(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return S(D)},oa=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=ta(t,l,s,u);return ra(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},ca=(a,t,e,n,s,i,[r,o,[c,y,w]],u,d,E,v)=>{const[g,m,C,O]=ta(t,u,s,v),h=async(a,t)=>await p(B(o,(async([e,n,s,i],r)=>{t&&!D(a,r)||await C(e,n,a[r],s,i,t)}))),N=async(a,t)=>y?await C(w,G,{[k]:a},!0,!0,t):null;return ra(a,(async()=>await O((async()=>{await g();const a=await(async()=>b(A(await p(B(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>c?(await m(w,G))[k]:{})();return _(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),l(t)){const[t,e]=a();await h(t),await N(e)}else await h(t[0],!0),await N(t[1],!0)}))),e,n,s,i,{[E]:()=>d},d)},la="ColumnName",ya="store",wa="json",ua=ya+"TableName",da=ya+"Id"+la,Ea=ya+la,pa="autoLoadIntervalSeconds",va="rowId"+la,ga="tableId",ma="tableName",Aa="deleteEmptyColumns",Ca="deleteEmptyTable",Oa={mode:wa,[pa]:1},ha={load:0,save:0,[ma]:e+"_values"},Na=(a,t,e,n,s)=>{const i=F();return M(a,((a,r)=>{const o=d(P(I(t,w(a)?{[e]:a}:a)),0,$(t));l(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Ra="schema_version",La=(t,n,s,i,r)=>((a,t,n,s,i,r,o,l,y,u="getDb",E)=>{let p,v,g;const[m,A,C,N]=(a=>{const t=(a=>I(Oa,w(a)?{[ua]:a}:a??{}))(a),n=t[pa];if(t.mode==wa){const a=t[ua]??e;return[1,n,[a,t[da]??G,t[Ea]??ya],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(P(I(ha,r)),0,$(ha)),c=o[2],l=q(c),y=q(c);return[0,n,[Na(s,{[ga]:null,[va]:G},ga,(a=>O(y,a)),(a=>z(l,a))),Na(i,{[ma]:null,[va]:G,[Aa]:0,[Ca]:0},ma,((a,t)=>O(y,t)),((a,t)=>z(l,t))),o],l]})(t);return(m?oa:ca)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),p=v=g=null,i(t)}),o,l,C,h(N),y,u,E)})(t,s,(async(a,t=[])=>await n.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),i,r,3,n);export{La as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:ya,[Ea]:1},Oa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return S(a,((a,r)=>{const o=u(b(f(t,y(a)?{[e]:a}:a)),0,I(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>f(Aa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??W,e[da]??la],K(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(b(f(Oa,r)),0,I(Oa)),c=o[2],l=K(c),w=K(c);return[0,n,[ha(s,{[pa]:null,[va]:W},pa,(a=>M(w,a)),(a=>V(l,a))),ha(i,{[ga]:null,[va]:W,[Ca]:0,[ma]:0},ga,((a,t)=>M(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,P(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{fa as createLibSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),C=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),A=Object,O=a=>A.getPrototypeOf(a),h=A.entries,T=A.keys,N=A.freeze,R=(a=[])=>A.fromEntries(a),f=(...a)=>A.assign({},...a),L=(a,t)=>t in a,S=(a,t)=>p(h(a),(([a,e])=>t(e,a))),b=a=>A.values(a),I=a=>d(T(a)),D=a=>(a=>!c(a)&&l(O(a),(a=>a==A.prototype||c(O(a))),(()=>!0)))(a)&&0==I(a),M=(a,t)=>a?.has(t)??!1,P=a=>[...a?.values()??[]],$=(a,t)=>a?.delete(t),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?($(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(M(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(S(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>L(t,e)?0:n(a,e))),a),Y=_(),k=_(),G=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;H(Y,y,(()=>0)),H(k,y,(()=>[]));const[C,A,O,h,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!D(a)||!D(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!D(a)||!D(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),R=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{R(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),M),L=()=>(d&&(s(d),d=void 0),M),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(A,a)}catch(a){i?.(a)}v=0}))),M),b=()=>(l(E,a.delListener),E=void 0,M),I=async(...a)=>(m(j(k,y),...a),await(async()=>{if(!j(Y,y)){for(B(Y,y,1);!c((a=j(k,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(Y,y,0)}var a})(),M),M={load:f,startAutoLoad:async a=>(await L().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,R(t??a),v=0):await f()})),M),stopAutoLoad:L,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=O();h(a)&&S(a)})),M),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>L().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return N(M)},U="_",W="_id",q=a=>`"${a.replace(/"/g,'""')}"`,z="SELECT",K=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),Q="TABLE",X="ALTER "+Q,Z="DELETE FROM",aa=z+"*FROM",ta="FROM pragma_table_",ea="WHERE",na=(a,t,s,i)=>{const r=_();return[async()=>J(r,R(await E(p(await a("SELECT name "+ta+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ia(t)+")ORDER BY name",t),(async({name:t})=>[t,R(p(await a(z+" name,type "+ta+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?R(C(p(await a(aa+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!D(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=K();S(o??{},(a=>p(T(a??{}),(a=>V(u,a)))));const d=P(u);if(!w&&y&&g(d)&&M(r,t))return await a("DROP "+Q+q(t)),void B(r,t);if(g(d)||M(r,t)){const n=j(r,t),i=K(F(n));await E([...p(d,(async s=>{$(i,s)||(await a(X+q(t)+"ADD"+q(s)),B(n,s,e))})),...!w&&l?p(P(i),(async e=>{e!=s&&(await a(X+q(t)+"DROP"+q(e)),B(n,e))})):[]])}else await a("CREATE "+Q+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+q(a))))});`),B(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(Z+q(t)+ea+" 1"):await E(S(o,(async(e,n)=>{c(e)?await a(Z+q(t)+ea+q(s)+"=?",[n]):g(d)||await sa(a,t,s,T(e),[n,...b(e)],i)})));else if(g(d))M(r,t)&&await a(Z+q(t)+ea+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];S(o??{},((a,t)=>{m(n,t,...p(e,(t=>a?.[t]))),m(c,t)})),await sa(a,t,s,e,n,i),await a(Z+q(t)+ea+q(s)+"NOT IN("+ia(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},sa=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+v(p(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+v(p(r,(a=>q(a)+"=excluded."+q(a))),n):e),p(o,(a=>a??null))),ia=a=>v(p(a,(()=>"?")),n),ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=na(t,l,s,u);return G(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[U]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[U]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,m,A,O]=na(t,u,s,p),h=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!L(a,r)||await A(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await A(w,W,{[U]:a},!0,!0,t):null;return G(a,(async()=>await O((async()=>{await g();const a=await(async()=>R(C(await E(x(r,(async([a,t],e)=>[a,await m(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>l?(await m(w,W))[U]:{})();return D(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await g(),c(t)){const[t,e]=a();await h(t),await T(e)}else await h(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",Ca="deleteEmptyColumns",ma="deleteEmptyTable",Aa={mode:ya,[Ea]:1},Oa={load:0,save:0,[ga]:t+"_values"},ha=(a,t,e,n,s)=>{const i=_();return S(a,((a,r)=>{const o=u(b(f(t,y(a)?{[e]:a}:a)),0,I(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",fa=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[C,m,A,O]=(a=>{const e=(a=>f(Aa,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??W,e[da]??la],K(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(b(f(Oa,r)),0,I(Oa)),c=o[2],l=K(c),w=K(c);return[0,n,[ha(s,{[pa]:null,[va]:W},pa,(a=>M(w,a)),(a=>V(l,a))),ha(i,{[ga]:null,[va]:W,[Ca]:0,[ma]:0},ga,((a,t)=>M(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=m,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,A,P(O),w,d,E)})(a,n,(async(a,t=[])=>(await e.execute({sql:a,args:t})).rows),(()=>()=>0),(a=>a()),s,i,1,e,"getClient");export{fa as createLibSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[Ca]:0,[ha]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),p=a=>0==d(a),C=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),m=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],T=(a,t)=>a?.delete(t),O=Object,N=a=>O.getPrototypeOf(a),b=O.entries,f=O.keys,R=O.freeze,S=(a=[])=>O.fromEntries(a),L=(...a)=>O.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(b(a),(([a,e])=>t(e,a))),M=a=>O.values(a),P=a=>d(f(a)),_=a=>(a=>!c(a)&&l(N(a),(a=>a==O.prototype||c(N(a))),(()=>!0)))(a)&&0==P(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),x=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),B=(a,t,e)=>c(e)?(T(a,t),a):a?.set(t,e),H=(a,t,e,n)=>(m(a,t)||B(a,t,e()),j(a,t)),J=(a,t,e,n=B)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),Y="_",k="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>J(r,S(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(v(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>B(r,t,J(H(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&B(a,t,e)}),((a,t)=>B(a,t))))),((a,t)=>B(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(C(v(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!_(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>v(f(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&p(d)&&m(r,t))return await a("DROP "+K+G(t)),void B(r,t);if(p(d)||m(r,t)){const n=j(r,t),i=W(F(n));await E([...v(d,(async s=>{T(i,s)||(await a(V+G(t)+"ADD"+G(s)),B(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),B(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${g(v(d,(a=>n+G(a))))});`),B(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):p(d)||await ta(a,t,s,f(e),[n,...M(e)],i)})));else if(p(d))m(r,t)&&await a(q+G(t)+Z+" 1");else{const e=C(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+g(v(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+g(v(r,(a=>G(a)+"=excluded."+G(a))),n):e),v(o,(a=>a??null))),ea=a=>g(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,g=0,v=0,p=0;H(na,y,(()=>0)),H(sa,y,(()=>[]));const[C,m,A,T,O]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!_(a)||!_(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!_(a)||!_(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(C&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},b=async a=>(2!=g&&(g=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&O(a)}g=0}))),D),f=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=g&&(g=2,p++,await I((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),D),L=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(B(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}B(na,y,0)}var a})(),D),D={load:b,startAutoLoad:async a=>(await f().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,v++,N(t??a),g=0):await b()})),D),stopAutoLoad:f,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await L().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();T(a)&&S(a)})),D),stopAutoSave:L,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>f().stopAutoSave(),getStats:()=>({loads:v,saves:p}),...o};return R(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,g,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[Y]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await g(r,o,{[Y]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,g,v)=>{const[p,h,m,A]=aa(t,u,s,v),T=async(a,t)=>await E(x(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await m(e,n,a[r],s,i,t)}))),O=async(a,t)=>y?await m(w,k,{[Y]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await p();const a=await(async()=>S(C(await E(x(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!_(a[1])))))(),t=await(async()=>l?(await h(w,k))[Y]:{})();return _(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await p(),c(t)){const[t,e]=a();await T(t),await O(e)}else await T(t[0],!0),await O(t[1],!0)}))),e,n,s,i,{[g]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",ga="rowId"+ca,va="tableId",pa="tableName",Ca="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:ya,[Ea]:1},Aa={load:0,save:0,[pa]:t+"_values"},Ta=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(M(L(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),B(i,r,o))})),i},Oa="pragma_",Na="data_version",ba="schema_version",fa=(a,e,n,s,i,r=!1)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let g,v,p;const[C,h,T,O]=(a=>{const e=(a=>L(ma,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??k,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(L(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Ta(s,{[va]:null,[ga]:k},va,(a=>m(w,a)),(a=>z(l,a))),Ta(i,{[pa]:null,[ga]:k,[Ca]:0,[ha]:0},pa,((a,t)=>m(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(C?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${ba} s,TOTAL_CHANGES() c FROM ${Oa}${Na} JOIN ${Oa}${ba}`);t==(g??=t)&&e==(v??=e)&&s==(p??=s)||(a(),g=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>O.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),g=v=p=null,i(t)}),c,l,T,A(O),w,d,E)})(a,n,(async(a,t=[])=>e.execute(a,t).then((a=>a.rows?._array??[]))),(a=>{const t=new AbortController,n=e.onChange({rawTableNames:!0,signal:t.signal});return(async()=>{for await(const t of n)v(t.changedTables,a)})(),t}),(a=>a.abort()),s,i,1,e,"getPowerSync",r);export{fa as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,N=a=>T.getPrototypeOf(a),R=T.entries,b=T.keys,f=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>v(R(a),(([a,e])=>t(e,a))),_=a=>T.values(a),M=a=>d(b(a)),P=a=>(a=>!c(a)&&l(N(a),(a=>a==T.prototype||c(N(a))),(()=>!0)))(a)&&0==M(a),$=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),k=(a,t)=>v([...a?.entries()??[]],(([a,e])=>t(e,a))),x=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),B=(a,t,e,n)=>(C(a,t)||x(a,t,e()),j(a,t)),H=(a,t,e,n=x)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),J="_",Y="_id",q=a=>`"${a.replace(/"/g,'""')}"`,G="SELECT",U=a=>new Set(w(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=G+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=$();return[async()=>H(r,L(await E(v(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,L(v(await a(G+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>x(r,t,H(B(r,t,$),e,((a,t,e)=>{e!=j(a,t)&&x(a,t,e)}),((a,t)=>x(a,t))))),((a,t)=>x(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?L(m(v(await a(Q+q(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!P(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=U();D(o??{},(a=>v(b(a??{}),(a=>V(u,a)))));const d=A(u);if(!w&&y&&g(d)&&C(r,t))return await a("DROP "+W+q(t)),void x(r,t);if(g(d)||C(r,t)){const n=j(r,t),i=U(F(n));await E([...v(d,(async s=>{O(i,s)||(await a(z+q(t)+"ADD"+q(s)),x(n,s,e))})),...!w&&l?v(A(i),(async e=>{e!=s&&(await a(z+q(t)+"DROP"+q(e)),x(n,e))})):[]])}else await a("CREATE "+W+q(t)+"("+q(s)+` PRIMARY KEY ON CONFLICT REPLACE${p(v(d,(a=>n+q(a))))});`),x(r,t,$([[s,e],...v(d,(a=>[a,e]))]));if(w)c(o)?await a(K+q(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(K+q(t)+Z+q(s)+"=?",[n]):g(d)||await ta(a,t,s,b(e),[n,..._(e)],i)})));else if(g(d))C(r,t)&&await a(K+q(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{h(n,t,...v(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(K+q(t)+Z+q(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+q(t)+"("+q(s)+p(v(r,(a=>n+q(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+q(s)+")DO UPDATE SET"+p(v(r,(a=>q(a)+"=excluded."+q(a))),n):e),v(o,(a=>a??null))),ea=a=>p(v(a,(()=>"?")),n),na=$(),sa=$(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,p=0,v=0,g=0;B(na,y,(()=>0)),B(sa,y,(()=>[]));const[m,C,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!P(a)||!P(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!P(a)||!P(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),N=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},R=async a=>(2!=p&&(p=1,v++,await I((async()=>{try{N(await t())}catch(t){i?.(t),a&&T(a)}p=0}))),D),b=()=>(d&&(s(d),d=void 0),D),L=async a=>(1!=p&&(p=2,g++,await I((async()=>{try{await e(C,a)}catch(a){i?.(a)}p=0}))),D),S=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(h(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(x(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}x(na,y,0)}var a})(),D),D={load:R,startAutoLoad:async a=>(await b().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,v++,N(t??a),p=0):await R()})),D),stopAutoLoad:b,isAutoLoading:()=>!c(d),save:L,startAutoSave:async()=>(await S().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&L(a)})),D),stopAutoSave:S,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({loads:v,saves:g}),...o};return f(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,p,v]=aa(t,l,s,u);return ia(a,(async()=>await v((async()=>{return await d(),a=(await E(r,o))[J]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await v((async()=>{var t;await d(),await p(r,o,{[J]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,p,v)=>{const[g,h,C,A]=aa(t,u,s,v),O=async(a,t)=>await E(k(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await C(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await C(w,Y,{[J]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>L(m(await E(k(r,(async([a,t],e)=>[a,await h(e,t)]))),(a=>!P(a[1])))))(),t=await(async()=>l?(await h(w,Y))[J]:{})();return P(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[p]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",pa="rowId"+ca,va="tableId",ga="tableName",ma="deleteEmptyColumns",ha="deleteEmptyTable",Ca={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=$();return D(a,((a,r)=>{const o=u(_(S(t,y(a)?{[e]:a}:a)),0,M(t));c(o[0])||n(r,o[0])||(s(r,o[0]),x(i,r,o))})),i},Ta="pragma_",Na="data_version",Ra="schema_version",ba=(a,e,n,s,i,r)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let p,v,g;const[m,h,O,T]=(a=>{const e=(a=>S(Ca,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??Y,e[da]??la],U(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(_(S(Aa,r)),0,M(Aa)),c=o[2],l=U(c),w=U(c);return[0,n,[Oa(s,{[va]:null,[pa]:Y},va,(a=>C(w,a)),(a=>V(l,a))),Oa(i,{[ga]:null,[pa]:Y,[ma]:0,[ha]:0},ga,((a,t)=>C(w,t)),((a,t)=>V(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${Na} d,${Ra} s,TOTAL_CHANGES() c FROM ${Ta}${Na} JOIN ${Ta}${Ra}`);t==(p??=t)&&e==(v??=e)&&s==(g??=s)||(a(),p=t,v=e)}catch{}},e=h,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),p=v=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,s,(async(a,t=[])=>n.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>e.capi.sqlite3_update_hook(n,((t,e,n,s)=>a(s)),0)),(()=>e.capi.sqlite3_update_hook(n,(()=>0),0)),i,r,3,n);export{ba as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma={mode:ya,[Ea]:1},
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,o=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),y=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),v=(a,t="")=>a.join(t),p=(a,t)=>a.map(t),g=a=>0==d(a),m=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,A=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),T=Object,f=a=>T.getPrototypeOf(a),N=T.entries,R=T.keys,L=T.freeze,S=(a=[])=>T.fromEntries(a),b=(...a)=>T.assign({},...a),I=(a,t)=>t in a,D=(a,t)=>p(N(a),(([a,e])=>t(e,a))),M=a=>T.values(a),P=a=>d(R(a)),$=a=>(a=>!c(a)&&l(f(a),(a=>a==T.prototype||c(f(a))),(()=>!0)))(a)&&0==P(a),_=a=>new Map(a),F=a=>[...a?.keys()??[]],j=(a,t)=>a?.get(t),B=(a,t)=>p([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)||H(a,t,e()),j(a,t)),Y=(a,t,e,n=H)=>(D(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>I(t,e)?0:n(a,e))),a),k="_",x="_id",G=a=>`"${a.replace(/"/g,'""')}"`,U="SELECT",W=a=>new Set(w(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=U+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=_();return[async()=>Y(r,S(await E(p(await a("SELECT name "+X+"list WHERE schema='main'AND(type='table'OR type='view')AND name IN("+ea(t)+")ORDER BY name",t),(async({name:t})=>[t,S(p(await a(U+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>H(r,t,Y(J(r,t,_),e,((a,t,e)=>{e!=j(a,t)&&H(a,t,e)}),((a,t)=>H(a,t))))),((a,t)=>H(r,t))),async(t,e)=>((a,t)=>!c(j(j(r,a),t)))(t,e)?S(m(p(await a(Q+G(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!$(t)))):{},async(t,s,o,l,y,w=!1)=>{const u=W();D(o??{},(a=>p(R(a??{}),(a=>z(u,a)))));const d=A(u);if(!w&&y&&g(d)&&h(r,t))return await a("DROP "+K+G(t)),void H(r,t);if(g(d)||h(r,t)){const n=j(r,t),i=W(F(n));await E([...p(d,(async s=>{O(i,s)||(await a(V+G(t)+"ADD"+G(s)),H(n,s,e))})),...!w&&l?p(A(i),(async e=>{e!=s&&(await a(V+G(t)+"DROP"+G(e)),H(n,e))})):[]])}else await a("CREATE "+K+G(t)+"("+G(s)+` PRIMARY KEY ON CONFLICT REPLACE${v(p(d,(a=>n+G(a))))});`),H(r,t,_([[s,e],...p(d,(a=>[a,e]))]));if(w)c(o)?await a(q+G(t)+Z+" 1"):await E(D(o,(async(e,n)=>{c(e)?await a(q+G(t)+Z+G(s)+"=?",[n]):g(d)||await ta(a,t,s,R(e),[n,...M(e)],i)})));else if(g(d))h(r,t)&&await a(q+G(t)+Z+" 1");else{const e=m(F(j(r,t)),(a=>a!=s)),n=[],c=[];D(o??{},((a,t)=>{C(n,t,...p(e,(t=>a?.[t]))),C(c,t)})),await ta(a,t,s,e,n,i),await a(q+G(t)+Z+G(s)+"NOT IN("+ea(c)+")",c)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ta=async(a,t,s,r,o,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+G(t)+"("+G(s)+v(p(r,(a=>n+G(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+G(s)+")DO UPDATE SET"+v(p(r,(a=>G(a)+"=excluded."+G(a))),n):e),p(o,(a=>a??null))),ea=a=>v(p(a,(()=>"?")),n),na=_(),sa=_(),ia=(a,t,e,n,s,i,r,o={},y=[])=>{let u,d,E,v=0,p=0,g=0;J(na,y,(()=>0)),J(sa,y,(()=>[]));const[m,h,A,O,T]=((a=1,t)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!$(a)||!$(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!$(a)||!$(t),t.setContent]:(a=>{throw Error("Store type not supported by this Persister")})())(r,a),f=t=>{(m&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=v&&(v=1,p++,await I((async()=>{try{f(await t())}catch(t){i?.(t),a&&T(a)}v=0}))),D),R=()=>(d&&(s(d),d=void 0),D),S=async a=>(1!=v&&(v=2,g++,await I((async()=>{try{await e(h,a)}catch(a){i?.(a)}v=0}))),D),b=()=>(l(E,a.delListener),E=void 0,D),I=async(...a)=>(C(j(sa,y),...a),await(async()=>{if(!j(na,y)){for(H(na,y,1);!c((a=j(sa,y),u=a.shift()));)try{await u()}catch(a){i?.(a)}H(na,y,0)}var a})(),D),D={load:N,startAutoLoad:async a=>(await R().load(a),d=n((async(a,t)=>{t||a?2!=v&&(v=1,p++,f(t??a),v=0):await N()})),D),stopAutoLoad:R,isAutoLoading:()=>!c(d),save:S,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=A();O(a)&&S(a)})),D),stopAutoSave:b,isAutoSaving:()=>!c(E),schedule:I,getStore:()=>a,destroy:()=>R().stopAutoSave(),getStats:()=>({loads:p,saves:g}),...o};return L(D)},ra=(a,t,e,n,s,i,[r,o,c],l,y,w,u)=>{const[d,E,v,p]=aa(t,l,s,u);return ia(a,(async()=>await p((async()=>{return await d(),a=(await E(r,o))[k]?.[c]??"null",JSON.parse(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await p((async()=>{var t;await d(),await v(r,o,{[k]:{[c]:(t=a()??null,JSON.stringify(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,i,{[w]:()=>y},y)},oa=(a,t,e,n,s,i,[r,o,[l,y,w]],u,d,v,p)=>{const[g,C,h,A]=aa(t,u,s,p),O=async(a,t)=>await E(B(o,(async([e,n,s,i],r)=>{t&&!I(a,r)||await h(e,n,a[r],s,i,t)}))),T=async(a,t)=>y?await h(w,x,{[k]:a},!0,!0,t):null;return ia(a,(async()=>await A((async()=>{await g();const a=await(async()=>S(m(await E(B(r,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!$(a[1])))))(),t=await(async()=>l?(await C(w,x))[k]:{})();return $(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await g(),c(t)){const[t,e]=a();await O(t),await T(e)}else await O(t[0],!0),await T(t[1],!0)}))),e,n,s,i,{[v]:()=>d},d)},ca="ColumnName",la="store",ya="json",wa=la+"TableName",ua=la+"Id"+ca,da=la+ca,Ea="autoLoadIntervalSeconds",va="rowId"+ca,pa="tableId",ga="tableName",ma="deleteEmptyColumns",Ca="deleteEmptyTable",ha={mode:ya,[Ea]:1},Aa={load:0,save:0,[ga]:t+"_values"},Oa=(a,t,e,n,s)=>{const i=_();return D(a,((a,r)=>{const o=u(M(b(t,y(a)?{[e]:a}:a)),0,P(t));c(o[0])||n(r,o[0])||(s(r,o[0]),H(i,r,o))})),i},Ta="pragma_",fa="data_version",Na="schema_version",Ra="change",La=(a,e,n,s,i)=>((a,e,n,s,i,r,c,l,w,d="getDb",E)=>{let v,p,g;const[m,C,O,T]=(a=>{const e=(a=>b(ha,y(a)?{[wa]:a}:a??{}))(a),n=e[Ea];if(e.mode==ya){const a=e[wa]??t;return[1,n,[a,e[ua]??x,e[da]??la],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(M(b(Aa,r)),0,P(Aa)),c=o[2],l=W(c),w=W(c);return[0,n,[Oa(s,{[pa]:null,[va]:x},pa,(a=>h(w,a)),(a=>z(l,a))),Oa(i,{[ga]:null,[va]:x,[ma]:0,[Ca]:0},ga,((a,t)=>h(w,t)),((a,t)=>z(l,t))),o],l]})(e);return(m?ra:oa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const[{d:t,s:e,c:s}]=await n(`SELECT ${fa} d,${Na} s,TOTAL_CHANGES() c FROM ${Ta}${fa} JOIN ${Ta}${Na}`);t==(v??=t)&&e==(p??=e)&&s==(g??=s)||(a(),v=t,p=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),v=p=g=null,i(t)}),c,l,O,A(T),w,d,E)})(a,n,(async(a,t=[])=>{return await(n=(n,s)=>e.all(a,t,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const t=(t,e,n)=>a(n);return e.on(Ra,t),t}),(a=>e.off(Ra,a)),s,i,3,e);export{La as createSqlite3Persister};
|
|
Binary file
|