tinybase 4.4.0-beta.0 → 4.4.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +12 -12
- package/lib/debug/indexes.js +9 -9
- package/lib/debug/metrics.js +9 -9
- package/lib/debug/persisters/persister-automerge.js +21 -8
- package/lib/debug/persisters/persister-browser.js +17 -3
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +27 -12
- package/lib/debug/persisters/persister-expo-sqlite.js +27 -12
- package/lib/debug/persisters/persister-file.js +17 -3
- package/lib/debug/persisters/persister-indexed-db.js +21 -8
- package/lib/debug/persisters/persister-partykit-client.js +54 -20
- package/lib/debug/persisters/persister-partykit-server.js +173 -77
- package/lib/debug/persisters/persister-remote.js +17 -3
- package/lib/debug/persisters/persister-sqlite-wasm.js +27 -12
- package/lib/debug/persisters/persister-sqlite3.js +28 -13
- package/lib/debug/persisters/persister-yjs.js +23 -10
- package/lib/debug/persisters.js +16 -4
- package/lib/debug/queries.js +16 -15
- package/lib/debug/relationships.js +9 -9
- package/lib/debug/store.js +130 -35
- package/lib/debug/tinybase.js +142 -41
- package/lib/debug/tools.js +17 -9
- package/lib/debug/ui-react-dom.js +262 -150
- package/lib/debug/ui-react.js +288 -67
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-client.js +1 -1
- package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/es6/persisters/persister-partykit-server.js +1 -1
- package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-expo-sqlite.js +1 -1
- package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/persisters/persister-partykit-client.js +1 -1
- package/lib/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/persisters/persister-partykit-server.js +1 -1
- package/lib/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persisters/persister-automerge.d.ts +36 -3
- package/lib/types/persisters/persister-browser.d.ts +71 -8
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +42 -8
- package/lib/types/persisters/persister-expo-sqlite.d.ts +40 -7
- package/lib/types/persisters/persister-file.d.ts +34 -3
- package/lib/types/persisters/persister-indexed-db.d.ts +40 -9
- package/lib/types/persisters/persister-partykit-client.d.ts +99 -13
- package/lib/types/persisters/persister-partykit-server.d.ts +414 -9
- package/lib/types/persisters/persister-remote.d.ts +40 -4
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +46 -7
- package/lib/types/persisters/persister-sqlite3.d.ts +40 -7
- package/lib/types/persisters/persister-yjs.d.ts +37 -5
- package/lib/types/persisters.d.ts +10 -10
- package/lib/types/queries.d.ts +24 -0
- package/lib/types/store.d.ts +912 -32
- package/lib/types/tools.d.ts +4 -6
- package/lib/types/ui-react-dom.d.ts +13 -2
- package/lib/types/ui-react.d.ts +1176 -44
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +38 -4
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +75 -10
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +44 -9
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +42 -8
- package/lib/types/with-schemas/persisters/persister-file.d.ts +36 -4
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +42 -10
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +102 -15
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +447 -9
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +42 -5
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +48 -8
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +41 -7
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +39 -6
- package/lib/types/with-schemas/persisters.d.ts +10 -10
- package/lib/types/with-schemas/queries.d.ts +24 -0
- package/lib/types/with-schemas/store.d.ts +1180 -36
- package/lib/types/with-schemas/tools.d.ts +4 -6
- package/lib/types/with-schemas/ui-react-dom.d.ts +21 -4
- package/lib/types/with-schemas/ui-react.d.ts +1382 -71
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-client.js +1 -1
- package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd/persisters/persister-partykit-server.js +1 -1
- package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
- package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
- package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +42 -40
- package/readme.md +2 -2
|
@@ -11,6 +11,45 @@
|
|
|
11
11
|
import {DatabasePersisterConfig, Persister} from '../persisters';
|
|
12
12
|
import {Store} from '../store';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* The SqliteWasmPersister interface is a minor extension to the Persister
|
|
16
|
+
* interface.
|
|
17
|
+
*
|
|
18
|
+
* It simply provides an extra getDb method for accessing a reference to the
|
|
19
|
+
* database instance the Store is being persisted to.
|
|
20
|
+
* @since v4.3.14
|
|
21
|
+
*/
|
|
22
|
+
export interface SqliteWasmPersister extends Persister {
|
|
23
|
+
/**
|
|
24
|
+
* The getDb method returns a reference to the database instance the Store is
|
|
25
|
+
* being persisted to.
|
|
26
|
+
* @returns A reference to the database instance.
|
|
27
|
+
* @example
|
|
28
|
+
* This example creates a Persister object against a newly-created Store and
|
|
29
|
+
* then gets the database instance back out again.
|
|
30
|
+
*
|
|
31
|
+
* ```js
|
|
32
|
+
* const sqlite3 = await sqlite3InitModule();
|
|
33
|
+
* const db = new sqlite3.oo1.DB(':memory:', 'c');
|
|
34
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
35
|
+
* const persister = createSqliteWasmPersister(
|
|
36
|
+
* store,
|
|
37
|
+
* sqlite3,
|
|
38
|
+
* db,
|
|
39
|
+
* 'my_tinybase',
|
|
40
|
+
* );
|
|
41
|
+
*
|
|
42
|
+
* console.log(persister.getDb() == db);
|
|
43
|
+
* // -> true
|
|
44
|
+
*
|
|
45
|
+
* persister.destroy();
|
|
46
|
+
* ```
|
|
47
|
+
* @category Getter
|
|
48
|
+
* @since v4.3.14
|
|
49
|
+
*/
|
|
50
|
+
getDb: () => any;
|
|
51
|
+
}
|
|
52
|
+
|
|
14
53
|
/**
|
|
15
54
|
* The createSqliteWasmPersister function creates a Persister object that can
|
|
16
55
|
* persist the Store to a local SQLite database (in an appropriate environment).
|
|
@@ -43,11 +82,11 @@ import {Store} from '../store';
|
|
|
43
82
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
44
83
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
45
84
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
46
|
-
* @returns A reference to the new
|
|
85
|
+
* @returns A reference to the new SqliteWasmPersister object.
|
|
47
86
|
* @example
|
|
48
|
-
* This example creates a
|
|
49
|
-
* SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
50
|
-
* makes a change to the database directly and then reloads it back into the
|
|
87
|
+
* This example creates a SqliteWasmPersister object and persists the Store to a
|
|
88
|
+
* local SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
89
|
+
* It makes a change to the database directly and then reloads it back into the
|
|
51
90
|
* Store.
|
|
52
91
|
*
|
|
53
92
|
* ```js
|
|
@@ -78,8 +117,8 @@ import {Store} from '../store';
|
|
|
78
117
|
* persister.destroy();
|
|
79
118
|
* ```
|
|
80
119
|
* @example
|
|
81
|
-
* This example creates a
|
|
82
|
-
* SQLite database with tabular mapping.
|
|
120
|
+
* This example creates a SqliteWasmPersister object and persists the Store to a
|
|
121
|
+
* local SQLite database with tabular mapping.
|
|
83
122
|
*
|
|
84
123
|
* ```js
|
|
85
124
|
* const sqlite3 = await sqlite3InitModule();
|
|
@@ -111,4 +150,4 @@ export function createSqliteWasmPersister(
|
|
|
111
150
|
configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
112
151
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
113
152
|
onIgnoredError?: (error: any) => void,
|
|
114
|
-
):
|
|
153
|
+
): SqliteWasmPersister;
|
|
@@ -12,6 +12,39 @@ import {DatabasePersisterConfig, Persister} from '../persisters';
|
|
|
12
12
|
import {Database} from 'sqlite3';
|
|
13
13
|
import {Store} from '../store';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* The Sqlite3Persister interface is a minor extension to the Persister
|
|
17
|
+
* interface.
|
|
18
|
+
*
|
|
19
|
+
* It simply provides an extra getDb method for accessing a reference to the
|
|
20
|
+
* database instance the Store is being persisted to.
|
|
21
|
+
* @since v4.3.14
|
|
22
|
+
*/
|
|
23
|
+
export interface Sqlite3Persister extends Persister {
|
|
24
|
+
/**
|
|
25
|
+
* The getDb method returns a reference to the database instance the Store is
|
|
26
|
+
* being persisted to.
|
|
27
|
+
* @returns A reference to the database instance.
|
|
28
|
+
* @example
|
|
29
|
+
* This example creates a Persister object against a newly-created Store and
|
|
30
|
+
* then gets the database instance back out again.
|
|
31
|
+
*
|
|
32
|
+
* ```js
|
|
33
|
+
* const db = new sqlite3.Database(':memory:');
|
|
34
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
35
|
+
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
36
|
+
*
|
|
37
|
+
* console.log(persister.getDb() == db);
|
|
38
|
+
* // -> true
|
|
39
|
+
*
|
|
40
|
+
* persister.destroy();
|
|
41
|
+
* ```
|
|
42
|
+
* @category Getter
|
|
43
|
+
* @since v4.3.14
|
|
44
|
+
*/
|
|
45
|
+
getDb: () => Database;
|
|
46
|
+
}
|
|
47
|
+
|
|
15
48
|
/**
|
|
16
49
|
* The createSqlite3Persister function creates a Persister object that can
|
|
17
50
|
* persist the Store to a local SQLite database (in an appropriate environment).
|
|
@@ -42,11 +75,11 @@ import {Store} from '../store';
|
|
|
42
75
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
43
76
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
44
77
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
45
|
-
* @returns A reference to the new
|
|
78
|
+
* @returns A reference to the new Sqlite3Persister object.
|
|
46
79
|
* @example
|
|
47
|
-
* This example creates a
|
|
48
|
-
* SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
49
|
-
* makes a change to the database directly and then reloads it back into the
|
|
80
|
+
* This example creates a Sqlite3Persister object and persists the Store to a
|
|
81
|
+
* local SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
82
|
+
* It makes a change to the database directly and then reloads it back into the
|
|
50
83
|
* Store.
|
|
51
84
|
*
|
|
52
85
|
* ```js
|
|
@@ -78,8 +111,8 @@ import {Store} from '../store';
|
|
|
78
111
|
* persister.destroy();
|
|
79
112
|
* ```
|
|
80
113
|
* @example
|
|
81
|
-
* This example creates a
|
|
82
|
-
* SQLite database with tabular mapping.
|
|
114
|
+
* This example creates a Sqlite3Persister object and persists the Store to a
|
|
115
|
+
* local SQLite database with tabular mapping.
|
|
83
116
|
*
|
|
84
117
|
* ```js
|
|
85
118
|
* const db = new sqlite3.Database(':memory:');
|
|
@@ -118,4 +151,4 @@ export function createSqlite3Persister(
|
|
|
118
151
|
configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
119
152
|
onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
120
153
|
onIgnoredError?: (error: any) => void,
|
|
121
|
-
):
|
|
154
|
+
): Sqlite3Persister;
|
|
@@ -15,6 +15,38 @@ import {Persister} from '../persisters.d';
|
|
|
15
15
|
import {Store} from '../store.d';
|
|
16
16
|
import {Doc as YDoc} from 'yjs';
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* The YjsPersister interface is a minor extension to the Persister interface.
|
|
20
|
+
*
|
|
21
|
+
* It simply provides an extra getYDoc method for accessing the Yjs document the
|
|
22
|
+
* Store is being persisted to.
|
|
23
|
+
* @since v4.3.14
|
|
24
|
+
*/
|
|
25
|
+
export interface YjsPersister extends Persister {
|
|
26
|
+
/**
|
|
27
|
+
* The getYDoc method returns the Yjs document the Store is being persisted
|
|
28
|
+
* to.
|
|
29
|
+
* @returns The Yjs document.
|
|
30
|
+
* @example
|
|
31
|
+
* This example creates a Persister object against a newly-created Store and
|
|
32
|
+
* then gets the Yjs document back out again.
|
|
33
|
+
*
|
|
34
|
+
* ```js
|
|
35
|
+
* const doc = new Y.Doc();
|
|
36
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
37
|
+
* const persister = createYjsPersister(store, doc);
|
|
38
|
+
*
|
|
39
|
+
* console.log(persister.getYDoc() == doc);
|
|
40
|
+
* // -> true
|
|
41
|
+
*
|
|
42
|
+
* persister.destroy();
|
|
43
|
+
* ```
|
|
44
|
+
* @category Getter
|
|
45
|
+
* @since v4.3.14
|
|
46
|
+
*/
|
|
47
|
+
getYDoc: () => YDoc;
|
|
48
|
+
}
|
|
49
|
+
|
|
18
50
|
/**
|
|
19
51
|
* The createYjsPersister function creates a Persister object that can persist
|
|
20
52
|
* the Store to a Yjs document.
|
|
@@ -28,9 +60,9 @@ import {Doc as YDoc} from 'yjs';
|
|
|
28
60
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
29
61
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
30
62
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
31
|
-
* @returns A reference to the new
|
|
63
|
+
* @returns A reference to the new YjsPersister object.
|
|
32
64
|
* @example
|
|
33
|
-
* This example creates a
|
|
65
|
+
* This example creates a YjsPersister object and persists the Store to a Yjs
|
|
34
66
|
* document.
|
|
35
67
|
*
|
|
36
68
|
* ```js
|
|
@@ -48,8 +80,8 @@ import {Doc as YDoc} from 'yjs';
|
|
|
48
80
|
* ```
|
|
49
81
|
* @example
|
|
50
82
|
* This more complex example uses Yjs updates to keep two Store objects (each
|
|
51
|
-
* with their own
|
|
52
|
-
* We use the `await` keyword extensively for the purpose of ensuring
|
|
83
|
+
* with their own YjsPersister objects and Yjs documents) in sync with each
|
|
84
|
+
* other. We use the `await` keyword extensively for the purpose of ensuring
|
|
53
85
|
* sequentiality in this example.
|
|
54
86
|
*
|
|
55
87
|
* Typically, real-world synchronization would happen between two systems via a
|
|
@@ -106,4 +138,4 @@ export function createYjsPersister(
|
|
|
106
138
|
yDoc: YDoc,
|
|
107
139
|
yMapName?: string,
|
|
108
140
|
onIgnoredError?: (error: any) => void,
|
|
109
|
-
):
|
|
141
|
+
): YjsPersister;
|
|
@@ -643,11 +643,11 @@ export interface Persister {
|
|
|
643
643
|
* The load method gets persisted data from storage, and loads it into the
|
|
644
644
|
* Store with which the Persister is associated, once.
|
|
645
645
|
*
|
|
646
|
-
* The optional
|
|
647
|
-
*
|
|
648
|
-
*
|
|
649
|
-
*
|
|
650
|
-
* previously persisted storage or being run for the first time.
|
|
646
|
+
* The optional parameters allow you to specify what the initial content for
|
|
647
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
648
|
+
* fails (for example when the Persister is remote and the environment is
|
|
649
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
650
|
+
* loading from previously persisted storage or being run for the first time.
|
|
651
651
|
*
|
|
652
652
|
* This method is asynchronous because the persisted data may be on a remote
|
|
653
653
|
* machine or a filesystem. Even for those storage types that are synchronous
|
|
@@ -705,11 +705,11 @@ export interface Persister {
|
|
|
705
705
|
* into the Store with which the Persister is associated, once, and then
|
|
706
706
|
* continuously.
|
|
707
707
|
*
|
|
708
|
-
* The optional
|
|
709
|
-
*
|
|
710
|
-
*
|
|
711
|
-
*
|
|
712
|
-
* previously persisted storage or being run for the first time.
|
|
708
|
+
* The optional parameters allow you to specify what the initial content for
|
|
709
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
710
|
+
* fails (for example when the Persister is remote and the environment is
|
|
711
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
712
|
+
* loading from previously persisted storage or being run for the first time.
|
|
713
713
|
*
|
|
714
714
|
* This method first runs a single call to the load method to ensure the data
|
|
715
715
|
* is in sync with the persisted storage. It then continues to watch for
|
package/lib/types/queries.d.ts
CHANGED
|
@@ -264,6 +264,9 @@ export type QueryIdsListener = (queries: Queries) => void;
|
|
|
264
264
|
* object, the Id of the ResultTable that changed (which is the same as the
|
|
265
265
|
* query Id), and a GetResultCellChange function that can be used to query
|
|
266
266
|
* ResultCell values before and after the change.
|
|
267
|
+
*
|
|
268
|
+
* You can create new query definitions within the body of this listener, though
|
|
269
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
267
270
|
* @param queries A reference to the Queries object that changed.
|
|
268
271
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
269
272
|
* query Id.
|
|
@@ -289,6 +292,9 @@ export type ResultTableListener = (
|
|
|
289
292
|
* When called, a ResultTableCellIdsListener is given a reference to the Queries
|
|
290
293
|
* object, and the Id of the ResultTable whose Cell Ids changed (which is the
|
|
291
294
|
* same as the query Id).
|
|
295
|
+
*
|
|
296
|
+
* You can create new query definitions within the body of this listener, though
|
|
297
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
292
298
|
* @param queries A reference to the Queries object that changed.
|
|
293
299
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
294
300
|
* query Id.
|
|
@@ -311,6 +317,9 @@ export type ResultTableCellIdsListener = (
|
|
|
311
317
|
* When called, a ResultRowCountListener is given a reference to the Queries
|
|
312
318
|
* object, the Id of the ResultTable whose ResultRow Ids changed (which is the
|
|
313
319
|
* same as the query Id), and the count of ResultRow objects in the ResultTable.
|
|
320
|
+
*
|
|
321
|
+
* You can create new query definitions within the body of this listener, though
|
|
322
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
314
323
|
* @param queries A reference to the Queries object that changed.
|
|
315
324
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
316
325
|
* query Id.
|
|
@@ -334,6 +343,9 @@ export type ResultRowCountListener = (
|
|
|
334
343
|
* When called, a ResultRowIdsListener is given a reference to the Queries
|
|
335
344
|
* object, and the Id of the ResultTable whose ResultRow Ids changed (which is
|
|
336
345
|
* the same as the query Id).
|
|
346
|
+
*
|
|
347
|
+
* You can create new query definitions within the body of this listener, though
|
|
348
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
337
349
|
* @param queries A reference to the Queries object that changed.
|
|
338
350
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
339
351
|
* query Id.
|
|
@@ -360,6 +372,9 @@ export type ResultRowIdsListener = (
|
|
|
360
372
|
* for pagination purposes. It also receives the sorted array of Ids itself, so
|
|
361
373
|
* that you can use them in the listener without the additional cost of an
|
|
362
374
|
* explicit call to getResultSortedRowIds.
|
|
375
|
+
*
|
|
376
|
+
* You can create new query definitions within the body of this listener, though
|
|
377
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
363
378
|
* @param queries A reference to the Queries object that changed.
|
|
364
379
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
365
380
|
* query Id.
|
|
@@ -393,6 +408,9 @@ export type ResultSortedRowIdsListener = (
|
|
|
393
408
|
* the Id of the ResultTable that changed (which is the same as the query Id),
|
|
394
409
|
* the Id of the ResultRow that changed, and a GetResultCellChange function that
|
|
395
410
|
* can be used to query ResultCell values before and after the change.
|
|
411
|
+
*
|
|
412
|
+
* You can create new query definitions within the body of this listener, though
|
|
413
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
396
414
|
* @param queries A reference to the Queries object that changed.
|
|
397
415
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
398
416
|
* query Id.
|
|
@@ -419,6 +437,9 @@ export type ResultRowListener = (
|
|
|
419
437
|
* When called, a ResultCellIdsListener is given a reference to the Queries
|
|
420
438
|
* object, the Id of the ResultTable that changed (which is the same as the
|
|
421
439
|
* query Id), and the Id of the ResultRow whose ResultCell Ids changed.
|
|
440
|
+
*
|
|
441
|
+
* You can create new query definitions within the body of this listener, though
|
|
442
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
422
443
|
* @param queries A reference to the Queries object that changed.
|
|
423
444
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
424
445
|
* query Id.
|
|
@@ -446,6 +467,9 @@ export type ResultCellIdsListener = (
|
|
|
446
467
|
* It is also given the new value of the ResultCell, the old value of the
|
|
447
468
|
* ResultCell, and a GetResultCellChange function that can be used to query
|
|
448
469
|
* ResultCell values before and after the change.
|
|
470
|
+
*
|
|
471
|
+
* You can create new query definitions within the body of this listener, though
|
|
472
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
449
473
|
* @param queries A reference to the Queries object that changed.
|
|
450
474
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
451
475
|
* query Id.
|