tinybase 5.0.0-beta.10 → 5.0.0-beta.11
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/lib/cjs/mergeable-store.cjs +1 -1
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs/synchronizers.cjs +1 -1
- package/lib/cjs/synchronizers.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-libsql.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-libsql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-powersync.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-powersync.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-local.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-client.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs +1 -1
- package/lib/cjs-es6/synchronizers/synchronizer-ws-server.cjs.gz +0 -0
- package/lib/cjs-es6/synchronizers.cjs +1 -1
- package/lib/cjs-es6/synchronizers.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +1 -1
- package/lib/debug/persisters/persister-automerge.js +113 -101
- package/lib/debug/persisters/persister-browser.js +113 -97
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-electric-sql.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite-next.js +113 -102
- package/lib/debug/persisters/persister-expo-sqlite.js +113 -102
- package/lib/debug/persisters/persister-file.js +108 -96
- package/lib/debug/persisters/persister-indexed-db.js +108 -96
- package/lib/debug/persisters/persister-libsql.js +113 -102
- package/lib/debug/persisters/persister-partykit-client.js +112 -100
- package/lib/debug/persisters/persister-powersync.js +113 -102
- package/lib/debug/persisters/persister-remote.js +108 -96
- package/lib/debug/persisters/persister-sqlite-wasm.js +113 -102
- package/lib/debug/persisters/persister-sqlite3.js +113 -102
- package/lib/debug/persisters/persister-yjs.js +113 -101
- package/lib/debug/persisters.js +107 -95
- package/lib/debug/store.js +1 -1
- package/lib/debug/synchronizers/synchronizer-local.js +114 -102
- package/lib/debug/synchronizers/synchronizer-ws-client.js +113 -101
- package/lib/debug/synchronizers/synchronizer-ws-server.js +151 -6
- package/lib/debug/synchronizers.js +113 -101
- package/lib/debug/tinybase.js +114 -102
- package/lib/debug/ui-react-dom.js +114 -98
- package/lib/es6/mergeable-store.js +1 -1
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +1 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-libsql.js +1 -1
- package/lib/es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-powersync.js +1 -1
- package/lib/es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/es6/synchronizers.js +1 -1
- package/lib/es6/synchronizers.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/mergeable-store.js +1 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +1 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-libsql.js +1 -1
- package/lib/persisters/persister-libsql.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-powersync.js +1 -1
- package/lib/persisters/persister-powersync.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/synchronizers/synchronizer-local.js +1 -1
- package/lib/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/synchronizers.js +1 -1
- package/lib/synchronizers.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-browser.d.ts +2 -2
- package/lib/types/persisters/persister-file.d.ts +1 -1
- package/lib/types/persisters.d.ts +73 -47
- package/lib/types/synchronizers/synchronizer-ws-server.d.ts +24 -3
- package/lib/types/synchronizers.d.ts +1 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -1
- package/lib/types/with-schemas/persisters.d.ts +99 -87
- package/lib/types/with-schemas/synchronizers/synchronizer-ws-server.d.ts +24 -3
- package/lib/types/with-schemas/synchronizers.d.ts +1 -1
- package/lib/umd/mergeable-store.js +1 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +1 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-libsql.js +1 -1
- package/lib/umd/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-powersync.js +1 -1
- package/lib/umd/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd/synchronizers.js +1 -1
- package/lib/umd/synchronizers.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-libsql.js +1 -1
- package/lib/umd-es6/persisters/persister-libsql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-powersync.js +1 -1
- package/lib/umd-es6/persisters/persister-powersync.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-local.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-local.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-client.js.gz +0 -0
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js +1 -1
- package/lib/umd-es6/synchronizers/synchronizer-ws-server.js.gz +0 -0
- package/lib/umd-es6/synchronizers.js +1 -1
- package/lib/umd-es6/synchronizers.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),E=a=>a.length,d=async a=>r.all(a),g="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",C=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),A=a=>0==E(a),T=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),b=(a,t)=>a?.has(t)??!1,N=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),R=Object,L=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>f(S(a),(([a,e])=>t(e,a))),j=a=>R.values(a),B=a=>E(D(a)),H=a=>(a=>!o(a)&&l(L(a),(a=>a==R.prototype||o(L(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),x=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>o(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(b(a,t)?n?.(k(a,t)):G(a,t,e()),k(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=Y();return[async()=>U(r,M(await d(f(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,M(f(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!o(k(k(r,a),t)))(t,e)?M(T(f(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!H(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();F(c??{},(a=>f(D(a??{}),(a=>q(u,a)))));const E=N(u);if(!y&&w&&A(E)&&b(r,t))return await a("DROP "+z+v(t)),void G(r,t);if(A(E)||b(r,t)){const n=k(r,t),i=W($(n));await d([...f(E,(async s=>{O(i,s)||(await a(K+v(t)+"ADD"+v(s)),G(n,s,e))})),...!y&&l?f(N(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),G(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(f(E,(a=>n+v(a))))});`),G(r,t,Y([[s,e],...f(E,(a=>[a,e]))]));if(y)o(c)?await a(V+v(t)+Z+" 1"):await d(F(c,(async(e,n)=>{o(e)?await a(V+v(t)+Z+v(s)+"=?",[n]):A(E)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(A(E))b(r,t)&&await a(V+v(t)+Z+" 1");else{const e=T($(k(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{h(n,t,...f(e,(t=>a?.[t]))),h(o,t)})),await ta(a,t,s,e,n,i),await a(V+v(t)+Z+v(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+C(f(r,(a=>n+v(a))))+")VALUES"+u(i(`,(?${i(",?",E(r))})`,E(c)/(E(r)+1)),1)+(o?"ON CONFLICT("+v(s)+")DO UPDATE SET"+C(f(r,(a=>v(a)+"=excluded."+v(a))),n):e),f(c,(a=>a??null))),ea=a=>C(f(a,(()=>"?")),n),na=JSON.parse,sa=Y(),ia=Y(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,E,d,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[p,v,m,C,f]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),A=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await R((async()=>{try{A(await t())}catch(t){i?.(t),a&&f(a)}g=0}))),L),b=()=>(E&&(s(E),E=void 0),L),N=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),L),O=()=>(l(d,a.delListener),d=void 0,L),R=async(...a)=>(h(k(ia,w),...a),await(async()=>{if(!k(sa,w)){for(G(sa,w,1);!o((a=k(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await b().load(a),E=n((async(a,t)=>{t||a?2!=g&&(g=1,A(t??a),g=0):await T()})),L),stopAutoLoad:b,isAutoLoading:()=>!o(E),save:N,startAutoSave:async()=>(await O().save(),d=a.addDidFinishTransactionListener((()=>{const a=m();C(a)&&N(a)})),L),stopAutoSave:O,isAutoSaving:()=>!o(d),schedule:R,getStore:()=>a,destroy:()=>b().stopAutoSave(),getStats:()=>({}),...c};return I(L)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,E]=aa(t,r,s,l);return ra(a,(async()=>await E((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await E((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,E,v)=>{const[m,C,f,A]=aa(t,y,s,v),h=async(a,t)=>await d(x(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await f(e,n,a[r],s,i,t)}))),b=async(a,t)=>l?await f(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await m();const a=await(async()=>M(T(await d(x(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await C(w,p))[g]:{})();return H(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),o(t)){const[t,e]=a();await h(t),await b(e)}else await h(t[0],!0),await b(t[1],!0)}))),e,n,s,1,{[E]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",Ea="tableId",da="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[da]:t+"_values"},va=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,B(t));o(r[0])||n(i,r[0])||G(s,i,r)})),s},ma="pragma ",Ca="data_version",fa="schema_version",Aa=(a,e,n,s,i,r,o,l,y="getDb",E)=>{let d,g,v;const[C,f,A,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,B(pa)),o=c[2],l=W(o);return[0,n,[va(s,{[Ea]:null,[ua]:p},Ea,(a=>q(l,a)&&a==o)),va(i,{[da]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},da,((a,t)=>q(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Ca))[0][Ca],e=(await n(ma+fa))[0][fa],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(d??=t)&&e==(g??=e)&&s==(v??=s)||(a(),d=t,g=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),d=g=null,i(t)}),o,A,N(T),l,y,E)},Ta=(a,t,e,n,s)=>Aa(a,e,(async(a,e=[])=>await t.db.raw({sql:a,args:e})),(a=>t.notifier.subscribeToDataChanges((e=>{return n=({tablename:t})=>a(t),t.notifier.alias(e).forEach(n);var n}))),(a=>a()),n,s,t,"getElectricClient");export{Ta as createElectricSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as a}from"expo-sqlite/next";const t=a=>typeof a,e="tinybase",n="",s=",",i=t(n),
|
|
1
|
+
import{addDatabaseChangeListener as a}from"expo-sqlite/next";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,w=(a,t,e)=>l(a)?e?.():t(a),y=a=>t(a)==i,u=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),E=a=>a.length,m=async a=>o.all(a),p="_",g="_id",v=a=>`"${a.replace(/"/g,'""')}"`,A="SELECT",C=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),N=a=>0==E(a),T=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,R=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),L=Object,S=a=>L.getPrototypeOf(a),D=L.entries,I=L.keys,M=L.freeze,P=(a=[])=>L.fromEntries(a),_=(...a)=>L.assign({},...a),F=(a,t)=>t in a,x=(a,t)=>f(D(a),(([a,e])=>t(e,a))),j=a=>L.values(a),B=a=>E(I(a)),H=a=>(a=>!l(a)&&w(S(a),(a=>a==L.prototype||l(S(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),G=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),J=(a,t,e)=>l(e)?(b(a,t),a):a?.set(t,e),U=(a,t,e,n)=>(h(a,t)?n?.(k(a,t)):J(a,t,e()),k(a,t)),W=(a,t,e,n=J)=>(x(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>F(t,e)?0:n(a,e))),a),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=A+"*FROM",Z="FROM pragma_table_",aa="WHERE",ta=(a,t,e,i)=>{const r=Y();return[async()=>W(r,P(await m(f(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,P(f(await a(A+" name,type "+Z+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>J(r,t,W(U(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&J(a,t,e)}),((a,t)=>J(a,t))))),((a,t)=>J(r,t))),async(t,e)=>((a,t)=>!l(k(k(r,a),t)))(t,e)?P(T(f(await a(X+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!l(a)&&!H(t)))):{},async(t,e,o,c,w,y=!1)=>{const u=q();x(o??{},(a=>f(I(a??{}),(a=>z(u,a)))));const d=R(u);if(!y&&w&&N(d)&&h(r,t))return await a("DROP "+K+v(t)),void J(r,t);if(N(d)||h(r,t)){const s=k(r,t),i=q($(s));await m([...f(d,(async e=>{b(i,e)||(await a(V+v(t)+"ADD"+v(e)),J(s,e,n))})),...!y&&c?f(R(i),(async n=>{n!=e&&(await a(V+v(t)+"DROP"+v(n)),J(s,n))})):[]])}else await a("CREATE "+K+v(t)+"("+v(e)+` PRIMARY KEY ON CONFLICT REPLACE${C(f(d,(a=>s+v(a))))});`),J(r,t,Y([[e,n],...f(d,(a=>[a,n]))]));if(y)l(o)?await a(Q+v(t)+aa+" 1"):await m(x(o,(async(n,s)=>{l(n)?await a(Q+v(t)+aa+v(e)+"=?",[s]):N(d)||await ea(a,t,e,I(n),[s,...j(n)],i)})));else if(N(d))h(r,t)&&await a(Q+v(t)+aa+" 1");else{const n=T($(k(r,t)),(a=>a!=e)),s=[],c=[];x(o??{},((a,t)=>{O(s,t,...f(n,(t=>a?.[t]))),O(c,t)})),await ea(a,t,e,n,s,i),await a(Q+v(t)+aa+v(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"+v(t)+"("+v(e)+C(f(i,(a=>s+v(a))))+")VALUES"+d(r(`,(?${r(",?",E(i))})`,E(o)/(E(i)+1)),1)+(c?"ON CONFLICT("+v(e)+")DO UPDATE SET"+C(f(i,(a=>v(a)+"=excluded."+v(a))),s):n),f(o,(a=>a??null))),na=a=>C(f(a,(()=>"?")),s),sa=JSON.parse,ia=Y(),ra=Y(),oa=(a,t,e,n,s,i,r,o={},c=[])=>{let y,d,E,m=0;U(ia,c,(()=>0)),U(ra,c,(()=>[]));const[p,g,v,A,C]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),f=t=>{(p&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},N=async a=>(2!=m&&(m=1,await b((async()=>{try{f(await t())}catch(t){i?.(t),a&&C(a)}m=0}))),L),T=()=>(d&&(s(d),d=void 0),L),h=async a=>(1!=m&&(m=2,await b((async()=>{try{await e(g,a)}catch(a){i?.(a)}m=0}))),L),R=()=>(w(E,a.delListener),E=void 0,L),b=async(...a)=>(O(k(ra,c),...a),await(async()=>{if(!k(ia,c)){for(J(ia,c,1);!l((a=k(ra,c),y=a.shift()));)try{await y()}catch(a){i?.(a)}J(ia,c,0)}var a})(),L),L={load:N,startAutoLoad:async a=>(await T().load(a),d=n((async(a,t)=>{t||a?2!=m&&(m=1,f(t??a),m=0):await N()})),L),stopAutoLoad:T,isAutoLoading:()=>!l(d),save:h,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();A(a)&&h(a)})),L),stopAutoSave:R,isAutoSaving:()=>!l(E),schedule:b,getStore:()=>a,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...o};return M(L)},ca="store",la=(a,t,e,n,s,[i],r,o,c,l)=>{const[w,y,u,d]=ta(t,r,s,l);return oa(a,(async()=>await d((async()=>(await w(),sa((await y(i,g))[p]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[p]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},wa=(a,t,e,n,s,[i,r,[o,c,w]],y,u,d,E)=>{const[v,A,C,f]=ta(t,y,s,E),N=async(a,t)=>await m(G(r,(async([e,n,s,i],r)=>{t&&!F(a,r)||await C(e,n,a[r],s,i,t)}))),O=async(a,t)=>c?await C(w,g,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await f((async()=>{await v();const a=await(async()=>P(T(await m(G(i,(async([a,t],e)=>[a,await A(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>o?(await A(w,g))[p]:{})();return H(a)&&l(t)?void 0:[a,t]}))),(async(a,t)=>await f((async()=>{if(await v(),l(t)){const[t,e]=a();await N(t),await O(e)}else await N(t[0],!0),await O(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},ya="json",ua="autoLoadIntervalSeconds",da="rowIdColumnName",Ea="tableId",ma="tableName",pa={mode:ya,[ua]:1},ga={load:0,save:0,[ma]:e+"_values"},va=(a,t,e,n)=>{const s=Y();return x(a,((a,i)=>{const r=d(j(_(t,y(a)?{[e]:a}:a)),0,B(t));l(r[0])||n(i,r[0])||J(s,i,r)})),s},Aa="pragma ",Ca="data_version",fa="schema_version",Na=(a,t,n,s,i,r,o,l,w="getDb",u)=>{let E,m,p;const[v,C,f,N]=(a=>{const t=(a=>_(pa,y(a)?{storeTableName:a}:a??{}))(a),n=t[ua];if(t.mode==ya){const{storeTableName:a=e}=t;return[1,n,[a],q(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=t,o=d(j(_(ga,r)),0,B(ga)),c=o[2],l=q(c);return[0,n,[va(s,{[Ea]:null,[da]:g},Ea,(a=>z(l,a)&&a==c)),va(i,{[ma]:null,[da]:g,deleteEmptyColumns:0,deleteEmptyTable:0},ma,((a,t)=>z(l,t)&&t==c)),o],l]})(t);return(v?la:wa)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(Aa+Ca))[0][Ca],e=(await n(Aa+fa))[0][fa],s=(await n(A+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(m??=e)&&s==(p??=s)||(a(),E=t,m=e)}catch{}},e=C,t(),setInterval(t,1e3*e)),s((t=>N.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=m=null,i(t)}),o,f,R(N),l,w,u)},Ta=(t,e,n,s,i)=>Na(t,n,(async(a,t=[])=>await e.getAllAsync(a,t)),(t=>a((({tableName:a})=>t(a)))),(a=>a.remove()),s,i,e);export{Ta as createExpoSqliteNextPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",m="_id",p=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),N=a=>0==d(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),h=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],b=(a,t)=>a?.delete(t),R=Object,L=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!o(a)&&l(L(a),(a=>a==R.prototype||o(L(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>o(e)?(b(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(h(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>U(r,M(await E(A(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,M(A(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!o($($(r,a),t)))(t,e)?M(T(A(await a(Q+p(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();F(c??{},(a=>A(D(a??{}),(a=>q(u,a)))));const d=O(u);if(!y&&w&&N(d)&&h(r,t))return await a("DROP "+z+p(t)),void G(r,t);if(N(d)||h(r,t)){const n=$(r,t),i=W(Y(n));await E([...A(d,(async s=>{b(i,s)||(await a(K+p(t)+"ADD"+p(s)),G(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(K+p(t)+"DROP"+p(e)),G(n,e))})):[]])}else await a("CREATE "+z+p(t)+"("+p(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+p(a))))});`),G(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(c)?await a(V+p(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+p(t)+Z+p(s)+"=?",[n]):N(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(N(d))h(r,t)&&await a(V+p(t)+Z+" 1");else{const e=T(Y($(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(o,t)})),await ta(a,t,s,e,n,i),await a(V+p(t)+Z+p(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+p(t)+"("+p(s)+C(A(r,(a=>n+p(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+p(s)+")DO UPDATE SET"+C(A(r,(a=>p(a)+"=excluded."+p(a))),n):e),A(c,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[m,p,v,C,A]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),N=t=>{(m&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await R((async()=>{try{N(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),L),h=()=>(d&&(s(d),d=void 0),L),O=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(p,a)}catch(a){i?.(a)}g=0}))),L),b=()=>(l(E,a.delListener),E=void 0,L),R=async(...a)=>(f($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(G(sa,w,1);!o((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await h().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,N(t??a),g=0):await T()})),L),stopAutoLoad:h,isAutoLoading:()=>!o(d),save:O,startAutoSave:async()=>(await b().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&O(a)})),L),stopAutoSave:b,isAutoSaving:()=>!o(E),schedule:R,getStore:()=>a,destroy:()=>h().stopAutoSave(),getStats:()=>({}),...c};return I(L)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,m))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,m,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,p)=>{const[v,C,A,N]=aa(t,y,s,p),f=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),h=async(a,t)=>l?await A(w,m,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await N((async()=>{await v();const a=await(async()=>M(T(await E(k(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await C(w,m))[g]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await N((async()=>{if(await v(),o(t)){const[t,e]=a();await f(t),await h(e)}else await f(t[0],!0),await h(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},ma={load:0,save:0,[Ea]:t+"_values"},pa=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));o(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ca="data_version",Aa="schema_version",Na=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,p;const[C,A,N,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(ma,r)),0,x(ma)),o=c[2],l=W(o);return[0,n,[pa(s,{[da]:null,[ua]:m},da,(a=>q(l,a)&&a==o)),pa(i,{[Ea]:null,[ua]:m,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ca))[0][Ca],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(p??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,N,O(T),l,y,d)},Ta=(a,t,e,n,s)=>Na(a,e,(async(a,e=[])=>(await t.execAsync([{sql:a,args:e}],!1))[0].rows),(a=>t.onDatabaseChange((({tableName:t})=>a(t)))),(a=>a.remove()),n,s,t);export{Ta as createExpoSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const
|
|
1
|
+
import{watch as t}from"fs";import{readFile as a,writeFile as e}from"fs/promises";const n="utf8",s=t=>null==t,r=(t,a,e)=>s(t)?e?.():a(t),o=Object,i=t=>o.getPrototypeOf(t),c=o.keys,g=o.freeze,y=t=>(t=>!s(t)&&r(i(t),(t=>t==o.prototype||s(i(t))),(()=>!0)))(t)&&0==(t=>c(t).length)(t),l=t=>new Map(t),p=(t,a)=>t?.get(a),u=(t,a,e)=>{return s(e)?(n=t,r=a,n?.delete(r),t):t?.set(a,e);var n,r},d=(t,a,e,n)=>{var s,r;return s=t,r=a,s?.has(r)?n?.(p(t,a)):u(t,a,e()),p(t,a)},v=l(),h=l(),f=(o,i,c)=>((t,a,e,n,o,i,c,l={},f=[])=>{let w,C,A,S=0;d(v,f,(()=>0)),d(h,f,(()=>[]));const[b,M,m,L,O]=((t=1,a)=>t>1&&"getMergeableContent"in a?[1,a.getMergeableContent,a.getTransactionMergeableChanges,([[t],[a]])=>!y(t)||!y(a),a.setDefaultContent]:2!=t?[0,a.getContent,a.getTransactionChanges,([t,a])=>!y(t)||!y(a),a.setContent]:0)(c,t),T=a=>{var e;(b&&(e=a?.[0],Array.isArray(e))?1===a?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===a?.[2]?t.applyChanges:t.setContent)(a)},D=async t=>(2!=S&&(S=1,await P((async()=>{try{T(await a())}catch(a){i?.(a),t&&O(t)}S=0}))),j),F=()=>(C&&(o(C),C=void 0),j),J=async t=>(1!=S&&(S=2,await P((async()=>{try{await e(M,t)}catch(t){i?.(t)}S=0}))),j),N=()=>(r(A,t.delListener),A=void 0,j),P=async(...t)=>(((t,...a)=>{t.push(...a)})(p(h,f),...t),await(async()=>{if(!p(v,f)){for(u(v,f,1);!s((t=p(h,f),w=t.shift()));)try{await w()}catch(t){i?.(t)}u(v,f,0)}var t})(),j),j={load:D,startAutoLoad:async t=>(await F().load(t),C=n((async(t,a)=>{a||t?2!=S&&(S=1,T(a??t),S=0):await D()})),j),stopAutoLoad:F,isAutoLoading:()=>!s(C),save:J,startAutoSave:async()=>(await N().save(),A=t.addDidFinishTransactionListener((()=>{const t=m();L(t)&&J(t)})),j),stopAutoSave:N,isAutoSaving:()=>!s(A),schedule:P,getStore:()=>t,destroy:()=>F().stopAutoSave(),getStats:()=>({}),...l};return g(j)})(o,(async()=>{return t=await a(i,n),JSON.parse(t,((t,a)=>""===a?void 0:a));var t}),(async t=>{return await e(i,(a=t(),JSON.stringify(a,((t,a)=>void 0===a?"":a))),n);var a}),(a=>t(i,(()=>a()))),(t=>t?.close()),c,3,{getFilePath:()=>i});export{f as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=Promise,e=clearInterval,a=t=>null==t,
|
|
1
|
+
const t=Promise,e=clearInterval,a=t=>null==t,n=(t,e,n)=>a(t)?n?.():e(t),s=e=>new t(e),r=async e=>t.all(e),o=(t,e)=>t.map(e),c=(t,...e)=>t.push(...e),i=Object,l=t=>i.getPrototypeOf(t),y=i.entries,d=i.keys,g=i.freeze,u=t=>(t=>!a(t)&&n(l(t),(t=>t==i.prototype||a(l(t))),(()=>!0)))(t)&&0==(t=>d(t).length)(t),w=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,e,n)=>{return a(n)?(s=t,r=e,s?.delete(r),t):t?.set(e,n);var s,r},h=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(p(t,e)):v(t,e,a()),p(t,e)},b=w(),A=w(),C=globalThis.window,S=["t","v"],f={keyPath:"k"},D=async(t,e)=>{const a=((e,a)=>o(y(e),(([e,a])=>M(t,"put",{k:e,v:a}))))(e);o(await M(t,"getAllKeys"),(n=>((t,e)=>e in t)(e,n)?0:c(a,M(t,"delete",n)))),await r(a)},M=async(t,e,a)=>s(((n,s)=>{const r=t[e](a);r.onsuccess=()=>n(r.result),r.onerror=()=>s(`objectStore.${e} error`)})),k=(t,l,y=1,d)=>{const w=async(t,e=[],a=0)=>s(((n,s)=>{const c=(C?C.indexedDB:indexedDB).open(l,a?2:void 0);c.onupgradeneeded=()=>a&&o(S,(t=>{try{c.result.createObjectStore(t,f)}catch{}})),c.onsuccess=async()=>{try{const a=c.result.transaction(S,"readwrite"),s=await r(o(S,(async(n,s)=>await t(a.objectStore(n),e[s]))));c.result.close(),n(s)}catch(t){c.result.close(),s(t)}},c.onerror=()=>s("indexedDB.open error")}));return((t,e,s,r,o,i,l,y={},d=[])=>{let w,C,S,f=0;h(b,d,(()=>0)),h(A,d,(()=>[]));const[D,M,k,L,j]=((t=1,e)=>t>1&&"getMergeableContent"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!u(t)||!u(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!u(t)||!u(e),e.setContent]:0)(l,t),m=e=>{var a;(D&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},x=async t=>(2!=f&&(f=1,await P((async()=>{try{m(await e())}catch(e){i?.(e),t&&j(t)}f=0}))),I),T=()=>(C&&(o(C),C=void 0),I),B=async t=>(1!=f&&(f=2,await P((async()=>{try{await s(M,t)}catch(t){i?.(t)}f=0}))),I),O=()=>(n(S,t.delListener),S=void 0,I),P=async(...t)=>(c(p(A,d),...t),await(async()=>{if(!p(b,d)){for(v(b,d,1);!a((t=p(A,d),w=t.shift()));)try{await w()}catch(t){i?.(t)}v(b,d,0)}var t})(),I),I={load:x,startAutoLoad:async t=>(await T().load(t),C=r((async(t,e)=>{e||t?2!=f&&(f=1,m(e??t),f=0):await x()})),I),stopAutoLoad:T,isAutoLoading:()=>!a(C),save:B,startAutoSave:async()=>(await O().save(),S=t.addDidFinishTransactionListener((()=>{const t=k();L(t)&&B(t)})),I),stopAutoSave:O,isAutoSaving:()=>!a(S),schedule:P,getStore:()=>t,destroy:()=>T().stopAutoSave(),getStats:()=>({}),...y};return g(I)})(t,(async()=>await w((async t=>((t=[])=>i.fromEntries(t))(o(await M(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await w((async(t,e)=>await D(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>e(t)),d,1,{getDbName:()=>l})};export{k as createIndexedDbPersister,D as objectStoreMatch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==d(a),f=(a,t)=>a.filter(t),N=(a,...t)=>a.push(...t),O=(a,t)=>a?.has(t)??!1,h=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),L=Object,b=a=>L.getPrototypeOf(a),S=L.entries,D=L.keys,I=L.freeze,M=(a=[])=>L.fromEntries(a),P=(...a)=>L.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),j=a=>L.values(a),x=a=>d(D(a)),B=a=>(a=>!o(a)&&l(b(a),(a=>a==L.prototype||o(b(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(O(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z="TABLE",K="ALTER "+z,V="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>U(r,M(await E(A(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,M(A(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!o($($(r,a),t)))(t,e)?M(f(A(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!B(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();F(c??{},(a=>A(D(a??{}),(a=>q(u,a)))));const d=h(u);if(!y&&w&&T(d)&&O(r,t))return await a("DROP "+z+v(t)),void G(r,t);if(T(d)||O(r,t)){const n=$(r,t),i=W(Y(n));await E([...A(d,(async s=>{R(i,s)||(await a(K+v(t)+"ADD"+v(s)),G(n,s,e))})),...!y&&l?A(h(i),(async e=>{e!=s&&(await a(K+v(t)+"DROP"+v(e)),G(n,e))})):[]])}else await a("CREATE "+z+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+v(a))))});`),G(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)o(c)?await a(V+v(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(V+v(t)+Z+v(s)+"=?",[n]):T(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(T(d))O(r,t)&&await a(V+v(t)+Z+" 1");else{const e=f(Y($(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{N(n,t,...A(e,(t=>a?.[t]))),N(o,t)})),await ta(a,t,s,e,n,i),await a(V+v(t)+Z+v(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+C(A(r,(a=>n+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+v(s)+")DO UPDATE SET"+C(A(r,(a=>v(a)+"=excluded."+v(a))),n):e),A(c,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[p,v,m,C,A]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),T=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=g&&(g=1,await L((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),b),O=()=>(d&&(s(d),d=void 0),b),h=async a=>(1!=g&&(g=2,await L((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),b),R=()=>(l(E,a.delListener),E=void 0,b),L=async(...a)=>(N($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(G(sa,w,1);!o((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),b),b={load:f,startAutoLoad:async a=>(await O().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,T(t??a),g=0):await f()})),b),stopAutoLoad:O,isAutoLoading:()=>!o(d),save:h,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();C(a)&&h(a)})),b),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>O().stopAutoSave(),getStats:()=>({}),...c};return I(b)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,v)=>{const[m,C,A,T]=aa(t,y,s,v),N=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),O=async(a,t)=>l?await A(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await m();const a=await(async()=>M(f(await E(k(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>c?(await C(w,p))[g]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await m(),o(t)){const[t,e]=a();await N(t),await O(e)}else await N(t[0],!0),await O(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));o(r[0])||n(i,r[0])||G(s,i,r)})),s},ma="pragma ",Ca="data_version",Aa="schema_version",Ta=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,v;const[C,A,T,f]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,x(pa)),o=c[2],l=W(o);return[0,n,[va(s,{[da]:null,[ua]:p},da,(a=>q(l,a)&&a==o)),va(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>q(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Ca))[0][Ca],e=(await n(ma+Aa))[0][Aa],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(v??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,T,h(f),l,y,d)},fa=(a,t,e,n,s)=>Ta(a,e,(async(a,e=[])=>(await t.execute({sql:a,args:e})).rows),(()=>()=>0),(a=>a()),n,s,t,"getClient");export{fa as createLibSqlPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,e="",a=t(e),s=t=>null==t,
|
|
1
|
+
const t=t=>typeof t,e="",a=t(e),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=e=>t(e)==a,r=t=>t.length,i=Object,c=t=>i.getPrototypeOf(t),y=i.keys,g=i.freeze,d=t=>(t=>!s(t)&&n(c(t),(t=>t==i.prototype||s(c(t))),(()=>!0)))(t)&&0==(t=>r(y(t)))(t),h=t=>JSON.stringify(t,((t,e)=>e instanceof Map?i.fromEntries([...e]):e)),l=JSON.parse,p="/store",v=t=>new Map(t),u=(t,e)=>t?.get(e),w=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},f=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(u(t,e)):w(t,e,a()),u(t,e)},C=v(),A=v(),S="message",m=(t,a,i,c)=>{const{host:y,room:v}=a.partySocketOptions,{storeProtocol:m="https",storePath:b=p,messagePrefix:L=e}={...o(i)?{storeProtocol:i}:i},M=m+"://"+y+"/parties/"+a.name+"/"+v+b,P=async t=>await(await fetch(M,{...t?{method:"PUT",body:h(t)}:{},mode:"cors",cache:"no-store"})).json();return((t,e,a,o,r,i,c,y={},h=[])=>{let l,p,v,S=0;f(C,h,(()=>0)),f(A,h,(()=>[]));const[m,b,L,M,P]=((t=1,e)=>t>1&&"getMergeableContent"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!d(t)||!d(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!d(t)||!d(e),e.setContent]:0)(c,t),O=e=>{var a;(m&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},T=async t=>(2!=S&&(S=1,await x((async()=>{try{O(await e())}catch(e){i?.(e),t&&P(t)}S=0}))),D),E=()=>(p&&(r(p),p=void 0),D),j=async t=>(1!=S&&(S=2,await x((async()=>{try{await a(b,t)}catch(t){i?.(t)}S=0}))),D),k=()=>(n(v,t.delListener),v=void 0,D),x=async(...t)=>(((t,...e)=>{t.push(...e)})(u(A,h),...t),await(async()=>{if(!u(C,h)){for(w(C,h,1);!s((t=u(A,h),l=t.shift()));)try{await l()}catch(t){i?.(t)}w(C,h,0)}var t})(),D),D={load:T,startAutoLoad:async t=>(await E().load(t),p=o((async(t,e)=>{e||t?2!=S&&(S=1,O(e??t),S=0):await T()})),D),stopAutoLoad:E,isAutoLoading:()=>!s(p),save:j,startAutoSave:async()=>(await k().save(),v=t.addDidFinishTransactionListener((()=>{const t=L();M(t)&&j(t)})),D),stopAutoSave:k,isAutoSaving:()=>!s(v),schedule:x,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...y};return g(D)})(t,(async()=>await P()),(async(t,e)=>{var s;e?a.send(L+"s"+(o(s=e)?s:h(s))):await P(t())}),(t=>{const e=e=>n(((t,e,a)=>{const s=r(t);return((t,e)=>t.startsWith(e))(e,t)?[e[s],l((n=e,o=s+1,n.slice(o,void 0)))]:void 0;var n,o})(L,e.data),(([e,a])=>{"s"==e&&t(void 0,a)}));return a.addEventListener(S,e),e}),(t=>{a.removeEventListener(S,t)}),c,1,{getConnection:()=>a})};export{m as createPartyKitPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),
|
|
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),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),T=a=>0==d(a),f=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,b=a=>[...a?.values()??[]],O=(a,t)=>a?.delete(t),R=Object,L=a=>R.getPrototypeOf(a),S=R.entries,D=R.keys,I=R.freeze,M=(a=[])=>R.fromEntries(a),P=(...a)=>R.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),j=a=>R.values(a),x=a=>d(D(a)),B=a=>(a=>!c(a)&&l(L(a),(a=>a==R.prototype||c(L(a))),(()=>!0)))(a)&&0==x(a),H=a=>new Map(a),Y=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),k=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>c(e)?(O(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(N(a,t)?n?.($(a,t)):G(a,t,e()),$(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||c(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=H();return[async()=>U(r,M(await E(A(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,M(A(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,H),e,((a,t,e)=>{e!=$(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!c($($(r,a),t)))(t,e)?M(f(A(await a(Q+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!B(t)))):{},async(t,s,o,l,w,y=!1)=>{const u=W();F(o??{},(a=>A(D(a??{}),(a=>z(u,a)))));const d=b(u);if(!y&&w&&T(d)&&N(r,t))return await a("DROP "+K+m(t)),void G(r,t);if(T(d)||N(r,t)){const n=$(r,t),i=W(Y(n));await E([...A(d,(async s=>{O(i,s)||(await a(V+m(t)+"ADD"+m(s)),G(n,s,e))})),...!y&&l?A(b(i),(async e=>{e!=s&&(await a(V+m(t)+"DROP"+m(e)),G(n,e))})):[]])}else await a("CREATE "+K+m(t)+"("+m(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+m(a))))});`),G(r,t,H([[s,e],...A(d,(a=>[a,e]))]));if(y)c(o)?await a(q+m(t)+Z+" 1"):await E(F(o,(async(e,n)=>{c(e)?await a(q+m(t)+Z+m(s)+"=?",[n]):T(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(T(d))N(r,t)&&await a(q+m(t)+Z+" 1");else{const e=f(Y($(r,t)),(a=>a!=s)),n=[],c=[];F(o??{},((a,t)=>{h(n,t,...A(e,(t=>a?.[t]))),h(c,t)})),await ta(a,t,s,e,n,i),await a(q+m(t)+Z+m(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"+m(t)+"("+m(s)+C(A(r,(a=>n+m(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(o)/(d(r)+1)),1)+(c?"ON CONFLICT("+m(s)+")DO UPDATE SET"+C(A(r,(a=>m(a)+"=excluded."+m(a))),n):e),A(o,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=H(),ia=H(),ra=(a,t,e,n,s,i,r,o={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[p,m,v,C,A]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:0)(r,a),T=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},f=async a=>(2!=g&&(g=1,await R((async()=>{try{T(await t())}catch(t){i?.(t),a&&A(a)}g=0}))),L),N=()=>(d&&(s(d),d=void 0),L),b=async a=>(1!=g&&(g=2,await R((async()=>{try{await e(m,a)}catch(a){i?.(a)}g=0}))),L),O=()=>(l(E,a.delListener),E=void 0,L),R=async(...a)=>(h($(ia,w),...a),await(async()=>{if(!$(sa,w)){for(G(sa,w,1);!c((a=$(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),L),L={load:f,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,T(t??a),g=0):await f()})),L),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:b,startAutoSave:async()=>(await O().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&b(a)})),L),stopAutoSave:O,isAutoSaving:()=>!c(E),schedule:R,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...o};return I(L)},oa="store",ca=(a,t,e,n,s,[i],r,o,c,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[oa]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[oa]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?R.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>o},o)},la=(a,t,e,n,s,[i,r,[o,l,w]],y,u,d,m)=>{const[v,C,A,T]=aa(t,y,s,m),h=async(a,t)=>await E(k(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await A(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await A(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await T((async()=>{await v();const a=await(async()=>M(f(await E(k(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>o?(await C(w,p))[g]:{})();return B(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await T((async()=>{if(await v(),c(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,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},ma=(a,t,e,n)=>{const s=H();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,x(t));c(r[0])||n(i,r[0])||G(s,i,r)})),s},va="pragma ",Ca="data_version",Aa="schema_version",Ta=(a,e,n,s,i,r,c,l,y="getDb",d)=>{let E,g,m;const[C,A,T,f]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=u(j(P(pa,r)),0,x(pa)),c=o[2],l=W(c);return[0,n,[ma(s,{[da]:null,[ua]:p},da,(a=>z(l,a)&&a==c)),ma(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==c)),o],l]})(e);return(C?ca:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ca))[0][Ca],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(m??=s)||(a(),E=t,g=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>f.has(t)?a():0))];var t,e}),(([a,t])=>{o(a),E=g=null,i(t)}),c,T,b(f),l,y,d)},fa=(a,t,e,n,s,i=!1)=>Ta(a,e,(async(a,e=[])=>t.execute(a,e).then((a=>a.rows?._array??[]))),(a=>{const e=new AbortController,n=t.onChange({rawTableNames:!0,signal:e.signal});return(async()=>{for await(const t of n)A(t.changedTables,a)})(),e}),(a=>a.abort()),n,s,t,"getPowerSync",i);export{fa as createPowerSyncPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=clearInterval,
|
|
1
|
+
const t=clearInterval,e=t=>null==t,a=(t,a,n)=>e(t)?n?.():a(t),n=Object,s=t=>n.getPrototypeOf(t),r=n.keys,o=n.freeze,i=t=>(t=>!e(t)&&a(s(t),(t=>t==n.prototype||e(s(t))),(()=>!0)))(t)&&0==(t=>r(t).length)(t),c=JSON.parse,y=t=>new Map(t),g=(t,e)=>t?.get(e),l=(t,a,n)=>{return e(n)?(s=t,r=a,s?.delete(r),t):t?.set(a,n);var s,r},h=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(g(t,e)):l(t,e,a()),g(t,e)},d=y(),p=y(),u=t=>t.headers.get("ETag"),v=(s,r,y,v=5,w)=>{let f;return((t,n,s,r,c,y,u,v={},w=[])=>{let f,C,A,S=0;h(d,w,(()=>0)),h(p,w,(()=>[]));const[b,M,T,L,O]=((t=1,e)=>t>1&&"getMergeableContent"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!i(t)||!i(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!i(t)||!i(e),e.setContent]:0)(u,t),m=e=>{var a;(b&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},D=async t=>(2!=S&&(S=1,await I((async()=>{try{m(await n())}catch(e){y?.(e),t&&O(t)}S=0}))),J),E=()=>(C&&(c(C),C=void 0),J),j=async t=>(1!=S&&(S=2,await I((async()=>{try{await s(M,t)}catch(t){y?.(t)}S=0}))),J),x=()=>(a(A,t.delListener),A=void 0,J),I=async(...t)=>(((t,...e)=>{t.push(...e)})(g(p,w),...t),await(async()=>{if(!g(d,w)){for(l(d,w,1);!e((t=g(p,w),f=t.shift()));)try{await f()}catch(t){y?.(t)}l(d,w,0)}var t})(),J),J={load:D,startAutoLoad:async t=>(await E().load(t),C=r((async(t,e)=>{e||t?2!=S&&(S=1,m(e??t),S=0):await D()})),J),stopAutoLoad:E,isAutoLoading:()=>!e(C),save:j,startAutoSave:async()=>(await x().save(),A=t.addDidFinishTransactionListener((()=>{const t=T();L(t)&&j(t)})),J),stopAutoSave:x,isAutoSaving:()=>!e(A),schedule:I,getStore:()=>t,destroy:()=>E().stopAutoSave(),getStats:()=>({}),...v};return o(J)})(s,(async()=>{const t=await fetch(r);return f=u(t),c(await t.text())}),(async t=>{return await fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e)))});var e}),(t=>setInterval((async()=>{const a=await fetch(r,{method:"HEAD"}),n=u(a);e(f)||e(n)||n==f||(f=n,t())}),1e3*v)),(e=>t(e)),w,1,{getUrls:()=>[r,y]})};export{v as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),o=Promise,r=clearInterval,c=a=>null==a,l=(a,t,e)=>c(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>o.all(a),p="_",g="_id",m=a=>`"${a.replace(/"/g,'""')}"`,v="SELECT",C=(a,t="")=>a.join(t),A=(a,t)=>a.map(t),h=a=>0==d(a),T=(a,t)=>a.filter(t),f=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),b=Object,L=a=>b.getPrototypeOf(a),S=b.entries,D=b.keys,I=b.freeze,M=(a=[])=>b.fromEntries(a),_=(...a)=>b.assign({},...a),P=(a,t)=>t in a,F=(a,t)=>A(S(a),(([a,e])=>t(e,a))),j=a=>b.values(a),k=a=>d(D(a)),x=a=>(a=>!c(a)&&l(L(a),(a=>a==b.prototype||c(L(a))),(()=>!0)))(a)&&0==k(a),B=a=>new Map(a),H=a=>[...a?.keys()??[]],Y=(a,t)=>a?.get(t),$=(a,t)=>A([...a?.entries()??[]],(([a,e])=>t(e,a))),q=(a,t,e)=>c(e)?(R(a,t),a):a?.set(t,e),G=(a,t,e,n)=>(N(a,t)?n?.(Y(a,t)):q(a,t,e()),Y(a,t)),J=(a,t,e,n=q)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>P(t,e)?0:n(a,e))),a),U=a=>new Set(y(a)||c(a)?a:[a]),V=(a,t)=>a?.add(t),W="TABLE",z="ALTER "+W,K="DELETE FROM",Q=v+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const o=B();return[async()=>J(o,M(await E(A(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,M(A(await a(v+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>q(o,t,J(G(o,t,B),e,((a,t,e)=>{e!=Y(a,t)&&q(a,t,e)}),((a,t)=>q(a,t))))),((a,t)=>q(o,t))),async(t,e)=>((a,t)=>!c(Y(Y(o,a),t)))(t,e)?M(T(A(await a(Q+m(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!c(a)&&!x(t)))):{},async(t,s,r,l,w,y=!1)=>{const u=U();F(r??{},(a=>A(D(a??{}),(a=>V(u,a)))));const d=O(u);if(!y&&w&&h(d)&&N(o,t))return await a("DROP "+W+m(t)),void q(o,t);if(h(d)||N(o,t)){const n=Y(o,t),i=U(H(n));await E([...A(d,(async s=>{R(i,s)||(await a(z+m(t)+"ADD"+m(s)),q(n,s,e))})),...!y&&l?A(O(i),(async e=>{e!=s&&(await a(z+m(t)+"DROP"+m(e)),q(n,e))})):[]])}else await a("CREATE "+W+m(t)+"("+m(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(A(d,(a=>n+m(a))))});`),q(o,t,B([[s,e],...A(d,(a=>[a,e]))]));if(y)c(r)?await a(K+m(t)+Z+" 1"):await E(F(r,(async(e,n)=>{c(e)?await a(K+m(t)+Z+m(s)+"=?",[n]):h(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(h(d))N(o,t)&&await a(K+m(t)+Z+" 1");else{const e=T(H(Y(o,t)),(a=>a!=s)),n=[],c=[];F(r??{},((a,t)=>{f(n,t,...A(e,(t=>a?.[t]))),f(c,t)})),await ta(a,t,s,e,n,i),await a(K+m(t)+Z+m(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,o,r,c=!0)=>await a("INSERT "+(c?e:"OR REPLACE ")+"INTO"+m(t)+"("+m(s)+C(A(o,(a=>n+m(a))))+")VALUES"+u(i(`,(?${i(",?",d(o))})`,d(r)/(d(o)+1)),1)+(c?"ON CONFLICT("+m(s)+")DO UPDATE SET"+C(A(o,(a=>m(a)+"=excluded."+m(a))),n):e),A(r,(a=>a??null))),ea=a=>C(A(a,(()=>"?")),n),na=JSON.parse,sa=B(),ia=B(),oa=(a,t,e,n,s,i,o,r={},w=[])=>{let u,d,E,p=0;G(sa,w,(()=>0)),G(ia,w,(()=>[]));const[g,m,v,C,A]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!x(a)||!x(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!x(a)||!x(t),t.setContent]:0)(o,a),h=t=>{(g&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=p&&(p=1,await b((async()=>{try{h(await t())}catch(t){i?.(t),a&&A(a)}p=0}))),L),N=()=>(d&&(s(d),d=void 0),L),O=async a=>(1!=p&&(p=2,await b((async()=>{try{await e(m,a)}catch(a){i?.(a)}p=0}))),L),R=()=>(l(E,a.delListener),E=void 0,L),b=async(...a)=>(f(Y(ia,w),...a),await(async()=>{if(!Y(sa,w)){for(q(sa,w,1);!c((a=Y(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}q(sa,w,0)}var a})(),L),L={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=p&&(p=1,h(t??a),p=0):await T()})),L),stopAutoLoad:N,isAutoLoading:()=>!c(d),save:O,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=v();C(a)&&O(a)})),L),stopAutoSave:R,isAutoSaving:()=>!c(E),schedule:b,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...r};return I(L)},ra="store",ca=(a,t,e,n,s,[i],o,r,c,l)=>{const[w,y,u,d]=aa(t,o,s,l);return oa(a,(async()=>await d((async()=>(await w(),na((await y(i,g))[p]?.[ra]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,g,{[p]:{[ra]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?b.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[c]:()=>r},r)},la=(a,t,e,n,s,[i,o,[r,l,w]],y,u,d,m)=>{const[v,C,A,h]=aa(t,y,s,m),f=async(a,t)=>await E($(o,(async([e,n,s,i],o)=>{t&&!P(a,o)||await A(e,n,a[o],s,i,t)}))),N=async(a,t)=>l?await A(w,g,{[p]:a},!0,!0,t):null;return oa(a,(async()=>await h((async()=>{await v();const a=await(async()=>M(T(await E($(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!x(a[1])))))(),t=await(async()=>r?(await C(w,g))[p]:{})();return x(a)&&c(t)?void 0:[a,t]}))),(async(a,t)=>await h((async()=>{if(await v(),c(t)){const[t,e]=a();await f(t),await N(e)}else await f(t[0],!0),await N(t[1],!0)}))),e,n,s,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",pa={mode:wa,[ya]:1},ga={load:0,save:0,[Ea]:t+"_values"},ma=(a,t,e,n)=>{const s=B();return F(a,((a,i)=>{const o=u(j(_(t,w(a)?{[e]:a}:a)),0,k(t));c(o[0])||n(i,o[0])||q(s,i,o)})),s},va="pragma ",Ca="data_version",Aa="schema_version",ha=(a,e,n,s,i,o,c,l,y="getDb",d)=>{let E,p,m;const[C,A,h,T]=(a=>{const e=(a=>_(pa,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],U(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=u(j(_(ga,o)),0,k(ga)),c=r[2],l=U(c);return[0,n,[ma(s,{[da]:null,[ua]:g},da,(a=>V(l,a)&&a==c)),ma(i,{[Ea]:null,[ua]:g,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>V(l,t)&&t==c)),r],l]})(e);return(C?ca:la)(a,o?async(a,t)=>(o(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(va+Ca))[0][Ca],e=(await n(va+Aa))[0][Aa],s=(await n(v+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(p??=e)&&s==(m??=s)||(a(),E=t,p=e)}catch{}},e=A,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{r(a),E=p=null,i(t)}),c,h,O(T),l,y,d)},Ta=(a,t,e,n,s,i)=>ha(a,n,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,n,s)=>a(s)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)),s,i,e);export{Ta 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),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=(a,t)=>a.repeat(t),r=Promise,c=clearInterval,o=a=>null==a,l=(a,t,e)=>o(a)?e?.():t(a),w=t=>a(t)==s,y=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),d=a=>a.length,E=async a=>r.all(a),g="_",p="_id",v=a=>`"${a.replace(/"/g,'""')}"`,m="SELECT",C=(a,t="")=>a.join(t),f=(a,t)=>a.map(t),A=a=>0==d(a),T=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),N=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],R=(a,t)=>a?.delete(t),L=Object,b=a=>L.getPrototypeOf(a),S=L.entries,D=L.keys,I=L.freeze,M=(a=[])=>L.fromEntries(a),P=(...a)=>L.assign({},...a),_=(a,t)=>t in a,F=(a,t)=>f(S(a),(([a,e])=>t(e,a))),j=a=>L.values(a),B=a=>d(D(a)),H=a=>(a=>!o(a)&&l(b(a),(a=>a==L.prototype||o(b(a))),(()=>!0)))(a)&&0==B(a),Y=a=>new Map(a),$=a=>[...a?.keys()??[]],k=(a,t)=>a?.get(t),x=(a,t)=>f([...a?.entries()??[]],(([a,e])=>t(e,a))),G=(a,t,e)=>o(e)?(R(a,t),a):a?.set(t,e),J=(a,t,e,n)=>(N(a,t)?n?.(k(a,t)):G(a,t,e()),k(a,t)),U=(a,t,e,n=G)=>(F(t,((t,n)=>e(a,n,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>_(t,e)?0:n(a,e))),a),W=a=>new Set(y(a)||o(a)?a:[a]),z=(a,t)=>a?.add(t),K="TABLE",V="ALTER "+K,q="DELETE FROM",Q=m+"*FROM",X="FROM pragma_table_",Z="WHERE",aa=(a,t,s,i)=>{const r=Y();return[async()=>U(r,M(await E(f(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,M(f(await a(m+" name,type "+X+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>G(r,t,U(J(r,t,Y),e,((a,t,e)=>{e!=k(a,t)&&G(a,t,e)}),((a,t)=>G(a,t))))),((a,t)=>G(r,t))),async(t,e)=>((a,t)=>!o(k(k(r,a),t)))(t,e)?M(T(f(await a(Q+v(t)),(a=>{return[a[e],(t={...a},n=e,delete t[n],t)];var t,n})),(([a,t])=>!o(a)&&!H(t)))):{},async(t,s,c,l,w,y=!1)=>{const u=W();F(c??{},(a=>f(D(a??{}),(a=>z(u,a)))));const d=O(u);if(!y&&w&&A(d)&&N(r,t))return await a("DROP "+K+v(t)),void G(r,t);if(A(d)||N(r,t)){const n=k(r,t),i=W($(n));await E([...f(d,(async s=>{R(i,s)||(await a(V+v(t)+"ADD"+v(s)),G(n,s,e))})),...!y&&l?f(O(i),(async e=>{e!=s&&(await a(V+v(t)+"DROP"+v(e)),G(n,e))})):[]])}else await a("CREATE "+K+v(t)+"("+v(s)+` PRIMARY KEY ON CONFLICT REPLACE${C(f(d,(a=>n+v(a))))});`),G(r,t,Y([[s,e],...f(d,(a=>[a,e]))]));if(y)o(c)?await a(q+v(t)+Z+" 1"):await E(F(c,(async(e,n)=>{o(e)?await a(q+v(t)+Z+v(s)+"=?",[n]):A(d)||await ta(a,t,s,D(e),[n,...j(e)],i)})));else if(A(d))N(r,t)&&await a(q+v(t)+Z+" 1");else{const e=T($(k(r,t)),(a=>a!=s)),n=[],o=[];F(c??{},((a,t)=>{h(n,t,...f(e,(t=>a?.[t]))),h(o,t)})),await ta(a,t,s,e,n,i),await a(q+v(t)+Z+v(s)+"NOT IN("+ea(o)+")",o)}},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,c,o=!0)=>await a("INSERT "+(o?e:"OR REPLACE ")+"INTO"+v(t)+"("+v(s)+C(f(r,(a=>n+v(a))))+")VALUES"+u(i(`,(?${i(",?",d(r))})`,d(c)/(d(r)+1)),1)+(o?"ON CONFLICT("+v(s)+")DO UPDATE SET"+C(f(r,(a=>v(a)+"=excluded."+v(a))),n):e),f(c,(a=>a??null))),ea=a=>C(f(a,(()=>"?")),n),na=JSON.parse,sa=Y(),ia=Y(),ra=(a,t,e,n,s,i,r,c={},w=[])=>{let u,d,E,g=0;J(sa,w,(()=>0)),J(ia,w,(()=>[]));const[p,v,m,C,f]=((a=1,t)=>a>1&&"getMergeableContent"in t?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[a],[t]])=>!H(a)||!H(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!H(a)||!H(t),t.setContent]:0)(r,a),A=t=>{(p&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},T=async a=>(2!=g&&(g=1,await L((async()=>{try{A(await t())}catch(t){i?.(t),a&&f(a)}g=0}))),b),N=()=>(d&&(s(d),d=void 0),b),O=async a=>(1!=g&&(g=2,await L((async()=>{try{await e(v,a)}catch(a){i?.(a)}g=0}))),b),R=()=>(l(E,a.delListener),E=void 0,b),L=async(...a)=>(h(k(ia,w),...a),await(async()=>{if(!k(sa,w)){for(G(sa,w,1);!o((a=k(ia,w),u=a.shift()));)try{await u()}catch(a){i?.(a)}G(sa,w,0)}var a})(),b),b={load:T,startAutoLoad:async a=>(await N().load(a),d=n((async(a,t)=>{t||a?2!=g&&(g=1,A(t??a),g=0):await T()})),b),stopAutoLoad:N,isAutoLoading:()=>!o(d),save:O,startAutoSave:async()=>(await R().save(),E=a.addDidFinishTransactionListener((()=>{const a=m();C(a)&&O(a)})),b),stopAutoSave:R,isAutoSaving:()=>!o(E),schedule:L,getStore:()=>a,destroy:()=>N().stopAutoSave(),getStats:()=>({}),...c};return I(b)},ca="store",oa=(a,t,e,n,s,[i],r,c,o,l)=>{const[w,y,u,d]=aa(t,r,s,l);return ra(a,(async()=>await d((async()=>(await w(),na((await y(i,p))[g]?.[ca]??"null"))))),(async a=>await d((async()=>{var t;await w(),await u(i,p,{[g]:{[ca]:(t=a()??null,JSON.stringify(t,((a,t)=>t instanceof Map?L.fromEntries([...t]):t)))}},!0,!0)}))),e,n,s,1,{[o]:()=>c},c)},la=(a,t,e,n,s,[i,r,[c,l,w]],y,u,d,v)=>{const[m,C,f,A]=aa(t,y,s,v),h=async(a,t)=>await E(x(r,(async([e,n,s,i],r)=>{t&&!_(a,r)||await f(e,n,a[r],s,i,t)}))),N=async(a,t)=>l?await f(w,p,{[g]:a},!0,!0,t):null;return ra(a,(async()=>await A((async()=>{await m();const a=await(async()=>M(T(await E(x(i,(async([a,t],e)=>[a,await C(e,t)]))),(a=>!H(a[1])))))(),t=await(async()=>c?(await C(w,p))[g]:{})();return H(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await A((async()=>{if(await m(),o(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,1,{[d]:()=>u},u)},wa="json",ya="autoLoadIntervalSeconds",ua="rowIdColumnName",da="tableId",Ea="tableName",ga={mode:wa,[ya]:1},pa={load:0,save:0,[Ea]:t+"_values"},va=(a,t,e,n)=>{const s=Y();return F(a,((a,i)=>{const r=u(j(P(t,w(a)?{[e]:a}:a)),0,B(t));o(r[0])||n(i,r[0])||G(s,i,r)})),s},ma="pragma ",Ca="data_version",fa="schema_version",Aa=(a,e,n,s,i,r,o,l,y="getDb",d)=>{let E,g,v;const[C,f,A,T]=(a=>{const e=(a=>P(ga,w(a)?{storeTableName:a}:a??{}))(a),n=e[ya];if(e.mode==wa){const{storeTableName:a=t}=e;return[1,n,[a],W(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,c=u(j(P(pa,r)),0,B(pa)),o=c[2],l=W(o);return[0,n,[va(s,{[da]:null,[ua]:p},da,(a=>z(l,a)&&a==o)),va(i,{[Ea]:null,[ua]:p,deleteEmptyColumns:0,deleteEmptyTable:0},Ea,((a,t)=>z(l,t)&&t==o)),c],l]})(e);return(C?oa:la)(a,r?async(a,t)=>(r(a,t),await n(a,t)):n,(a=>{return[(t=async()=>{try{const t=(await n(ma+Ca))[0][Ca],e=(await n(ma+fa))[0][fa],s=(await n(m+" TOTAL_CHANGES() c"))[0].c;t==(E??=t)&&e==(g??=e)&&s==(v??=s)||(a(),E=t,g=e)}catch{}},e=f,t(),setInterval(t,1e3*e)),s((t=>T.has(t)?a():0))];var t,e}),(([a,t])=>{c(a),E=g=null,i(t)}),o,A,O(T),l,y,d)},Ta="change",ha=(a,t,e,n,s)=>Aa(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(Ta,e),e}),(a=>t.off(Ta,a)),n,s,t);export{ha as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),
|
|
1
|
+
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>t.length,r=t=>t.shift(),i=Object,c=t=>i.getPrototypeOf(t),g=i.entries,l=i.keys,d=i.freeze,u=(t=[])=>i.fromEntries(t),y=(t,e)=>e in t,p=(t,e)=>((t,e)=>t.map(e))(g(t),(([t,a])=>e(a,t))),h=t=>(t=>!n(t)&&s(c(t),(t=>t==i.prototype||n(c(t))),(()=>!0)))(t)&&0==(t=>o(l(t)))(t),v=(t,e,a)=>(y(t,e)||(t[e]=a()),t[e]),f=t=>new Map(t),w=(t,e)=>t?.get(e),S=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),C=(t,e,a)=>{return n(a)?(s=t,o=e,s?.delete(o),t):t?.set(e,a);var s,o},b=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(w(t,e)):C(t,e,a()),w(t,e)},A=f(),M=f(),O="delete",J=t=>[t.get(e),t.get(a)],N=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return p(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{y(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},D=(i,c,g="tinybase",l)=>{const y=c.getMap(g);return((t,e,a,o,i,c,g,l={},u=[])=>{let y,p,v,f=0;b(A,u,(()=>0)),b(M,u,(()=>[]));const[S,O,J,N,D]=((t=1,e)=>t>1&&"getMergeableContent"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!h(t)||!h(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!h(t)||!h(e),e.setContent]:0)(g,t),L=e=>{var a;(S&&(a=e?.[0],Array.isArray(a))?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},m=async t=>(2!=f&&(f=1,await j((async()=>{try{L(await e())}catch(e){c?.(e),t&&D(t)}f=0}))),k),z=()=>(p&&(i(p),p=void 0),k),E=async t=>(1!=f&&(f=2,await j((async()=>{try{await a(O,t)}catch(t){c?.(t)}f=0}))),k),T=()=>(s(v,t.delListener),v=void 0,k),j=async(...t)=>(((t,...e)=>{t.push(...e)})(w(M,u),...t),await(async()=>{if(!w(A,u)){for(C(A,u,1);!n(y=r(w(M,u)));)try{await y()}catch(t){c?.(t)}C(A,u,0)}})(),k),k={load:m,startAutoLoad:async t=>(await z().load(t),p=o((async(t,e)=>{e||t?2!=f&&(f=1,L(e??t),f=0):await m()})),k),stopAutoLoad:z,isAutoLoading:()=>!n(p),save:E,startAutoSave:async()=>(await T().save(),v=t.addDidFinishTransactionListener((()=>{const t=J();N(t)&&E(t)})),k),stopAutoSave:T,isAutoSaving:()=>!n(v),schedule:j,getStore:()=>t,destroy:()=>z().stopAutoSave(),getStats:()=>({}),...l};return d(k)})(i,(async()=>y.size?[y.get(e).toJSON(),y.get(a).toJSON()]:void 0),(async(o,r)=>c.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,g]=J(o),l=()=>{d=1};let d=1;if(s(i,(([t,e])=>{d=0,p(t,((t,e)=>d?0:n(t)?c.delete(e):s(c.get(e),(e=>p(t,((t,a)=>d?0:n(t)?e.delete(a):s(e.get(a),(e=>p(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),l)))),l))),p(e,((t,e)=>d?0:n(t)?g.delete(e):g.set(e,t)))})),d){const[t,e]=r();N(c,void 0,t,((t,e,a)=>N(c,e,a,((t,e,a)=>N(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),N(g,void 0,e,((t,e,a)=>{g.get(e)!==a&&g.set(e,a)}))}})(y,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==o(n)&&(i=n[0].path,0==o(i)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var i;const[c,g]=J(t),l={},d={};return((t,a)=>{t.forEach((({path:t,changes:{keys:a}})=>r(t)==e?s(r(t),(e=>{const n=v(l,e,u),o=c.get(e);s(r(t),(t=>{const e=v(n,t,u),s=o.get(t);S(a,((t,{action:a})=>e[t]=a==O?null:s.get(t)))}),(()=>S(a,((t,{action:e})=>n[t]=e==O?null:o.get(t)?.toJSON()))))}),(()=>S(a,((t,{action:e})=>l[t]=e==O?null:c.get(t)?.toJSON())))):S(a,((t,{action:e})=>d[t]=e==O?null:g.get(t)))))})(n),[l,d,1]})(y,n));return y.observeDeep(n),n}),(t=>{y.unobserveDeep(t)}),l,1,{getYDoc:()=>c})};export{D as createYjsPersister};
|
|
Binary file
|
package/lib/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,
|
|
1
|
+
const t=t=>null==t,e=(e,a,n)=>t(e)?n?.():a(e),a=Object,n=t=>a.getPrototypeOf(t),s=a.keys,o=a.freeze,r=o=>(s=>!t(s)&&e(n(s),(e=>e==a.prototype||t(n(e))),(()=>!0)))(o)&&0==(t=>s(t).length)(o),i=t=>new Map(t),c=(t,e)=>t?.get(e),g=(e,a,n)=>{return t(n)?(s=e,o=a,s?.delete(o),e):e?.set(a,n);var s,o},y=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(c(t,e)):g(t,e,a()),c(t,e)},l=i(),d=i(),u=(a,n,s,i,u,h,p,v={},C=[])=>{let w,A,b,f=0;y(l,C,(()=>0)),y(d,C,(()=>[]));const[M,S,L,T,D]=((t=1,e)=>t>1&&"getMergeableContent"in e?[1,e.getMergeableContent,e.getTransactionMergeableChanges,([[t],[e]])=>!r(t)||!r(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!r(t)||!r(e),e.setContent]:0)(p,a),O=t=>{var e;(M&&(e=t?.[0],Array.isArray(e))?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},j=async t=>(2!=f&&(f=1,await F((async()=>{try{O(await n())}catch(e){h?.(e),t&&D(t)}f=0}))),P),k=()=>(A&&(u(A),A=void 0),P),x=async t=>(1!=f&&(f=2,await F((async()=>{try{await s(S,t)}catch(t){h?.(t)}f=0}))),P),z=()=>(e(b,a.delListener),b=void 0,P),F=async(...e)=>(((t,...e)=>{t.push(...e)})(c(d,C),...e),await(async()=>{if(!c(l,C)){for(g(l,C,1);!t((e=c(d,C),w=e.shift()));)try{await w()}catch(t){h?.(t)}g(l,C,0)}var e})(),P),P={load:j,startAutoLoad:async t=>(await k().load(t),A=i((async(t,e)=>{e||t?2!=f&&(f=1,O(e??t),f=0):await j()})),P),stopAutoLoad:k,isAutoLoading:()=>!t(A),save:x,startAutoSave:async()=>(await z().save(),b=a.addDidFinishTransactionListener((()=>{const t=L();T(t)&&x(t)})),P),stopAutoSave:z,isAutoSaving:()=>!t(b),schedule:F,getStore:()=>a,destroy:()=>k().stopAutoSave(),getStats:()=>({}),...v};return o(P)};export{u as createCustomPersister};
|
package/lib/persisters.js.gz
CHANGED
|
Binary file
|