tinybase 5.3.2 → 5.3.4
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/cjs/common/index.cjs +1 -1
- package/cjs/common/with-schemas/index.cjs +1 -1
- package/cjs/es6/common/index.cjs +1 -1
- package/cjs/es6/common/with-schemas/index.cjs +1 -1
- package/cjs/es6/index.cjs +1 -1
- package/cjs/es6/mergeable-store/index.cjs +1 -1
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/common/index.cjs +1 -1
- package/cjs/es6/min/common/index.cjs.gz +0 -0
- package/cjs/es6/min/common/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/common/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/index.cjs +1 -1
- package/cjs/es6/min/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/index.cjs +1 -1
- package/cjs/es6/min/persisters/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/min/with-schemas/index.cjs +1 -1
- package/cjs/es6/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/es6/persisters/index.cjs +85 -103
- package/cjs/es6/persisters/persister-automerge/index.cjs +2 -0
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-browser/index.cjs +2 -0
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +84 -102
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +84 -102
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +84 -102
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-file/index.cjs +2 -0
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +2 -0
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-libsql/index.cjs +84 -102
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +2 -0
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-pglite/index.cjs +83 -101
- package/cjs/es6/persisters/persister-pglite/with-schemas/index.cjs +83 -101
- package/cjs/es6/persisters/persister-postgres/index.cjs +83 -101
- package/cjs/es6/persisters/persister-postgres/with-schemas/index.cjs +83 -101
- package/cjs/es6/persisters/persister-powersync/index.cjs +214 -147
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +214 -147
- package/cjs/es6/persisters/persister-remote/index.cjs +2 -0
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +84 -102
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +84 -102
- package/cjs/es6/persisters/persister-yjs/index.cjs +2 -0
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +2 -0
- package/cjs/es6/persisters/with-schemas/index.cjs +85 -103
- package/cjs/es6/synchronizers/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +3 -1
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +3 -1
- package/cjs/es6/synchronizers/with-schemas/index.cjs +3 -1
- package/cjs/es6/ui-react-inspector/index.cjs +2 -2
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +2 -2
- package/cjs/es6/with-schemas/index.cjs +1 -1
- package/cjs/index.cjs +1 -1
- package/cjs/mergeable-store/index.cjs +1 -1
- package/cjs/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/min/common/index.cjs +1 -1
- package/cjs/min/common/index.cjs.gz +0 -0
- package/cjs/min/common/with-schemas/index.cjs +1 -1
- package/cjs/min/common/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/index.cjs +1 -1
- package/cjs/min/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/index.cjs +1 -1
- package/cjs/min/mergeable-store/index.cjs.gz +0 -0
- package/cjs/min/mergeable-store/with-schemas/index.cjs +1 -1
- package/cjs/min/mergeable-store/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/index.cjs +1 -1
- package/cjs/min/persisters/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-automerge/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-browser/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-electric-sql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-expo-sqlite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-file/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-indexed-db/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-libsql/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-partykit-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/index.cjs +1 -1
- package/cjs/min/persisters/persister-pglite/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-pglite/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-postgres/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-powersync/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-remote/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite-wasm/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-sqlite3/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/persister-yjs/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/persisters/with-schemas/index.cjs +1 -1
- package/cjs/min/persisters/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/index.cjs +1 -1
- package/cjs/min/synchronizers/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-local/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/synchronizer-ws-server/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/synchronizers/with-schemas/index.cjs +1 -1
- package/cjs/min/synchronizers/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
- package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
- package/cjs/min/with-schemas/index.cjs +1 -1
- package/cjs/min/with-schemas/index.cjs.gz +0 -0
- package/cjs/persisters/index.cjs +82 -98
- package/cjs/persisters/persister-automerge/index.cjs +2 -0
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-browser/index.cjs +2 -0
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +81 -97
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-electric-sql/index.cjs +81 -97
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-expo-sqlite/index.cjs +81 -97
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-file/index.cjs +2 -0
- package/cjs/persisters/persister-file/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-indexed-db/index.cjs +2 -0
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-libsql/index.cjs +81 -97
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-partykit-client/index.cjs +2 -0
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-pglite/index.cjs +80 -96
- package/cjs/persisters/persister-pglite/with-schemas/index.cjs +80 -96
- package/cjs/persisters/persister-postgres/index.cjs +80 -96
- package/cjs/persisters/persister-postgres/with-schemas/index.cjs +80 -96
- package/cjs/persisters/persister-powersync/index.cjs +205 -142
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +205 -142
- package/cjs/persisters/persister-remote/index.cjs +2 -0
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +2 -0
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite3/index.cjs +81 -97
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +81 -97
- package/cjs/persisters/persister-yjs/index.cjs +2 -0
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +2 -0
- package/cjs/persisters/with-schemas/index.cjs +82 -98
- package/cjs/synchronizers/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-local/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +3 -1
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +3 -1
- package/cjs/synchronizers/with-schemas/index.cjs +3 -1
- package/cjs/ui-react-inspector/index.cjs +2 -2
- package/cjs/ui-react-inspector/with-schemas/index.cjs +2 -2
- package/cjs/with-schemas/index.cjs +1 -1
- package/common/index.js +1 -1
- package/common/with-schemas/index.js +1 -1
- package/es6/common/index.js +1 -1
- package/es6/common/with-schemas/index.js +1 -1
- package/es6/index.js +1 -1
- package/es6/mergeable-store/index.js +1 -1
- package/es6/mergeable-store/with-schemas/index.js +1 -1
- package/es6/min/common/index.js +1 -1
- package/es6/min/common/index.js.gz +0 -0
- package/es6/min/common/with-schemas/index.js +1 -1
- package/es6/min/common/with-schemas/index.js.gz +0 -0
- package/es6/min/index.js +1 -1
- package/es6/min/index.js.gz +0 -0
- package/es6/min/mergeable-store/index.js +1 -1
- package/es6/min/mergeable-store/index.js.gz +0 -0
- package/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/index.js +1 -1
- package/es6/min/persisters/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/index.js +1 -1
- package/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/index.js +1 -1
- package/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/index.js +1 -1
- package/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/index.js +1 -1
- package/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/index.js +1 -1
- package/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/index.js +1 -1
- package/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/index.js +1 -1
- package/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/index.js +1 -1
- package/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/index.js +1 -1
- package/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/es6/min/persisters/with-schemas/index.js +1 -1
- package/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/index.js +1 -1
- package/es6/min/synchronizers/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/index.js +1 -1
- package/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/es6/min/with-schemas/index.js +1 -1
- package/es6/min/with-schemas/index.js.gz +0 -0
- package/es6/persisters/index.js +85 -103
- package/es6/persisters/persister-automerge/index.js +2 -0
- package/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/es6/persisters/persister-browser/index.js +2 -0
- package/es6/persisters/persister-browser/with-schemas/index.js +2 -0
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +84 -102
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +84 -102
- package/es6/persisters/persister-electric-sql/index.js +84 -102
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +84 -102
- package/es6/persisters/persister-expo-sqlite/index.js +84 -102
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +84 -102
- package/es6/persisters/persister-file/index.js +2 -0
- package/es6/persisters/persister-file/with-schemas/index.js +2 -0
- package/es6/persisters/persister-indexed-db/index.js +2 -0
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/es6/persisters/persister-libsql/index.js +84 -102
- package/es6/persisters/persister-libsql/with-schemas/index.js +84 -102
- package/es6/persisters/persister-partykit-client/index.js +2 -0
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/es6/persisters/persister-pglite/index.js +83 -101
- package/es6/persisters/persister-pglite/with-schemas/index.js +83 -101
- package/es6/persisters/persister-postgres/index.js +83 -101
- package/es6/persisters/persister-postgres/with-schemas/index.js +83 -101
- package/es6/persisters/persister-powersync/index.js +214 -147
- package/es6/persisters/persister-powersync/with-schemas/index.js +214 -147
- package/es6/persisters/persister-remote/index.js +2 -0
- package/es6/persisters/persister-remote/with-schemas/index.js +2 -0
- package/es6/persisters/persister-sqlite-wasm/index.js +84 -102
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +84 -102
- package/es6/persisters/persister-sqlite3/index.js +84 -102
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +84 -102
- package/es6/persisters/persister-yjs/index.js +2 -0
- package/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/es6/persisters/with-schemas/index.js +85 -103
- package/es6/synchronizers/index.js +3 -1
- package/es6/synchronizers/synchronizer-broadcast-channel/index.js +3 -1
- package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -1
- package/es6/synchronizers/synchronizer-local/index.js +3 -1
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +3 -1
- package/es6/synchronizers/synchronizer-ws-client/index.js +3 -1
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -1
- package/es6/synchronizers/synchronizer-ws-server/index.js +3 -1
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -1
- package/es6/synchronizers/with-schemas/index.js +3 -1
- package/es6/ui-react-inspector/index.js +2 -2
- package/es6/ui-react-inspector/with-schemas/index.js +2 -2
- package/es6/with-schemas/index.js +1 -1
- package/index.js +1 -1
- package/mergeable-store/index.js +1 -1
- package/mergeable-store/with-schemas/index.js +1 -1
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +5 -5
- package/persisters/index.js +82 -98
- package/persisters/persister-automerge/index.js +2 -0
- package/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/persisters/persister-browser/index.js +2 -0
- package/persisters/persister-browser/with-schemas/index.js +2 -0
- package/persisters/persister-cr-sqlite-wasm/index.js +81 -97
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +81 -97
- package/persisters/persister-electric-sql/index.js +81 -97
- package/persisters/persister-electric-sql/with-schemas/index.js +81 -97
- package/persisters/persister-expo-sqlite/index.js +81 -97
- package/persisters/persister-expo-sqlite/with-schemas/index.js +81 -97
- package/persisters/persister-file/index.js +2 -0
- package/persisters/persister-file/with-schemas/index.js +2 -0
- package/persisters/persister-indexed-db/index.js +2 -0
- package/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/persisters/persister-libsql/index.js +81 -97
- package/persisters/persister-libsql/with-schemas/index.js +81 -97
- package/persisters/persister-partykit-client/index.js +2 -0
- package/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/persisters/persister-pglite/index.js +80 -96
- package/persisters/persister-pglite/with-schemas/index.js +80 -96
- package/persisters/persister-postgres/index.js +80 -96
- package/persisters/persister-postgres/with-schemas/index.js +80 -96
- package/persisters/persister-powersync/index.js +205 -142
- package/persisters/persister-powersync/with-schemas/index.js +205 -142
- package/persisters/persister-remote/index.js +2 -0
- package/persisters/persister-remote/with-schemas/index.js +2 -0
- package/persisters/persister-sqlite-wasm/index.js +81 -97
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +81 -97
- package/persisters/persister-sqlite3/index.js +81 -97
- package/persisters/persister-sqlite3/with-schemas/index.js +81 -97
- package/persisters/persister-yjs/index.js +2 -0
- package/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/persisters/with-schemas/index.js +82 -98
- package/readme.md +2 -2
- package/synchronizers/index.js +3 -1
- package/synchronizers/synchronizer-broadcast-channel/index.js +3 -1
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -1
- package/synchronizers/synchronizer-local/index.js +3 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +3 -1
- package/synchronizers/synchronizer-ws-client/index.js +3 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -1
- package/synchronizers/synchronizer-ws-server/index.js +3 -1
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -1
- package/synchronizers/with-schemas/index.js +3 -1
- package/ui-react-inspector/index.js +2 -2
- package/ui-react-inspector/with-schemas/index.js +2 -2
- package/umd/common/index.js +1 -1
- package/umd/common/with-schemas/index.js +1 -1
- package/umd/es6/common/index.js +1 -1
- package/umd/es6/common/with-schemas/index.js +1 -1
- package/umd/es6/index.js +1 -1
- package/umd/es6/mergeable-store/index.js +1 -1
- package/umd/es6/mergeable-store/with-schemas/index.js +1 -1
- package/umd/es6/min/common/index.js +1 -1
- package/umd/es6/min/common/index.js.gz +0 -0
- package/umd/es6/min/common/with-schemas/index.js +1 -1
- package/umd/es6/min/common/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/index.js +1 -1
- package/umd/es6/min/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/index.js +1 -1
- package/umd/es6/min/mergeable-store/index.js.gz +0 -0
- package/umd/es6/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/es6/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/index.js +1 -1
- package/umd/es6/min/persisters/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/index.js +1 -1
- package/umd/es6/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/persisters/with-schemas/index.js +1 -1
- package/umd/es6/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/index.js +1 -1
- package/umd/es6/min/synchronizers/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/es6/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/ui-react-inspector/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/umd/es6/min/with-schemas/index.js +1 -1
- package/umd/es6/min/with-schemas/index.js.gz +0 -0
- package/umd/es6/persisters/index.js +85 -103
- package/umd/es6/persisters/persister-automerge/index.js +2 -0
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-browser/index.js +2 -0
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +84 -102
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-electric-sql/index.js +84 -102
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-expo-sqlite/index.js +84 -102
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-file/index.js +2 -0
- package/umd/es6/persisters/persister-file/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-indexed-db/index.js +2 -0
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-libsql/index.js +84 -102
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-partykit-client/index.js +2 -0
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-pglite/index.js +83 -101
- package/umd/es6/persisters/persister-pglite/with-schemas/index.js +83 -101
- package/umd/es6/persisters/persister-postgres/index.js +83 -101
- package/umd/es6/persisters/persister-postgres/with-schemas/index.js +83 -101
- package/umd/es6/persisters/persister-powersync/index.js +214 -147
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +214 -147
- package/umd/es6/persisters/persister-remote/index.js +2 -0
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +2 -0
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite3/index.js +84 -102
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +84 -102
- package/umd/es6/persisters/persister-yjs/index.js +2 -0
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/umd/es6/persisters/with-schemas/index.js +85 -103
- package/umd/es6/synchronizers/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-local/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +3 -1
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -1
- package/umd/es6/synchronizers/with-schemas/index.js +3 -1
- package/umd/es6/ui-react-inspector/index.js +2 -2
- package/umd/es6/ui-react-inspector/with-schemas/index.js +2 -2
- package/umd/es6/with-schemas/index.js +1 -1
- package/umd/index.js +1 -1
- package/umd/mergeable-store/index.js +1 -1
- package/umd/mergeable-store/with-schemas/index.js +1 -1
- package/umd/min/common/index.js +1 -1
- package/umd/min/common/index.js.gz +0 -0
- package/umd/min/common/with-schemas/index.js +1 -1
- package/umd/min/common/with-schemas/index.js.gz +0 -0
- package/umd/min/index.js +1 -1
- package/umd/min/index.js.gz +0 -0
- package/umd/min/mergeable-store/index.js +1 -1
- package/umd/min/mergeable-store/index.js.gz +0 -0
- package/umd/min/mergeable-store/with-schemas/index.js +1 -1
- package/umd/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/index.js +1 -1
- package/umd/min/persisters/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/index.js +1 -1
- package/umd/min/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/index.js +1 -1
- package/umd/min/persisters/persister-browser/index.js.gz +0 -0
- package/umd/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/index.js +1 -1
- package/umd/min/persisters/persister-file/index.js.gz +0 -0
- package/umd/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/index.js +1 -1
- package/umd/min/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/index.js +1 -1
- package/umd/min/persisters/persister-pglite/index.js.gz +0 -0
- package/umd/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/index.js +1 -1
- package/umd/min/persisters/persister-postgres/index.js.gz +0 -0
- package/umd/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/index.js +1 -1
- package/umd/min/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/index.js +1 -1
- package/umd/min/persisters/persister-remote/index.js.gz +0 -0
- package/umd/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/index.js +1 -1
- package/umd/min/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/umd/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/umd/min/persisters/with-schemas/index.js +1 -1
- package/umd/min/persisters/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/index.js +1 -1
- package/umd/min/synchronizers/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/umd/min/synchronizers/with-schemas/index.js +1 -1
- package/umd/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/index.js +1 -1
- package/umd/min/ui-react-inspector/index.js.gz +0 -0
- package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/umd/min/with-schemas/index.js +1 -1
- package/umd/min/with-schemas/index.js.gz +0 -0
- package/umd/persisters/index.js +82 -98
- package/umd/persisters/persister-automerge/index.js +2 -0
- package/umd/persisters/persister-automerge/with-schemas/index.js +2 -0
- package/umd/persisters/persister-browser/index.js +2 -0
- package/umd/persisters/persister-browser/with-schemas/index.js +2 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +81 -97
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +81 -97
- package/umd/persisters/persister-electric-sql/index.js +81 -97
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +81 -97
- package/umd/persisters/persister-expo-sqlite/index.js +81 -97
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +81 -97
- package/umd/persisters/persister-file/index.js +2 -0
- package/umd/persisters/persister-file/with-schemas/index.js +2 -0
- package/umd/persisters/persister-indexed-db/index.js +2 -0
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +2 -0
- package/umd/persisters/persister-libsql/index.js +81 -97
- package/umd/persisters/persister-libsql/with-schemas/index.js +81 -97
- package/umd/persisters/persister-partykit-client/index.js +2 -0
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +2 -0
- package/umd/persisters/persister-pglite/index.js +80 -96
- package/umd/persisters/persister-pglite/with-schemas/index.js +80 -96
- package/umd/persisters/persister-postgres/index.js +80 -96
- package/umd/persisters/persister-postgres/with-schemas/index.js +80 -96
- package/umd/persisters/persister-powersync/index.js +205 -142
- package/umd/persisters/persister-powersync/with-schemas/index.js +205 -142
- package/umd/persisters/persister-remote/index.js +2 -0
- package/umd/persisters/persister-remote/with-schemas/index.js +2 -0
- package/umd/persisters/persister-sqlite-wasm/index.js +81 -97
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +81 -97
- package/umd/persisters/persister-sqlite3/index.js +81 -97
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +81 -97
- package/umd/persisters/persister-yjs/index.js +2 -0
- package/umd/persisters/persister-yjs/with-schemas/index.js +2 -0
- package/umd/persisters/with-schemas/index.js +82 -98
- package/umd/synchronizers/index.js +3 -1
- package/umd/synchronizers/synchronizer-broadcast-channel/index.js +3 -1
- package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -1
- package/umd/synchronizers/synchronizer-local/index.js +3 -1
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +3 -1
- package/umd/synchronizers/synchronizer-ws-client/index.js +3 -1
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -1
- package/umd/synchronizers/synchronizer-ws-server/index.js +3 -1
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -1
- package/umd/synchronizers/with-schemas/index.js +3 -1
- package/umd/ui-react-inspector/index.js +2 -2
- package/umd/ui-react-inspector/with-schemas/index.js +2 -2
- package/umd/with-schemas/index.js +1 -1
- package/with-schemas/index.js +1 -1
|
@@ -24,8 +24,6 @@ const errorNew = (message) => {
|
|
|
24
24
|
throw new Error(message);
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
const arrayNew = (size2, cb) =>
|
|
28
|
-
arrayMap(new Array(size2).fill(0), (_, index) => cb(index));
|
|
29
27
|
const arrayForEach = (array, cb) => array.forEach(cb);
|
|
30
28
|
const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
|
|
31
29
|
const arrayMap = (array, cb) => array.map(cb);
|
|
@@ -308,6 +306,8 @@ const createCustomPersister = (
|
|
|
308
306
|
const content = await getPersisted();
|
|
309
307
|
if (isArray(content)) {
|
|
310
308
|
setContentOrChanges(content);
|
|
309
|
+
} else if (initialContent) {
|
|
310
|
+
setDefaultContent(initialContent);
|
|
311
311
|
} else {
|
|
312
312
|
errorNew(`Content is not an array ${content}`);
|
|
313
313
|
}
|
|
@@ -445,9 +445,11 @@ const getWrappedCommand = (executeCommand, onSqlCommand) =>
|
|
|
445
445
|
}
|
|
446
446
|
: executeCommand;
|
|
447
447
|
const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
448
|
-
const
|
|
448
|
+
const escapeColumnNames = (...columnNames) =>
|
|
449
|
+
arrayJoin(arrayMap(columnNames, escapeId), COMMA);
|
|
450
|
+
const getPlaceholders = (array, offset = [1]) =>
|
|
449
451
|
arrayJoin(
|
|
450
|
-
arrayMap(array, (
|
|
452
|
+
arrayMap(array, () => '$' + offset[0]++),
|
|
451
453
|
COMMA,
|
|
452
454
|
);
|
|
453
455
|
|
|
@@ -464,7 +466,7 @@ const getCommandFunctions = (
|
|
|
464
466
|
querySchema,
|
|
465
467
|
onIgnoredError,
|
|
466
468
|
columnType,
|
|
467
|
-
|
|
469
|
+
upsert = defaultUpsert,
|
|
468
470
|
encode,
|
|
469
471
|
decode,
|
|
470
472
|
) => {
|
|
@@ -505,26 +507,26 @@ const getCommandFunctions = (
|
|
|
505
507
|
deleteEmptyTable,
|
|
506
508
|
partial = false,
|
|
507
509
|
) => {
|
|
508
|
-
const
|
|
510
|
+
const settingColumnNameSet = setNew();
|
|
509
511
|
objToArray(content ?? {}, (contentRow) =>
|
|
510
512
|
arrayMap(objIds(contentRow ?? {}), (cellOrValueId) =>
|
|
511
|
-
setAdd(
|
|
513
|
+
setAdd(settingColumnNameSet, cellOrValueId),
|
|
512
514
|
),
|
|
513
515
|
);
|
|
514
|
-
const
|
|
516
|
+
const settingColumnNames = collValues(settingColumnNameSet);
|
|
515
517
|
if (
|
|
516
518
|
!partial &&
|
|
517
519
|
deleteEmptyTable &&
|
|
518
|
-
arrayIsEmpty(
|
|
520
|
+
arrayIsEmpty(settingColumnNames) &&
|
|
519
521
|
collHas(schemaMap, tableName)
|
|
520
522
|
) {
|
|
521
523
|
await databaseExecuteCommand('DROP ' + TABLE + escapeId(tableName));
|
|
522
524
|
mapSet(schemaMap, tableName);
|
|
523
525
|
return;
|
|
524
526
|
}
|
|
525
|
-
const
|
|
526
|
-
const
|
|
527
|
-
if (!arrayIsEmpty(
|
|
527
|
+
const currentColumnNames = mapGet(schemaMap, tableName);
|
|
528
|
+
const unaccountedColumnNames = setNew(collValues(currentColumnNames));
|
|
529
|
+
if (!arrayIsEmpty(settingColumnNames)) {
|
|
528
530
|
if (!collHas(schemaMap, tableName)) {
|
|
529
531
|
await databaseExecuteCommand(
|
|
530
532
|
'CREATE ' +
|
|
@@ -532,27 +534,28 @@ const getCommandFunctions = (
|
|
|
532
534
|
escapeId(tableName) +
|
|
533
535
|
`(${escapeId(rowIdColumnName)}${columnType} PRIMARY KEY${arrayJoin(
|
|
534
536
|
arrayMap(
|
|
535
|
-
|
|
536
|
-
(
|
|
537
|
+
settingColumnNames,
|
|
538
|
+
(settingColumnName) =>
|
|
539
|
+
COMMA + escapeId(settingColumnName) + columnType,
|
|
537
540
|
),
|
|
538
541
|
)});`,
|
|
539
542
|
);
|
|
540
543
|
mapSet(
|
|
541
544
|
schemaMap,
|
|
542
545
|
tableName,
|
|
543
|
-
setNew([rowIdColumnName, ...
|
|
546
|
+
setNew([rowIdColumnName, ...settingColumnNames]),
|
|
544
547
|
);
|
|
545
548
|
} else {
|
|
546
549
|
await promiseAll(
|
|
547
550
|
arrayMap(
|
|
548
|
-
[rowIdColumnName, ...
|
|
549
|
-
async (
|
|
550
|
-
if (!collDel(
|
|
551
|
+
[rowIdColumnName, ...settingColumnNames],
|
|
552
|
+
async (settingColumnName, index) => {
|
|
553
|
+
if (!collDel(unaccountedColumnNames, settingColumnName)) {
|
|
551
554
|
await databaseExecuteCommand(
|
|
552
555
|
ALTER_TABLE +
|
|
553
556
|
escapeId(tableName) +
|
|
554
557
|
'ADD' +
|
|
555
|
-
escapeId(
|
|
558
|
+
escapeId(settingColumnName) +
|
|
556
559
|
columnType,
|
|
557
560
|
);
|
|
558
561
|
if (index == 0) {
|
|
@@ -562,7 +565,7 @@ const getCommandFunctions = (
|
|
|
562
565
|
`(${escapeId(rowIdColumnName)})`,
|
|
563
566
|
);
|
|
564
567
|
}
|
|
565
|
-
setAdd(
|
|
568
|
+
setAdd(currentColumnNames, settingColumnName);
|
|
566
569
|
}
|
|
567
570
|
},
|
|
568
571
|
),
|
|
@@ -571,17 +574,20 @@ const getCommandFunctions = (
|
|
|
571
574
|
}
|
|
572
575
|
await promiseAll([
|
|
573
576
|
...(!partial && deleteEmptyColumns
|
|
574
|
-
? arrayMap(
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
577
|
+
? arrayMap(
|
|
578
|
+
collValues(unaccountedColumnNames),
|
|
579
|
+
async (unaccountedColumnName) => {
|
|
580
|
+
if (unaccountedColumnName != rowIdColumnName) {
|
|
581
|
+
await databaseExecuteCommand(
|
|
582
|
+
ALTER_TABLE +
|
|
583
|
+
escapeId(tableName) +
|
|
584
|
+
'DROP' +
|
|
585
|
+
escapeId(unaccountedColumnName),
|
|
586
|
+
);
|
|
587
|
+
collDel(currentColumnNames, unaccountedColumnName);
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
)
|
|
585
591
|
: []),
|
|
586
592
|
]);
|
|
587
593
|
if (partial) {
|
|
@@ -601,39 +607,34 @@ const getCommandFunctions = (
|
|
|
601
607
|
'=$1',
|
|
602
608
|
[rowId],
|
|
603
609
|
);
|
|
604
|
-
} else if (!arrayIsEmpty(
|
|
610
|
+
} else if (!arrayIsEmpty(settingColumnNames)) {
|
|
605
611
|
await upsert(
|
|
606
612
|
databaseExecuteCommand,
|
|
607
613
|
tableName,
|
|
608
614
|
rowIdColumnName,
|
|
609
615
|
objIds(row),
|
|
610
|
-
|
|
611
|
-
rowId
|
|
612
|
-
...(encode
|
|
616
|
+
{
|
|
617
|
+
[rowId]: encode
|
|
613
618
|
? arrayMap(objValues(row), encode)
|
|
614
|
-
: objValues(row)
|
|
615
|
-
|
|
616
|
-
|
|
619
|
+
: objValues(row),
|
|
620
|
+
},
|
|
621
|
+
currentColumnNames,
|
|
617
622
|
);
|
|
618
623
|
}
|
|
619
624
|
}),
|
|
620
625
|
);
|
|
621
626
|
}
|
|
622
627
|
} else {
|
|
623
|
-
if (!arrayIsEmpty(
|
|
628
|
+
if (!arrayIsEmpty(settingColumnNames)) {
|
|
624
629
|
const changingColumnNames = arrayFilter(
|
|
625
630
|
collValues(mapGet(schemaMap, tableName)),
|
|
626
|
-
(
|
|
631
|
+
(changingColumnName) => changingColumnName != rowIdColumnName,
|
|
627
632
|
);
|
|
628
|
-
const
|
|
633
|
+
const rows = {};
|
|
629
634
|
const deleteRowIds = [];
|
|
630
635
|
objToArray(content ?? {}, (row, rowId) => {
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
rowId,
|
|
634
|
-
...arrayMap(changingColumnNames, (cellId) =>
|
|
635
|
-
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
636
|
-
),
|
|
636
|
+
rows[rowId] = arrayMap(changingColumnNames, (cellId) =>
|
|
637
|
+
encode ? encode(row?.[cellId]) : row?.[cellId],
|
|
637
638
|
);
|
|
638
639
|
arrayPush(deleteRowIds, rowId);
|
|
639
640
|
});
|
|
@@ -642,8 +643,7 @@ const getCommandFunctions = (
|
|
|
642
643
|
tableName,
|
|
643
644
|
rowIdColumnName,
|
|
644
645
|
changingColumnNames,
|
|
645
|
-
|
|
646
|
-
orReplace,
|
|
646
|
+
rows,
|
|
647
647
|
);
|
|
648
648
|
await databaseExecuteCommand(
|
|
649
649
|
DELETE_FROM +
|
|
@@ -673,61 +673,45 @@ const getCommandFunctions = (
|
|
|
673
673
|
};
|
|
674
674
|
return [refreshSchema, loadTable, saveTable, transaction];
|
|
675
675
|
};
|
|
676
|
-
const
|
|
676
|
+
const defaultUpsert = async (
|
|
677
677
|
executeCommand,
|
|
678
678
|
tableName,
|
|
679
679
|
rowIdColumnName,
|
|
680
680
|
changingColumnNames,
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
681
|
+
rows,
|
|
682
|
+
) => {
|
|
683
|
+
const offset = [1];
|
|
684
684
|
await executeCommand(
|
|
685
|
-
'INSERT ' +
|
|
686
|
-
(orReplace ? 'OR REPLACE ' : EMPTY_STRING) +
|
|
687
|
-
'INTO' +
|
|
685
|
+
'INSERT INTO' +
|
|
688
686
|
escapeId(tableName) +
|
|
689
687
|
'(' +
|
|
688
|
+
escapeColumnNames(rowIdColumnName, ...changingColumnNames) +
|
|
689
|
+
')VALUES' +
|
|
690
|
+
arrayJoin(
|
|
691
|
+
objToArray(
|
|
692
|
+
rows,
|
|
693
|
+
(row) =>
|
|
694
|
+
'($' + offset[0]++ + ',' + getPlaceholders(row, offset) + ')',
|
|
695
|
+
),
|
|
696
|
+
COMMA,
|
|
697
|
+
) +
|
|
698
|
+
'ON CONFLICT(' +
|
|
690
699
|
escapeId(rowIdColumnName) +
|
|
700
|
+
')DO UPDATE SET' +
|
|
691
701
|
arrayJoin(
|
|
692
702
|
arrayMap(
|
|
693
703
|
changingColumnNames,
|
|
694
|
-
(columnName) =>
|
|
704
|
+
(columnName) =>
|
|
705
|
+
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
695
706
|
),
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
escapeId(rowIdColumnName) +
|
|
703
|
-
')DO UPDATE SET' +
|
|
704
|
-
arrayJoin(
|
|
705
|
-
arrayMap(
|
|
706
|
-
changingColumnNames,
|
|
707
|
-
(columnName) =>
|
|
708
|
-
escapeId(columnName) + '=excluded.' + escapeId(columnName),
|
|
709
|
-
),
|
|
710
|
-
COMMA,
|
|
711
|
-
)),
|
|
712
|
-
arrayMap(params, (param) => param ?? null),
|
|
713
|
-
);
|
|
714
|
-
const getUpsertPlaceholders = (array, columnCount) =>
|
|
715
|
-
arrayJoin(
|
|
716
|
-
arrayNew(
|
|
717
|
-
size(array) / columnCount,
|
|
718
|
-
(row) =>
|
|
719
|
-
'(' +
|
|
720
|
-
arrayJoin(
|
|
721
|
-
arrayNew(
|
|
722
|
-
columnCount,
|
|
723
|
-
(column) => '$' + (row * columnCount + column + 1),
|
|
724
|
-
),
|
|
725
|
-
COMMA,
|
|
726
|
-
) +
|
|
727
|
-
')',
|
|
728
|
-
),
|
|
729
|
-
COMMA,
|
|
707
|
+
COMMA,
|
|
708
|
+
),
|
|
709
|
+
objToArray(rows, (row, id) => [
|
|
710
|
+
id,
|
|
711
|
+
...arrayMap(row, (value) => value ?? null),
|
|
712
|
+
]).flat(),
|
|
730
713
|
);
|
|
714
|
+
};
|
|
731
715
|
|
|
732
716
|
const createJsonPersister = (
|
|
733
717
|
store,
|
|
@@ -743,7 +727,7 @@ const createJsonPersister = (
|
|
|
743
727
|
thing,
|
|
744
728
|
getThing,
|
|
745
729
|
columnType,
|
|
746
|
-
|
|
730
|
+
upsert,
|
|
747
731
|
) => {
|
|
748
732
|
const [refreshSchema, loadTable, saveTable, transaction] =
|
|
749
733
|
getCommandFunctions(
|
|
@@ -752,7 +736,7 @@ const createJsonPersister = (
|
|
|
752
736
|
querySchema,
|
|
753
737
|
onIgnoredError,
|
|
754
738
|
columnType,
|
|
755
|
-
|
|
739
|
+
upsert,
|
|
756
740
|
);
|
|
757
741
|
const getPersisted = async () =>
|
|
758
742
|
await transaction(async () => {
|
|
@@ -815,7 +799,7 @@ const createTabularPersister = (
|
|
|
815
799
|
thing,
|
|
816
800
|
getThing,
|
|
817
801
|
columnType,
|
|
818
|
-
|
|
802
|
+
upsert,
|
|
819
803
|
encode,
|
|
820
804
|
decode,
|
|
821
805
|
) => {
|
|
@@ -826,7 +810,7 @@ const createTabularPersister = (
|
|
|
826
810
|
querySchema,
|
|
827
811
|
onIgnoredError,
|
|
828
812
|
columnType,
|
|
829
|
-
|
|
813
|
+
upsert,
|
|
830
814
|
encode,
|
|
831
815
|
decode,
|
|
832
816
|
);
|
|
@@ -1039,7 +1023,7 @@ const createCustomSqlitePersister = (
|
|
|
1039
1023
|
persist,
|
|
1040
1024
|
thing,
|
|
1041
1025
|
getThing = 'getDb',
|
|
1042
|
-
|
|
1026
|
+
upsert,
|
|
1043
1027
|
) => {
|
|
1044
1028
|
let dataVersion;
|
|
1045
1029
|
let schemaVersion;
|
|
@@ -1108,7 +1092,7 @@ const createCustomSqlitePersister = (
|
|
|
1108
1092
|
thing,
|
|
1109
1093
|
getThing,
|
|
1110
1094
|
EMPTY_STRING,
|
|
1111
|
-
|
|
1095
|
+
upsert,
|
|
1112
1096
|
(cellOrValue) =>
|
|
1113
1097
|
cellOrValue === true ? 1 : cellOrValue === false ? 0 : cellOrValue,
|
|
1114
1098
|
void 0,
|
|
@@ -1202,7 +1186,7 @@ const createCustomPostgreSqlPersister = (
|
|
|
1202
1186
|
thing,
|
|
1203
1187
|
getThing,
|
|
1204
1188
|
'text',
|
|
1205
|
-
0,
|
|
1189
|
+
void 0,
|
|
1206
1190
|
(cellOrValue) => jsonString(cellOrValue),
|
|
1207
1191
|
(field) => jsonParse(field),
|
|
1208
1192
|
);
|
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-3"><em>NEW!</em> v5.3 release</a></p><p><span id="one-with">"Adding some missing APIs!"</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It's <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It's <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It's Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it's especially great for local-first apps: where data is stored locally on the user's device and that can be run offline. It's tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/pglite.svg"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=GitHub&labelColor=%23d81b60&color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&logo=discord&logoColor=%23fff&label=Discord&labelColor=%233131e8&color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&logo=x&logoColor=%23fff&label=Twitter&labelColor=%23333&color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Ideas&labelColor=%23d81b60&color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Issues&labelColor=%23d81b60&color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&logo=jest&logoColor=%23fff&color=%23333&labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.3.
|
|
1
|
+
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2></section><p><a href="https://tinybase.org/guides/releases/#v5-3"><em>NEW!</em> v5.3 release</a></p><p><span id="one-with">"Adding some missing APIs!"</span></p><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="it-s-reactive">It's <em>Reactive</em></h2><p>TinyBase lets you <a href="#register-granular-listeners">listen to changes</a> made to any part of your data. This means your app will be fast, since you only spend rendering cycles on things that change. The optional <a href="#call-hooks-to-bind-to-data">bindings to React</a> and <a href="#pre-built-reactive-components">pre-built components</a> let you easily build fully reactive UIs on top of TinyBase. You even get a built-in <a href="#set-checkpoints-for-an-undo-stack">undo stack</a>, and <a href="#an-inspector-for-your-data">developer tools</a>!</p></section><section><h2 id="it-s-database-like">It's <em>Database-Like</em></h2><p>Consumer app? Enterprise app? Or even a game? Model <a href="#start-with-a-simple-key-value-store">key-value data</a> and <a href="#level-up-to-use-tabular-data">tabular data</a> with optional typed <a href="#apply-schemas-to-tables-values">schematization</a>, whatever its data structures. There are built-in <a href="#create-indexes-for-fast-lookups">indexing</a>, <a href="#define-metrics-and-aggregations">metric aggregation</a>, and tabular <a href="#model-table-relationships">relationships</a> APIs - and a powerful <a href="#build-complex-queries-with-tinyql">query engine</a> to select, join, filter, and group data (reactively!) without SQL.</p></section><section><h2 id="it-synchronizes">It <em>Synchronizes</em></h2><p>TinyBase has <a href="#synchronize-between-devices">native CRDT</a> support, meaning that you can deterministically <a href="https://tinybase.org/guides/synchronization/">synchronize</a> and merge data across multiple sources, clients, and servers. And although TinyBase is an in-memory data store, you can easily <a href="#persist-to-storage-databases-more">persist</a> your data to file, <a href="https://tinybase.org/api/persister-browser">browser storage</a>, <a href="https://tinybase.org/api/persister-indexed-db">IndexedDB</a>, <a href="https://tinybase.org/guides/persistence/database-persistence/">SQLite or PostgreSQL databases</a>, and <a href="https://tinybase.org/guides/persistence/third-party-crdt-persistence/">more</a>.</p></section><section><h2 id="it-s-built-for-a-local-first-world">It's Built For A <em>Local-First</em> World</h2><p>TinyBase works anywhere that JavaScript does, but it's especially great for local-first apps: where data is stored locally on the user's device and that can be run offline. It's tiny by name, tiny by nature: just <a href="#did-we-say-tiny">5.3kB - 11.4kB</a> and with no dependencies - yet <a href="#well-tested-and-documented">100% tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and of course, <a href="https://github.com/tinyplex/tinybase">open source</a>!</p></section><hr><section id="friends"><h2 id="tinybase-works-great-on-its-own-but-also-plays-well-with-friends">TinyBase works great on its own, but also plays well with friends!</h2><div><a href="https://tinybase.org/guides/building-uis/getting-started-with-ui-react"><img width="48" src="https://tinybase.org/react.svg"> React</a></div><div><a href="https://tinybase.org/api/persister-indexed-db/functions/creation/createindexeddbpersister"><img width="48" src="https://tinybase.org/indexeddb.svg"> IndexedDB</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/postgresql.svg"> PostgreSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/pglite.svg"> PGlite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/sqlite.svg"> SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/expo.svg"> Expo SQLite</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/electric.svg"> ElectricSQL</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/turso.svg"> Turso</a></div><div><a href="https://tinybase.org/guides/schemas-and-persistence/database-persistence"><img width="48" src="https://tinybase.org/powersync.svg"> PowerSync</a></div><div><a href="https://tinybase.org/api/persister-partykit-client"><img width="48" src="https://tinybase.org/partykit.svg"> PartyKit</a></div><div><a href="https://tinybase.org/api/persister-yjs/functions/creation/createyjspersister"><img width="48" src="https://tinybase.org/yjs.svg"> YJS</a></div><div><a href="https://tinybase.org/api/persister-cr-sqlite-wasm"><img width="48" src="https://tinybase.org/crsqlite.png"> CR-SQLite</a></div><div><a href="https://tinybase.org/api/persister-automerge"><img width="48" src="https://tinybase.org/automerge.svg"> Automerge</a></div></section><hr><section id="follow"><a href="https://github.com/tinyplex/tinybase" target="_blank"><img src="https://img.shields.io/github/stars/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=GitHub&labelColor=%23d81b60&color=%23333"> </a><a href="https://discord.com/invite/mGz3mevwP8" target="_blank"><img src="https://img.shields.io/discord/1027918215323590676?style=for-the-badge&logo=discord&logoColor=%23fff&label=Discord&labelColor=%233131e8&color=%23333"> </a><a href="https://twitter.com/tinybasejs" target="_blank"><img src="https://img.shields.io/twitter/follow/tinybasejs?style=for-the-badge&logo=x&logoColor=%23fff&label=Twitter&labelColor=%23333&color=%23333"></a><br><a href="https://github.com/tinyplex/tinybase/discussions" target="_blank"><img src="https://img.shields.io/github/discussions/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Ideas&labelColor=%23d81b60&color=%23333"> </a><a href="https://github.com/tinyplex/tinybase/issues" target="_blank"><img src="https://img.shields.io/github/issues/tinyplex/tinybase?style=for-the-badge&logo=GitHub&logoColor=%23fff&label=Issues&labelColor=%23d81b60&color=%23333"> </a><a href="#well-tested-and-documented"><img src="https://img.shields.io/badge/Tests-100%25-green?style=for-the-badge&logo=jest&logoColor=%23fff&color=%23333&labelColor=%2387c305"> </a><a href="https://www.npmjs.com/package/tinybase/v/5.3.3" target="_blank"><img src="https://img.shields.io/npm/v/tinybase?style=for-the-badge&logo=npm&logoColor=%23fff&labelColor=%23bd0005&color=%23333"></a></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
import {createStore} from 'tinybase';
|
|
@@ -294,4 +294,4 @@ export const createShop: typeof createShopDecl = () => {
|
|
|
294
294
|
};
|
|
295
295
|
```
|
|
296
296
|
|
|
297
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>5.1kB</em>, the ui-react-dom components are another <em>2.5kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.6kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>118.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>5.1kB</td><td>54.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.5kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,282</td><td>2,282</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,465</td><td>2,465</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>986</td><td>986</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>854</td><td>854</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,456</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,195</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
|
|
297
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>5.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>11.4kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just <em>4.9kB</em>, the ui-react-dom components are another <em>2.6kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th> </th><th>Minified .js.gz</th><th>Source .js</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">tinybase/store</a> (minimal)</th><td>5.3kB</td><td>52.4kB</td></tr><tr><th class="right">tinybase (complete)</th><td>11.4kB</td><td>119.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react/">ui-react</a></th><td>4.9kB</td><td>53.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/ui-react-dom/">ui-react-dom</a></th><td>2.6kB</td><td>20.4kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible for you to get your TinyBase-powered app up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>2,285</td><td>2,285</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>2,466</td><td>2,466</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>985</td><td>985</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>853</td><td>853</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">7,456</td></tr><tr><th class="right">Assertions</th><td colspan="3">33,187</td></tr></tbody></table></div><hr><section id="sponsors"><h2 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h2><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/beekeeb" target="_blank"><img title="beekeeb" src="https://github.com/beekeeb.png?size=48" width="48" height="48"></a><a href="https://github.com/cancelself" target="_blank"><img title="cancelself" src="https://github.com/cancelself.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></section><section id="users"><h2 id="excited-to-be-used-by">Excited to be used by:</h2><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/byCedric" target="_blank"><img title="byCedric" src="https://github.com/byCedric.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/cpojer" target="_blank"><img title="cpojer" src="https://github.com/cpojer.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/ezra-en" target="_blank"><img title="ezra-en" src="https://github.com/ezra-en.png?size=48" width="48" height="48"></a><a href="https://github.com/fdfontes" target="_blank"><img title="fdfontes" src="https://github.com/fdfontes.png?size=48" width="48" height="48"></a><a href="https://github.com/feychenie" target="_blank"><img title="feychenie" src="https://github.com/feychenie.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/fostertheweb" target="_blank"><img title="fostertheweb" src="https://github.com/fostertheweb.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/Giulio987" target="_blank"><img title="Giulio987" src="https://github.com/Giulio987.png?size=48" width="48" height="48"></a><a href="https://github.com/itsdevcoffee" target="_blank"><img title="itsdevcoffee" src="https://github.com/itsdevcoffee.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/jbolda" target="_blank"><img title="jbolda" src="https://github.com/jbolda.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a><a href="https://github.com/Kudo" target="_blank"><img title="Kudo" src="https://github.com/Kudo.png?size=48" width="48" height="48"></a><a href="https://github.com/learn-anything" target="_blank"><img title="learn-anything" src="https://github.com/learn-anything.png?size=48" width="48" height="48"></a><a href="https://github.com/lluc" target="_blank"><img title="lluc" src="https://github.com/lluc.png?size=48" width="48" height="48"></a><a href="https://github.com/marksteve" target="_blank"><img title="marksteve" src="https://github.com/marksteve.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/mjamesderocher" target="_blank"><img title="mjamesderocher" src="https://github.com/mjamesderocher.png?size=48" width="48" height="48"></a><a href="https://github.com/mouktardev" target="_blank"><img title="mouktardev" src="https://github.com/mouktardev.png?size=48" width="48" height="48"></a><a href="https://github.com/nickmessing" target="_blank"><img title="nickmessing" src="https://github.com/nickmessing.png?size=48" width="48" height="48"></a><a href="https://github.com/nikitavoloboev" target="_blank"><img title="nikitavoloboev" src="https://github.com/nikitavoloboev.png?size=48" width="48" height="48"></a><a href="https://github.com/nkzw-tech" target="_blank"><img title="nkzw-tech" src="https://github.com/nkzw-tech.png?size=48" width="48" height="48"></a><a href="https://github.com/palerdot" target="_blank"><img title="palerdot" src="https://github.com/palerdot.png?size=48" width="48" height="48"></a><a href="https://github.com/PorcoRosso85" target="_blank"><img title="PorcoRosso85" src="https://github.com/PorcoRosso85.png?size=48" width="48" height="48"></a><a href="https://github.com/primodiumxyz" target="_blank"><img title="primodiumxyz" src="https://github.com/primodiumxyz.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/sudo-self" target="_blank"><img title="sudo-self" src="https://github.com/sudo-self.png?size=48" width="48" height="48"></a><a href="https://github.com/SuperSonicHub1" target="_blank"><img title="SuperSonicHub1" src="https://github.com/SuperSonicHub1.png?size=48" width="48" height="48"></a><a href="https://github.com/threepointone" target="_blank"><img title="threepointone" src="https://github.com/threepointone.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/ViktorZhurbin" target="_blank"><img title="ViktorZhurbin" src="https://github.com/ViktorZhurbin.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a></section><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section id="about"><h2 id="about">About</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Or sacrifice features for bundle size? And why does the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://tripleodeon.com">me</a> in API design, minification, and documentation. But now it has taken on a life of its own, and has grown beyond my wildest expectations.</p><p>It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it as much as I do building it!</p></section><section id="story"><h2 id="the-story">The story</h2><a href="https://youtu.be/hXL7OkW-Prk?t=1232" target="_blank"><img src="https://tinybase.org/youtube.webp"></a></section>
|
package/synchronizers/index.js
CHANGED
|
@@ -287,6 +287,8 @@ const createCustomPersister = (
|
|
|
287
287
|
const content = await getPersisted();
|
|
288
288
|
if (isArray(content)) {
|
|
289
289
|
setContentOrChanges(content);
|
|
290
|
+
} else if (initialContent) {
|
|
291
|
+
setDefaultContent(initialContent);
|
|
290
292
|
} else {
|
|
291
293
|
errorNew(`Content is not an array ${content}`);
|
|
292
294
|
}
|
|
@@ -404,7 +406,7 @@ const createCustomPersister = (
|
|
|
404
406
|
};
|
|
405
407
|
|
|
406
408
|
const MASK6 = 63;
|
|
407
|
-
const ENCODE = strSplit(
|
|
409
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
408
410
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
409
411
|
);
|
|
410
412
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -287,6 +287,8 @@ const createCustomPersister = (
|
|
|
287
287
|
const content = await getPersisted();
|
|
288
288
|
if (isArray(content)) {
|
|
289
289
|
setContentOrChanges(content);
|
|
290
|
+
} else if (initialContent) {
|
|
291
|
+
setDefaultContent(initialContent);
|
|
290
292
|
} else {
|
|
291
293
|
errorNew(`Content is not an array ${content}`);
|
|
292
294
|
}
|
|
@@ -404,7 +406,7 @@ const createCustomPersister = (
|
|
|
404
406
|
};
|
|
405
407
|
|
|
406
408
|
const MASK6 = 63;
|
|
407
|
-
const ENCODE = strSplit(
|
|
409
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
408
410
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
409
411
|
);
|
|
410
412
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -287,6 +287,8 @@ const createCustomPersister = (
|
|
|
287
287
|
const content = await getPersisted();
|
|
288
288
|
if (isArray(content)) {
|
|
289
289
|
setContentOrChanges(content);
|
|
290
|
+
} else if (initialContent) {
|
|
291
|
+
setDefaultContent(initialContent);
|
|
290
292
|
} else {
|
|
291
293
|
errorNew(`Content is not an array ${content}`);
|
|
292
294
|
}
|
|
@@ -404,7 +406,7 @@ const createCustomPersister = (
|
|
|
404
406
|
};
|
|
405
407
|
|
|
406
408
|
const MASK6 = 63;
|
|
407
|
-
const ENCODE = strSplit(
|
|
409
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
408
410
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
409
411
|
);
|
|
410
412
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -289,6 +289,8 @@ const createCustomPersister = (
|
|
|
289
289
|
const content = await getPersisted();
|
|
290
290
|
if (isArray(content)) {
|
|
291
291
|
setContentOrChanges(content);
|
|
292
|
+
} else if (initialContent) {
|
|
293
|
+
setDefaultContent(initialContent);
|
|
292
294
|
} else {
|
|
293
295
|
errorNew(`Content is not an array ${content}`);
|
|
294
296
|
}
|
|
@@ -406,7 +408,7 @@ const createCustomPersister = (
|
|
|
406
408
|
};
|
|
407
409
|
|
|
408
410
|
const MASK6 = 63;
|
|
409
|
-
const ENCODE = strSplit(
|
|
411
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
410
412
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
411
413
|
);
|
|
412
414
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -289,6 +289,8 @@ const createCustomPersister = (
|
|
|
289
289
|
const content = await getPersisted();
|
|
290
290
|
if (isArray(content)) {
|
|
291
291
|
setContentOrChanges(content);
|
|
292
|
+
} else if (initialContent) {
|
|
293
|
+
setDefaultContent(initialContent);
|
|
292
294
|
} else {
|
|
293
295
|
errorNew(`Content is not an array ${content}`);
|
|
294
296
|
}
|
|
@@ -406,7 +408,7 @@ const createCustomPersister = (
|
|
|
406
408
|
};
|
|
407
409
|
|
|
408
410
|
const MASK6 = 63;
|
|
409
|
-
const ENCODE = strSplit(
|
|
411
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
410
412
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
411
413
|
);
|
|
412
414
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -313,6 +313,8 @@ const createCustomPersister = (
|
|
|
313
313
|
const content = await getPersisted();
|
|
314
314
|
if (isArray(content)) {
|
|
315
315
|
setContentOrChanges(content);
|
|
316
|
+
} else if (initialContent) {
|
|
317
|
+
setDefaultContent(initialContent);
|
|
316
318
|
} else {
|
|
317
319
|
errorNew(`Content is not an array ${content}`);
|
|
318
320
|
}
|
|
@@ -430,7 +432,7 @@ const createCustomPersister = (
|
|
|
430
432
|
};
|
|
431
433
|
|
|
432
434
|
const MASK6 = 63;
|
|
433
|
-
const ENCODE = strSplit(
|
|
435
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
434
436
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
435
437
|
);
|
|
436
438
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -313,6 +313,8 @@ const createCustomPersister = (
|
|
|
313
313
|
const content = await getPersisted();
|
|
314
314
|
if (isArray(content)) {
|
|
315
315
|
setContentOrChanges(content);
|
|
316
|
+
} else if (initialContent) {
|
|
317
|
+
setDefaultContent(initialContent);
|
|
316
318
|
} else {
|
|
317
319
|
errorNew(`Content is not an array ${content}`);
|
|
318
320
|
}
|
|
@@ -430,7 +432,7 @@ const createCustomPersister = (
|
|
|
430
432
|
};
|
|
431
433
|
|
|
432
434
|
const MASK6 = 63;
|
|
433
|
-
const ENCODE = strSplit(
|
|
435
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
434
436
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
435
437
|
);
|
|
436
438
|
const encode = (num) => ENCODE[num & MASK6];
|
|
@@ -319,6 +319,8 @@ const createCustomPersister = (
|
|
|
319
319
|
const content = await getPersisted();
|
|
320
320
|
if (isArray(content)) {
|
|
321
321
|
setContentOrChanges(content);
|
|
322
|
+
} else if (initialContent) {
|
|
323
|
+
setDefaultContent(initialContent);
|
|
322
324
|
} else {
|
|
323
325
|
errorNew(`Content is not an array ${content}`);
|
|
324
326
|
}
|
|
@@ -429,7 +431,7 @@ const createCustomPersister = (
|
|
|
429
431
|
};
|
|
430
432
|
|
|
431
433
|
const MASK6 = 63;
|
|
432
|
-
const ENCODE = strSplit(
|
|
434
|
+
const ENCODE = /* @__PURE__ */ strSplit(
|
|
433
435
|
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz',
|
|
434
436
|
);
|
|
435
437
|
const encode = (num) => ENCODE[num & MASK6];
|