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
|
@@ -12,6 +12,40 @@ import {DatabasePersisterConfig, Persister} from '../persisters';
|
|
|
12
12
|
import {OptionalSchemas, Store} from '../store';
|
|
13
13
|
import {Database} from 'sqlite3';
|
|
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<Schemas extends OptionalSchemas>
|
|
24
|
+
extends Persister<Schemas> {
|
|
25
|
+
/**
|
|
26
|
+
* The getDb method returns a reference to the database instance the Store is
|
|
27
|
+
* being persisted to.
|
|
28
|
+
* @returns A reference to the database instance.
|
|
29
|
+
* @example
|
|
30
|
+
* This example creates a Persister object against a newly-created Store and
|
|
31
|
+
* then gets the database instance back out again.
|
|
32
|
+
*
|
|
33
|
+
* ```js
|
|
34
|
+
* const db = new sqlite3.Database(':memory:');
|
|
35
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
36
|
+
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
37
|
+
*
|
|
38
|
+
* console.log(persister.getDb() == db);
|
|
39
|
+
* // -> true
|
|
40
|
+
*
|
|
41
|
+
* persister.destroy();
|
|
42
|
+
* ```
|
|
43
|
+
* @category Getter
|
|
44
|
+
* @since v4.3.14
|
|
45
|
+
*/
|
|
46
|
+
getDb: () => Database;
|
|
47
|
+
}
|
|
48
|
+
|
|
15
49
|
/**
|
|
16
50
|
* The createSqlite3Persister function creates a Persister object that can
|
|
17
51
|
* persist the Store to a local SQLite database (in an appropriate environment).
|
|
@@ -25,7 +59,7 @@ import {Database} from 'sqlite3';
|
|
|
25
59
|
* configOrStoreTableName?: DatabasePersisterConfig | string,
|
|
26
60
|
* onSqlCommand?: (sql: string, args?: any[]) => void,
|
|
27
61
|
* onIgnoredError?: (error: any) => void,
|
|
28
|
-
* ):
|
|
62
|
+
* ): Sqlite3Persister;
|
|
29
63
|
* ```
|
|
30
64
|
*
|
|
31
65
|
* As well as providing a reference to the Store to persist, you must provide a
|
|
@@ -54,11 +88,11 @@ import {Database} from 'sqlite3';
|
|
|
54
88
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
55
89
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
56
90
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
57
|
-
* @returns A reference to the new
|
|
91
|
+
* @returns A reference to the new Sqlite3Persister object.
|
|
58
92
|
* @example
|
|
59
|
-
* This example creates a
|
|
60
|
-
* SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
61
|
-
* makes a change to the database directly and then reloads it back into the
|
|
93
|
+
* This example creates a Sqlite3Persister object and persists the Store to a
|
|
94
|
+
* local SQLite database as a JSON serialization into the `my_tinybase` table.
|
|
95
|
+
* It makes a change to the database directly and then reloads it back into the
|
|
62
96
|
* Store.
|
|
63
97
|
*
|
|
64
98
|
* ```js
|
|
@@ -90,8 +124,8 @@ import {Database} from 'sqlite3';
|
|
|
90
124
|
* persister.destroy();
|
|
91
125
|
* ```
|
|
92
126
|
* @example
|
|
93
|
-
* This example creates a
|
|
94
|
-
* SQLite database with tabular mapping.
|
|
127
|
+
* This example creates a Sqlite3Persister object and persists the Store to a
|
|
128
|
+
* local SQLite database with tabular mapping.
|
|
95
129
|
*
|
|
96
130
|
* ```js
|
|
97
131
|
* const db = new sqlite3.Database(':memory:');
|
|
@@ -15,6 +15,39 @@ import {OptionalSchemas, Store} from '../store.d';
|
|
|
15
15
|
import {Persister} from '../persisters.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<Schemas extends OptionalSchemas>
|
|
26
|
+
extends Persister<Schemas> {
|
|
27
|
+
/**
|
|
28
|
+
* The getYDoc method returns the Yjs document the Store is being persisted
|
|
29
|
+
* to.
|
|
30
|
+
* @returns The Yjs document.
|
|
31
|
+
* @example
|
|
32
|
+
* This example creates a Persister object against a newly-created Store and
|
|
33
|
+
* then gets the Yjs document back out again.
|
|
34
|
+
*
|
|
35
|
+
* ```js
|
|
36
|
+
* const doc = new Y.Doc();
|
|
37
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
38
|
+
* const persister = createYjsPersister(store, doc);
|
|
39
|
+
*
|
|
40
|
+
* console.log(persister.getYDoc() == doc);
|
|
41
|
+
* // -> true
|
|
42
|
+
*
|
|
43
|
+
* persister.destroy();
|
|
44
|
+
* ```
|
|
45
|
+
* @category Getter
|
|
46
|
+
* @since v4.3.14
|
|
47
|
+
*/
|
|
48
|
+
getYDoc: () => YDoc;
|
|
49
|
+
}
|
|
50
|
+
|
|
18
51
|
/**
|
|
19
52
|
* The createYjsPersister function creates a Persister object that can persist
|
|
20
53
|
* the Store to a Yjs document.
|
|
@@ -27,7 +60,7 @@ import {Doc as YDoc} from 'yjs';
|
|
|
27
60
|
* yDoc: YDoc,
|
|
28
61
|
* yMapName?: string,
|
|
29
62
|
* onIgnoredError?: (error: any) => void,
|
|
30
|
-
* ):
|
|
63
|
+
* ): YjsPersister;
|
|
31
64
|
* ```
|
|
32
65
|
*
|
|
33
66
|
* As well as providing a reference to the Store to persist, you must provide
|
|
@@ -39,9 +72,9 @@ import {Doc as YDoc} from 'yjs';
|
|
|
39
72
|
* @param onIgnoredError An optional handler for the errors that the Persister
|
|
40
73
|
* would otherwise ignore when trying to save or load data. This is suitable for
|
|
41
74
|
* debugging persistence issues in a development environment, since v4.0.4.
|
|
42
|
-
* @returns A reference to the new
|
|
75
|
+
* @returns A reference to the new YjsPersister object.
|
|
43
76
|
* @example
|
|
44
|
-
* This example creates a
|
|
77
|
+
* This example creates a YjsPersister object and persists the Store to a Yjs
|
|
45
78
|
* document.
|
|
46
79
|
*
|
|
47
80
|
* ```js
|
|
@@ -59,8 +92,8 @@ import {Doc as YDoc} from 'yjs';
|
|
|
59
92
|
* ```
|
|
60
93
|
* @example
|
|
61
94
|
* This more complex example uses Yjs updates to keep two Store objects (each
|
|
62
|
-
* with their own
|
|
63
|
-
* We use the `await` keyword extensively for the purpose of ensuring
|
|
95
|
+
* with their own YjsPersister objects and Yjs documents) in sync with each
|
|
96
|
+
* other. We use the `await` keyword extensively for the purpose of ensuring
|
|
64
97
|
* sequentiality in this example.
|
|
65
98
|
*
|
|
66
99
|
* Typically, real-world synchronization would happen between two systems via a
|
|
@@ -117,4 +150,4 @@ export function createYjsPersister<Schemas extends OptionalSchemas>(
|
|
|
117
150
|
yDoc: YDoc,
|
|
118
151
|
yMapName?: string,
|
|
119
152
|
onIgnoredError?: (error: any) => void,
|
|
120
|
-
):
|
|
153
|
+
): YjsPersister<Schemas>;
|
|
@@ -672,11 +672,11 @@ export interface Persister<in out Schemas extends OptionalSchemas> {
|
|
|
672
672
|
* load(initialTables?: Tables, initialValues?: Values): Promise<Persister>;
|
|
673
673
|
* ```
|
|
674
674
|
*
|
|
675
|
-
* The optional
|
|
676
|
-
*
|
|
677
|
-
*
|
|
678
|
-
*
|
|
679
|
-
* previously persisted storage or being run for the first time.
|
|
675
|
+
* The optional parameters allow you to specify what the initial content for
|
|
676
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
677
|
+
* fails (for example when the Persister is remote and the environment is
|
|
678
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
679
|
+
* loading from previously persisted storage or being run for the first time.
|
|
680
680
|
*
|
|
681
681
|
* This method is asynchronous because the persisted data may be on a remote
|
|
682
682
|
* machine or a filesystem. Even for those storage types that are synchronous
|
|
@@ -746,11 +746,11 @@ export interface Persister<in out Schemas extends OptionalSchemas> {
|
|
|
746
746
|
* ): Promise<Persister>;
|
|
747
747
|
* ```
|
|
748
748
|
*
|
|
749
|
-
* The optional
|
|
750
|
-
*
|
|
751
|
-
*
|
|
752
|
-
*
|
|
753
|
-
* previously persisted storage or being run for the first time.
|
|
749
|
+
* The optional parameters allow you to specify what the initial content for
|
|
750
|
+
* the Store will be if there is nothing currently persisted or if the load
|
|
751
|
+
* fails (for example when the Persister is remote and the environment is
|
|
752
|
+
* offline). This allows you to fallback or instantiate a Store whether it's
|
|
753
|
+
* loading from previously persisted storage or being run for the first time.
|
|
754
754
|
*
|
|
755
755
|
* This method first runs a single call to the load method to ensure the data
|
|
756
756
|
* is in sync with the persisted storage. It then continues to watch for
|
|
@@ -293,6 +293,9 @@ export type QueryIdsListener<Schemas extends OptionalSchemas> = (
|
|
|
293
293
|
* object, the Id of the ResultTable that changed (which is the same as the
|
|
294
294
|
* query Id), and a GetResultCellChange function that can be used to query
|
|
295
295
|
* ResultCell values before and after the change.
|
|
296
|
+
*
|
|
297
|
+
* You can create new query definitions within the body of this listener, though
|
|
298
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
296
299
|
* @param queries A reference to the Queries object that changed.
|
|
297
300
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
298
301
|
* query Id.
|
|
@@ -328,6 +331,9 @@ export type ResultTableListener<Schemas extends OptionalSchemas> = (
|
|
|
328
331
|
* When called, a ResultTableCellIdsListener is given a reference to the Queries
|
|
329
332
|
* object, and the Id of the ResultTable whose Cell Ids changed (which is the
|
|
330
333
|
* same as the query Id).
|
|
334
|
+
*
|
|
335
|
+
* You can create new query definitions within the body of this listener, though
|
|
336
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
331
337
|
* @param queries A reference to the Queries object that changed.
|
|
332
338
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
333
339
|
* query Id.
|
|
@@ -360,6 +366,9 @@ export type ResultTableCellIdsListener<Schemas extends OptionalSchemas> = (
|
|
|
360
366
|
* When called, a ResultRowCountListener is given a reference to the Queries
|
|
361
367
|
* object, the Id of the ResultTable whose ResultRow Ids changed (which is the
|
|
362
368
|
* same as the query Id), and the count of ResultRow objects in the ResultTable.
|
|
369
|
+
*
|
|
370
|
+
* You can create new query definitions within the body of this listener, though
|
|
371
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
363
372
|
* @param queries A reference to the Queries object that changed.
|
|
364
373
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
365
374
|
* query Id.
|
|
@@ -393,6 +402,9 @@ export type ResultRowCountListener<Schemas extends OptionalSchemas> = (
|
|
|
393
402
|
* When called, a ResultRowIdsListener is given a reference to the Queries
|
|
394
403
|
* object, and the Id of the ResultTable whose ResultRow Ids changed (which is
|
|
395
404
|
* the same as the query Id).
|
|
405
|
+
*
|
|
406
|
+
* You can create new query definitions within the body of this listener, though
|
|
407
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
396
408
|
* @param queries A reference to the Queries object that changed.
|
|
397
409
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
398
410
|
* query Id.
|
|
@@ -433,6 +445,9 @@ export type ResultRowIdsListener<Schemas extends OptionalSchemas> = (
|
|
|
433
445
|
* for pagination purposes. It also receives the sorted array of Ids itself, so
|
|
434
446
|
* that you can use them in the listener without the additional cost of an
|
|
435
447
|
* explicit call to getResultSortedRowIds.
|
|
448
|
+
*
|
|
449
|
+
* You can create new query definitions within the body of this listener, though
|
|
450
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
436
451
|
* @param queries A reference to the Queries object that changed.
|
|
437
452
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
438
453
|
* query Id.
|
|
@@ -477,6 +492,9 @@ export type ResultSortedRowIdsListener<Schemas extends OptionalSchemas> = (
|
|
|
477
492
|
* the Id of the ResultTable that changed (which is the same as the query Id),
|
|
478
493
|
* the Id of the ResultRow that changed, and a GetResultCellChange function that
|
|
479
494
|
* can be used to query ResultCell values before and after the change.
|
|
495
|
+
*
|
|
496
|
+
* You can create new query definitions within the body of this listener, though
|
|
497
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
480
498
|
* @param queries A reference to the Queries object that changed.
|
|
481
499
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
482
500
|
* query Id.
|
|
@@ -514,6 +532,9 @@ export type ResultRowListener<Schemas extends OptionalSchemas> = (
|
|
|
514
532
|
* When called, a ResultCellIdsListener is given a reference to the Queries
|
|
515
533
|
* object, the Id of the ResultTable that changed (which is the same as the
|
|
516
534
|
* query Id), and the Id of the ResultRow whose ResultCell Ids changed.
|
|
535
|
+
*
|
|
536
|
+
* You can create new query definitions within the body of this listener, though
|
|
537
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
517
538
|
* @param queries A reference to the Queries object that changed.
|
|
518
539
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
519
540
|
* query Id.
|
|
@@ -555,6 +576,9 @@ export type ResultCellIdsListener<Schemas extends OptionalSchemas> = (
|
|
|
555
576
|
* It is also given the new value of the ResultCell, the old value of the
|
|
556
577
|
* ResultCell, and a GetResultCellChange function that can be used to query
|
|
557
578
|
* ResultCell values before and after the change.
|
|
579
|
+
*
|
|
580
|
+
* You can create new query definitions within the body of this listener, though
|
|
581
|
+
* obviously be aware of the possible cascading effects of doing so.
|
|
558
582
|
* @param queries A reference to the Queries object that changed.
|
|
559
583
|
* @param tableId The Id of the ResultTable that changed, which is also the
|
|
560
584
|
* query Id.
|