tinybase 5.0.0-beta.2 → 5.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/_internal/queries/index.d.cts +0 -0
- package/@types/_internal/queries/index.d.ts +0 -0
- package/@types/_internal/queries/with-schemas/index.d.cts +22 -0
- package/@types/_internal/queries/with-schemas/index.d.ts +22 -0
- package/@types/_internal/store/index.d.cts +3 -0
- package/@types/_internal/store/index.d.ts +3 -0
- package/@types/_internal/store/with-schemas/index.d.cts +106 -0
- package/@types/_internal/store/with-schemas/index.d.ts +106 -0
- package/@types/_internal/ui-react/index.d.cts +0 -0
- package/@types/_internal/ui-react/index.d.ts +0 -0
- package/@types/_internal/ui-react/with-schemas/index.d.cts +813 -0
- package/@types/_internal/ui-react/with-schemas/index.d.ts +813 -0
- package/@types/checkpoints/index.d.cts +1033 -0
- package/@types/checkpoints/index.d.ts +1033 -0
- package/@types/checkpoints/with-schemas/index.d.cts +1125 -0
- package/@types/checkpoints/with-schemas/index.d.ts +1125 -0
- package/@types/common/index.d.cts +117 -0
- package/@types/common/index.d.ts +117 -0
- package/@types/common/with-schemas/index.d.cts +117 -0
- package/@types/common/with-schemas/index.d.ts +117 -0
- package/@types/index.d.cts +18 -0
- package/@types/index.d.ts +18 -0
- package/@types/indexes/index.d.cts +1037 -0
- package/@types/indexes/index.d.ts +1037 -0
- package/@types/indexes/with-schemas/index.d.cts +1183 -0
- package/@types/indexes/with-schemas/index.d.ts +1183 -0
- package/@types/mergeable-store/index.d.cts +222 -0
- package/@types/mergeable-store/index.d.ts +222 -0
- package/@types/mergeable-store/with-schemas/index.d.cts +509 -0
- package/@types/mergeable-store/with-schemas/index.d.ts +509 -0
- package/@types/metrics/index.d.cts +895 -0
- package/@types/metrics/index.d.ts +895 -0
- package/@types/metrics/with-schemas/index.d.cts +982 -0
- package/@types/metrics/with-schemas/index.d.ts +982 -0
- package/@types/persisters/index.d.cts +1319 -0
- package/@types/persisters/index.d.ts +1319 -0
- package/@types/persisters/persister-automerge/index.d.cts +162 -0
- package/@types/persisters/persister-automerge/index.d.ts +162 -0
- package/@types/persisters/persister-automerge/with-schemas/index.d.cts +177 -0
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +177 -0
- package/@types/persisters/persister-browser/index.d.cts +174 -0
- package/@types/persisters/persister-browser/index.d.ts +174 -0
- package/@types/persisters/persister-browser/with-schemas/index.d.cts +199 -0
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +199 -0
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +157 -0
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +157 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +176 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +176 -0
- package/@types/persisters/persister-electric-sql/index.d.cts +183 -0
- package/@types/persisters/persister-electric-sql/index.d.ts +183 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +202 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +202 -0
- package/@types/persisters/persister-expo-sqlite/index.d.cts +186 -0
- package/@types/persisters/persister-expo-sqlite/index.d.ts +186 -0
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +205 -0
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +205 -0
- package/@types/persisters/persister-expo-sqlite-next/index.d.cts +187 -0
- package/@types/persisters/persister-expo-sqlite-next/index.d.ts +187 -0
- package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.cts +206 -0
- package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.ts +206 -0
- package/@types/persisters/persister-file/index.d.cts +88 -0
- package/@types/persisters/persister-file/index.d.ts +88 -0
- package/@types/persisters/persister-file/with-schemas/index.d.cts +102 -0
- package/@types/persisters/persister-file/with-schemas/index.d.ts +102 -0
- package/@types/persisters/persister-indexed-db/index.d.cts +116 -0
- package/@types/persisters/persister-indexed-db/index.d.ts +116 -0
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +131 -0
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +131 -0
- package/@types/persisters/persister-libsql/index.d.cts +154 -0
- package/@types/persisters/persister-libsql/index.d.ts +154 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.cts +173 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +173 -0
- package/@types/persisters/persister-partykit-client/index.d.cts +185 -0
- package/@types/persisters/persister-partykit-client/index.d.ts +185 -0
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +200 -0
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +200 -0
- package/@types/persisters/persister-partykit-server/index.d.cts +631 -0
- package/@types/persisters/persister-partykit-server/index.d.ts +631 -0
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +673 -0
- package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +673 -0
- package/@types/persisters/persister-powersync/index.d.cts +169 -0
- package/@types/persisters/persister-powersync/index.d.ts +169 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.cts +188 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +188 -0
- package/@types/persisters/persister-remote/index.d.cts +113 -0
- package/@types/persisters/persister-remote/index.d.ts +113 -0
- package/@types/persisters/persister-remote/with-schemas/index.d.cts +129 -0
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +129 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.cts +170 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +170 -0
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +190 -0
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +190 -0
- package/@types/persisters/persister-sqlite3/index.d.cts +171 -0
- package/@types/persisters/persister-sqlite3/index.d.ts +171 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +190 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +190 -0
- package/@types/persisters/persister-yjs/index.d.cts +157 -0
- package/@types/persisters/persister-yjs/index.d.ts +157 -0
- package/@types/persisters/persister-yjs/with-schemas/index.d.cts +172 -0
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +172 -0
- package/@types/persisters/with-schemas/index.d.cts +1393 -0
- package/@types/persisters/with-schemas/index.d.ts +1393 -0
- package/@types/queries/index.d.cts +3640 -0
- package/@types/queries/index.d.ts +3640 -0
- package/@types/queries/with-schemas/index.d.cts +3961 -0
- package/@types/queries/with-schemas/index.d.ts +3961 -0
- package/@types/relationships/index.d.cts +1266 -0
- package/@types/relationships/index.d.ts +1266 -0
- package/@types/relationships/with-schemas/index.d.cts +1420 -0
- package/@types/relationships/with-schemas/index.d.ts +1420 -0
- package/@types/store/index.d.cts +7453 -0
- package/@types/store/index.d.ts +7453 -0
- package/@types/store/with-schemas/index.d.cts +9131 -0
- package/@types/store/with-schemas/index.d.ts +9131 -0
- package/@types/synchronizers/index.d.cts +139 -0
- package/@types/synchronizers/index.d.ts +139 -0
- package/@types/synchronizers/synchronizer-local/index.d.cts +27 -0
- package/@types/synchronizers/synchronizer-local/index.d.ts +27 -0
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +29 -0
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +29 -0
- package/@types/synchronizers/synchronizer-ws-client/index.d.cts +36 -0
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +36 -0
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +42 -0
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +42 -0
- package/@types/synchronizers/synchronizer-ws-server/index.d.cts +58 -0
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +58 -0
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +58 -0
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +58 -0
- package/@types/synchronizers/with-schemas/index.d.cts +156 -0
- package/@types/synchronizers/with-schemas/index.d.ts +156 -0
- package/@types/tools/index.d.cts +556 -0
- package/@types/tools/index.d.ts +556 -0
- package/@types/tools/with-schemas/index.d.cts +567 -0
- package/@types/tools/with-schemas/index.d.ts +567 -0
- package/@types/ui-react/index.d.cts +15318 -0
- package/@types/ui-react/index.d.ts +15318 -0
- package/@types/ui-react/with-schemas/index.d.cts +16235 -0
- package/@types/ui-react/with-schemas/index.d.ts +16235 -0
- package/@types/ui-react-dom/index.d.cts +1751 -0
- package/@types/ui-react-dom/index.d.ts +1751 -0
- package/@types/ui-react-dom/with-schemas/index.d.cts +1883 -0
- package/@types/ui-react-dom/with-schemas/index.d.ts +1883 -0
- package/@types/ui-react-inspector/index.d.cts +76 -0
- package/@types/ui-react-inspector/index.d.ts +76 -0
- package/@types/ui-react-inspector/with-schemas/index.d.cts +1870 -0
- package/@types/ui-react-inspector/with-schemas/index.d.ts +1870 -0
- package/@types/with-schemas/index.d.cts +18 -0
- package/@types/with-schemas/index.d.ts +18 -0
- package/checkpoints/index.js +1 -0
- package/checkpoints/index.js.gz +0 -0
- package/checkpoints/with-schemas/index.js +1 -0
- package/cjs/checkpoints/index.cjs +1 -0
- package/cjs/checkpoints/index.cjs.gz +0 -0
- package/cjs/checkpoints/with-schemas/index.cjs +1 -0
- package/cjs/common/index.cjs +1 -0
- package/cjs/common/index.cjs.gz +0 -0
- package/cjs/common/with-schemas/index.cjs +1 -0
- package/cjs/debug/checkpoints/index.cjs +433 -0
- package/cjs/debug/checkpoints/with-schemas/index.cjs +433 -0
- package/cjs/debug/common/index.cjs +28 -0
- package/cjs/debug/common/with-schemas/index.cjs +28 -0
- package/cjs/debug/index.cjs +4102 -0
- package/cjs/debug/indexes/index.cjs +555 -0
- package/cjs/debug/indexes/with-schemas/index.cjs +555 -0
- package/cjs/debug/mergeable-store/index.cjs +2249 -0
- package/cjs/debug/mergeable-store/with-schemas/index.cjs +2249 -0
- package/cjs/debug/metrics/index.cjs +521 -0
- package/cjs/debug/metrics/with-schemas/index.cjs +521 -0
- package/cjs/debug/persisters/index.cjs +230 -0
- package/cjs/debug/persisters/persister-automerge/index.cjs +378 -0
- package/cjs/debug/persisters/persister-automerge/with-schemas/index.cjs +378 -0
- package/cjs/debug/persisters/persister-browser/index.cjs +282 -0
- package/cjs/debug/persisters/persister-browser/with-schemas/index.cjs +282 -0
- package/cjs/debug/persisters/persister-cr-sqlite-wasm/index.cjs +929 -0
- package/cjs/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +929 -0
- package/cjs/debug/persisters/persister-electric-sql/index.cjs +937 -0
- package/cjs/debug/persisters/persister-electric-sql/with-schemas/index.cjs +937 -0
- package/cjs/debug/persisters/persister-expo-sqlite/index.cjs +930 -0
- package/cjs/debug/persisters/persister-expo-sqlite/with-schemas/index.cjs +930 -0
- package/cjs/debug/persisters/persister-expo-sqlite-next/index.cjs +932 -0
- package/cjs/debug/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +932 -0
- package/cjs/debug/persisters/persister-file/index.cjs +265 -0
- package/cjs/debug/persisters/persister-file/with-schemas/index.cjs +265 -0
- package/cjs/debug/persisters/persister-indexed-db/index.cjs +342 -0
- package/cjs/debug/persisters/persister-indexed-db/with-schemas/index.cjs +342 -0
- package/cjs/debug/persisters/persister-libsql/index.cjs +930 -0
- package/cjs/debug/persisters/persister-libsql/with-schemas/index.cjs +930 -0
- package/cjs/debug/persisters/persister-partykit-client/index.cjs +329 -0
- package/cjs/debug/persisters/persister-partykit-client/with-schemas/index.cjs +329 -0
- package/cjs/debug/persisters/persister-partykit-server/index.cjs +284 -0
- package/cjs/debug/persisters/persister-partykit-server/with-schemas/index.cjs +284 -0
- package/cjs/debug/persisters/persister-powersync/index.cjs +945 -0
- package/cjs/debug/persisters/persister-powersync/with-schemas/index.cjs +945 -0
- package/cjs/debug/persisters/persister-remote/index.cjs +287 -0
- package/cjs/debug/persisters/persister-remote/with-schemas/index.cjs +287 -0
- package/cjs/debug/persisters/persister-sqlite-wasm/index.cjs +938 -0
- package/cjs/debug/persisters/persister-sqlite-wasm/with-schemas/index.cjs +938 -0
- package/cjs/debug/persisters/persister-sqlite3/index.cjs +940 -0
- package/cjs/debug/persisters/persister-sqlite3/with-schemas/index.cjs +940 -0
- package/cjs/debug/persisters/persister-yjs/index.cjs +427 -0
- package/cjs/debug/persisters/persister-yjs/with-schemas/index.cjs +427 -0
- package/cjs/debug/persisters/with-schemas/index.cjs +230 -0
- package/cjs/debug/queries/index.cjs +814 -0
- package/cjs/debug/queries/with-schemas/index.cjs +814 -0
- package/cjs/debug/relationships/index.cjs +531 -0
- package/cjs/debug/relationships/with-schemas/index.cjs +531 -0
- package/cjs/debug/store/index.cjs +1636 -0
- package/cjs/debug/store/with-schemas/index.cjs +1636 -0
- package/cjs/debug/synchronizers/index.cjs +466 -0
- package/cjs/debug/synchronizers/synchronizer-local/index.cjs +506 -0
- package/cjs/debug/synchronizers/synchronizer-local/with-schemas/index.cjs +506 -0
- package/cjs/debug/synchronizers/synchronizer-ws-client/index.cjs +529 -0
- package/cjs/debug/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +529 -0
- package/cjs/debug/synchronizers/synchronizer-ws-server/index.cjs +243 -0
- package/cjs/debug/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +243 -0
- package/cjs/debug/synchronizers/with-schemas/index.cjs +466 -0
- package/cjs/debug/tools/index.cjs +3300 -0
- package/cjs/debug/tools/with-schemas/index.cjs +3300 -0
- package/cjs/debug/ui-react/index.cjs +1985 -0
- package/cjs/debug/ui-react/with-schemas/index.cjs +1985 -0
- package/cjs/debug/ui-react-dom/index.cjs +779 -0
- package/cjs/debug/ui-react-dom/with-schemas/index.cjs +779 -0
- package/cjs/debug/ui-react-inspector/index.cjs +3263 -0
- package/cjs/debug/ui-react-inspector/with-schemas/index.cjs +3263 -0
- package/cjs/debug/with-schemas/index.cjs +4102 -0
- package/cjs/es6/checkpoints/index.cjs +1 -0
- package/cjs/es6/checkpoints/index.cjs.gz +0 -0
- package/cjs/es6/checkpoints/with-schemas/index.cjs +1 -0
- package/cjs/es6/common/index.cjs +1 -0
- package/cjs/es6/common/index.cjs.gz +0 -0
- package/cjs/es6/common/with-schemas/index.cjs +1 -0
- package/cjs/es6/debug/checkpoints/index.cjs +473 -0
- package/cjs/es6/debug/checkpoints/with-schemas/index.cjs +473 -0
- package/cjs/es6/debug/common/index.cjs +30 -0
- package/cjs/es6/debug/common/with-schemas/index.cjs +30 -0
- package/cjs/es6/debug/index.cjs +4358 -0
- package/cjs/es6/debug/indexes/index.cjs +602 -0
- package/cjs/es6/debug/indexes/with-schemas/index.cjs +602 -0
- package/cjs/es6/debug/mergeable-store/index.cjs +2349 -0
- package/cjs/es6/debug/mergeable-store/with-schemas/index.cjs +2349 -0
- package/cjs/es6/debug/metrics/index.cjs +574 -0
- package/cjs/es6/debug/metrics/with-schemas/index.cjs +574 -0
- package/cjs/es6/debug/persisters/index.cjs +302 -0
- package/cjs/es6/debug/persisters/persister-automerge/index.cjs +476 -0
- package/cjs/es6/debug/persisters/persister-automerge/with-schemas/index.cjs +476 -0
- package/cjs/es6/debug/persisters/persister-browser/index.cjs +384 -0
- package/cjs/es6/debug/persisters/persister-browser/with-schemas/index.cjs +384 -0
- package/cjs/es6/debug/persisters/persister-cr-sqlite-wasm/index.cjs +1256 -0
- package/cjs/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1256 -0
- package/cjs/es6/debug/persisters/persister-electric-sql/index.cjs +1264 -0
- package/cjs/es6/debug/persisters/persister-electric-sql/with-schemas/index.cjs +1264 -0
- package/cjs/es6/debug/persisters/persister-expo-sqlite/index.cjs +1256 -0
- package/cjs/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.cjs +1256 -0
- package/cjs/es6/debug/persisters/persister-expo-sqlite-next/index.cjs +1259 -0
- package/cjs/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1259 -0
- package/cjs/es6/debug/persisters/persister-file/index.cjs +365 -0
- package/cjs/es6/debug/persisters/persister-file/with-schemas/index.cjs +365 -0
- package/cjs/es6/debug/persisters/persister-indexed-db/index.cjs +481 -0
- package/cjs/es6/debug/persisters/persister-indexed-db/with-schemas/index.cjs +481 -0
- package/cjs/es6/debug/persisters/persister-libsql/index.cjs +1257 -0
- package/cjs/es6/debug/persisters/persister-libsql/with-schemas/index.cjs +1257 -0
- package/cjs/es6/debug/persisters/persister-partykit-client/index.cjs +459 -0
- package/cjs/es6/debug/persisters/persister-partykit-client/with-schemas/index.cjs +459 -0
- package/cjs/es6/debug/persisters/persister-partykit-server/index.cjs +411 -0
- package/cjs/es6/debug/persisters/persister-partykit-server/with-schemas/index.cjs +411 -0
- package/cjs/es6/debug/persisters/persister-powersync/index.cjs +1312 -0
- package/cjs/es6/debug/persisters/persister-powersync/with-schemas/index.cjs +1312 -0
- package/cjs/es6/debug/persisters/persister-remote/index.cjs +389 -0
- package/cjs/es6/debug/persisters/persister-remote/with-schemas/index.cjs +389 -0
- package/cjs/es6/debug/persisters/persister-sqlite-wasm/index.cjs +1286 -0
- package/cjs/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1286 -0
- package/cjs/es6/debug/persisters/persister-sqlite3/index.cjs +1266 -0
- package/cjs/es6/debug/persisters/persister-sqlite3/with-schemas/index.cjs +1266 -0
- package/cjs/es6/debug/persisters/persister-yjs/index.cjs +536 -0
- package/cjs/es6/debug/persisters/persister-yjs/with-schemas/index.cjs +536 -0
- package/cjs/es6/debug/persisters/with-schemas/index.cjs +302 -0
- package/cjs/es6/debug/queries/index.cjs +859 -0
- package/cjs/es6/debug/queries/with-schemas/index.cjs +859 -0
- package/cjs/es6/debug/relationships/index.cjs +591 -0
- package/cjs/es6/debug/relationships/with-schemas/index.cjs +591 -0
- package/cjs/es6/debug/store/index.cjs +1716 -0
- package/cjs/es6/debug/store/with-schemas/index.cjs +1716 -0
- package/cjs/es6/debug/synchronizers/index.cjs +594 -0
- package/cjs/es6/debug/synchronizers/synchronizer-local/index.cjs +630 -0
- package/cjs/es6/debug/synchronizers/synchronizer-local/with-schemas/index.cjs +630 -0
- package/cjs/es6/debug/synchronizers/synchronizer-ws-client/index.cjs +681 -0
- package/cjs/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +681 -0
- package/cjs/es6/debug/synchronizers/synchronizer-ws-server/index.cjs +292 -0
- package/cjs/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +292 -0
- package/cjs/es6/debug/synchronizers/with-schemas/index.cjs +594 -0
- package/cjs/es6/debug/tools/index.cjs +3423 -0
- package/cjs/es6/debug/tools/with-schemas/index.cjs +3423 -0
- package/cjs/es6/debug/ui-react/index.cjs +2189 -0
- package/cjs/es6/debug/ui-react/with-schemas/index.cjs +2189 -0
- package/cjs/es6/debug/ui-react-dom/index.cjs +906 -0
- package/cjs/es6/debug/ui-react-dom/with-schemas/index.cjs +906 -0
- package/cjs/es6/debug/ui-react-inspector/index.cjs +3654 -0
- package/cjs/es6/debug/ui-react-inspector/with-schemas/index.cjs +3654 -0
- package/cjs/es6/debug/with-schemas/index.cjs +4358 -0
- package/cjs/es6/index.cjs +1 -0
- package/cjs/es6/index.cjs.gz +0 -0
- package/cjs/es6/indexes/index.cjs +1 -0
- package/cjs/es6/indexes/index.cjs.gz +0 -0
- package/cjs/es6/indexes/with-schemas/index.cjs +1 -0
- package/cjs/es6/mergeable-store/index.cjs +1 -0
- package/cjs/es6/mergeable-store/index.cjs.gz +0 -0
- package/cjs/es6/mergeable-store/with-schemas/index.cjs +1 -0
- package/cjs/es6/metrics/index.cjs +1 -0
- package/cjs/es6/metrics/index.cjs.gz +0 -0
- package/cjs/es6/metrics/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/index.cjs +1 -0
- package/cjs/es6/persisters/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-automerge/index.cjs +1 -0
- package/cjs/es6/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-browser/index.cjs +1 -0
- package/cjs/es6/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +1 -0
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-electric-sql/index.cjs +1 -0
- package/cjs/es6/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +1 -0
- package/cjs/es6/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs +1 -0
- package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-file/index.cjs +1 -0
- package/cjs/es6/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-indexed-db/index.cjs +1 -0
- package/cjs/es6/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-libsql/index.cjs +1 -0
- package/cjs/es6/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-partykit-client/index.cjs +1 -0
- package/cjs/es6/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-partykit-server/index.cjs +1 -0
- package/cjs/es6/persisters/persister-partykit-server/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-powersync/index.cjs +1 -0
- package/cjs/es6/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-remote/index.cjs +1 -0
- package/cjs/es6/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +1 -0
- package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-sqlite3/index.cjs +1 -0
- package/cjs/es6/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/persister-yjs/index.cjs +1 -0
- package/cjs/es6/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +1 -0
- package/cjs/es6/persisters/with-schemas/index.cjs +1 -0
- package/cjs/es6/queries/index.cjs +1 -0
- package/cjs/es6/queries/index.cjs.gz +0 -0
- package/cjs/es6/queries/with-schemas/index.cjs +1 -0
- package/cjs/es6/relationships/index.cjs +1 -0
- package/cjs/es6/relationships/index.cjs.gz +0 -0
- package/cjs/es6/relationships/with-schemas/index.cjs +1 -0
- package/cjs/es6/store/index.cjs +1 -0
- package/cjs/es6/store/index.cjs.gz +0 -0
- package/cjs/es6/store/with-schemas/index.cjs +1 -0
- package/cjs/es6/synchronizers/index.cjs +1 -0
- package/cjs/es6/synchronizers/index.cjs.gz +0 -0
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs +1 -0
- package/cjs/es6/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +1 -0
- package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +1 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -0
- package/cjs/es6/synchronizers/with-schemas/index.cjs +1 -0
- package/cjs/es6/tools/index.cjs +1 -0
- package/cjs/es6/tools/index.cjs.gz +0 -0
- package/cjs/es6/tools/with-schemas/index.cjs +1 -0
- package/cjs/es6/ui-react/index.cjs +1 -0
- package/cjs/es6/ui-react/index.cjs.gz +0 -0
- package/cjs/es6/ui-react/with-schemas/index.cjs +1 -0
- package/cjs/es6/ui-react-dom/index.cjs +1 -0
- package/cjs/es6/ui-react-dom/index.cjs.gz +0 -0
- package/cjs/es6/ui-react-dom/with-schemas/index.cjs +1 -0
- package/cjs/es6/ui-react-inspector/index.cjs +1 -0
- package/cjs/es6/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +1 -0
- package/cjs/es6/with-schemas/index.cjs +1 -0
- package/cjs/index.cjs +1 -0
- package/cjs/index.cjs.gz +0 -0
- package/cjs/indexes/index.cjs +1 -0
- package/cjs/indexes/index.cjs.gz +0 -0
- package/cjs/indexes/with-schemas/index.cjs +1 -0
- package/cjs/mergeable-store/index.cjs +1 -0
- package/cjs/mergeable-store/index.cjs.gz +0 -0
- package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
- package/cjs/metrics/index.cjs +1 -0
- package/cjs/metrics/index.cjs.gz +0 -0
- package/cjs/metrics/with-schemas/index.cjs +1 -0
- package/cjs/persisters/index.cjs +1 -0
- package/cjs/persisters/index.cjs.gz +0 -0
- package/cjs/persisters/persister-automerge/index.cjs +1 -0
- package/cjs/persisters/persister-automerge/index.cjs.gz +0 -0
- package/cjs/persisters/persister-automerge/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-browser/index.cjs +1 -0
- package/cjs/persisters/persister-browser/index.cjs.gz +0 -0
- package/cjs/persisters/persister-browser/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +1 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-electric-sql/index.cjs +1 -0
- package/cjs/persisters/persister-electric-sql/index.cjs.gz +0 -0
- package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-expo-sqlite/index.cjs +1 -0
- package/cjs/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
- package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-expo-sqlite-next/index.cjs +1 -0
- package/cjs/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
- package/cjs/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-file/index.cjs +1 -0
- package/cjs/persisters/persister-file/index.cjs.gz +0 -0
- package/cjs/persisters/persister-file/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-indexed-db/index.cjs +1 -0
- package/cjs/persisters/persister-indexed-db/index.cjs.gz +0 -0
- package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-libsql/index.cjs +1 -0
- package/cjs/persisters/persister-libsql/index.cjs.gz +0 -0
- package/cjs/persisters/persister-libsql/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-partykit-client/index.cjs +1 -0
- package/cjs/persisters/persister-partykit-client/index.cjs.gz +0 -0
- package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-partykit-server/index.cjs +1 -0
- package/cjs/persisters/persister-partykit-server/index.cjs.gz +0 -0
- package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-powersync/index.cjs +1 -0
- package/cjs/persisters/persister-powersync/index.cjs.gz +0 -0
- package/cjs/persisters/persister-powersync/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-remote/index.cjs +1 -0
- package/cjs/persisters/persister-remote/index.cjs.gz +0 -0
- package/cjs/persisters/persister-remote/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-sqlite-wasm/index.cjs +1 -0
- package/cjs/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
- package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-sqlite3/index.cjs +1 -0
- package/cjs/persisters/persister-sqlite3/index.cjs.gz +0 -0
- package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +1 -0
- package/cjs/persisters/persister-yjs/index.cjs +1 -0
- package/cjs/persisters/persister-yjs/index.cjs.gz +0 -0
- package/cjs/persisters/persister-yjs/with-schemas/index.cjs +1 -0
- package/cjs/persisters/with-schemas/index.cjs +1 -0
- package/cjs/queries/index.cjs +1 -0
- package/cjs/queries/index.cjs.gz +0 -0
- package/cjs/queries/with-schemas/index.cjs +1 -0
- package/cjs/relationships/index.cjs +1 -0
- package/cjs/relationships/index.cjs.gz +0 -0
- package/cjs/relationships/with-schemas/index.cjs +1 -0
- package/cjs/store/index.cjs +1 -0
- package/cjs/store/index.cjs.gz +0 -0
- package/cjs/store/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/index.cjs +1 -0
- package/cjs/synchronizers/index.cjs.gz +0 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-local/index.cjs.gz +0 -0
- package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
- package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs +1 -0
- package/cjs/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
- package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -0
- package/cjs/synchronizers/with-schemas/index.cjs +1 -0
- package/cjs/tools/index.cjs +1 -0
- package/cjs/tools/index.cjs.gz +0 -0
- package/cjs/tools/with-schemas/index.cjs +1 -0
- package/cjs/ui-react/index.cjs +1 -0
- package/cjs/ui-react/index.cjs.gz +0 -0
- package/cjs/ui-react/with-schemas/index.cjs +1 -0
- package/cjs/ui-react-dom/index.cjs +1 -0
- package/cjs/ui-react-dom/index.cjs.gz +0 -0
- package/cjs/ui-react-dom/with-schemas/index.cjs +1 -0
- package/cjs/ui-react-inspector/index.cjs +1 -0
- package/cjs/ui-react-inspector/index.cjs.gz +0 -0
- package/cjs/ui-react-inspector/with-schemas/index.cjs +1 -0
- package/cjs/with-schemas/index.cjs +1 -0
- package/cli/index.js +2 -0
- package/common/index.js +1 -0
- package/common/index.js.gz +0 -0
- package/common/with-schemas/index.js +1 -0
- package/debug/checkpoints/index.js +431 -0
- package/debug/checkpoints/with-schemas/index.js +431 -0
- package/debug/common/index.js +25 -0
- package/debug/common/with-schemas/index.js +25 -0
- package/debug/index.js +4102 -0
- package/debug/indexes/index.js +553 -0
- package/debug/indexes/with-schemas/index.js +553 -0
- package/debug/mergeable-store/index.js +2247 -0
- package/debug/mergeable-store/with-schemas/index.js +2247 -0
- package/debug/metrics/index.js +519 -0
- package/debug/metrics/with-schemas/index.js +519 -0
- package/debug/persisters/index.js +228 -0
- package/debug/persisters/persister-automerge/index.js +376 -0
- package/debug/persisters/persister-automerge/with-schemas/index.js +376 -0
- package/debug/persisters/persister-browser/index.js +279 -0
- package/debug/persisters/persister-browser/with-schemas/index.js +279 -0
- package/debug/persisters/persister-cr-sqlite-wasm/index.js +927 -0
- package/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +927 -0
- package/debug/persisters/persister-electric-sql/index.js +935 -0
- package/debug/persisters/persister-electric-sql/with-schemas/index.js +935 -0
- package/debug/persisters/persister-expo-sqlite/index.js +928 -0
- package/debug/persisters/persister-expo-sqlite/with-schemas/index.js +928 -0
- package/debug/persisters/persister-expo-sqlite-next/index.js +930 -0
- package/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +930 -0
- package/debug/persisters/persister-file/index.js +258 -0
- package/debug/persisters/persister-file/with-schemas/index.js +258 -0
- package/debug/persisters/persister-indexed-db/index.js +339 -0
- package/debug/persisters/persister-indexed-db/with-schemas/index.js +339 -0
- package/debug/persisters/persister-libsql/index.js +928 -0
- package/debug/persisters/persister-libsql/with-schemas/index.js +928 -0
- package/debug/persisters/persister-partykit-client/index.js +327 -0
- package/debug/persisters/persister-partykit-client/with-schemas/index.js +327 -0
- package/debug/persisters/persister-partykit-server/index.js +284 -0
- package/debug/persisters/persister-partykit-server/with-schemas/index.js +284 -0
- package/debug/persisters/persister-powersync/index.js +943 -0
- package/debug/persisters/persister-powersync/with-schemas/index.js +943 -0
- package/debug/persisters/persister-remote/index.js +285 -0
- package/debug/persisters/persister-remote/with-schemas/index.js +285 -0
- package/debug/persisters/persister-sqlite-wasm/index.js +936 -0
- package/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +936 -0
- package/debug/persisters/persister-sqlite3/index.js +938 -0
- package/debug/persisters/persister-sqlite3/with-schemas/index.js +938 -0
- package/debug/persisters/persister-yjs/index.js +424 -0
- package/debug/persisters/persister-yjs/with-schemas/index.js +424 -0
- package/debug/persisters/with-schemas/index.js +228 -0
- package/debug/queries/index.js +812 -0
- package/debug/queries/with-schemas/index.js +812 -0
- package/debug/relationships/index.js +529 -0
- package/debug/relationships/with-schemas/index.js +529 -0
- package/debug/store/index.js +1634 -0
- package/debug/store/with-schemas/index.js +1634 -0
- package/debug/synchronizers/index.js +464 -0
- package/debug/synchronizers/synchronizer-local/index.js +504 -0
- package/debug/synchronizers/synchronizer-local/with-schemas/index.js +504 -0
- package/debug/synchronizers/synchronizer-ws-client/index.js +527 -0
- package/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +527 -0
- package/debug/synchronizers/synchronizer-ws-server/index.js +241 -0
- package/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +241 -0
- package/debug/synchronizers/with-schemas/index.js +464 -0
- package/debug/tools/index.js +3298 -0
- package/debug/tools/with-schemas/index.js +3298 -0
- package/debug/ui-react/index.js +1984 -0
- package/debug/ui-react/with-schemas/index.js +1984 -0
- package/debug/ui-react-dom/index.js +789 -0
- package/debug/ui-react-dom/with-schemas/index.js +789 -0
- package/debug/ui-react-inspector/index.js +3281 -0
- package/debug/ui-react-inspector/with-schemas/index.js +3281 -0
- package/debug/with-schemas/index.js +4102 -0
- package/es6/checkpoints/index.js +1 -0
- package/es6/checkpoints/index.js.gz +0 -0
- package/es6/checkpoints/with-schemas/index.js +1 -0
- package/es6/common/index.js +1 -0
- package/es6/common/index.js.gz +0 -0
- package/es6/common/with-schemas/index.js +1 -0
- package/es6/debug/checkpoints/index.js +471 -0
- package/es6/debug/checkpoints/with-schemas/index.js +471 -0
- package/es6/debug/common/index.js +27 -0
- package/es6/debug/common/with-schemas/index.js +27 -0
- package/es6/debug/index.js +4358 -0
- package/es6/debug/indexes/index.js +600 -0
- package/es6/debug/indexes/with-schemas/index.js +600 -0
- package/es6/debug/mergeable-store/index.js +2347 -0
- package/es6/debug/mergeable-store/with-schemas/index.js +2347 -0
- package/es6/debug/metrics/index.js +572 -0
- package/es6/debug/metrics/with-schemas/index.js +572 -0
- package/es6/debug/persisters/index.js +300 -0
- package/es6/debug/persisters/persister-automerge/index.js +474 -0
- package/es6/debug/persisters/persister-automerge/with-schemas/index.js +474 -0
- package/es6/debug/persisters/persister-browser/index.js +381 -0
- package/es6/debug/persisters/persister-browser/with-schemas/index.js +381 -0
- package/es6/debug/persisters/persister-cr-sqlite-wasm/index.js +1254 -0
- package/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1254 -0
- package/es6/debug/persisters/persister-electric-sql/index.js +1262 -0
- package/es6/debug/persisters/persister-electric-sql/with-schemas/index.js +1262 -0
- package/es6/debug/persisters/persister-expo-sqlite/index.js +1254 -0
- package/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.js +1254 -0
- package/es6/debug/persisters/persister-expo-sqlite-next/index.js +1257 -0
- package/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +1257 -0
- package/es6/debug/persisters/persister-file/index.js +362 -0
- package/es6/debug/persisters/persister-file/with-schemas/index.js +362 -0
- package/es6/debug/persisters/persister-indexed-db/index.js +478 -0
- package/es6/debug/persisters/persister-indexed-db/with-schemas/index.js +478 -0
- package/es6/debug/persisters/persister-libsql/index.js +1255 -0
- package/es6/debug/persisters/persister-libsql/with-schemas/index.js +1255 -0
- package/es6/debug/persisters/persister-partykit-client/index.js +457 -0
- package/es6/debug/persisters/persister-partykit-client/with-schemas/index.js +457 -0
- package/es6/debug/persisters/persister-partykit-server/index.js +411 -0
- package/es6/debug/persisters/persister-partykit-server/with-schemas/index.js +411 -0
- package/es6/debug/persisters/persister-powersync/index.js +1310 -0
- package/es6/debug/persisters/persister-powersync/with-schemas/index.js +1310 -0
- package/es6/debug/persisters/persister-remote/index.js +387 -0
- package/es6/debug/persisters/persister-remote/with-schemas/index.js +387 -0
- package/es6/debug/persisters/persister-sqlite-wasm/index.js +1284 -0
- package/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +1284 -0
- package/es6/debug/persisters/persister-sqlite3/index.js +1264 -0
- package/es6/debug/persisters/persister-sqlite3/with-schemas/index.js +1264 -0
- package/es6/debug/persisters/persister-yjs/index.js +534 -0
- package/es6/debug/persisters/persister-yjs/with-schemas/index.js +534 -0
- package/es6/debug/persisters/with-schemas/index.js +300 -0
- package/es6/debug/queries/index.js +857 -0
- package/es6/debug/queries/with-schemas/index.js +857 -0
- package/es6/debug/relationships/index.js +589 -0
- package/es6/debug/relationships/with-schemas/index.js +589 -0
- package/es6/debug/store/index.js +1714 -0
- package/es6/debug/store/with-schemas/index.js +1714 -0
- package/es6/debug/synchronizers/index.js +592 -0
- package/es6/debug/synchronizers/synchronizer-local/index.js +628 -0
- package/es6/debug/synchronizers/synchronizer-local/with-schemas/index.js +628 -0
- package/es6/debug/synchronizers/synchronizer-ws-client/index.js +679 -0
- package/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +679 -0
- package/es6/debug/synchronizers/synchronizer-ws-server/index.js +290 -0
- package/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +290 -0
- package/es6/debug/synchronizers/with-schemas/index.js +592 -0
- package/es6/debug/tools/index.js +3421 -0
- package/es6/debug/tools/with-schemas/index.js +3421 -0
- package/es6/debug/ui-react/index.js +2188 -0
- package/es6/debug/ui-react/with-schemas/index.js +2188 -0
- package/es6/debug/ui-react-dom/index.js +907 -0
- package/es6/debug/ui-react-dom/with-schemas/index.js +907 -0
- package/es6/debug/ui-react-inspector/index.js +3659 -0
- package/es6/debug/ui-react-inspector/with-schemas/index.js +3659 -0
- package/es6/debug/with-schemas/index.js +4358 -0
- package/es6/index.js +1 -0
- package/es6/index.js.gz +0 -0
- package/es6/indexes/index.js +1 -0
- package/es6/indexes/index.js.gz +0 -0
- package/es6/indexes/with-schemas/index.js +1 -0
- package/es6/mergeable-store/index.js +1 -0
- package/es6/mergeable-store/index.js.gz +0 -0
- package/es6/mergeable-store/with-schemas/index.js +1 -0
- package/es6/metrics/index.js +1 -0
- package/es6/metrics/index.js.gz +0 -0
- package/es6/metrics/with-schemas/index.js +1 -0
- package/es6/persisters/index.js +1 -0
- package/es6/persisters/index.js.gz +0 -0
- package/es6/persisters/persister-automerge/index.js +1 -0
- package/es6/persisters/persister-automerge/index.js.gz +0 -0
- package/es6/persisters/persister-automerge/with-schemas/index.js +1 -0
- package/es6/persisters/persister-browser/index.js +1 -0
- package/es6/persisters/persister-browser/index.js.gz +0 -0
- package/es6/persisters/persister-browser/with-schemas/index.js +1 -0
- package/es6/persisters/persister-cr-sqlite-wasm/index.js +1 -0
- package/es6/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
- package/es6/persisters/persister-electric-sql/index.js +1 -0
- package/es6/persisters/persister-electric-sql/index.js.gz +0 -0
- package/es6/persisters/persister-electric-sql/with-schemas/index.js +1 -0
- package/es6/persisters/persister-expo-sqlite/index.js +1 -0
- package/es6/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
- package/es6/persisters/persister-expo-sqlite-next/index.js +1 -0
- package/es6/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
- package/es6/persisters/persister-file/index.js +1 -0
- package/es6/persisters/persister-file/index.js.gz +0 -0
- package/es6/persisters/persister-file/with-schemas/index.js +1 -0
- package/es6/persisters/persister-indexed-db/index.js +1 -0
- package/es6/persisters/persister-indexed-db/index.js.gz +0 -0
- package/es6/persisters/persister-indexed-db/with-schemas/index.js +1 -0
- package/es6/persisters/persister-libsql/index.js +1 -0
- package/es6/persisters/persister-libsql/index.js.gz +0 -0
- package/es6/persisters/persister-libsql/with-schemas/index.js +1 -0
- package/es6/persisters/persister-partykit-client/index.js +1 -0
- package/es6/persisters/persister-partykit-client/index.js.gz +0 -0
- package/es6/persisters/persister-partykit-client/with-schemas/index.js +1 -0
- package/es6/persisters/persister-partykit-server/index.js +1 -0
- package/es6/persisters/persister-partykit-server/index.js.gz +0 -0
- package/es6/persisters/persister-partykit-server/with-schemas/index.js +1 -0
- package/es6/persisters/persister-powersync/index.js +1 -0
- package/es6/persisters/persister-powersync/index.js.gz +0 -0
- package/es6/persisters/persister-powersync/with-schemas/index.js +1 -0
- package/es6/persisters/persister-remote/index.js +1 -0
- package/es6/persisters/persister-remote/index.js.gz +0 -0
- package/es6/persisters/persister-remote/with-schemas/index.js +1 -0
- package/es6/persisters/persister-sqlite-wasm/index.js +1 -0
- package/es6/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
- package/es6/persisters/persister-sqlite3/index.js +1 -0
- package/es6/persisters/persister-sqlite3/index.js.gz +0 -0
- package/es6/persisters/persister-sqlite3/with-schemas/index.js +1 -0
- package/es6/persisters/persister-yjs/index.js +1 -0
- package/es6/persisters/persister-yjs/index.js.gz +0 -0
- package/es6/persisters/persister-yjs/with-schemas/index.js +1 -0
- package/es6/persisters/with-schemas/index.js +1 -0
- package/es6/queries/index.js +1 -0
- package/es6/queries/index.js.gz +0 -0
- package/es6/queries/with-schemas/index.js +1 -0
- package/es6/relationships/index.js +1 -0
- package/es6/relationships/index.js.gz +0 -0
- package/es6/relationships/with-schemas/index.js +1 -0
- package/es6/store/index.js +1 -0
- package/es6/store/index.js.gz +0 -0
- package/es6/store/with-schemas/index.js +1 -0
- package/es6/synchronizers/index.js +1 -0
- package/es6/synchronizers/index.js.gz +0 -0
- package/es6/synchronizers/synchronizer-local/index.js +1 -0
- package/es6/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/es6/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/es6/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/es6/synchronizers/synchronizer-ws-server/index.js +1 -0
- package/es6/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
- package/es6/synchronizers/with-schemas/index.js +1 -0
- package/es6/tools/index.js +1 -0
- package/es6/tools/index.js.gz +0 -0
- package/es6/tools/with-schemas/index.js +1 -0
- package/es6/ui-react/index.js +1 -0
- package/es6/ui-react/index.js.gz +0 -0
- package/es6/ui-react/with-schemas/index.js +1 -0
- package/es6/ui-react-dom/index.js +1 -0
- package/es6/ui-react-dom/index.js.gz +0 -0
- package/es6/ui-react-dom/with-schemas/index.js +1 -0
- package/es6/ui-react-inspector/index.js +1 -0
- package/es6/ui-react-inspector/index.js.gz +0 -0
- package/es6/ui-react-inspector/with-schemas/index.js +1 -0
- package/es6/with-schemas/index.js +1 -0
- package/index.js +1 -0
- package/index.js.gz +0 -0
- package/indexes/index.js +1 -0
- package/indexes/index.js.gz +0 -0
- package/indexes/with-schemas/index.js +1 -0
- package/mergeable-store/index.js +1 -0
- package/mergeable-store/index.js.gz +0 -0
- package/mergeable-store/with-schemas/index.js +1 -0
- package/metrics/index.js +1 -0
- package/metrics/index.js.gz +0 -0
- package/metrics/with-schemas/index.js +1 -0
- package/package.json +3571 -279
- package/persisters/index.js +1 -0
- package/persisters/index.js.gz +0 -0
- package/persisters/persister-automerge/index.js +1 -0
- package/persisters/persister-automerge/index.js.gz +0 -0
- package/persisters/persister-automerge/with-schemas/index.js +1 -0
- package/persisters/persister-browser/index.js +1 -0
- package/persisters/persister-browser/index.js.gz +0 -0
- package/persisters/persister-browser/with-schemas/index.js +1 -0
- package/persisters/persister-cr-sqlite-wasm/index.js +1 -0
- package/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
- package/persisters/persister-electric-sql/index.js +1 -0
- package/persisters/persister-electric-sql/index.js.gz +0 -0
- package/persisters/persister-electric-sql/with-schemas/index.js +1 -0
- package/persisters/persister-expo-sqlite/index.js +1 -0
- package/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
- package/persisters/persister-expo-sqlite-next/index.js +1 -0
- package/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
- package/persisters/persister-file/index.js +1 -0
- package/persisters/persister-file/index.js.gz +0 -0
- package/persisters/persister-file/with-schemas/index.js +1 -0
- package/persisters/persister-indexed-db/index.js +1 -0
- package/persisters/persister-indexed-db/index.js.gz +0 -0
- package/persisters/persister-indexed-db/with-schemas/index.js +1 -0
- package/persisters/persister-libsql/index.js +1 -0
- package/persisters/persister-libsql/index.js.gz +0 -0
- package/persisters/persister-libsql/with-schemas/index.js +1 -0
- package/persisters/persister-partykit-client/index.js +1 -0
- package/persisters/persister-partykit-client/index.js.gz +0 -0
- package/persisters/persister-partykit-client/with-schemas/index.js +1 -0
- package/persisters/persister-partykit-server/index.js +1 -0
- package/persisters/persister-partykit-server/index.js.gz +0 -0
- package/persisters/persister-partykit-server/with-schemas/index.js +1 -0
- package/persisters/persister-powersync/index.js +1 -0
- package/persisters/persister-powersync/index.js.gz +0 -0
- package/persisters/persister-powersync/with-schemas/index.js +1 -0
- package/persisters/persister-remote/index.js +1 -0
- package/persisters/persister-remote/index.js.gz +0 -0
- package/persisters/persister-remote/with-schemas/index.js +1 -0
- package/persisters/persister-sqlite-wasm/index.js +1 -0
- package/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
- package/persisters/persister-sqlite3/index.js +1 -0
- package/persisters/persister-sqlite3/index.js.gz +0 -0
- package/persisters/persister-sqlite3/with-schemas/index.js +1 -0
- package/persisters/persister-yjs/index.js +1 -0
- package/persisters/persister-yjs/index.js.gz +0 -0
- package/persisters/persister-yjs/with-schemas/index.js +1 -0
- package/persisters/with-schemas/index.js +1 -0
- package/queries/index.js +1 -0
- package/queries/index.js.gz +0 -0
- package/queries/with-schemas/index.js +1 -0
- package/readme.md +22 -4
- package/relationships/index.js +1 -0
- package/relationships/index.js.gz +0 -0
- package/relationships/with-schemas/index.js +1 -0
- package/releases.md +452 -0
- package/store/index.js +1 -0
- package/store/index.js.gz +0 -0
- package/store/with-schemas/index.js +1 -0
- package/synchronizers/index.js +1 -0
- package/synchronizers/index.js.gz +0 -0
- package/synchronizers/synchronizer-local/index.js +1 -0
- package/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/synchronizers/synchronizer-ws-server/index.js +1 -0
- package/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
- package/synchronizers/with-schemas/index.js +1 -0
- package/tools/index.js +1 -0
- package/tools/index.js.gz +0 -0
- package/tools/with-schemas/index.js +1 -0
- package/ui-react/index.js +1 -0
- package/ui-react/index.js.gz +0 -0
- package/ui-react/with-schemas/index.js +1 -0
- package/ui-react-dom/index.js +1 -0
- package/ui-react-dom/index.js.gz +0 -0
- package/ui-react-dom/with-schemas/index.js +1 -0
- package/ui-react-inspector/index.js +1 -0
- package/ui-react-inspector/index.js.gz +0 -0
- package/ui-react-inspector/with-schemas/index.js +1 -0
- package/umd/checkpoints/index.js +1 -0
- package/umd/checkpoints/index.js.gz +0 -0
- package/umd/checkpoints/with-schemas/index.js +1 -0
- package/umd/common/index.js +1 -0
- package/umd/common/index.js.gz +0 -0
- package/umd/common/with-schemas/index.js +1 -0
- package/umd/debug/checkpoints/index.js +450 -0
- package/umd/debug/checkpoints/with-schemas/index.js +450 -0
- package/umd/debug/common/index.js +38 -0
- package/umd/debug/common/with-schemas/index.js +38 -0
- package/umd/debug/index.js +4192 -0
- package/umd/debug/indexes/index.js +578 -0
- package/umd/debug/indexes/with-schemas/index.js +578 -0
- package/umd/debug/mergeable-store/index.js +2312 -0
- package/umd/debug/mergeable-store/with-schemas/index.js +2312 -0
- package/umd/debug/metrics/index.js +544 -0
- package/umd/debug/metrics/with-schemas/index.js +544 -0
- package/umd/debug/persisters/index.js +242 -0
- package/umd/debug/persisters/persister-automerge/index.js +390 -0
- package/umd/debug/persisters/persister-automerge/with-schemas/index.js +390 -0
- package/umd/debug/persisters/persister-browser/index.js +296 -0
- package/umd/debug/persisters/persister-browser/with-schemas/index.js +296 -0
- package/umd/debug/persisters/persister-cr-sqlite-wasm/index.js +959 -0
- package/umd/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +959 -0
- package/umd/debug/persisters/persister-electric-sql/index.js +967 -0
- package/umd/debug/persisters/persister-electric-sql/with-schemas/index.js +967 -0
- package/umd/debug/persisters/persister-expo-sqlite/index.js +960 -0
- package/umd/debug/persisters/persister-expo-sqlite/with-schemas/index.js +960 -0
- package/umd/debug/persisters/persister-expo-sqlite-next/index.js +963 -0
- package/umd/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +963 -0
- package/umd/debug/persisters/persister-file/index.js +280 -0
- package/umd/debug/persisters/persister-file/with-schemas/index.js +280 -0
- package/umd/debug/persisters/persister-indexed-db/index.js +354 -0
- package/umd/debug/persisters/persister-indexed-db/with-schemas/index.js +354 -0
- package/umd/debug/persisters/persister-libsql/index.js +960 -0
- package/umd/debug/persisters/persister-libsql/with-schemas/index.js +960 -0
- package/umd/debug/persisters/persister-partykit-client/index.js +341 -0
- package/umd/debug/persisters/persister-partykit-client/with-schemas/index.js +341 -0
- package/umd/debug/persisters/persister-partykit-server/index.js +312 -0
- package/umd/debug/persisters/persister-partykit-server/with-schemas/index.js +312 -0
- package/umd/debug/persisters/persister-powersync/index.js +977 -0
- package/umd/debug/persisters/persister-powersync/with-schemas/index.js +977 -0
- package/umd/debug/persisters/persister-remote/index.js +299 -0
- package/umd/debug/persisters/persister-remote/with-schemas/index.js +299 -0
- package/umd/debug/persisters/persister-sqlite-wasm/index.js +968 -0
- package/umd/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +968 -0
- package/umd/debug/persisters/persister-sqlite3/index.js +970 -0
- package/umd/debug/persisters/persister-sqlite3/with-schemas/index.js +970 -0
- package/umd/debug/persisters/persister-yjs/index.js +439 -0
- package/umd/debug/persisters/persister-yjs/with-schemas/index.js +439 -0
- package/umd/debug/persisters/with-schemas/index.js +242 -0
- package/umd/debug/queries/index.js +828 -0
- package/umd/debug/queries/with-schemas/index.js +828 -0
- package/umd/debug/relationships/index.js +551 -0
- package/umd/debug/relationships/with-schemas/index.js +551 -0
- package/umd/debug/store/index.js +1686 -0
- package/umd/debug/store/with-schemas/index.js +1686 -0
- package/umd/debug/synchronizers/index.js +482 -0
- package/umd/debug/synchronizers/synchronizer-local/index.js +522 -0
- package/umd/debug/synchronizers/synchronizer-local/with-schemas/index.js +522 -0
- package/umd/debug/synchronizers/synchronizer-ws-client/index.js +547 -0
- package/umd/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +547 -0
- package/umd/debug/synchronizers/synchronizer-ws-server/index.js +261 -0
- package/umd/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +261 -0
- package/umd/debug/synchronizers/with-schemas/index.js +482 -0
- package/umd/debug/tools/index.js +3351 -0
- package/umd/debug/tools/with-schemas/index.js +3351 -0
- package/umd/debug/ui-react/index.js +2036 -0
- package/umd/debug/ui-react/with-schemas/index.js +2036 -0
- package/umd/debug/ui-react-dom/index.js +802 -0
- package/umd/debug/ui-react-dom/with-schemas/index.js +802 -0
- package/umd/debug/ui-react-inspector/index.js +3342 -0
- package/umd/debug/ui-react-inspector/with-schemas/index.js +3342 -0
- package/umd/debug/with-schemas/index.js +4192 -0
- package/umd/es6/checkpoints/index.js +1 -0
- package/umd/es6/checkpoints/index.js.gz +0 -0
- package/umd/es6/checkpoints/with-schemas/index.js +1 -0
- package/umd/es6/common/index.js +1 -0
- package/umd/es6/common/index.js.gz +0 -0
- package/umd/es6/common/with-schemas/index.js +1 -0
- package/umd/es6/debug/checkpoints/index.js +492 -0
- package/umd/es6/debug/checkpoints/with-schemas/index.js +492 -0
- package/umd/es6/debug/common/index.js +40 -0
- package/umd/es6/debug/common/with-schemas/index.js +40 -0
- package/umd/es6/debug/index.js +4456 -0
- package/umd/es6/debug/indexes/index.js +627 -0
- package/umd/es6/debug/indexes/with-schemas/index.js +627 -0
- package/umd/es6/debug/mergeable-store/index.js +2418 -0
- package/umd/es6/debug/mergeable-store/with-schemas/index.js +2418 -0
- package/umd/es6/debug/metrics/index.js +599 -0
- package/umd/es6/debug/metrics/with-schemas/index.js +599 -0
- package/umd/es6/debug/persisters/index.js +316 -0
- package/umd/es6/debug/persisters/persister-automerge/index.js +490 -0
- package/umd/es6/debug/persisters/persister-automerge/with-schemas/index.js +490 -0
- package/umd/es6/debug/persisters/persister-browser/index.js +400 -0
- package/umd/es6/debug/persisters/persister-browser/with-schemas/index.js +400 -0
- package/umd/es6/debug/persisters/persister-cr-sqlite-wasm/index.js +1295 -0
- package/umd/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1295 -0
- package/umd/es6/debug/persisters/persister-electric-sql/index.js +1303 -0
- package/umd/es6/debug/persisters/persister-electric-sql/with-schemas/index.js +1303 -0
- package/umd/es6/debug/persisters/persister-expo-sqlite/index.js +1295 -0
- package/umd/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.js +1295 -0
- package/umd/es6/debug/persisters/persister-expo-sqlite-next/index.js +1299 -0
- package/umd/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +1299 -0
- package/umd/es6/debug/persisters/persister-file/index.js +382 -0
- package/umd/es6/debug/persisters/persister-file/with-schemas/index.js +382 -0
- package/umd/es6/debug/persisters/persister-indexed-db/index.js +495 -0
- package/umd/es6/debug/persisters/persister-indexed-db/with-schemas/index.js +495 -0
- package/umd/es6/debug/persisters/persister-libsql/index.js +1296 -0
- package/umd/es6/debug/persisters/persister-libsql/with-schemas/index.js +1296 -0
- package/umd/es6/debug/persisters/persister-partykit-client/index.js +473 -0
- package/umd/es6/debug/persisters/persister-partykit-client/with-schemas/index.js +473 -0
- package/umd/es6/debug/persisters/persister-partykit-server/index.js +432 -0
- package/umd/es6/debug/persisters/persister-partykit-server/with-schemas/index.js +432 -0
- package/umd/es6/debug/persisters/persister-powersync/index.js +1355 -0
- package/umd/es6/debug/persisters/persister-powersync/with-schemas/index.js +1355 -0
- package/umd/es6/debug/persisters/persister-remote/index.js +403 -0
- package/umd/es6/debug/persisters/persister-remote/with-schemas/index.js +403 -0
- package/umd/es6/debug/persisters/persister-sqlite-wasm/index.js +1329 -0
- package/umd/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +1329 -0
- package/umd/es6/debug/persisters/persister-sqlite3/index.js +1305 -0
- package/umd/es6/debug/persisters/persister-sqlite3/with-schemas/index.js +1305 -0
- package/umd/es6/debug/persisters/persister-yjs/index.js +550 -0
- package/umd/es6/debug/persisters/persister-yjs/with-schemas/index.js +550 -0
- package/umd/es6/debug/persisters/with-schemas/index.js +316 -0
- package/umd/es6/debug/queries/index.js +875 -0
- package/umd/es6/debug/queries/with-schemas/index.js +875 -0
- package/umd/es6/debug/relationships/index.js +613 -0
- package/umd/es6/debug/relationships/with-schemas/index.js +613 -0
- package/umd/es6/debug/store/index.js +1770 -0
- package/umd/es6/debug/store/with-schemas/index.js +1770 -0
- package/umd/es6/debug/synchronizers/index.js +616 -0
- package/umd/es6/debug/synchronizers/synchronizer-local/index.js +652 -0
- package/umd/es6/debug/synchronizers/synchronizer-local/with-schemas/index.js +652 -0
- package/umd/es6/debug/synchronizers/synchronizer-ws-client/index.js +705 -0
- package/umd/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +705 -0
- package/umd/es6/debug/synchronizers/synchronizer-ws-server/index.js +314 -0
- package/umd/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +314 -0
- package/umd/es6/debug/synchronizers/with-schemas/index.js +616 -0
- package/umd/es6/debug/tools/index.js +3481 -0
- package/umd/es6/debug/tools/with-schemas/index.js +3481 -0
- package/umd/es6/debug/ui-react/index.js +2248 -0
- package/umd/es6/debug/ui-react/with-schemas/index.js +2248 -0
- package/umd/es6/debug/ui-react-dom/index.js +921 -0
- package/umd/es6/debug/ui-react-dom/with-schemas/index.js +921 -0
- package/umd/es6/debug/ui-react-inspector/index.js +3735 -0
- package/umd/es6/debug/ui-react-inspector/with-schemas/index.js +3735 -0
- package/umd/es6/debug/with-schemas/index.js +4456 -0
- package/umd/es6/index.js +1 -0
- package/umd/es6/index.js.gz +0 -0
- package/umd/es6/indexes/index.js +1 -0
- package/umd/es6/indexes/index.js.gz +0 -0
- package/umd/es6/indexes/with-schemas/index.js +1 -0
- package/umd/es6/mergeable-store/index.js +1 -0
- package/umd/es6/mergeable-store/index.js.gz +0 -0
- package/umd/es6/mergeable-store/with-schemas/index.js +1 -0
- package/umd/es6/metrics/index.js +1 -0
- package/umd/es6/metrics/index.js.gz +0 -0
- package/umd/es6/metrics/with-schemas/index.js +1 -0
- package/umd/es6/persisters/index.js +1 -0
- package/umd/es6/persisters/index.js.gz +0 -0
- package/umd/es6/persisters/persister-automerge/index.js +1 -0
- package/umd/es6/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/es6/persisters/persister-automerge/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-browser/index.js +1 -0
- package/umd/es6/persisters/persister-browser/index.js.gz +0 -0
- package/umd/es6/persisters/persister-browser/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +1 -0
- package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-electric-sql/index.js +1 -0
- package/umd/es6/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-expo-sqlite/index.js +1 -0
- package/umd/es6/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-expo-sqlite-next/index.js +1 -0
- package/umd/es6/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/umd/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-file/index.js +1 -0
- package/umd/es6/persisters/persister-file/index.js.gz +0 -0
- package/umd/es6/persisters/persister-file/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-indexed-db/index.js +1 -0
- package/umd/es6/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-libsql/index.js +1 -0
- package/umd/es6/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/es6/persisters/persister-libsql/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-partykit-client/index.js +1 -0
- package/umd/es6/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-partykit-server/index.js +1 -0
- package/umd/es6/persisters/persister-partykit-server/index.js.gz +0 -0
- package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-powersync/index.js +1 -0
- package/umd/es6/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/es6/persisters/persister-powersync/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-remote/index.js +1 -0
- package/umd/es6/persisters/persister-remote/index.js.gz +0 -0
- package/umd/es6/persisters/persister-remote/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-sqlite-wasm/index.js +1 -0
- package/umd/es6/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-sqlite3/index.js +1 -0
- package/umd/es6/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +1 -0
- package/umd/es6/persisters/persister-yjs/index.js +1 -0
- package/umd/es6/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/es6/persisters/persister-yjs/with-schemas/index.js +1 -0
- package/umd/es6/persisters/with-schemas/index.js +1 -0
- package/umd/es6/queries/index.js +1 -0
- package/umd/es6/queries/index.js.gz +0 -0
- package/umd/es6/queries/with-schemas/index.js +1 -0
- package/umd/es6/relationships/index.js +1 -0
- package/umd/es6/relationships/index.js.gz +0 -0
- package/umd/es6/relationships/with-schemas/index.js +1 -0
- package/umd/es6/store/index.js +1 -0
- package/umd/es6/store/index.js.gz +0 -0
- package/umd/es6/store/with-schemas/index.js +1 -0
- package/umd/es6/synchronizers/index.js +1 -0
- package/umd/es6/synchronizers/index.js.gz +0 -0
- package/umd/es6/synchronizers/synchronizer-local/index.js +1 -0
- package/umd/es6/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/umd/es6/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js +1 -0
- package/umd/es6/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
- package/umd/es6/synchronizers/with-schemas/index.js +1 -0
- package/umd/es6/tools/index.js +1 -0
- package/umd/es6/tools/index.js.gz +0 -0
- package/umd/es6/tools/with-schemas/index.js +1 -0
- package/umd/es6/ui-react/index.js +1 -0
- package/umd/es6/ui-react/index.js.gz +0 -0
- package/umd/es6/ui-react/with-schemas/index.js +1 -0
- package/umd/es6/ui-react-dom/index.js +1 -0
- package/umd/es6/ui-react-dom/index.js.gz +0 -0
- package/umd/es6/ui-react-dom/with-schemas/index.js +1 -0
- package/umd/es6/ui-react-inspector/index.js +1 -0
- package/umd/es6/ui-react-inspector/index.js.gz +0 -0
- package/umd/es6/ui-react-inspector/with-schemas/index.js +1 -0
- package/umd/es6/with-schemas/index.js +1 -0
- package/umd/index.js +1 -0
- package/umd/index.js.gz +0 -0
- package/umd/indexes/index.js +1 -0
- package/umd/indexes/index.js.gz +0 -0
- package/umd/indexes/with-schemas/index.js +1 -0
- package/umd/mergeable-store/index.js +1 -0
- package/umd/mergeable-store/index.js.gz +0 -0
- package/umd/mergeable-store/with-schemas/index.js +1 -0
- package/umd/metrics/index.js +1 -0
- package/umd/metrics/index.js.gz +0 -0
- package/umd/metrics/with-schemas/index.js +1 -0
- package/umd/persisters/index.js +1 -0
- package/umd/persisters/index.js.gz +0 -0
- package/umd/persisters/persister-automerge/index.js +1 -0
- package/umd/persisters/persister-automerge/index.js.gz +0 -0
- package/umd/persisters/persister-automerge/with-schemas/index.js +1 -0
- package/umd/persisters/persister-browser/index.js +1 -0
- package/umd/persisters/persister-browser/index.js.gz +0 -0
- package/umd/persisters/persister-browser/with-schemas/index.js +1 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js +1 -0
- package/umd/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
- package/umd/persisters/persister-electric-sql/index.js +1 -0
- package/umd/persisters/persister-electric-sql/index.js.gz +0 -0
- package/umd/persisters/persister-electric-sql/with-schemas/index.js +1 -0
- package/umd/persisters/persister-expo-sqlite/index.js +1 -0
- package/umd/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
- package/umd/persisters/persister-expo-sqlite-next/index.js +1 -0
- package/umd/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
- package/umd/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
- package/umd/persisters/persister-file/index.js +1 -0
- package/umd/persisters/persister-file/index.js.gz +0 -0
- package/umd/persisters/persister-file/with-schemas/index.js +1 -0
- package/umd/persisters/persister-indexed-db/index.js +1 -0
- package/umd/persisters/persister-indexed-db/index.js.gz +0 -0
- package/umd/persisters/persister-indexed-db/with-schemas/index.js +1 -0
- package/umd/persisters/persister-libsql/index.js +1 -0
- package/umd/persisters/persister-libsql/index.js.gz +0 -0
- package/umd/persisters/persister-libsql/with-schemas/index.js +1 -0
- package/umd/persisters/persister-partykit-client/index.js +1 -0
- package/umd/persisters/persister-partykit-client/index.js.gz +0 -0
- package/umd/persisters/persister-partykit-client/with-schemas/index.js +1 -0
- package/umd/persisters/persister-partykit-server/index.js +1 -0
- package/umd/persisters/persister-partykit-server/index.js.gz +0 -0
- package/umd/persisters/persister-partykit-server/with-schemas/index.js +1 -0
- package/umd/persisters/persister-powersync/index.js +1 -0
- package/umd/persisters/persister-powersync/index.js.gz +0 -0
- package/umd/persisters/persister-powersync/with-schemas/index.js +1 -0
- package/umd/persisters/persister-remote/index.js +1 -0
- package/umd/persisters/persister-remote/index.js.gz +0 -0
- package/umd/persisters/persister-remote/with-schemas/index.js +1 -0
- package/umd/persisters/persister-sqlite-wasm/index.js +1 -0
- package/umd/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
- package/umd/persisters/persister-sqlite3/index.js +1 -0
- package/umd/persisters/persister-sqlite3/index.js.gz +0 -0
- package/umd/persisters/persister-sqlite3/with-schemas/index.js +1 -0
- package/umd/persisters/persister-yjs/index.js +1 -0
- package/umd/persisters/persister-yjs/index.js.gz +0 -0
- package/umd/persisters/persister-yjs/with-schemas/index.js +1 -0
- package/umd/persisters/with-schemas/index.js +1 -0
- package/umd/queries/index.js +1 -0
- package/umd/queries/index.js.gz +0 -0
- package/umd/queries/with-schemas/index.js +1 -0
- package/umd/relationships/index.js +1 -0
- package/umd/relationships/index.js.gz +0 -0
- package/umd/relationships/with-schemas/index.js +1 -0
- package/umd/store/index.js +1 -0
- package/umd/store/index.js.gz +0 -0
- package/umd/store/with-schemas/index.js +1 -0
- package/umd/synchronizers/index.js +1 -0
- package/umd/synchronizers/index.js.gz +0 -0
- package/umd/synchronizers/synchronizer-local/index.js +1 -0
- package/umd/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-server/index.js +1 -0
- package/umd/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
- package/umd/synchronizers/with-schemas/index.js +1 -0
- package/umd/tools/index.js +1 -0
- package/umd/tools/index.js.gz +0 -0
- package/umd/tools/with-schemas/index.js +1 -0
- package/umd/ui-react/index.js +1 -0
- package/umd/ui-react/index.js.gz +0 -0
- package/umd/ui-react/with-schemas/index.js +1 -0
- package/umd/ui-react-dom/index.js +1 -0
- package/umd/ui-react-dom/index.js.gz +0 -0
- package/umd/ui-react-dom/with-schemas/index.js +1 -0
- package/umd/ui-react-inspector/index.js +1 -0
- package/umd/ui-react-inspector/index.js.gz +0 -0
- package/umd/ui-react-inspector/with-schemas/index.js +1 -0
- package/umd/with-schemas/index.js +1 -0
- package/with-schemas/index.js +1 -0
- package/bin/cli.js +0 -2
- package/lib/checkpoints.js +0 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +0 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/common.cjs +0 -1
- package/lib/cjs/common.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +0 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/mergeable-store.cjs +0 -1
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +0 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +0 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +0 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +0 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-electric-sql.cjs +0 -1
- package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +0 -1
- package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +0 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +0 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +0 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +0 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +0 -1
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +0 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +0 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +0 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +0 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +0 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +0 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +0 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +0 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +0 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +0 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +0 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +0 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +0 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +0 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/common.cjs +0 -1
- package/lib/cjs-es6/common.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +0 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +0 -1
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +0 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +0 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +0 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +0 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +0 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +0 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +0 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +0 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +0 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +0 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +0 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/common.js +0 -1
- package/lib/common.js.gz +0 -0
- package/lib/debug/checkpoints.js +0 -429
- package/lib/debug/common.js +0 -4
- package/lib/debug/indexes.js +0 -546
- package/lib/debug/mergeable-store.js +0 -1892
- package/lib/debug/metrics.js +0 -518
- package/lib/debug/persisters/persister-automerge.js +0 -341
- package/lib/debug/persisters/persister-browser.js +0 -228
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +0 -850
- package/lib/debug/persisters/persister-electric-sql.js +0 -858
- package/lib/debug/persisters/persister-expo-sqlite-next.js +0 -853
- package/lib/debug/persisters/persister-expo-sqlite.js +0 -851
- package/lib/debug/persisters/persister-file.js +0 -213
- package/lib/debug/persisters/persister-indexed-db.js +0 -296
- package/lib/debug/persisters/persister-partykit-client.js +0 -284
- package/lib/debug/persisters/persister-partykit-server.js +0 -292
- package/lib/debug/persisters/persister-remote.js +0 -241
- package/lib/debug/persisters/persister-sqlite-wasm.js +0 -859
- package/lib/debug/persisters/persister-sqlite3.js +0 -861
- package/lib/debug/persisters/persister-yjs.js +0 -386
- package/lib/debug/persisters.js +0 -184
- package/lib/debug/queries.js +0 -810
- package/lib/debug/relationships.js +0 -528
- package/lib/debug/store.js +0 -1614
- package/lib/debug/tinybase.js +0 -3507
- package/lib/debug/tools.js +0 -3299
- package/lib/debug/ui-react-dom.js +0 -3251
- package/lib/debug/ui-react.js +0 -1944
- package/lib/es6/checkpoints.js +0 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/common.js +0 -1
- package/lib/es6/common.js.gz +0 -0
- package/lib/es6/indexes.js +0 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/mergeable-store.js +0 -1
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/metrics.js +0 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +0 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +0 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +0 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-electric-sql.js +0 -1
- package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite-next.js +0 -1
- package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +0 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +0 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +0 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +0 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +0 -1
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +0 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +0 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +0 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +0 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +0 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +0 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +0 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +0 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +0 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +0 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +0 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +0 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +0 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +0 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/mergeable-store.js +0 -1
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/metrics.js +0 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +0 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +0 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +0 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-electric-sql.js +0 -1
- package/lib/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite-next.js +0 -1
- package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +0 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +0 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +0 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +0 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +0 -1
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-remote.js +0 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +0 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +0 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +0 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +0 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +0 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +0 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +0 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +0 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +0 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/checkpoints.d.ts +0 -986
- package/lib/types/common.d.ts +0 -106
- package/lib/types/indexes.d.ts +0 -993
- package/lib/types/mergeable-store.d.ts +0 -55
- package/lib/types/metrics.d.ts +0 -856
- package/lib/types/persisters/persister-automerge.d.ts +0 -146
- package/lib/types/persisters/persister-browser.d.ts +0 -155
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +0 -142
- package/lib/types/persisters/persister-electric-sql.d.ts +0 -165
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +0 -169
- package/lib/types/persisters/persister-expo-sqlite.d.ts +0 -170
- package/lib/types/persisters/persister-file.d.ts +0 -78
- package/lib/types/persisters/persister-indexed-db.d.ts +0 -107
- package/lib/types/persisters/persister-partykit-client.d.ts +0 -175
- package/lib/types/persisters/persister-partykit-server.d.ts +0 -604
- package/lib/types/persisters/persister-remote.d.ts +0 -104
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +0 -154
- package/lib/types/persisters/persister-sqlite3.d.ts +0 -155
- package/lib/types/persisters/persister-yjs.d.ts +0 -142
- package/lib/types/persisters.d.ts +0 -1137
- package/lib/types/queries.d.ts +0 -3506
- package/lib/types/relationships.d.ts +0 -1242
- package/lib/types/store.d.ts +0 -6967
- package/lib/types/tinybase.d.ts +0 -14
- package/lib/types/tools.d.ts +0 -521
- package/lib/types/ui-react-dom.d.ts +0 -1705
- package/lib/types/ui-react.d.ts +0 -13695
- package/lib/types/with-schemas/checkpoints.d.ts +0 -1078
- package/lib/types/with-schemas/common.d.ts +0 -106
- package/lib/types/with-schemas/indexes.d.ts +0 -1131
- package/lib/types/with-schemas/internal/queries.d.ts +0 -16
- package/lib/types/with-schemas/internal/store.d.ts +0 -106
- package/lib/types/with-schemas/internal/ui-react.d.ts +0 -806
- package/lib/types/with-schemas/mergeable-store.d.ts +0 -85
- package/lib/types/with-schemas/metrics.d.ts +0 -936
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +0 -158
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +0 -177
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +0 -155
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +0 -178
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +0 -182
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +0 -183
- package/lib/types/with-schemas/persisters/persister-file.d.ts +0 -89
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +0 -119
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +0 -187
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +0 -652
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +0 -117
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +0 -168
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +0 -168
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +0 -154
- package/lib/types/with-schemas/persisters.d.ts +0 -1242
- package/lib/types/with-schemas/queries.d.ts +0 -3827
- package/lib/types/with-schemas/relationships.d.ts +0 -1393
- package/lib/types/with-schemas/store.d.ts +0 -8639
- package/lib/types/with-schemas/tinybase.d.ts +0 -14
- package/lib/types/with-schemas/tools.d.ts +0 -532
- package/lib/types/with-schemas/ui-react-dom.d.ts +0 -1834
- package/lib/types/with-schemas/ui-react.d.ts +0 -14595
- package/lib/ui-react-dom.js +0 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +0 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +0 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/common.js +0 -1
- package/lib/umd/common.js.gz +0 -0
- package/lib/umd/indexes.js +0 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/mergeable-store.js +0 -1
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/metrics.js +0 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +0 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +0 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +0 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-electric-sql.js +0 -1
- package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite-next.js +0 -1
- package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +0 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +0 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +0 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +0 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +0 -1
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +0 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +0 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +0 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +0 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +0 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +0 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +0 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +0 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +0 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +0 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +0 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +0 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +0 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +0 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/common.js +0 -1
- package/lib/umd-es6/common.js.gz +0 -0
- package/lib/umd-es6/indexes.js +0 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +0 -1
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/metrics.js +0 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +0 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +0 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +0 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-electric-sql.js +0 -1
- package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +0 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +0 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +0 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +0 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +0 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +0 -1
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +0 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +0 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +0 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +0 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +0 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +0 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +0 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +0 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +0 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +0 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +0 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +0 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +0 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
|
@@ -0,0 +1,1393 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persisters module of the TinyBase project provides a simple framework for
|
|
3
|
+
* saving and loading Store data, to and from different destinations, or
|
|
4
|
+
* underlying storage types.
|
|
5
|
+
*
|
|
6
|
+
* Several entry points are provided (in separately installed modules), each of
|
|
7
|
+
* which returns a new Persister object that can load and save a Store. Between
|
|
8
|
+
* them, these allow you to store your TinyBase data locally, remotely, to
|
|
9
|
+
* SQLite databases, and across synchronization boundaries with CRDT frameworks.
|
|
10
|
+
*
|
|
11
|
+
* |Module|Function|Storage|
|
|
12
|
+
* |-|-|-|
|
|
13
|
+
* |persister-browser|createSessionPersister|Browser session storage|
|
|
14
|
+
* |persister-browser|createLocalPersister|Browser local storage|
|
|
15
|
+
* |persister-indexed-db|createIndexedDbPersister|Browser IndexedDB|
|
|
16
|
+
* |persister-remote|createRemotePersister|Remote server|
|
|
17
|
+
* |persister-file|createFilePersister|Local file (where possible)|
|
|
18
|
+
* |persister-partykit-client|createPartyKitPersister|PartyKit with the persister-partykit-server module|
|
|
19
|
+
* |persister-sqlite3|createSqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|
|
|
20
|
+
* |persister-sqlite-wasm|createSqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|
|
|
21
|
+
* |persister-cr-sqlite-wasm|createCrSqliteWasmPersister|SQLite CRDTs, via [cr-sqlite-wasm](https://github.com/vlcn-io/cr-sqlite)|
|
|
22
|
+
* |persister-expo-sqlite|createExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|
|
|
23
|
+
* |persister-expo-sqlite-next|createExpoSqliteNextPersister|SQLite in React Native, via [expo-sqlite/next](https://github.com/expo/expo/tree/main/packages/expo-sqlite/next)|
|
|
24
|
+
* |persister-electric-sql|createElectricSqlPersister|Electric SQL, via [electric-sql](https://github.com/electric-sql/electric)|
|
|
25
|
+
* |persister-libsql|createLibSqlPersister|LibSQL for Turso, via [libsql-client](https://github.com/tursodatabase/libsql-client-ts)|
|
|
26
|
+
* |persister-powersync|createPowerSyncPersister|PowerSync, via [powersync-sdk](https://github.com/powersync-ja/powersync-js)|
|
|
27
|
+
* |persister-yjs|createYjsPersister|Yjs CRDTs, via [yjs](https://github.com/yjs/yjs)|
|
|
28
|
+
* |persister-automerge|createSqliteWasmPersister|Automerge CRDTs, via [automerge-repo](https://github.com/automerge/automerge-repo)|
|
|
29
|
+
*
|
|
30
|
+
* Since persistence requirements can be different for every app, the
|
|
31
|
+
* createCustomPersister function in this module can also be used to easily
|
|
32
|
+
* create a fully customized way to save and load Store data.
|
|
33
|
+
* @see Persisting Data guide
|
|
34
|
+
* @see Database Persistence guide
|
|
35
|
+
* @see Synchronizing Data guide
|
|
36
|
+
* @see Countries demo
|
|
37
|
+
* @see Todo App demos
|
|
38
|
+
* @see Drawing demo
|
|
39
|
+
* @packageDocumentation
|
|
40
|
+
* @module persisters
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
import type {
|
|
44
|
+
Changes,
|
|
45
|
+
Content,
|
|
46
|
+
OptionalSchemas,
|
|
47
|
+
OptionalTablesSchema,
|
|
48
|
+
Store,
|
|
49
|
+
} from '../../store/with-schemas/index.d.ts';
|
|
50
|
+
import type {
|
|
51
|
+
MergeableChanges,
|
|
52
|
+
MergeableContent,
|
|
53
|
+
MergeableStore,
|
|
54
|
+
} from '../../mergeable-store/with-schemas/index.d.ts';
|
|
55
|
+
import type {TableIdFromSchema} from '../../_internal/store/with-schemas/index.d.ts';
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The StoreTypes type
|
|
59
|
+
*/
|
|
60
|
+
export type StoreTypes =
|
|
61
|
+
| 1 // Store only
|
|
62
|
+
| 2 // MergeableStore only
|
|
63
|
+
| 3; // Store and MergeableStore
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The PersistedStore type
|
|
67
|
+
*/
|
|
68
|
+
export type PersistedStore<
|
|
69
|
+
Schemas extends OptionalSchemas,
|
|
70
|
+
StoreType extends StoreTypes = 1,
|
|
71
|
+
> = StoreType extends 3
|
|
72
|
+
? Store<Schemas> | MergeableStore<Schemas>
|
|
73
|
+
: StoreType extends 2
|
|
74
|
+
? MergeableStore<Schemas>
|
|
75
|
+
: Store<Schemas>;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* The PersistedContent type
|
|
79
|
+
*/
|
|
80
|
+
export type PersistedContent<
|
|
81
|
+
Schemas extends OptionalSchemas,
|
|
82
|
+
StoreType extends StoreTypes = 1,
|
|
83
|
+
> = StoreType extends 3
|
|
84
|
+
? Content<Schemas> | MergeableContent<Schemas>
|
|
85
|
+
: StoreType extends 2
|
|
86
|
+
? MergeableContent<Schemas>
|
|
87
|
+
: Content<Schemas>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The PersistedChanges type
|
|
91
|
+
*/
|
|
92
|
+
export type PersistedChanges<
|
|
93
|
+
Schemas extends OptionalSchemas,
|
|
94
|
+
StoreType extends StoreTypes = 1,
|
|
95
|
+
> = StoreType extends 3
|
|
96
|
+
? Changes<Schemas> | MergeableChanges<Schemas>
|
|
97
|
+
: StoreType extends 2
|
|
98
|
+
? MergeableChanges<Schemas>
|
|
99
|
+
: Changes<Schemas>;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A PersisterListener is a callback that lets a Persister inform the Store that
|
|
103
|
+
* a change has happened to the underlying data.
|
|
104
|
+
*
|
|
105
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
106
|
+
*
|
|
107
|
+
* ```ts override
|
|
108
|
+
* export type PersisterListener<StoreType extends StoreTypes = 1> = (
|
|
109
|
+
* content?: PersistedContent<StoreType>,
|
|
110
|
+
* changes?: PersistedChanges<StoreType>,
|
|
111
|
+
* ) => void;
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* If the listener is called with the `changes` parameter, it will be used to
|
|
115
|
+
* make an incremental change to the Store. If not, but the `content` parameter
|
|
116
|
+
* is available, that will be used to make a wholesale change to the Store. If
|
|
117
|
+
* neither are present, the content will be loaded using the Persister's load
|
|
118
|
+
* method. Prior to v5.0, these parameters were callbacks.
|
|
119
|
+
* @param content If provided, this is a Content object from the the Persister
|
|
120
|
+
* that will be used to immediately wholesale update the Store.
|
|
121
|
+
* @param changes If provided, this is a Changes object from the the Persister
|
|
122
|
+
* that will be used to immediately incrementally update the Store. This takes
|
|
123
|
+
* priority over the content argument above if present.
|
|
124
|
+
* @category Creation
|
|
125
|
+
* @since v4.0.0
|
|
126
|
+
*/
|
|
127
|
+
export type PersisterListener<
|
|
128
|
+
Schemas extends OptionalSchemas,
|
|
129
|
+
StoreType extends StoreTypes = 1,
|
|
130
|
+
> = (
|
|
131
|
+
content?: PersistedContent<Schemas, StoreType>,
|
|
132
|
+
changes?: PersistedChanges<Schemas, StoreType>,
|
|
133
|
+
) => void;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The PersisterStats type describes the number of times a Persister object has
|
|
137
|
+
* loaded or saved data.
|
|
138
|
+
*
|
|
139
|
+
* A PersisterStats object is returned from the getStats method, and is only
|
|
140
|
+
* populated in a debug build.
|
|
141
|
+
* @category Development
|
|
142
|
+
*/
|
|
143
|
+
export type PersisterStats = {
|
|
144
|
+
/**
|
|
145
|
+
* The number of times data has been loaded.
|
|
146
|
+
*/
|
|
147
|
+
loads?: number;
|
|
148
|
+
/**
|
|
149
|
+
* The number of times data has been saved.
|
|
150
|
+
*/
|
|
151
|
+
saves?: number;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* The DatabasePersisterConfig type describes the configuration of a
|
|
156
|
+
* database-oriented Persister, such as those for SQLite.
|
|
157
|
+
*
|
|
158
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
159
|
+
*
|
|
160
|
+
* ```ts override
|
|
161
|
+
* DpcJson | DpcTabular;
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* There are two modes for persisting a Store with a database:
|
|
165
|
+
*
|
|
166
|
+
* - A JSON serialization of the whole Store, which is stored in a single row of
|
|
167
|
+
* a table (normally called `tinybase`) within the database. This is
|
|
168
|
+
* configured by providing a DpcJson object.
|
|
169
|
+
* - A tabular mapping of Table Ids to database table names (and vice-versa).
|
|
170
|
+
* Values are stored in a separate special table (normally called
|
|
171
|
+
* `tinybase_values`). This is configured by providing a DpcTabular object.
|
|
172
|
+
*
|
|
173
|
+
* Please see the DpcJson and DpcTabular type documentation for more detail on
|
|
174
|
+
* each. If not specified otherwise, JSON serialization will be used for
|
|
175
|
+
* persistence.
|
|
176
|
+
*
|
|
177
|
+
* Changes made to the database (outside of this Persister) are picked up
|
|
178
|
+
* immediately if they are made via the same connection or library that it is
|
|
179
|
+
* using. If the database is being changed by another client, the Persister
|
|
180
|
+
* needs to poll for changes. Hence both configuration types also contain an
|
|
181
|
+
* `autoLoadIntervalSeconds` property which indicates how often it should do
|
|
182
|
+
* that. This defaults to 1 second.
|
|
183
|
+
*
|
|
184
|
+
* Note that all the nested types within this type have a 'Dpc' prefix, short
|
|
185
|
+
* for 'DatabasePersisterConfig'.
|
|
186
|
+
* @example
|
|
187
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
188
|
+
* and save a JSON serialization from and to a table called `my_tinybase`,
|
|
189
|
+
* polling the database every 2 seconds. See DpcJson for more details on these
|
|
190
|
+
* settings.
|
|
191
|
+
*
|
|
192
|
+
* ```js
|
|
193
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
194
|
+
*
|
|
195
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
196
|
+
* mode: 'json',
|
|
197
|
+
* storeTableName: 'my_tinybase',
|
|
198
|
+
* autoLoadIntervalSeconds: 2,
|
|
199
|
+
* };
|
|
200
|
+
* ```
|
|
201
|
+
* @example
|
|
202
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
203
|
+
* and save tabular data from and to tables specified in the `load` and `save`
|
|
204
|
+
* mappings. See DpcTabular for more details on these settings.
|
|
205
|
+
*
|
|
206
|
+
* ```js
|
|
207
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
208
|
+
*
|
|
209
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
210
|
+
* mode: 'tabular',
|
|
211
|
+
* tables: {
|
|
212
|
+
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
213
|
+
* save: {pets: 'petsInDb', species: 'speciesInDb'},
|
|
214
|
+
* },
|
|
215
|
+
* };
|
|
216
|
+
* ```
|
|
217
|
+
* @category Configuration
|
|
218
|
+
* @since v4.0.0
|
|
219
|
+
*/
|
|
220
|
+
export type DatabasePersisterConfig<Schemas extends OptionalSchemas> =
|
|
221
|
+
| DpcJson
|
|
222
|
+
| DpcTabular<Schemas[0]>;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* The DpcJson type describes the configuration of a database-oriented Persister
|
|
226
|
+
* operating in serialized JSON mode.
|
|
227
|
+
*
|
|
228
|
+
* One setting is the `storeTableName` property, which indicates the name of a
|
|
229
|
+
* table in the database which will be used to serialize the Store content into.
|
|
230
|
+
* It defaults to `tinybase`.
|
|
231
|
+
*
|
|
232
|
+
* That table in the database will be given two columns: a primary key column
|
|
233
|
+
* called `_id`, and one called `store`. (These column names can be changed
|
|
234
|
+
* using the `rowIdColumnName` and `storeColumnName` settings). The Persister
|
|
235
|
+
* will place a single row in this table with `_` in the `_id` column, and the
|
|
236
|
+
* JSON serialization in the `store` column, something like:
|
|
237
|
+
*
|
|
238
|
+
* ```
|
|
239
|
+
* > SELECT * FROM tinybase;
|
|
240
|
+
* +-----+-----------------------------------------------------+
|
|
241
|
+
* | _id | store |
|
|
242
|
+
* +-----+-----------------------------------------------------+
|
|
243
|
+
* | _ | [{"pets":{"fido":{"species":"dog"}}},{"open":true}] |
|
|
244
|
+
* +-----+-----------------------------------------------------+
|
|
245
|
+
* ```
|
|
246
|
+
*
|
|
247
|
+
* The 'Dpc' prefix indicates that this type is used within the
|
|
248
|
+
* DatabasePersisterConfig type.
|
|
249
|
+
* @example
|
|
250
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
251
|
+
* and save a JSON serialization from and to a table called `tinybase_json`.
|
|
252
|
+
*
|
|
253
|
+
* ```js
|
|
254
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
255
|
+
*
|
|
256
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
257
|
+
* mode: 'json',
|
|
258
|
+
* storeTableName: 'tinybase_json',
|
|
259
|
+
* };
|
|
260
|
+
* ```
|
|
261
|
+
* @category Configuration
|
|
262
|
+
* @since v4.0.0
|
|
263
|
+
*/
|
|
264
|
+
export type DpcJson = {
|
|
265
|
+
/**
|
|
266
|
+
* The mode to be used for persisting the Store to the database, in this case
|
|
267
|
+
* JSON serialization. See the DpcTabular type for the alternative tabular
|
|
268
|
+
* mapping mode.
|
|
269
|
+
*/
|
|
270
|
+
mode: 'json';
|
|
271
|
+
/**
|
|
272
|
+
* An optional string which indicates the name of a table in the database
|
|
273
|
+
* which will be used to serialize the Store content into. It defaults to
|
|
274
|
+
* `tinybase`.
|
|
275
|
+
*/
|
|
276
|
+
storeTableName?: string;
|
|
277
|
+
/**
|
|
278
|
+
* The optional name of the column in the database table that will be used as
|
|
279
|
+
* the Id for the Store, defaulting to '_id', since v5.0.
|
|
280
|
+
*/
|
|
281
|
+
storeIdColumnName?: string;
|
|
282
|
+
/**
|
|
283
|
+
* The optional name of the column in the database table that will be used for
|
|
284
|
+
* the JSON of the Store, defaulting to 'store', since v5.0.
|
|
285
|
+
*/
|
|
286
|
+
storeColumnName?: string;
|
|
287
|
+
/**
|
|
288
|
+
* How often the Persister should poll the database for any changes made to it
|
|
289
|
+
* by other clients, defaulting to 1 second.
|
|
290
|
+
*/
|
|
291
|
+
autoLoadIntervalSeconds?: number;
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* The DpcTabular type describes the configuration of a database-oriented
|
|
296
|
+
* Persister that is operating in tabular mapping mode.
|
|
297
|
+
*
|
|
298
|
+
* It is important to note that both the tabular mapping in ('save') and out
|
|
299
|
+
* ('load') of an underlying database are disabled by default. This is to ensure
|
|
300
|
+
* that if you pass in an existing populated database you don't run the
|
|
301
|
+
* immediate risk of corrupting or losing all your data.
|
|
302
|
+
*
|
|
303
|
+
* This configuration therefore takes a `tables` property object (with child
|
|
304
|
+
* `load` and `save` property objects) and a `values` property object. These
|
|
305
|
+
* indicate how you want to load and save Tables and Values respectively. At
|
|
306
|
+
* least one of these two properties are required for the Persister to do
|
|
307
|
+
* anything!
|
|
308
|
+
*
|
|
309
|
+
* Note that if you are planning to both load from and save to a database, it is
|
|
310
|
+
* important to make sure that the load and save table mappings are symmetrical.
|
|
311
|
+
* For example:
|
|
312
|
+
*
|
|
313
|
+
* ```js
|
|
314
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
315
|
+
*
|
|
316
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
317
|
+
* mode: 'tabular',
|
|
318
|
+
* tables: {
|
|
319
|
+
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
320
|
+
* save: {pets: 'petsInDb', species: 'speciesInDb'},
|
|
321
|
+
* },
|
|
322
|
+
* };
|
|
323
|
+
* ```
|
|
324
|
+
*
|
|
325
|
+
* See the documentation for the DpcTabularLoad, DpcTabularSave, and
|
|
326
|
+
* DpcTabularValues types for more details on how to configure the tabular
|
|
327
|
+
* mapping mode.
|
|
328
|
+
*
|
|
329
|
+
* The 'Dpc' prefix indicates that this type is used within the
|
|
330
|
+
* DatabasePersisterConfig type.
|
|
331
|
+
* @example
|
|
332
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
333
|
+
* and save Tables data from and to tables specified in the `load` and `save`
|
|
334
|
+
* mappings, and Values data from and to a table called `my_tinybase_values`.
|
|
335
|
+
*
|
|
336
|
+
* ```js
|
|
337
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
338
|
+
*
|
|
339
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
340
|
+
* mode: 'tabular',
|
|
341
|
+
* tables: {
|
|
342
|
+
* load: {petsInDb: 'pets', speciesInDb: 'species'},
|
|
343
|
+
* save: {pets: 'petsInDb', species: 'speciesInDb'},
|
|
344
|
+
* },
|
|
345
|
+
* values: {
|
|
346
|
+
* load: true,
|
|
347
|
+
* save: true,
|
|
348
|
+
* tableName: 'my_tinybase_values',
|
|
349
|
+
* },
|
|
350
|
+
* };
|
|
351
|
+
* ```
|
|
352
|
+
* @category Configuration
|
|
353
|
+
* @since v4.0.0
|
|
354
|
+
*/
|
|
355
|
+
export type DpcTabular<Schema extends OptionalTablesSchema> = {
|
|
356
|
+
/**
|
|
357
|
+
* The mode to be used for persisting the Store to the database, in this case
|
|
358
|
+
* tabular mapping. See the DpcJson type for the alternative JSON
|
|
359
|
+
* serialization mode.
|
|
360
|
+
*/
|
|
361
|
+
mode: 'tabular';
|
|
362
|
+
/**
|
|
363
|
+
* The settings for how the Store Tables are mapped to and from the database.
|
|
364
|
+
*/
|
|
365
|
+
tables?: {
|
|
366
|
+
/**
|
|
367
|
+
* The settings for how the database tables are mapped into the Store Tables
|
|
368
|
+
* when loading.
|
|
369
|
+
*/
|
|
370
|
+
load?: DpcTabularLoad<Schema>;
|
|
371
|
+
/**
|
|
372
|
+
* The settings for how the Store Tables are mapped out to the database
|
|
373
|
+
* tables when saving.
|
|
374
|
+
*/
|
|
375
|
+
save?: DpcTabularSave<Schema>;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* The settings for how the Store Values are mapped to and from the database.
|
|
379
|
+
*/
|
|
380
|
+
values?: DpcTabularValues;
|
|
381
|
+
/**
|
|
382
|
+
* How often the Persister should poll the database for any changes made to it
|
|
383
|
+
* by other clients, defaulting to 1 second.
|
|
384
|
+
*/
|
|
385
|
+
autoLoadIntervalSeconds?: number;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* The DpcTabularLoad type describes the configuration for loading Tables in a
|
|
390
|
+
* database-oriented Persister that is operating in tabular mode.
|
|
391
|
+
*
|
|
392
|
+
* It is an object where each key is a name of a database table, and the value
|
|
393
|
+
* is a child configuration object for how that table should be loaded into the
|
|
394
|
+
* Store. The properties of the child configuration object are:
|
|
395
|
+
*
|
|
396
|
+
* ||Type|Description|
|
|
397
|
+
* |-|-|-|
|
|
398
|
+
* |`tableId`|Id|The Id of the Store Table into which data from this database table should be loaded.|
|
|
399
|
+
* |`rowIdColumnName?`|string|The optional name of the column in the database table that will be used as the Row Ids in the Store Table, defaulting to '_id'.|
|
|
400
|
+
*
|
|
401
|
+
* As a shortcut, if you do not need to specify a custom `rowIdColumnName`, you
|
|
402
|
+
* can simply provide the Id of the Store Table instead of the whole object.
|
|
403
|
+
*
|
|
404
|
+
* The 'Dpc' prefix indicates that this type is used within the
|
|
405
|
+
* DatabasePersisterConfig type.
|
|
406
|
+
* @example
|
|
407
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
408
|
+
* the data of two database tables (called 'petsInDb' and 'speciesInDb') into
|
|
409
|
+
* two Store Tables (called 'pets' and 'species'). One has a column for the Row
|
|
410
|
+
* Id called 'id' and the other defaults it to '_id'.
|
|
411
|
+
*
|
|
412
|
+
* ```js
|
|
413
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
414
|
+
*
|
|
415
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
416
|
+
* mode: 'tabular',
|
|
417
|
+
* tables: {
|
|
418
|
+
* load: {
|
|
419
|
+
* petsInDb: {tableId: 'pets', rowIdColumnName: 'id'},
|
|
420
|
+
* speciesInDb: 'species',
|
|
421
|
+
* },
|
|
422
|
+
* },
|
|
423
|
+
* };
|
|
424
|
+
* ```
|
|
425
|
+
*
|
|
426
|
+
* Imagine database tables that look like this:
|
|
427
|
+
*
|
|
428
|
+
* ```
|
|
429
|
+
* > SELECT * FROM petsInDb;
|
|
430
|
+
* +-------+---------+-------+
|
|
431
|
+
* | id | species | color |
|
|
432
|
+
* +-------+---------+-------+
|
|
433
|
+
* | fido | dog | brown |
|
|
434
|
+
* | felix | cat | black |
|
|
435
|
+
* +-------+---------+-------+
|
|
436
|
+
*
|
|
437
|
+
* > SELECT * FROM speciesInDb;
|
|
438
|
+
* +------+-------+
|
|
439
|
+
* | _id | price |
|
|
440
|
+
* +------+-------+
|
|
441
|
+
* | dog | 5 |
|
|
442
|
+
* | cat | 4 |
|
|
443
|
+
* +------+-------+
|
|
444
|
+
* ```
|
|
445
|
+
*
|
|
446
|
+
* With the configuration above, this will load into a Store with Tables that
|
|
447
|
+
* look like this:
|
|
448
|
+
*
|
|
449
|
+
* ```json
|
|
450
|
+
* {
|
|
451
|
+
* "pets": {
|
|
452
|
+
* "fido": {"species": "dog", "color": "brown"},
|
|
453
|
+
* "felix": {"species": "cat", "color": "black"},
|
|
454
|
+
* },
|
|
455
|
+
* "species": {
|
|
456
|
+
* "dog": {"price": 5},
|
|
457
|
+
* "cat": {"price": 4},
|
|
458
|
+
* },
|
|
459
|
+
* }
|
|
460
|
+
* ```
|
|
461
|
+
* @category Configuration
|
|
462
|
+
* @since v4.0.0
|
|
463
|
+
*/
|
|
464
|
+
export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
|
|
465
|
+
[tableName: string]:
|
|
466
|
+
| {
|
|
467
|
+
/**
|
|
468
|
+
* The Id of the Store Table into which data from this database table
|
|
469
|
+
* should be loaded.
|
|
470
|
+
*/
|
|
471
|
+
tableId: TableIdFromSchema<Schema>;
|
|
472
|
+
/**
|
|
473
|
+
* The optional name of the column in the database table that will be
|
|
474
|
+
* used as the Row Ids in the Store Table, defaulting to '_id'.
|
|
475
|
+
*/
|
|
476
|
+
rowIdColumnName?: string;
|
|
477
|
+
}
|
|
478
|
+
| TableIdFromSchema<Schema>;
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
/**
|
|
482
|
+
* The DpcTabularSave type describes the configuration for saving Tables in a
|
|
483
|
+
* database-oriented Persister that is operating in tabular mode.
|
|
484
|
+
*
|
|
485
|
+
* It is an object where each key is an Id of a Store Table, and the value is a
|
|
486
|
+
* child configuration object for how that Table should be saved out to the
|
|
487
|
+
* database. The properties of the child configuration object are:
|
|
488
|
+
*
|
|
489
|
+
* ||Type|Description|
|
|
490
|
+
* |-|-|-|
|
|
491
|
+
* |`tableName`|string|The name of the database table out to which the Store Table should be saved.|
|
|
492
|
+
* |`rowIdColumnName?`|string|The optional name of the column in the database table that will be used to save the Row Ids from the Store Table, defaulting to '_id'.|
|
|
493
|
+
* |`deleteEmptyColumns?`|boolean|Whether columns in the database table will be removed if they are empty in the Store Table, defaulting to false.|
|
|
494
|
+
* |`deleteEmptyTable?`|boolean|Whether tables in the database will be removed if the Store Table is empty, defaulting to false.|
|
|
495
|
+
*
|
|
496
|
+
* As a shortcut, if you do not need to specify a custom `rowIdColumnName`, or
|
|
497
|
+
* enable the `deleteEmptyColumns` or `deleteEmptyTable` settings, you can
|
|
498
|
+
* simply provide the name of the database table instead of the whole object.
|
|
499
|
+
*
|
|
500
|
+
* `deleteEmptyColumns` and `deleteEmptyTable` only have a guaranteed effect
|
|
501
|
+
* when an explicit call is made to the Persister's save method. Columns and
|
|
502
|
+
* tables will not necessarily be removed when the Persister is incrementally
|
|
503
|
+
* 'autoSaving', due to performance reasons. If you want to be sure that your
|
|
504
|
+
* database table matches a TinyBase Table without any extraneous columns,
|
|
505
|
+
* simply call the save method at an idle moment.
|
|
506
|
+
*
|
|
507
|
+
* The 'Dpc' prefix indicates that this type is used within the
|
|
508
|
+
* DatabasePersisterConfig type.
|
|
509
|
+
* @example
|
|
510
|
+
* When applied to a database Persister, this DatabasePersisterConfig will save
|
|
511
|
+
* the data of two Store Tables (called 'pets' and 'species') into two database
|
|
512
|
+
* tables (called 'petsInDb' and 'speciesInDb'). One has a column for the Row
|
|
513
|
+
* Id called 'id' and will delete columns and the whole table if empty, the
|
|
514
|
+
* other defaults to '_id' and will not delete columns or the whole table if
|
|
515
|
+
* empty.
|
|
516
|
+
*
|
|
517
|
+
* ```js
|
|
518
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
519
|
+
*
|
|
520
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
521
|
+
* mode: 'tabular',
|
|
522
|
+
* tables: {
|
|
523
|
+
* save: {
|
|
524
|
+
* pets: {
|
|
525
|
+
* tableName: 'petsInDb',
|
|
526
|
+
* deleteEmptyColumns: true,
|
|
527
|
+
* deleteEmptyTable: true,
|
|
528
|
+
* },
|
|
529
|
+
* species: 'speciesInDb',
|
|
530
|
+
* },
|
|
531
|
+
* },
|
|
532
|
+
* };
|
|
533
|
+
* ```
|
|
534
|
+
*
|
|
535
|
+
* Imagine a Store with Tables that look like this:
|
|
536
|
+
*
|
|
537
|
+
* ```json
|
|
538
|
+
* {
|
|
539
|
+
* "pets": {
|
|
540
|
+
* "fido": {"species": "dog", "color": "brown"},
|
|
541
|
+
* "felix": {"species": "cat", "color": "black"},
|
|
542
|
+
* },
|
|
543
|
+
* "species": {
|
|
544
|
+
* "dog": {"price": 5},
|
|
545
|
+
* "cat": {"price": 4},
|
|
546
|
+
* },
|
|
547
|
+
* }
|
|
548
|
+
* ```
|
|
549
|
+
*
|
|
550
|
+
* With the configuration above, this will save out to a database with tables
|
|
551
|
+
* that look like this:
|
|
552
|
+
*
|
|
553
|
+
* ```
|
|
554
|
+
* > SELECT * FROM petsInDb;
|
|
555
|
+
* +-------+---------+-------+
|
|
556
|
+
* | id | species | color |
|
|
557
|
+
* +-------+---------+-------+
|
|
558
|
+
* | fido | dog | brown |
|
|
559
|
+
* | felix | cat | black |
|
|
560
|
+
* +-------+---------+-------+
|
|
561
|
+
*
|
|
562
|
+
* > SELECT * FROM speciesInDb;
|
|
563
|
+
* +------+-------+
|
|
564
|
+
* | _id | price |
|
|
565
|
+
* +------+-------+
|
|
566
|
+
* | dog | 5 |
|
|
567
|
+
* | cat | 4 |
|
|
568
|
+
* +------+-------+
|
|
569
|
+
* ```
|
|
570
|
+
* @category Configuration
|
|
571
|
+
* @since v4.0.0
|
|
572
|
+
*/
|
|
573
|
+
export type DpcTabularSave<Schema extends OptionalTablesSchema> = {
|
|
574
|
+
[TableId in TableIdFromSchema<Schema>]:
|
|
575
|
+
| {
|
|
576
|
+
/**
|
|
577
|
+
* The name of the database table out to which the Store Table should be
|
|
578
|
+
* saved.
|
|
579
|
+
*/
|
|
580
|
+
tableName: string;
|
|
581
|
+
/**
|
|
582
|
+
* The optional name of the column in the database table that will be
|
|
583
|
+
* used to save the Row Ids from the Store Table, defaulting to '_id'.
|
|
584
|
+
*/
|
|
585
|
+
rowIdColumnName?: string;
|
|
586
|
+
/**
|
|
587
|
+
* Whether columns in the database table will be removed if they are
|
|
588
|
+
* empty in the Store Table, defaulting to false.
|
|
589
|
+
*/
|
|
590
|
+
deleteEmptyColumns?: boolean;
|
|
591
|
+
/**
|
|
592
|
+
* Whether tables in the database will be removed if the Store Table
|
|
593
|
+
* is empty, defaulting to false.
|
|
594
|
+
*/
|
|
595
|
+
deleteEmptyTable?: boolean;
|
|
596
|
+
}
|
|
597
|
+
| string;
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* The DpcTabularValues type describes the configuration for handling Values in
|
|
602
|
+
* a database-oriented Persister that is operating in tabular mode.
|
|
603
|
+
*
|
|
604
|
+
* Note that both loading and saving of Values from and to the database are
|
|
605
|
+
* disabled by default.
|
|
606
|
+
*
|
|
607
|
+
* The 'Dpc' prefix indicates that this type is used within the
|
|
608
|
+
* DatabasePersisterConfig type.
|
|
609
|
+
* @example
|
|
610
|
+
* When applied to a database Persister, this DatabasePersisterConfig will load
|
|
611
|
+
* and save the data of a Store's Values into a database
|
|
612
|
+
* table called 'my_tinybase_values'.
|
|
613
|
+
*
|
|
614
|
+
* ```js
|
|
615
|
+
* import type {DatabasePersisterConfig} from 'tinybase';
|
|
616
|
+
*
|
|
617
|
+
* export const databasePersisterConfig: DatabasePersisterConfig = {
|
|
618
|
+
* mode: 'tabular',
|
|
619
|
+
* values: {
|
|
620
|
+
* load: true,
|
|
621
|
+
* save: true,
|
|
622
|
+
* tableName: 'my_tinybase_values',
|
|
623
|
+
* },
|
|
624
|
+
* };
|
|
625
|
+
* ```
|
|
626
|
+
* @category Configuration
|
|
627
|
+
* @since v4.0.0
|
|
628
|
+
*/
|
|
629
|
+
export type DpcTabularValues = {
|
|
630
|
+
/**
|
|
631
|
+
* Whether Store Values will be loaded from a database table.
|
|
632
|
+
*/
|
|
633
|
+
load?: boolean;
|
|
634
|
+
/**
|
|
635
|
+
* Whether Store Values will be saved to a database table.
|
|
636
|
+
*/
|
|
637
|
+
save?: boolean;
|
|
638
|
+
/**
|
|
639
|
+
* The optional name of the database table from and to which the Store Values
|
|
640
|
+
* should be loaded or saved, defaulting to `tinybase_values`.
|
|
641
|
+
*/
|
|
642
|
+
tableName?: string;
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* A Persister object lets you save and load Store data to and from different
|
|
647
|
+
* locations, or underlying storage types.
|
|
648
|
+
*
|
|
649
|
+
* This is useful for preserving Store data between browser sessions or reloads,
|
|
650
|
+
* saving or loading browser state to or from a server, or saving Store data to
|
|
651
|
+
* disk in a environment with filesystem access.
|
|
652
|
+
*
|
|
653
|
+
* Creating a Persister depends on the choice of underlying storage where the
|
|
654
|
+
* data is to be stored. Options include the createSessionPersister function,
|
|
655
|
+
* the createLocalPersister function, the createRemotePersister function, and
|
|
656
|
+
* the createFilePersister function. The createCustomPersister function can also
|
|
657
|
+
* be used to easily create a fully customized way to save and load Store data.
|
|
658
|
+
*
|
|
659
|
+
* A Persister lets you explicit save or load data, with the save method and the
|
|
660
|
+
* load method respectively. These methods are both asynchronous (since the
|
|
661
|
+
* underlying data storage may also be) and return promises. As a result you
|
|
662
|
+
* should use the `await` keyword to call them in a way that guarantees
|
|
663
|
+
* subsequent execution order.
|
|
664
|
+
*
|
|
665
|
+
* When you don't want to deal with explicit persistence operations, a Persister
|
|
666
|
+
* object also provides automatic saving and loading. Automatic saving listens
|
|
667
|
+
* for changes to the Store and persists the data immediately. Automatic loading
|
|
668
|
+
* listens (or polls) for changes to the persisted data and reflects those
|
|
669
|
+
* changes in the Store.
|
|
670
|
+
*
|
|
671
|
+
* You can start automatic saving or loading with the startAutoSave method and
|
|
672
|
+
* startAutoLoad method. Both are asynchronous since they will do an immediate
|
|
673
|
+
* save and load before starting to listen for subsequent changes. You can stop
|
|
674
|
+
* the behavior with the stopAutoSave method and stopAutoLoad method (which are
|
|
675
|
+
* synchronous).
|
|
676
|
+
*
|
|
677
|
+
* You may often want to have both automatic saving and loading of a Store so
|
|
678
|
+
* that changes are constantly synchronized (allowing basic state preservation
|
|
679
|
+
* between browser tabs, for example). The framework has some basic provisions
|
|
680
|
+
* to prevent race conditions - for example it will not attempt to save data if
|
|
681
|
+
* it is currently loading it and vice-versa - and will sequentially schedule
|
|
682
|
+
* methods that could cause race conditions.
|
|
683
|
+
*
|
|
684
|
+
* That said, be aware that you should always comprehensively test your
|
|
685
|
+
* persistence strategy to understand the opportunity for data loss (in the case
|
|
686
|
+
* of trying to save data to a server under poor network conditions, for
|
|
687
|
+
* example).
|
|
688
|
+
*
|
|
689
|
+
* To help debug such issues, since v4.0.4, the create methods for all Persister
|
|
690
|
+
* objects take an optional `onIgnoredError` argument. This is a handler for the
|
|
691
|
+
* errors that the Persister would otherwise ignore when trying to save or load
|
|
692
|
+
* data (such as when handling corrupted stored data). It's recommended you use
|
|
693
|
+
* this for debugging persistence issues, but only in a development environment.
|
|
694
|
+
* Database-based Persister objects also take an optional `onSqlCommand`
|
|
695
|
+
* argument for logging commands and queries made to the underlying database.
|
|
696
|
+
* @example
|
|
697
|
+
* This example creates a Store, persists it to the browser's session storage as
|
|
698
|
+
* a JSON string, changes the persisted data, updates the Store from it, and
|
|
699
|
+
* finally destroys the Persister again.
|
|
700
|
+
*
|
|
701
|
+
* ```js
|
|
702
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
703
|
+
* import {createStore} from 'tinybase';
|
|
704
|
+
*
|
|
705
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
706
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
707
|
+
*
|
|
708
|
+
* await persister.save();
|
|
709
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
710
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
711
|
+
*
|
|
712
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
713
|
+
* await persister.load();
|
|
714
|
+
* console.log(store.getTables());
|
|
715
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
716
|
+
*
|
|
717
|
+
* persister.destroy();
|
|
718
|
+
* sessionStorage.clear();
|
|
719
|
+
* ```
|
|
720
|
+
* @example
|
|
721
|
+
* This example creates a Store, and automatically saves and loads it to the
|
|
722
|
+
* browser's session storage as a JSON string. Changes to the Store data, or the
|
|
723
|
+
* persisted data (implicitly firing a StorageEvent), are reflected accordingly.
|
|
724
|
+
*
|
|
725
|
+
* ```js
|
|
726
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
727
|
+
* import {createStore} from 'tinybase';
|
|
728
|
+
*
|
|
729
|
+
* const store = createStore();
|
|
730
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
731
|
+
*
|
|
732
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
733
|
+
* await persister.startAutoSave();
|
|
734
|
+
*
|
|
735
|
+
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
736
|
+
* // ...
|
|
737
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
738
|
+
* // -> '[{"pets":{"felix":{"species":"cat"}}},{}]'
|
|
739
|
+
*
|
|
740
|
+
* // In another browser tab:
|
|
741
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
742
|
+
* // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
|
|
743
|
+
*
|
|
744
|
+
* // ...
|
|
745
|
+
* console.log(store.getTables());
|
|
746
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
747
|
+
*
|
|
748
|
+
* persister.destroy();
|
|
749
|
+
* sessionStorage.clear();
|
|
750
|
+
* ```
|
|
751
|
+
* @category Persister
|
|
752
|
+
*/
|
|
753
|
+
export interface Persister<
|
|
754
|
+
in out Schemas extends OptionalSchemas,
|
|
755
|
+
StoreType extends StoreTypes = 1,
|
|
756
|
+
> {
|
|
757
|
+
/**
|
|
758
|
+
* The load method gets persisted data from storage, and loads it into the
|
|
759
|
+
* Store with which the Persister is associated, once.
|
|
760
|
+
*
|
|
761
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
762
|
+
*
|
|
763
|
+
* ```ts override
|
|
764
|
+
* load(initialContent?: Content): Promise<this>;
|
|
765
|
+
* ```
|
|
766
|
+
*
|
|
767
|
+
* The optional parameter allows you to specify what the initial content for
|
|
768
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
769
|
+
* fails (for example when the Persister is remote and the environment is
|
|
770
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
771
|
+
* loading from previously persisted storage or being run for the first time.
|
|
772
|
+
*
|
|
773
|
+
* This method is asynchronous because the persisted data may be on a remote
|
|
774
|
+
* machine or a filesystem. Even for those storage types that are synchronous
|
|
775
|
+
* (like browser storage) it is still recommended that you `await` calls to
|
|
776
|
+
* this method or handle the return type natively as a Promise.
|
|
777
|
+
* @param initialContent An optional Content object used when the underlying
|
|
778
|
+
* storage has not previously been populated.
|
|
779
|
+
* @returns A Promise containing a reference to the Persister object.
|
|
780
|
+
* @example
|
|
781
|
+
* This example creates an empty Store, and loads data into it from the
|
|
782
|
+
* browser's session storage, which for the purposes of this example has been
|
|
783
|
+
* previously populated.
|
|
784
|
+
*
|
|
785
|
+
* ```js
|
|
786
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
787
|
+
* import {createStore} from 'tinybase';
|
|
788
|
+
*
|
|
789
|
+
* sessionStorage.setItem('pets', '[{"pets":{"fido":{"species":"dog"}}},{}]');
|
|
790
|
+
*
|
|
791
|
+
* const store = createStore();
|
|
792
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
793
|
+
*
|
|
794
|
+
* await persister.load();
|
|
795
|
+
* console.log(store.getTables());
|
|
796
|
+
* // -> {pets: {fido: {species: 'dog'}}}
|
|
797
|
+
*
|
|
798
|
+
* sessionStorage.clear();
|
|
799
|
+
* ```
|
|
800
|
+
* @example
|
|
801
|
+
* This example creates an empty Store, and loads data into it from the
|
|
802
|
+
* browser's session storage, which is at first empty, so the optional
|
|
803
|
+
* parameter is used. The second time the load method is called, data has
|
|
804
|
+
* previously been persisted and instead, that is loaded.
|
|
805
|
+
*
|
|
806
|
+
* ```js
|
|
807
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
808
|
+
* import {createStore} from 'tinybase';
|
|
809
|
+
*
|
|
810
|
+
* const store = createStore();
|
|
811
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
812
|
+
*
|
|
813
|
+
* await persister.load([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
814
|
+
* console.log(store.getTables());
|
|
815
|
+
* // -> {pets: {fido: {species: 'dog'}}}
|
|
816
|
+
*
|
|
817
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
818
|
+
* await persister.load({pets: {fido: {species: 'dog'}}});
|
|
819
|
+
* console.log(store.getTables());
|
|
820
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
821
|
+
*
|
|
822
|
+
* sessionStorage.clear();
|
|
823
|
+
* ```
|
|
824
|
+
* @category Load
|
|
825
|
+
*/
|
|
826
|
+
load(initialContent?: Content<Schemas, true>): Promise<this>;
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* The startAutoLoad method gets persisted data from storage, and loads it
|
|
830
|
+
* into the Store with which the Persister is associated, once, and then
|
|
831
|
+
* continuously.
|
|
832
|
+
*
|
|
833
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
834
|
+
*
|
|
835
|
+
* ```ts override
|
|
836
|
+
* startAutoLoad(initialContent?: Content): Promise<this>;
|
|
837
|
+
* ```
|
|
838
|
+
*
|
|
839
|
+
* The optional parameter allows you to specify what the initial content for
|
|
840
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
841
|
+
* fails (for example when the Persister is remote and the environment is
|
|
842
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
843
|
+
* loading from previously persisted storage or being run for the first time.
|
|
844
|
+
*
|
|
845
|
+
* This method first runs a single call to the load method to ensure the data
|
|
846
|
+
* is in sync with the persisted storage. It then continues to watch for
|
|
847
|
+
* changes to the underlying data (either through events or polling, depending
|
|
848
|
+
* on the storage type), automatically loading the data into the Store.
|
|
849
|
+
*
|
|
850
|
+
* This method is asynchronous because it starts by making a single call to
|
|
851
|
+
* the asynchronous load method. Even for those storage types that are
|
|
852
|
+
* synchronous (like browser storage) it is still recommended that you `await`
|
|
853
|
+
* calls to this method or handle the return type natively as a Promise.
|
|
854
|
+
* @param initialContent An optional Content object used when the underlying
|
|
855
|
+
* storage has not previously been populated.
|
|
856
|
+
* @returns A Promise containing a reference to the Persister object.
|
|
857
|
+
* @example
|
|
858
|
+
* This example creates an empty Store, and loads data into it from the
|
|
859
|
+
* browser's session storage, which at first is empty (so the `initialTables`
|
|
860
|
+
* parameter is used). Subsequent changes to the underlying storage are then
|
|
861
|
+
* reflected in the Store (in this case through detection of StorageEvents
|
|
862
|
+
* from session storage changes made in another browser tab).
|
|
863
|
+
*
|
|
864
|
+
* ```js
|
|
865
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
866
|
+
* import {createStore} from 'tinybase';
|
|
867
|
+
*
|
|
868
|
+
* const store = createStore();
|
|
869
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
870
|
+
*
|
|
871
|
+
* await persister.startAutoLoad([{pets: {fido: {species: 'dog'}}}, {}]);
|
|
872
|
+
* console.log(store.getTables());
|
|
873
|
+
* // -> {pets: {fido: {species: 'dog'}}}
|
|
874
|
+
*
|
|
875
|
+
* // In another browser tab:
|
|
876
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
877
|
+
* // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
|
|
878
|
+
*
|
|
879
|
+
* // ...
|
|
880
|
+
* console.log(store.getTables());
|
|
881
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
882
|
+
*
|
|
883
|
+
* persister.destroy();
|
|
884
|
+
* sessionStorage.clear();
|
|
885
|
+
* ```
|
|
886
|
+
* @category Load
|
|
887
|
+
*/
|
|
888
|
+
startAutoLoad(initialContent?: Content<Schemas, true>): Promise<this>;
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* The stopAutoLoad method stops the automatic loading of data from storage
|
|
892
|
+
* previously started with the startAutoLoad method.
|
|
893
|
+
*
|
|
894
|
+
* If the Persister is not currently set to automatically load, this method
|
|
895
|
+
* has no effect.
|
|
896
|
+
* @returns A reference to the Persister object.
|
|
897
|
+
* @example
|
|
898
|
+
* This example creates an empty Store, and starts automatically loading data
|
|
899
|
+
* into it from the browser's session storage. Once the automatic loading is
|
|
900
|
+
* stopped, subsequent changes are not reflected in the Store.
|
|
901
|
+
*
|
|
902
|
+
* ```js
|
|
903
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
904
|
+
* import {createStore} from 'tinybase';
|
|
905
|
+
*
|
|
906
|
+
* const store = createStore();
|
|
907
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
908
|
+
* await persister.startAutoLoad();
|
|
909
|
+
*
|
|
910
|
+
* // In another browser tab:
|
|
911
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
912
|
+
* // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
|
|
913
|
+
* // ...
|
|
914
|
+
* console.log(store.getTables());
|
|
915
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
916
|
+
*
|
|
917
|
+
* persister.stopAutoLoad();
|
|
918
|
+
*
|
|
919
|
+
* // In another browser tab:
|
|
920
|
+
* sessionStorage.setItem(
|
|
921
|
+
* 'pets',
|
|
922
|
+
* '[{"pets":{"felix":{"species":"cat"}}},{}]',
|
|
923
|
+
* );
|
|
924
|
+
* // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
|
|
925
|
+
* // ...
|
|
926
|
+
* console.log(store.getTables());
|
|
927
|
+
* // -> {pets: {toto: {species: 'dog'}}}
|
|
928
|
+
* // Storage change has not been automatically loaded.
|
|
929
|
+
*
|
|
930
|
+
* persister.destroy();
|
|
931
|
+
* sessionStorage.clear();
|
|
932
|
+
* ```
|
|
933
|
+
* @category Load
|
|
934
|
+
*/
|
|
935
|
+
stopAutoLoad(): this;
|
|
936
|
+
|
|
937
|
+
/**
|
|
938
|
+
* The isAutoLoading method lets you find out if the Persister is currently
|
|
939
|
+
* automatically loading its content.
|
|
940
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
941
|
+
* autoLoading.
|
|
942
|
+
* @example
|
|
943
|
+
* This example creates a Persister and queries whether it is autoLoading.
|
|
944
|
+
*
|
|
945
|
+
* ```js
|
|
946
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
947
|
+
* import {createStore} from 'tinybase';
|
|
948
|
+
*
|
|
949
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
950
|
+
*
|
|
951
|
+
* console.log(persister.isAutoLoading());
|
|
952
|
+
* // -> false
|
|
953
|
+
*
|
|
954
|
+
* await persister.startAutoLoad();
|
|
955
|
+
* console.log(persister.isAutoLoading());
|
|
956
|
+
* // -> true
|
|
957
|
+
*
|
|
958
|
+
* await persister.stopAutoLoad();
|
|
959
|
+
* console.log(persister.isAutoLoading());
|
|
960
|
+
* // -> false
|
|
961
|
+
* ```
|
|
962
|
+
* @category Load
|
|
963
|
+
* @since v5.0.0
|
|
964
|
+
*/
|
|
965
|
+
isAutoLoading(): boolean;
|
|
966
|
+
|
|
967
|
+
/**
|
|
968
|
+
* The save method takes data from the Store with which the Persister is
|
|
969
|
+
* associated and persists it into storage, once.
|
|
970
|
+
*
|
|
971
|
+
* This method is asynchronous because the persisted data may be on a remote
|
|
972
|
+
* machine or a filesystem. Even for those storage types that are synchronous
|
|
973
|
+
* (like browser storage) it is still recommended that you `await` calls to
|
|
974
|
+
* this method or handle the return type natively as a Promise.
|
|
975
|
+
* @returns A Promise containing a reference to the Persister object.
|
|
976
|
+
* @example
|
|
977
|
+
* This example creates a Store with some data, and saves into the browser's
|
|
978
|
+
* session storage.
|
|
979
|
+
*
|
|
980
|
+
* ```js
|
|
981
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
982
|
+
* import {createStore} from 'tinybase';
|
|
983
|
+
*
|
|
984
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
985
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
986
|
+
*
|
|
987
|
+
* await persister.save();
|
|
988
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
989
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
990
|
+
*
|
|
991
|
+
* persister.destroy();
|
|
992
|
+
* sessionStorage.clear();
|
|
993
|
+
* ```
|
|
994
|
+
* @category Save
|
|
995
|
+
*/
|
|
996
|
+
save(): Promise<this>;
|
|
997
|
+
|
|
998
|
+
/**
|
|
999
|
+
* The save method takes data from the Store with which the Persister is
|
|
1000
|
+
* associated and persists it into storage, once, and then continuously.
|
|
1001
|
+
*
|
|
1002
|
+
* This method first runs a single call to the save method to ensure the data
|
|
1003
|
+
* is in sync with the persisted storage. It then continues to watch for
|
|
1004
|
+
* changes to the Store, automatically saving the data to storage.
|
|
1005
|
+
*
|
|
1006
|
+
* This method is asynchronous because it starts by making a single call to
|
|
1007
|
+
* the asynchronous save method. Even for those storage types that are
|
|
1008
|
+
* synchronous (like browser storage) it is still recommended that you `await`
|
|
1009
|
+
* calls to this method or handle the return type natively as a Promise.
|
|
1010
|
+
* @returns A Promise containing a reference to the Persister object.
|
|
1011
|
+
* @example
|
|
1012
|
+
* This example creates a Store with some data, and saves into the browser's
|
|
1013
|
+
* session storage. Subsequent changes to the Store are then automatically
|
|
1014
|
+
* saved to the underlying storage.
|
|
1015
|
+
*
|
|
1016
|
+
* ```js
|
|
1017
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1018
|
+
* import {createStore} from 'tinybase';
|
|
1019
|
+
*
|
|
1020
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1021
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
1022
|
+
*
|
|
1023
|
+
* await persister.startAutoSave();
|
|
1024
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
1025
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
1026
|
+
*
|
|
1027
|
+
* store.setTables({pets: {toto: {species: 'dog'}}});
|
|
1028
|
+
* // ...
|
|
1029
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
1030
|
+
* // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
|
|
1031
|
+
*
|
|
1032
|
+
* sessionStorage.clear();
|
|
1033
|
+
* ```
|
|
1034
|
+
* @category Save
|
|
1035
|
+
*/
|
|
1036
|
+
startAutoSave(): Promise<this>;
|
|
1037
|
+
|
|
1038
|
+
/**
|
|
1039
|
+
* The stopAutoSave method stops the automatic save of data to storage
|
|
1040
|
+
* previously started with the startAutoSave method.
|
|
1041
|
+
*
|
|
1042
|
+
* If the Persister is not currently set to automatically save, this method
|
|
1043
|
+
* has no effect.
|
|
1044
|
+
* @returns A reference to the Persister object.
|
|
1045
|
+
* @example
|
|
1046
|
+
* This example creates a Store with some data, and saves into the browser's
|
|
1047
|
+
* session storage. Subsequent changes to the Store are then automatically
|
|
1048
|
+
* saved to the underlying storage. Once the automatic saving is
|
|
1049
|
+
* stopped, subsequent changes are not reflected.
|
|
1050
|
+
*
|
|
1051
|
+
* ```js
|
|
1052
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1053
|
+
* import {createStore} from 'tinybase';
|
|
1054
|
+
*
|
|
1055
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1056
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
1057
|
+
* await persister.startAutoSave();
|
|
1058
|
+
*
|
|
1059
|
+
* store.setTables({pets: {toto: {species: 'dog'}}});
|
|
1060
|
+
* // ...
|
|
1061
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
1062
|
+
* // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
|
|
1063
|
+
*
|
|
1064
|
+
* persister.stopAutoSave();
|
|
1065
|
+
*
|
|
1066
|
+
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
1067
|
+
* // ...
|
|
1068
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
1069
|
+
* // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
|
|
1070
|
+
* // Store change has not been automatically saved.
|
|
1071
|
+
*
|
|
1072
|
+
* sessionStorage.clear();
|
|
1073
|
+
* ```
|
|
1074
|
+
* @category Save
|
|
1075
|
+
*/
|
|
1076
|
+
stopAutoSave(): this;
|
|
1077
|
+
|
|
1078
|
+
/**
|
|
1079
|
+
* The isAutoSaving method lets you find out if the Persister is currently
|
|
1080
|
+
* automatically saving its content.
|
|
1081
|
+
* @returns A boolean indicating whether the Persister is currently
|
|
1082
|
+
* autoSaving.
|
|
1083
|
+
* @example
|
|
1084
|
+
* This example creates a Persister and queries whether it is autoSaving.
|
|
1085
|
+
*
|
|
1086
|
+
* ```js
|
|
1087
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1088
|
+
* import {createStore} from 'tinybase';
|
|
1089
|
+
*
|
|
1090
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
1091
|
+
*
|
|
1092
|
+
* console.log(persister.isAutoSaving());
|
|
1093
|
+
* // -> false
|
|
1094
|
+
*
|
|
1095
|
+
* await persister.startAutoSave();
|
|
1096
|
+
* console.log(persister.isAutoSaving());
|
|
1097
|
+
* // -> true
|
|
1098
|
+
*
|
|
1099
|
+
* await persister.stopAutoSave();
|
|
1100
|
+
* console.log(persister.isAutoSaving());
|
|
1101
|
+
* // -> false
|
|
1102
|
+
* ```
|
|
1103
|
+
* @category Save
|
|
1104
|
+
* @since v5.0.0
|
|
1105
|
+
*/
|
|
1106
|
+
isAutoSaving(): boolean;
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* The schedule method allows you to queue up a series of asynchronous actions
|
|
1110
|
+
* that must run in sequence during persistence.
|
|
1111
|
+
*
|
|
1112
|
+
* For example, a database Persister may need to ensure that multiple
|
|
1113
|
+
* asynchronous tasks to check and update the database schema are completed
|
|
1114
|
+
* before data is written to it. Therefore it's most likely you will be using
|
|
1115
|
+
* this method inside your `setPersisted` implementation.
|
|
1116
|
+
*
|
|
1117
|
+
* Call this method to add a single asynchronous action, or a sequence of them
|
|
1118
|
+
* in one call. This will also start to run the first task in the queue (which
|
|
1119
|
+
* once complete will then run the next, and so on), and so this method itself
|
|
1120
|
+
* is also asynchronous and returns a promise of the Persister.
|
|
1121
|
+
* @returns A reference to the Persister object.
|
|
1122
|
+
* @example
|
|
1123
|
+
* This example creates a custom Persister object against a newly-created
|
|
1124
|
+
* Store and then sequences two tasks in order to update its data on a
|
|
1125
|
+
* hypothetical remote system.
|
|
1126
|
+
*
|
|
1127
|
+
* ```js yolo
|
|
1128
|
+
* import {
|
|
1129
|
+
* checkRemoteSystemIsReady,
|
|
1130
|
+
* getDataFromRemoteSystem,
|
|
1131
|
+
* sendDataToRemoteSystem,
|
|
1132
|
+
* } from 'custom-remote-handlers';
|
|
1133
|
+
* import {createCustomPersister, createStore} from 'tinybase';
|
|
1134
|
+
*
|
|
1135
|
+
* const store = createStore();
|
|
1136
|
+
* const persister = createCustomPersister(
|
|
1137
|
+
* store,
|
|
1138
|
+
* async () => {
|
|
1139
|
+
* // getPersisted
|
|
1140
|
+
* return await getDataFromRemoteSystem();
|
|
1141
|
+
* },
|
|
1142
|
+
* async (getContent) => {
|
|
1143
|
+
* // setPersisted
|
|
1144
|
+
* await persister.schedule(
|
|
1145
|
+
* async () => await checkRemoteSystemIsReady(),
|
|
1146
|
+
* async () => await sendDataToRemoteSystem(getContent()),
|
|
1147
|
+
* );
|
|
1148
|
+
* },
|
|
1149
|
+
* (listener) => setInterval(listener, 1000),
|
|
1150
|
+
* (interval) => clearInterval(interval),
|
|
1151
|
+
* );
|
|
1152
|
+
* ```
|
|
1153
|
+
* @category Lifecycle
|
|
1154
|
+
* @since v4.0.0
|
|
1155
|
+
*/
|
|
1156
|
+
schedule(...actions: Promise<any>[]): Promise<this>;
|
|
1157
|
+
|
|
1158
|
+
/**
|
|
1159
|
+
* The getStore method returns a reference to the underlying Store that is
|
|
1160
|
+
* backing this Persister object.
|
|
1161
|
+
* @returns A reference to the Store.
|
|
1162
|
+
* @example
|
|
1163
|
+
* This example creates a Persister object against a newly-created Store and
|
|
1164
|
+
* then gets its reference in order to update its data.
|
|
1165
|
+
*
|
|
1166
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
1167
|
+
*
|
|
1168
|
+
* ```ts override
|
|
1169
|
+
* getStore(): PersistedStore<StoreType>;
|
|
1170
|
+
* ```
|
|
1171
|
+
*
|
|
1172
|
+
* ```js
|
|
1173
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1174
|
+
* import {createStore} from 'tinybase';
|
|
1175
|
+
*
|
|
1176
|
+
* const persister = createSessionPersister(createStore(), 'pets');
|
|
1177
|
+
* await persister.startAutoSave();
|
|
1178
|
+
*
|
|
1179
|
+
* persister.getStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1180
|
+
* // ...
|
|
1181
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
1182
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
1183
|
+
*
|
|
1184
|
+
* sessionStorage.clear();
|
|
1185
|
+
* ```
|
|
1186
|
+
* @category Getter
|
|
1187
|
+
*/
|
|
1188
|
+
getStore(): PersistedStore<Schemas, StoreType>;
|
|
1189
|
+
|
|
1190
|
+
/**
|
|
1191
|
+
* The destroy method should be called when this Persister object is no longer
|
|
1192
|
+
* used.
|
|
1193
|
+
*
|
|
1194
|
+
* This guarantees that all of the listeners that the object registered with
|
|
1195
|
+
* the underlying Store and storage are removed and it can be correctly
|
|
1196
|
+
* garbage collected. It is equivalent to running the stopAutoLoad method and
|
|
1197
|
+
* the stopAutoSave method in succession.
|
|
1198
|
+
* @example
|
|
1199
|
+
* This example creates a Store, associates a Persister object with it (that
|
|
1200
|
+
* registers a TablesListener with the underlying Store), and then destroys it
|
|
1201
|
+
* again, removing the listener.
|
|
1202
|
+
*
|
|
1203
|
+
* ```js
|
|
1204
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1205
|
+
* import {createStore} from 'tinybase';
|
|
1206
|
+
*
|
|
1207
|
+
* const store = createStore();
|
|
1208
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
1209
|
+
* await persister.startAutoSave();
|
|
1210
|
+
*
|
|
1211
|
+
* console.log(store.getListenerStats().transaction);
|
|
1212
|
+
* // -> 1
|
|
1213
|
+
*
|
|
1214
|
+
* persister.destroy();
|
|
1215
|
+
*
|
|
1216
|
+
* console.log(store.getListenerStats().transaction);
|
|
1217
|
+
* // -> 0
|
|
1218
|
+
* ```
|
|
1219
|
+
* @category Lifecycle
|
|
1220
|
+
*/
|
|
1221
|
+
destroy(): this;
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* The getStats method provides a set of statistics about the Persister, and
|
|
1225
|
+
* is used for debugging purposes.
|
|
1226
|
+
*
|
|
1227
|
+
* The PersisterStats object contains a count of the number of times the
|
|
1228
|
+
* Persister has loaded and saved data.
|
|
1229
|
+
*
|
|
1230
|
+
* The statistics are only populated in a debug build: production builds
|
|
1231
|
+
* return an empty object. The method is intended to be used during
|
|
1232
|
+
* development to ensure your persistence layer is acting as expected, for
|
|
1233
|
+
* example.
|
|
1234
|
+
* @returns A PersisterStats object containing Persister load and save
|
|
1235
|
+
* statistics.
|
|
1236
|
+
* @example
|
|
1237
|
+
* This example gets the load and save statistics of a Persister object.
|
|
1238
|
+
* Remember that the startAutoLoad method invokes an explicit load when it
|
|
1239
|
+
* starts, and the startAutoSave method invokes an explicit save when it
|
|
1240
|
+
* starts - so those numbers are included in addition to the loads and saves
|
|
1241
|
+
* invoked by changes to the Store and to the underlying storage.
|
|
1242
|
+
*
|
|
1243
|
+
* ```js
|
|
1244
|
+
* import {createSessionPersister} from 'tinybase/persisters/persister-browser';
|
|
1245
|
+
* import {createStore} from 'tinybase';
|
|
1246
|
+
*
|
|
1247
|
+
* const store = createStore();
|
|
1248
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
1249
|
+
*
|
|
1250
|
+
* await persister.startAutoLoad({pets: {fido: {species: 'dog'}}});
|
|
1251
|
+
* await persister.startAutoSave();
|
|
1252
|
+
*
|
|
1253
|
+
* store.setTables({pets: {felix: {species: 'cat'}}});
|
|
1254
|
+
* // ...
|
|
1255
|
+
*
|
|
1256
|
+
* sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
|
|
1257
|
+
* // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
|
|
1258
|
+
* // ...
|
|
1259
|
+
*
|
|
1260
|
+
* console.log(persister.getStats());
|
|
1261
|
+
* // -> {loads: 2, saves: 2}
|
|
1262
|
+
*
|
|
1263
|
+
* persister.destroy();
|
|
1264
|
+
* sessionStorage.clear();
|
|
1265
|
+
* ```
|
|
1266
|
+
* @category Development
|
|
1267
|
+
*/
|
|
1268
|
+
getStats(): PersisterStats;
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
/**
|
|
1272
|
+
* The createCustomPersister function creates a Persister object that you can
|
|
1273
|
+
* configure to persist the Store in any way you wish.
|
|
1274
|
+
*
|
|
1275
|
+
* This has schema-based typing. The following is a simplified representation:
|
|
1276
|
+
*
|
|
1277
|
+
* ```ts override
|
|
1278
|
+
* createCustomPersister<
|
|
1279
|
+
* ListeningHandle,
|
|
1280
|
+
* StoreType extends StoreTypes = 1,
|
|
1281
|
+
* >(
|
|
1282
|
+
* store: PersistedStore<StoreType>,
|
|
1283
|
+
* getPersisted: () => Promise<PersistedContent<StoreType> | undefined>,
|
|
1284
|
+
* setPersisted: (
|
|
1285
|
+
* getContent: () => PersistedContent<StoreType>,
|
|
1286
|
+
* changes?: PersistedChanges<StoreType>,
|
|
1287
|
+
* ) => Promise<void>,
|
|
1288
|
+
* addPersisterListener: (
|
|
1289
|
+
* listener: PersisterListener<StoreType>,
|
|
1290
|
+
* ) => ListeningHandle,
|
|
1291
|
+
* delPersisterListener: (listeningHandle: ListeningHandle) => void,
|
|
1292
|
+
* onIgnoredError?: (error: any) => void,
|
|
1293
|
+
* supportedStoreType?: StoreType,
|
|
1294
|
+
* ): Persister<StoreType>;
|
|
1295
|
+
* ```
|
|
1296
|
+
*
|
|
1297
|
+
* As well as providing a reference to the Store to persist, you must provide
|
|
1298
|
+
* functions that handle how to fetch, write, and listen to, the persistence
|
|
1299
|
+
* layer.
|
|
1300
|
+
*
|
|
1301
|
+
* The other creation functions (such as the createSessionPersister function and
|
|
1302
|
+
* createFilePersister function, for example) all use this function under the
|
|
1303
|
+
* covers. See those implementations for ideas on how to implement your own
|
|
1304
|
+
* Persister types.
|
|
1305
|
+
*
|
|
1306
|
+
* This API changed in v4.0. Any custom persisters created on previous versions
|
|
1307
|
+
* should be upgraded. Most notably, the `setPersisted` function parameter is
|
|
1308
|
+
* provided with a `getContent` function to get the content from the Store
|
|
1309
|
+
* itself, rather than being passed pre-serialized JSON. It also receives
|
|
1310
|
+
* information about the changes made during a transaction. The `getPersisted`
|
|
1311
|
+
* function must return the content (or nothing) rather than JSON.
|
|
1312
|
+
* `startListeningToPersisted` has been renamed `addPersisterListener`, and
|
|
1313
|
+
* `stopListeningToPersisted` has been renamed `delPersisterListener`.
|
|
1314
|
+
* @param store The Store to persist.
|
|
1315
|
+
* @param getPersisted An asynchronous function which will fetch content from
|
|
1316
|
+
* the persistence layer (or `undefined` if not present).
|
|
1317
|
+
* @param setPersisted An asynchronous function which will send content to the
|
|
1318
|
+
* persistence layer. Since v4.0, it receives functions for getting the Store
|
|
1319
|
+
* content and information about the changes made during a transaction. Since
|
|
1320
|
+
* v5.0, the changes are received directly by reference, rather than an
|
|
1321
|
+
* accessor.
|
|
1322
|
+
* @param addPersisterListener A function that will register a `listener`
|
|
1323
|
+
* listener on underlying changes to the persistence layer. You can return a
|
|
1324
|
+
* listening handle that will be provided again when `delPersisterListener` is
|
|
1325
|
+
* called.
|
|
1326
|
+
* @param delPersisterListener A function that will unregister the listener from
|
|
1327
|
+
* the underlying changes to the persistence layer. It receives whatever was
|
|
1328
|
+
* returned from your `addPersisterListener` implementation.
|
|
1329
|
+
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
1330
|
+
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
1331
|
+
* debugging persistence issues in a development environment, since v4.0.4.
|
|
1332
|
+
* @param supportedStoreType Since v5.0, an optional integer to indicate which
|
|
1333
|
+
* types of Store are supported by this Persister: `1` indicates only a regular
|
|
1334
|
+
* Store is supported, `2` indicates only a MergeableStore is supported, and `3`
|
|
1335
|
+
* indicates that both Store and MergeableStore are supported.
|
|
1336
|
+
* @returns A reference to the new Persister object.
|
|
1337
|
+
* @example
|
|
1338
|
+
* This example creates a custom Persister object and persists the Store to a
|
|
1339
|
+
* local string called `storeJson` and which would automatically load by polling
|
|
1340
|
+
* for changes every second.
|
|
1341
|
+
*
|
|
1342
|
+
* ```js
|
|
1343
|
+
* import {createCustomPersister, createStore} from 'tinybase';
|
|
1344
|
+
*
|
|
1345
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
1346
|
+
* let storeJson;
|
|
1347
|
+
*
|
|
1348
|
+
* const persister = createCustomPersister(
|
|
1349
|
+
* store,
|
|
1350
|
+
* async () => {
|
|
1351
|
+
* // getPersisted
|
|
1352
|
+
* return JSON.parse(storeJson);
|
|
1353
|
+
* },
|
|
1354
|
+
* async (getContent) => {
|
|
1355
|
+
* // setPersisted
|
|
1356
|
+
* storeJson = JSON.stringify(getContent());
|
|
1357
|
+
* },
|
|
1358
|
+
* (listener) => setInterval(listener, 1000),
|
|
1359
|
+
* (interval) => clearInterval(interval),
|
|
1360
|
+
* );
|
|
1361
|
+
*
|
|
1362
|
+
* await persister.save();
|
|
1363
|
+
* console.log(storeJson);
|
|
1364
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
1365
|
+
*
|
|
1366
|
+
* storeJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
|
|
1367
|
+
* await persister.load();
|
|
1368
|
+
*
|
|
1369
|
+
* console.log(store.getTables());
|
|
1370
|
+
* // -> {pets: {fido: {species: 'dog', color: 'brown'}}}
|
|
1371
|
+
*
|
|
1372
|
+
* persister.destroy();
|
|
1373
|
+
* ```
|
|
1374
|
+
* @category Creation
|
|
1375
|
+
*/
|
|
1376
|
+
export function createCustomPersister<
|
|
1377
|
+
Schemas extends OptionalSchemas,
|
|
1378
|
+
ListeningHandle,
|
|
1379
|
+
StoreType extends StoreTypes = 1,
|
|
1380
|
+
>(
|
|
1381
|
+
store: PersistedStore<Schemas, StoreType>,
|
|
1382
|
+
getPersisted: () => Promise<PersistedContent<Schemas, StoreType> | undefined>,
|
|
1383
|
+
setPersisted: (
|
|
1384
|
+
getContent: () => PersistedContent<Schemas, StoreType>,
|
|
1385
|
+
changes?: PersistedChanges<Schemas, StoreType>,
|
|
1386
|
+
) => Promise<void>,
|
|
1387
|
+
addPersisterListener: (
|
|
1388
|
+
listener: PersisterListener<Schemas, StoreType>,
|
|
1389
|
+
) => ListeningHandle,
|
|
1390
|
+
delPersisterListener: (listeningHandle: ListeningHandle) => void,
|
|
1391
|
+
onIgnoredError?: (error: any) => void,
|
|
1392
|
+
supportedStoreType?: StoreType,
|
|
1393
|
+
): Persister<Schemas, StoreType>;
|