tinybase 5.0.0-beta.5 → 5.0.0-beta.6
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 -0
- 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-sync.cjs +1 -0
- package/lib/cjs/persisters/persister-sync.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/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.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/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.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 -0
- 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-sync.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sync.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/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.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/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +287 -130
- package/lib/debug/persisters/persister-automerge.js +39 -46
- package/lib/debug/persisters/persister-browser.js +39 -46
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-electric-sql.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite-next.js +64 -60
- package/lib/debug/persisters/persister-expo-sqlite.js +64 -60
- package/lib/debug/persisters/persister-file.js +39 -46
- package/lib/debug/persisters/persister-indexed-db.js +39 -46
- package/lib/debug/persisters/persister-libsql.js +64 -60
- package/lib/debug/persisters/persister-partykit-client.js +39 -46
- package/lib/debug/persisters/persister-powersync.js +917 -0
- package/lib/debug/persisters/persister-remote.js +39 -46
- package/lib/debug/persisters/persister-sqlite-wasm.js +64 -60
- package/lib/debug/persisters/persister-sqlite3.js +64 -60
- package/lib/debug/persisters/persister-sync.js +594 -0
- package/lib/debug/persisters/persister-yjs.js +41 -48
- package/lib/debug/persisters.js +38 -45
- package/lib/debug/store.js +44 -32
- package/lib/debug/tinybase.js +322 -173
- package/lib/debug/tools.js +2 -2
- package/lib/debug/ui-react-dom.js +81 -76
- package/lib/debug/ui-react.js +1 -1
- 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 -0
- 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-sync.js +1 -0
- package/lib/es6/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.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/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.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 -0
- 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-sync.js +1 -0
- package/lib/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +2 -2
- package/lib/types/indexes.d.ts +2 -2
- package/lib/types/mergeable-store.d.ts +121 -59
- package/lib/types/metrics.d.ts +2 -2
- package/lib/types/persisters/persister-automerge.d.ts +3 -0
- package/lib/types/persisters/persister-browser.d.ts +9 -2
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +3 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +3 -0
- package/lib/types/persisters/persister-file.d.ts +5 -1
- package/lib/types/persisters/persister-indexed-db.d.ts +3 -0
- package/lib/types/persisters/persister-libsql.d.ts +3 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +3 -0
- package/lib/types/persisters/persister-powersync.d.ts +157 -0
- package/lib/types/persisters/persister-remote.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +3 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +3 -0
- package/lib/types/persisters/persister-sync.d.ts +182 -0
- package/lib/types/persisters/persister-yjs.d.ts +5 -2
- package/lib/types/persisters.d.ts +60 -3
- package/lib/types/queries.d.ts +2 -2
- package/lib/types/relationships.d.ts +2 -2
- package/lib/types/store.d.ts +36 -3
- package/lib/types/tinybase.d.ts +9 -9
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/ui-react.d.ts +8 -8
- package/lib/types/with-schemas/checkpoints.d.ts +2 -2
- package/lib/types/with-schemas/indexes.d.ts +2 -2
- package/lib/types/with-schemas/mergeable-store.d.ts +185 -87
- package/lib/types/with-schemas/metrics.d.ts +2 -2
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +13 -6
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-file.d.ts +7 -3
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-libsql.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-powersync.d.ts +170 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +4 -1
- package/lib/types/with-schemas/persisters/persister-sync.d.ts +195 -0
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +6 -3
- package/lib/types/with-schemas/persisters.d.ts +79 -7
- package/lib/types/with-schemas/queries.d.ts +3 -3
- package/lib/types/with-schemas/relationships.d.ts +2 -2
- package/lib/types/with-schemas/store.d.ts +100 -3
- package/lib/types/with-schemas/tinybase.d.ts +9 -9
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/types/with-schemas/ui-react.d.ts +8 -8
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- 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 -0
- 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-sync.js +1 -0
- package/lib/umd/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.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/ui-react.js +1 -1
- package/lib/umd/ui-react.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 -0
- 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-sync.js +1 -0
- package/lib/umd-es6/persisters/persister-sync.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/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.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/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +37 -26
- package/readme.md +2 -2
|
@@ -42,8 +42,6 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
42
42
|
const object = Object;
|
|
43
43
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
44
44
|
const objEntries = object.entries;
|
|
45
|
-
const objIds = object.keys;
|
|
46
|
-
const objFreeze = object.freeze;
|
|
47
45
|
const isObject = (obj) =>
|
|
48
46
|
!isUndefined(obj) &&
|
|
49
47
|
ifNotUndefined(
|
|
@@ -54,6 +52,8 @@ const isObject = (obj) =>
|
|
|
54
52
|
/* istanbul ignore next */
|
|
55
53
|
() => true,
|
|
56
54
|
);
|
|
55
|
+
const objIds = object.keys;
|
|
56
|
+
const objFreeze = object.freeze;
|
|
57
57
|
const objNew = (entries = []) => object.fromEntries(entries);
|
|
58
58
|
const objMerge = (...objs) => object.assign({}, ...objs);
|
|
59
59
|
const objHas = (obj, id) => id in obj;
|
|
@@ -98,6 +98,9 @@ const setNew = (entryOrEntries) =>
|
|
|
98
98
|
);
|
|
99
99
|
const setAdd = (set, value) => set?.add(value);
|
|
100
100
|
|
|
101
|
+
const TABLE = 'TABLE';
|
|
102
|
+
const ALTER_TABLE = 'ALTER ' + TABLE;
|
|
103
|
+
const DELETE_FROM = 'DELETE FROM';
|
|
101
104
|
const SELECT_STAR_FROM = SELECT + '*FROM';
|
|
102
105
|
const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
|
|
103
106
|
const WHERE = 'WHERE';
|
|
@@ -192,15 +195,20 @@ const getCommandFunctions = (
|
|
|
192
195
|
arrayIsEmpty(tableColumnNames) &&
|
|
193
196
|
collHas(schemaMap, tableName)
|
|
194
197
|
) {
|
|
195
|
-
await cmd('DROP
|
|
198
|
+
await cmd('DROP ' + TABLE + escapeId(tableName));
|
|
196
199
|
mapSet(schemaMap, tableName);
|
|
197
200
|
return;
|
|
198
201
|
}
|
|
199
202
|
if (!arrayIsEmpty(tableColumnNames) && !collHas(schemaMap, tableName)) {
|
|
200
203
|
await cmd(
|
|
201
|
-
`CREATE
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
`CREATE ` +
|
|
205
|
+
TABLE +
|
|
206
|
+
escapeId(tableName) +
|
|
207
|
+
'(' +
|
|
208
|
+
escapeId(rowIdColumnName) +
|
|
209
|
+
` PRIMARY KEY ON CONFLICT REPLACE${arrayJoin(
|
|
210
|
+
arrayMap(tableColumnNames, (cellId) => COMMA + escapeId(cellId)),
|
|
211
|
+
)});`,
|
|
204
212
|
);
|
|
205
213
|
mapSet(
|
|
206
214
|
schemaMap,
|
|
@@ -220,7 +228,7 @@ const getCommandFunctions = (
|
|
|
220
228
|
...arrayMap(tableColumnNames, async (columnName) => {
|
|
221
229
|
if (!collDel(columnNamesAccountedFor, columnName)) {
|
|
222
230
|
await cmd(
|
|
223
|
-
|
|
231
|
+
ALTER_TABLE + escapeId(tableName) + 'ADD' + escapeId(columnName),
|
|
224
232
|
);
|
|
225
233
|
mapSet(tableSchemaMap, columnName, EMPTY_STRING);
|
|
226
234
|
}
|
|
@@ -231,9 +239,10 @@ const getCommandFunctions = (
|
|
|
231
239
|
async (columnName) => {
|
|
232
240
|
if (columnName != rowIdColumnName) {
|
|
233
241
|
await cmd(
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
242
|
+
ALTER_TABLE +
|
|
243
|
+
escapeId(tableName) +
|
|
244
|
+
'DROP' +
|
|
245
|
+
escapeId(columnName),
|
|
237
246
|
);
|
|
238
247
|
mapSet(tableSchemaMap, columnName);
|
|
239
248
|
}
|
|
@@ -244,13 +253,13 @@ const getCommandFunctions = (
|
|
|
244
253
|
}
|
|
245
254
|
if (partial) {
|
|
246
255
|
if (isUndefined(content)) {
|
|
247
|
-
await cmd(
|
|
256
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
248
257
|
} else {
|
|
249
258
|
await promiseAll(
|
|
250
259
|
objToArray(content, async (row, rowId) => {
|
|
251
260
|
if (isUndefined(row)) {
|
|
252
261
|
await cmd(
|
|
253
|
-
|
|
262
|
+
DELETE_FROM +
|
|
254
263
|
escapeId(tableName) +
|
|
255
264
|
WHERE +
|
|
256
265
|
escapeId(rowIdColumnName) +
|
|
@@ -292,9 +301,10 @@ const getCommandFunctions = (
|
|
|
292
301
|
rowIdColumnName,
|
|
293
302
|
changingColumnNames,
|
|
294
303
|
args,
|
|
304
|
+
useOnConflict,
|
|
295
305
|
);
|
|
296
306
|
await cmd(
|
|
297
|
-
|
|
307
|
+
DELETE_FROM +
|
|
298
308
|
escapeId(tableName) +
|
|
299
309
|
WHERE +
|
|
300
310
|
escapeId(rowIdColumnName) +
|
|
@@ -304,7 +314,7 @@ const getCommandFunctions = (
|
|
|
304
314
|
deleteRowIds,
|
|
305
315
|
);
|
|
306
316
|
} else if (collHas(schemaMap, tableName)) {
|
|
307
|
-
await cmd(
|
|
317
|
+
await cmd(DELETE_FROM + escapeId(tableName) + WHERE + ' 1');
|
|
308
318
|
}
|
|
309
319
|
}
|
|
310
320
|
};
|
|
@@ -379,7 +389,6 @@ const jsonParse = JSON.parse;
|
|
|
379
389
|
|
|
380
390
|
const scheduleRunning = mapNew();
|
|
381
391
|
const scheduleActions = mapNew();
|
|
382
|
-
const isMergeable = (contentOrChanges) => isString(contentOrChanges?.[0]);
|
|
383
392
|
const getStoreFunctions = (supportsMergeableStore, store) =>
|
|
384
393
|
!supportsMergeableStore || isUndefined(store.getMergeableContent)
|
|
385
394
|
? [
|
|
@@ -404,16 +413,15 @@ const createCustomPersister = (
|
|
|
404
413
|
delPersisterListener,
|
|
405
414
|
onIgnoredError,
|
|
406
415
|
supportsMergeableStore,
|
|
407
|
-
|
|
416
|
+
extra = {},
|
|
408
417
|
scheduleId = [],
|
|
409
418
|
) => {
|
|
410
|
-
let listenerId;
|
|
411
419
|
let loadSave = 0;
|
|
412
420
|
let loads = 0;
|
|
413
421
|
let saves = 0;
|
|
414
|
-
let listening = 0;
|
|
415
422
|
let action;
|
|
416
|
-
let
|
|
423
|
+
let autoLoadHandle;
|
|
424
|
+
let autoSaveListenerId;
|
|
417
425
|
mapEnsure(scheduleRunning, scheduleId, () => 0);
|
|
418
426
|
mapEnsure(scheduleActions, scheduleId, () => []);
|
|
419
427
|
const [isMergeableStore, getContent, getChanges, hasChanges] =
|
|
@@ -449,55 +457,51 @@ const createCustomPersister = (
|
|
|
449
457
|
}
|
|
450
458
|
return persister;
|
|
451
459
|
};
|
|
460
|
+
const setContentOrChanges = (contentOrChanges) => {
|
|
461
|
+
(isMergeableStore && isString(contentOrChanges?.[0])
|
|
462
|
+
? contentOrChanges?.[1][2] === 1
|
|
463
|
+
? store.applyMergeableChanges
|
|
464
|
+
: store.setMergeableContent
|
|
465
|
+
: contentOrChanges?.[2] === 1
|
|
466
|
+
? store.applyChanges
|
|
467
|
+
: store.setContent)(contentOrChanges);
|
|
468
|
+
};
|
|
452
469
|
const persister = {
|
|
453
470
|
load: async (initialTables, initialValues) =>
|
|
454
471
|
await loadLock(async () => {
|
|
455
472
|
try {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
: store.setContent)(content);
|
|
460
|
-
} catch {
|
|
473
|
+
setContentOrChanges(await getPersisted());
|
|
474
|
+
} catch (error) {
|
|
475
|
+
onIgnoredError?.(error);
|
|
461
476
|
store.setContent([initialTables, initialValues]);
|
|
462
477
|
}
|
|
463
478
|
}),
|
|
464
479
|
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
465
|
-
persister.stopAutoLoad();
|
|
466
|
-
|
|
467
|
-
listening = 1;
|
|
468
|
-
listeningHandle = addPersisterListener(
|
|
480
|
+
await persister.stopAutoLoad().load(initialTables, initialValues);
|
|
481
|
+
autoLoadHandle = addPersisterListener(
|
|
469
482
|
async (getContent2, getChanges2) => {
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
(
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
)
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
const content = getContent2?.() ?? (await getPersisted());
|
|
481
|
-
(isMergeableStore && isMergeable(content)
|
|
482
|
-
? store.setMergeableContent
|
|
483
|
-
: store.setContent)(content);
|
|
484
|
-
} catch (error) {
|
|
485
|
-
onIgnoredError?.(error);
|
|
486
|
-
}
|
|
487
|
-
});
|
|
488
|
-
}
|
|
483
|
+
const changes = getChanges2?.();
|
|
484
|
+
await loadLock(async () => {
|
|
485
|
+
try {
|
|
486
|
+
setContentOrChanges(
|
|
487
|
+
changes ?? getContent2?.() ?? (await getPersisted()),
|
|
488
|
+
);
|
|
489
|
+
} catch (error) {
|
|
490
|
+
onIgnoredError?.(error);
|
|
491
|
+
}
|
|
492
|
+
});
|
|
489
493
|
},
|
|
490
494
|
);
|
|
491
495
|
return persister;
|
|
492
496
|
},
|
|
493
497
|
stopAutoLoad: () => {
|
|
494
|
-
if (
|
|
495
|
-
delPersisterListener(
|
|
496
|
-
|
|
497
|
-
listening = 0;
|
|
498
|
+
if (autoLoadHandle) {
|
|
499
|
+
delPersisterListener(autoLoadHandle);
|
|
500
|
+
autoLoadHandle = void 0;
|
|
498
501
|
}
|
|
499
502
|
return persister;
|
|
500
503
|
},
|
|
504
|
+
isAutoLoading: () => !isUndefined(autoLoadHandle),
|
|
501
505
|
save: async (getChanges2) => {
|
|
502
506
|
/* istanbul ignore else */
|
|
503
507
|
if (loadSave != 1) {
|
|
@@ -519,7 +523,7 @@ const createCustomPersister = (
|
|
|
519
523
|
},
|
|
520
524
|
startAutoSave: async () => {
|
|
521
525
|
await persister.stopAutoSave().save();
|
|
522
|
-
|
|
526
|
+
autoSaveListenerId = store.addDidFinishTransactionListener(() => {
|
|
523
527
|
const changes = getChanges();
|
|
524
528
|
if (hasChanges(changes)) {
|
|
525
529
|
persister.save(() => changes);
|
|
@@ -528,10 +532,11 @@ const createCustomPersister = (
|
|
|
528
532
|
return persister;
|
|
529
533
|
},
|
|
530
534
|
stopAutoSave: () => {
|
|
531
|
-
ifNotUndefined(
|
|
532
|
-
|
|
535
|
+
ifNotUndefined(autoSaveListenerId, store.delListener);
|
|
536
|
+
autoSaveListenerId = void 0;
|
|
533
537
|
return persister;
|
|
534
538
|
},
|
|
539
|
+
isAutoSaving: () => !isUndefined(autoSaveListenerId),
|
|
535
540
|
schedule: async (...actions) => {
|
|
536
541
|
arrayPush(mapGet(scheduleActions, scheduleId), ...actions);
|
|
537
542
|
await run();
|
|
@@ -540,10 +545,8 @@ const createCustomPersister = (
|
|
|
540
545
|
getStore: () => store,
|
|
541
546
|
destroy: () => persister.stopAutoLoad().stopAutoSave(),
|
|
542
547
|
getStats: () => ({loads, saves}),
|
|
548
|
+
...extra,
|
|
543
549
|
};
|
|
544
|
-
if (getThing) {
|
|
545
|
-
persister[getThing] = () => thing;
|
|
546
|
-
}
|
|
547
550
|
return objFreeze(persister);
|
|
548
551
|
};
|
|
549
552
|
|
|
@@ -558,9 +561,10 @@ const createJsonSqlitePersister = (
|
|
|
558
561
|
managedTableNames,
|
|
559
562
|
db,
|
|
560
563
|
getThing,
|
|
564
|
+
useOnConflict,
|
|
561
565
|
) => {
|
|
562
566
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
563
|
-
getCommandFunctions(cmd, managedTableNames, onIgnoredError);
|
|
567
|
+
getCommandFunctions(cmd, managedTableNames, onIgnoredError, useOnConflict);
|
|
564
568
|
const getPersisted = async () =>
|
|
565
569
|
await transaction(async () => {
|
|
566
570
|
await refreshSchema();
|
|
@@ -591,7 +595,7 @@ const createJsonSqlitePersister = (
|
|
|
591
595
|
delPersisterListener,
|
|
592
596
|
onIgnoredError,
|
|
593
597
|
false,
|
|
594
|
-
[getThing
|
|
598
|
+
{[getThing]: () => db},
|
|
595
599
|
db,
|
|
596
600
|
);
|
|
597
601
|
return persister;
|
|
@@ -698,7 +702,7 @@ const createTabularSqlitePersister = (
|
|
|
698
702
|
delPersisterListener,
|
|
699
703
|
onIgnoredError,
|
|
700
704
|
false,
|
|
701
|
-
[getThing
|
|
705
|
+
{[getThing]: () => db},
|
|
702
706
|
db,
|
|
703
707
|
);
|
|
704
708
|
return persister;
|