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
package/lib/debug/ui-react.js
CHANGED
|
@@ -7,6 +7,8 @@ const LISTENER = 'Listener';
|
|
|
7
7
|
const RESULT = 'Result';
|
|
8
8
|
const GET = 'get';
|
|
9
9
|
const ADD = 'add';
|
|
10
|
+
const HAS = 'Has';
|
|
11
|
+
const _HAS = 'has';
|
|
10
12
|
const IDS = 'Ids';
|
|
11
13
|
const TABLE = 'Table';
|
|
12
14
|
const TABLES = TABLE + 's';
|
|
@@ -26,11 +28,11 @@ const ifNotUndefined = (value, then, otherwise) =>
|
|
|
26
28
|
isUndefined(value) ? otherwise?.() : then(value);
|
|
27
29
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
28
30
|
const isArray = (thing) => Array.isArray(thing);
|
|
31
|
+
const size = (arrayOrString) => arrayOrString.length;
|
|
29
32
|
const getUndefined = () => void 0;
|
|
30
33
|
|
|
31
34
|
const arrayMap = (array, cb) => array.map(cb);
|
|
32
|
-
const
|
|
33
|
-
const arrayIsEmpty = (array) => arrayLength(array) == 0;
|
|
35
|
+
const arrayIsEmpty = (array) => size(array) == 0;
|
|
34
36
|
|
|
35
37
|
const object = Object;
|
|
36
38
|
const objIds = object.keys;
|
|
@@ -81,10 +83,14 @@ const {
|
|
|
81
83
|
useCallback: useCallback$1,
|
|
82
84
|
useEffect,
|
|
83
85
|
useMemo: useMemo$1,
|
|
86
|
+
useLayoutEffect: useLayoutEffect$1,
|
|
84
87
|
useRef: useRef$1,
|
|
85
88
|
useState: useState$1,
|
|
86
89
|
} = React;
|
|
87
|
-
const
|
|
90
|
+
const EMPTY_ARRAY = [];
|
|
91
|
+
const EMPTY_OBJECT = {};
|
|
92
|
+
const DEFAULT_CHECKPOINT_IDS = [[], void 0, []];
|
|
93
|
+
const useCreate = (store, create, createDeps = EMPTY_ARRAY) => {
|
|
88
94
|
const thing = useMemo$1(
|
|
89
95
|
() => create(store),
|
|
90
96
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -97,20 +103,21 @@ const useListenable = (
|
|
|
97
103
|
listenable,
|
|
98
104
|
thing,
|
|
99
105
|
defaulted,
|
|
100
|
-
args =
|
|
106
|
+
args = EMPTY_ARRAY,
|
|
101
107
|
getFromListenerArg,
|
|
108
|
+
getterPrefix = GET,
|
|
109
|
+
listenerPrefix = EMPTY_STRING,
|
|
102
110
|
) => {
|
|
103
111
|
const [, rerender] = useState$1();
|
|
104
112
|
const getResult = useCallback$1(
|
|
105
|
-
() => thing?.[
|
|
113
|
+
() => thing?.[getterPrefix + listenable]?.(...args) ?? defaulted,
|
|
106
114
|
/* eslint-disable-next-line react-hooks/exhaustive-deps */
|
|
107
|
-
[thing, ...args],
|
|
115
|
+
[thing, listenable, ...args, defaulted],
|
|
108
116
|
);
|
|
109
|
-
const
|
|
110
|
-
const result = useRef$1(initialResult);
|
|
117
|
+
const result = useRef$1();
|
|
111
118
|
useMemo$1(() => (result.current = getResult()), [getResult]);
|
|
112
119
|
useListener(
|
|
113
|
-
listenable,
|
|
120
|
+
listenerPrefix + listenable,
|
|
114
121
|
thing,
|
|
115
122
|
(...listenerArgs) => {
|
|
116
123
|
result.current = isUndefined(getFromListenerArg)
|
|
@@ -118,7 +125,7 @@ const useListenable = (
|
|
|
118
125
|
: listenerArgs[getFromListenerArg];
|
|
119
126
|
rerender([]);
|
|
120
127
|
},
|
|
121
|
-
[],
|
|
128
|
+
[getResult, getFromListenerArg],
|
|
122
129
|
args,
|
|
123
130
|
);
|
|
124
131
|
return result.current;
|
|
@@ -127,25 +134,25 @@ const useListener = (
|
|
|
127
134
|
listenable,
|
|
128
135
|
thing,
|
|
129
136
|
listener,
|
|
130
|
-
listenerDeps =
|
|
131
|
-
preArgs =
|
|
137
|
+
listenerDeps = EMPTY_ARRAY,
|
|
138
|
+
preArgs = EMPTY_ARRAY,
|
|
132
139
|
...postArgs
|
|
133
140
|
) =>
|
|
134
|
-
|
|
141
|
+
useLayoutEffect$1(() => {
|
|
135
142
|
const listenerId = thing?.[ADD + listenable + LISTENER]?.(
|
|
136
143
|
...preArgs,
|
|
137
144
|
listener,
|
|
138
145
|
...postArgs,
|
|
139
146
|
);
|
|
140
147
|
return () => thing?.delListener(listenerId);
|
|
141
|
-
}, [thing, ...preArgs, ...listenerDeps, ...postArgs]);
|
|
148
|
+
}, [thing, listenable, ...preArgs, ...listenerDeps, ...postArgs]);
|
|
142
149
|
const useSetCallback = (
|
|
143
150
|
storeOrStoreId,
|
|
144
151
|
settable,
|
|
145
152
|
get,
|
|
146
|
-
getDeps =
|
|
153
|
+
getDeps = EMPTY_ARRAY,
|
|
147
154
|
then = getUndefined,
|
|
148
|
-
thenDeps =
|
|
155
|
+
thenDeps = EMPTY_ARRAY,
|
|
149
156
|
...args
|
|
150
157
|
) => {
|
|
151
158
|
const store = useStoreOrStoreById(storeOrStoreId);
|
|
@@ -164,7 +171,7 @@ const useDel = (
|
|
|
164
171
|
storeOrStoreId,
|
|
165
172
|
deletable,
|
|
166
173
|
then = getUndefined,
|
|
167
|
-
thenDeps =
|
|
174
|
+
thenDeps = EMPTY_ARRAY,
|
|
168
175
|
...args
|
|
169
176
|
) => {
|
|
170
177
|
const store = useStoreOrStoreById(storeOrStoreId);
|
|
@@ -184,26 +191,60 @@ const useCheckpointAction = (checkpointsOrCheckpointsId, action, arg) => {
|
|
|
184
191
|
[checkpoints, action, arg],
|
|
185
192
|
);
|
|
186
193
|
};
|
|
187
|
-
const useCreateStore = (create, createDeps =
|
|
194
|
+
const useCreateStore = (create, createDeps = EMPTY_ARRAY) =>
|
|
188
195
|
useMemo$1(create, createDeps);
|
|
189
196
|
const useStoreIds = () => useThingIds(1);
|
|
197
|
+
const useHasTables = (storeOrStoreId) =>
|
|
198
|
+
useListenable(
|
|
199
|
+
TABLES,
|
|
200
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
201
|
+
false,
|
|
202
|
+
[],
|
|
203
|
+
1,
|
|
204
|
+
_HAS,
|
|
205
|
+
HAS,
|
|
206
|
+
);
|
|
190
207
|
const useTables = (storeOrStoreId) =>
|
|
191
|
-
useListenable(TABLES, useStoreOrStoreById(storeOrStoreId),
|
|
208
|
+
useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT);
|
|
192
209
|
const useTableIds = (storeOrStoreId) =>
|
|
193
|
-
useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId),
|
|
210
|
+
useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY);
|
|
211
|
+
const useHasTable = (tableId, storeOrStoreId) =>
|
|
212
|
+
useListenable(
|
|
213
|
+
TABLE,
|
|
214
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
215
|
+
false,
|
|
216
|
+
[tableId],
|
|
217
|
+
2,
|
|
218
|
+
_HAS,
|
|
219
|
+
HAS,
|
|
220
|
+
);
|
|
194
221
|
const useTable = (tableId, storeOrStoreId) =>
|
|
195
|
-
useListenable(TABLE, useStoreOrStoreById(storeOrStoreId),
|
|
222
|
+
useListenable(TABLE, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT, [
|
|
223
|
+
tableId,
|
|
224
|
+
]);
|
|
196
225
|
const useTableCellIds = (tableId, storeOrStoreId) =>
|
|
197
226
|
useListenable(
|
|
198
227
|
TABLE + CELL_IDS,
|
|
199
228
|
useStoreOrStoreById(storeOrStoreId),
|
|
200
|
-
|
|
229
|
+
EMPTY_ARRAY,
|
|
201
230
|
[tableId],
|
|
202
231
|
);
|
|
232
|
+
const useHasTableCell = (tableId, cellId, storeOrStoreId) =>
|
|
233
|
+
useListenable(
|
|
234
|
+
TABLE + CELL,
|
|
235
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
236
|
+
false,
|
|
237
|
+
[tableId, cellId],
|
|
238
|
+
3,
|
|
239
|
+
_HAS,
|
|
240
|
+
HAS,
|
|
241
|
+
);
|
|
203
242
|
const useRowCount = (tableId, storeOrStoreId) =>
|
|
204
|
-
useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId),
|
|
243
|
+
useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId), 0, [tableId]);
|
|
205
244
|
const useRowIds = (tableId, storeOrStoreId) =>
|
|
206
|
-
useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId),
|
|
245
|
+
useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY, [
|
|
246
|
+
tableId,
|
|
247
|
+
]);
|
|
207
248
|
const useSortedRowIds = (
|
|
208
249
|
tableId,
|
|
209
250
|
cellId,
|
|
@@ -215,18 +256,39 @@ const useSortedRowIds = (
|
|
|
215
256
|
useListenable(
|
|
216
257
|
SORTED_ROW_IDS,
|
|
217
258
|
useStoreOrStoreById(storeOrStoreId),
|
|
218
|
-
|
|
259
|
+
EMPTY_ARRAY,
|
|
219
260
|
[tableId, cellId, descending, offset, limit],
|
|
220
261
|
6,
|
|
221
262
|
);
|
|
263
|
+
const useHasRow = (tableId, rowId, storeOrStoreId) =>
|
|
264
|
+
useListenable(
|
|
265
|
+
ROW,
|
|
266
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
267
|
+
false,
|
|
268
|
+
[tableId, rowId],
|
|
269
|
+
3,
|
|
270
|
+
_HAS,
|
|
271
|
+
HAS,
|
|
272
|
+
);
|
|
222
273
|
const useRow = (tableId, rowId, storeOrStoreId) =>
|
|
223
|
-
useListenable(ROW, useStoreOrStoreById(storeOrStoreId),
|
|
274
|
+
useListenable(ROW, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT, [
|
|
275
|
+
tableId,
|
|
276
|
+
rowId,
|
|
277
|
+
]);
|
|
224
278
|
const useCellIds = (tableId, rowId, storeOrStoreId) =>
|
|
279
|
+
useListenable(CELL_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY, [
|
|
280
|
+
tableId,
|
|
281
|
+
rowId,
|
|
282
|
+
]);
|
|
283
|
+
const useHasCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
225
284
|
useListenable(
|
|
226
|
-
|
|
285
|
+
CELL,
|
|
227
286
|
useStoreOrStoreById(storeOrStoreId),
|
|
228
|
-
|
|
229
|
-
[tableId, rowId],
|
|
287
|
+
false,
|
|
288
|
+
[tableId, rowId, cellId],
|
|
289
|
+
4,
|
|
290
|
+
_HAS,
|
|
291
|
+
HAS,
|
|
230
292
|
);
|
|
231
293
|
const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
232
294
|
useListenable(
|
|
@@ -236,10 +298,30 @@ const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
|
|
|
236
298
|
[tableId, rowId, cellId],
|
|
237
299
|
4,
|
|
238
300
|
);
|
|
301
|
+
const useHasValues = (storeOrStoreId) =>
|
|
302
|
+
useListenable(
|
|
303
|
+
VALUES,
|
|
304
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
305
|
+
false,
|
|
306
|
+
[],
|
|
307
|
+
1,
|
|
308
|
+
_HAS,
|
|
309
|
+
HAS,
|
|
310
|
+
);
|
|
239
311
|
const useValues = (storeOrStoreId) =>
|
|
240
|
-
useListenable(VALUES, useStoreOrStoreById(storeOrStoreId),
|
|
312
|
+
useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT);
|
|
241
313
|
const useValueIds = (storeOrStoreId) =>
|
|
242
|
-
useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId),
|
|
314
|
+
useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY);
|
|
315
|
+
const useHasValue = (valueId, storeOrStoreId) =>
|
|
316
|
+
useListenable(
|
|
317
|
+
VALUE,
|
|
318
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
319
|
+
false,
|
|
320
|
+
[valueId],
|
|
321
|
+
2,
|
|
322
|
+
_HAS,
|
|
323
|
+
HAS,
|
|
324
|
+
);
|
|
243
325
|
const useValue = (valueId, storeOrStoreId) =>
|
|
244
326
|
useListenable(VALUE, useStoreOrStoreById(storeOrStoreId), void 0, [valueId]);
|
|
245
327
|
const useSetTablesCallback = (
|
|
@@ -296,10 +378,10 @@ const useSetRowCallback = (
|
|
|
296
378
|
const useAddRowCallback = (
|
|
297
379
|
tableId,
|
|
298
380
|
getRow,
|
|
299
|
-
getRowDeps =
|
|
381
|
+
getRowDeps = EMPTY_ARRAY,
|
|
300
382
|
storeOrStoreId,
|
|
301
383
|
then = getUndefined,
|
|
302
|
-
thenDeps =
|
|
384
|
+
thenDeps = EMPTY_ARRAY,
|
|
303
385
|
reuseRowIds = true,
|
|
304
386
|
) => {
|
|
305
387
|
const store = useStoreOrStoreById(storeOrStoreId);
|
|
@@ -430,13 +512,27 @@ const useDelValuesCallback = (storeOrStoreId, then, thenDeps) =>
|
|
|
430
512
|
useDel(storeOrStoreId, VALUES, then, thenDeps);
|
|
431
513
|
const useDelValueCallback = (valueId, storeOrStoreId, then, thenDeps) =>
|
|
432
514
|
useDel(storeOrStoreId, VALUE, then, thenDeps, valueId);
|
|
515
|
+
const useHasTablesListener = (
|
|
516
|
+
listener,
|
|
517
|
+
listenerDeps,
|
|
518
|
+
mutator,
|
|
519
|
+
storeOrStoreId,
|
|
520
|
+
) =>
|
|
521
|
+
useListener(
|
|
522
|
+
HAS + TABLES,
|
|
523
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
524
|
+
listener,
|
|
525
|
+
listenerDeps,
|
|
526
|
+
[],
|
|
527
|
+
mutator,
|
|
528
|
+
);
|
|
433
529
|
const useTablesListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
434
530
|
useListener(
|
|
435
531
|
TABLES,
|
|
436
532
|
useStoreOrStoreById(storeOrStoreId),
|
|
437
533
|
listener,
|
|
438
534
|
listenerDeps,
|
|
439
|
-
|
|
535
|
+
EMPTY_ARRAY,
|
|
440
536
|
mutator,
|
|
441
537
|
);
|
|
442
538
|
const useTableIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
@@ -445,7 +541,22 @@ const useTableIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
|
445
541
|
useStoreOrStoreById(storeOrStoreId),
|
|
446
542
|
listener,
|
|
447
543
|
listenerDeps,
|
|
448
|
-
|
|
544
|
+
EMPTY_ARRAY,
|
|
545
|
+
mutator,
|
|
546
|
+
);
|
|
547
|
+
const useHasTableListener = (
|
|
548
|
+
tableId,
|
|
549
|
+
listener,
|
|
550
|
+
listenerDeps,
|
|
551
|
+
mutator,
|
|
552
|
+
storeOrStoreId,
|
|
553
|
+
) =>
|
|
554
|
+
useListener(
|
|
555
|
+
HAS + TABLE,
|
|
556
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
557
|
+
listener,
|
|
558
|
+
listenerDeps,
|
|
559
|
+
[tableId],
|
|
449
560
|
mutator,
|
|
450
561
|
);
|
|
451
562
|
const useTableListener = (
|
|
@@ -478,6 +589,22 @@ const useTableCellIdsListener = (
|
|
|
478
589
|
[tableId],
|
|
479
590
|
mutator,
|
|
480
591
|
);
|
|
592
|
+
const useHasTableCellListener = (
|
|
593
|
+
tableId,
|
|
594
|
+
cellId,
|
|
595
|
+
listener,
|
|
596
|
+
listenerDeps,
|
|
597
|
+
mutator,
|
|
598
|
+
storeOrStoreId,
|
|
599
|
+
) =>
|
|
600
|
+
useListener(
|
|
601
|
+
HAS + TABLE + CELL,
|
|
602
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
603
|
+
listener,
|
|
604
|
+
listenerDeps,
|
|
605
|
+
[tableId, cellId],
|
|
606
|
+
mutator,
|
|
607
|
+
);
|
|
481
608
|
const useRowCountListener = (
|
|
482
609
|
tableId,
|
|
483
610
|
listener,
|
|
@@ -527,6 +654,22 @@ const useSortedRowIdsListener = (
|
|
|
527
654
|
[tableId, cellId, descending, offset, limit],
|
|
528
655
|
mutator,
|
|
529
656
|
);
|
|
657
|
+
const useHasRowListener = (
|
|
658
|
+
tableId,
|
|
659
|
+
rowId,
|
|
660
|
+
listener,
|
|
661
|
+
listenerDeps,
|
|
662
|
+
mutator,
|
|
663
|
+
storeOrStoreId,
|
|
664
|
+
) =>
|
|
665
|
+
useListener(
|
|
666
|
+
HAS + ROW,
|
|
667
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
668
|
+
listener,
|
|
669
|
+
listenerDeps,
|
|
670
|
+
[tableId, rowId],
|
|
671
|
+
mutator,
|
|
672
|
+
);
|
|
530
673
|
const useRowListener = (
|
|
531
674
|
tableId,
|
|
532
675
|
rowId,
|
|
@@ -559,6 +702,23 @@ const useCellIdsListener = (
|
|
|
559
702
|
[tableId, rowId],
|
|
560
703
|
mutator,
|
|
561
704
|
);
|
|
705
|
+
const useHasCellListener = (
|
|
706
|
+
tableId,
|
|
707
|
+
rowId,
|
|
708
|
+
cellId,
|
|
709
|
+
listener,
|
|
710
|
+
listenerDeps,
|
|
711
|
+
mutator,
|
|
712
|
+
storeOrStoreId,
|
|
713
|
+
) =>
|
|
714
|
+
useListener(
|
|
715
|
+
HAS + CELL,
|
|
716
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
717
|
+
listener,
|
|
718
|
+
listenerDeps,
|
|
719
|
+
[tableId, rowId, cellId],
|
|
720
|
+
mutator,
|
|
721
|
+
);
|
|
562
722
|
const useCellListener = (
|
|
563
723
|
tableId,
|
|
564
724
|
rowId,
|
|
@@ -576,13 +736,27 @@ const useCellListener = (
|
|
|
576
736
|
[tableId, rowId, cellId],
|
|
577
737
|
mutator,
|
|
578
738
|
);
|
|
739
|
+
const useHasValuesListener = (
|
|
740
|
+
listener,
|
|
741
|
+
listenerDeps,
|
|
742
|
+
mutator,
|
|
743
|
+
storeOrStoreId,
|
|
744
|
+
) =>
|
|
745
|
+
useListener(
|
|
746
|
+
HAS + VALUES,
|
|
747
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
748
|
+
listener,
|
|
749
|
+
listenerDeps,
|
|
750
|
+
[],
|
|
751
|
+
mutator,
|
|
752
|
+
);
|
|
579
753
|
const useValuesListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
580
754
|
useListener(
|
|
581
755
|
VALUES,
|
|
582
756
|
useStoreOrStoreById(storeOrStoreId),
|
|
583
757
|
listener,
|
|
584
758
|
listenerDeps,
|
|
585
|
-
|
|
759
|
+
EMPTY_ARRAY,
|
|
586
760
|
mutator,
|
|
587
761
|
);
|
|
588
762
|
const useValueIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
@@ -591,7 +765,22 @@ const useValueIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
|
|
|
591
765
|
useStoreOrStoreById(storeOrStoreId),
|
|
592
766
|
listener,
|
|
593
767
|
listenerDeps,
|
|
594
|
-
|
|
768
|
+
EMPTY_ARRAY,
|
|
769
|
+
mutator,
|
|
770
|
+
);
|
|
771
|
+
const useHasValueListener = (
|
|
772
|
+
valueId,
|
|
773
|
+
listener,
|
|
774
|
+
listenerDeps,
|
|
775
|
+
mutator,
|
|
776
|
+
storeOrStoreId,
|
|
777
|
+
) =>
|
|
778
|
+
useListener(
|
|
779
|
+
HAS + VALUE,
|
|
780
|
+
useStoreOrStoreById(storeOrStoreId),
|
|
781
|
+
listener,
|
|
782
|
+
listenerDeps,
|
|
783
|
+
[valueId],
|
|
595
784
|
mutator,
|
|
596
785
|
);
|
|
597
786
|
const useValueListener = (
|
|
@@ -642,7 +831,11 @@ const useCreateMetrics = (store, create, createDeps) =>
|
|
|
642
831
|
useCreate(store, create, createDeps);
|
|
643
832
|
const useMetricsIds = () => useThingIds(3);
|
|
644
833
|
const useMetricIds = (metricsOrMetricsId) =>
|
|
645
|
-
useListenable(
|
|
834
|
+
useListenable(
|
|
835
|
+
'MetricIds',
|
|
836
|
+
useMetricsOrMetricsById(metricsOrMetricsId),
|
|
837
|
+
EMPTY_ARRAY,
|
|
838
|
+
);
|
|
646
839
|
const useMetric = (metricId, metricsOrMetricsId) =>
|
|
647
840
|
useListenable('Metric', useMetricsOrMetricsById(metricsOrMetricsId), void 0, [
|
|
648
841
|
metricId,
|
|
@@ -667,16 +860,20 @@ const useSliceIds = (indexId, indexesOrIndexesId) =>
|
|
|
667
860
|
useListenable(
|
|
668
861
|
'SliceIds',
|
|
669
862
|
useIndexesOrIndexesById(indexesOrIndexesId),
|
|
670
|
-
|
|
863
|
+
EMPTY_ARRAY,
|
|
671
864
|
[indexId],
|
|
672
865
|
);
|
|
673
866
|
const useIndexIds = (indexesOrIndexesId) =>
|
|
674
|
-
useListenable(
|
|
867
|
+
useListenable(
|
|
868
|
+
'IndexIds',
|
|
869
|
+
useIndexesOrIndexesById(indexesOrIndexesId),
|
|
870
|
+
EMPTY_ARRAY,
|
|
871
|
+
);
|
|
675
872
|
const useSliceRowIds = (indexId, sliceId, indexesOrIndexesId) =>
|
|
676
873
|
useListenable(
|
|
677
874
|
'Slice' + ROW_IDS,
|
|
678
875
|
useIndexesOrIndexesById(indexesOrIndexesId),
|
|
679
|
-
|
|
876
|
+
EMPTY_ARRAY,
|
|
680
877
|
[indexId, sliceId],
|
|
681
878
|
);
|
|
682
879
|
const useSliceIdsListener = (
|
|
@@ -713,7 +910,7 @@ const useRelationshipIds = (relationshipsOrRelationshipsId) =>
|
|
|
713
910
|
useListenable(
|
|
714
911
|
'RelationshipIds',
|
|
715
912
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
716
|
-
|
|
913
|
+
EMPTY_ARRAY,
|
|
717
914
|
);
|
|
718
915
|
const useRemoteRowId = (
|
|
719
916
|
relationshipId,
|
|
@@ -734,7 +931,7 @@ const useLocalRowIds = (
|
|
|
734
931
|
useListenable(
|
|
735
932
|
'Local' + ROW_IDS,
|
|
736
933
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
737
|
-
|
|
934
|
+
EMPTY_ARRAY,
|
|
738
935
|
[relationshipId, remoteRowId],
|
|
739
936
|
);
|
|
740
937
|
const useLinkedRowIds = (
|
|
@@ -745,7 +942,7 @@ const useLinkedRowIds = (
|
|
|
745
942
|
useListenable(
|
|
746
943
|
'Linked' + ROW_IDS,
|
|
747
944
|
useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
|
|
748
|
-
|
|
945
|
+
EMPTY_ARRAY,
|
|
749
946
|
[relationshipId, firstRowId],
|
|
750
947
|
);
|
|
751
948
|
const useRemoteRowIdListener = (
|
|
@@ -794,33 +991,37 @@ const useCreateQueries = (store, create, createDeps) =>
|
|
|
794
991
|
useCreate(store, create, createDeps);
|
|
795
992
|
const useQueriesIds = () => useThingIds(9);
|
|
796
993
|
const useQueryIds = (queriesOrQueriesId) =>
|
|
797
|
-
useListenable(
|
|
994
|
+
useListenable(
|
|
995
|
+
'QueryIds',
|
|
996
|
+
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
997
|
+
EMPTY_ARRAY,
|
|
998
|
+
);
|
|
798
999
|
const useResultTable = (queryId, queriesOrQueriesId) =>
|
|
799
1000
|
useListenable(
|
|
800
1001
|
RESULT + TABLE,
|
|
801
1002
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
802
|
-
|
|
1003
|
+
EMPTY_OBJECT,
|
|
803
1004
|
[queryId],
|
|
804
1005
|
);
|
|
805
1006
|
const useResultTableCellIds = (queryId, queriesOrQueriesId) =>
|
|
806
1007
|
useListenable(
|
|
807
1008
|
RESULT + TABLE + CELL_IDS,
|
|
808
1009
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
809
|
-
|
|
1010
|
+
EMPTY_ARRAY,
|
|
810
1011
|
[queryId],
|
|
811
1012
|
);
|
|
812
1013
|
const useResultRowCount = (queryId, queriesOrQueriesId) =>
|
|
813
1014
|
useListenable(
|
|
814
1015
|
RESULT + ROW_COUNT,
|
|
815
1016
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
816
|
-
|
|
1017
|
+
0,
|
|
817
1018
|
[queryId],
|
|
818
1019
|
);
|
|
819
1020
|
const useResultRowIds = (queryId, queriesOrQueriesId) =>
|
|
820
1021
|
useListenable(
|
|
821
1022
|
RESULT + ROW_IDS,
|
|
822
1023
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
823
|
-
|
|
1024
|
+
EMPTY_ARRAY,
|
|
824
1025
|
[queryId],
|
|
825
1026
|
);
|
|
826
1027
|
const useResultSortedRowIds = (
|
|
@@ -834,20 +1035,22 @@ const useResultSortedRowIds = (
|
|
|
834
1035
|
useListenable(
|
|
835
1036
|
RESULT + SORTED_ROW_IDS,
|
|
836
1037
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
837
|
-
|
|
1038
|
+
EMPTY_ARRAY,
|
|
838
1039
|
[queryId, cellId, descending, offset, limit],
|
|
839
1040
|
6,
|
|
840
1041
|
);
|
|
841
1042
|
const useResultRow = (queryId, rowId, queriesOrQueriesId) =>
|
|
842
|
-
useListenable(
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
1043
|
+
useListenable(
|
|
1044
|
+
RESULT + ROW,
|
|
1045
|
+
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
1046
|
+
EMPTY_OBJECT,
|
|
1047
|
+
[queryId, rowId],
|
|
1048
|
+
);
|
|
846
1049
|
const useResultCellIds = (queryId, rowId, queriesOrQueriesId) =>
|
|
847
1050
|
useListenable(
|
|
848
1051
|
RESULT + CELL_IDS,
|
|
849
1052
|
useQueriesOrQueriesById(queriesOrQueriesId),
|
|
850
|
-
|
|
1053
|
+
EMPTY_ARRAY,
|
|
851
1054
|
[queryId, rowId],
|
|
852
1055
|
);
|
|
853
1056
|
const useResultCell = (queryId, rowId, cellId, queriesOrQueriesId) =>
|
|
@@ -976,7 +1179,7 @@ const useCheckpointIds = (checkpointsOrCheckpointsId) =>
|
|
|
976
1179
|
useListenable(
|
|
977
1180
|
'CheckpointIds',
|
|
978
1181
|
useCheckpointsOrCheckpointsById(checkpointsOrCheckpointsId),
|
|
979
|
-
|
|
1182
|
+
DEFAULT_CHECKPOINT_IDS,
|
|
980
1183
|
);
|
|
981
1184
|
const useCheckpoint = (checkpointId, checkpointsOrCheckpointsId) =>
|
|
982
1185
|
useListenable(
|
|
@@ -987,10 +1190,10 @@ const useCheckpoint = (checkpointId, checkpointsOrCheckpointsId) =>
|
|
|
987
1190
|
);
|
|
988
1191
|
const useSetCheckpointCallback = (
|
|
989
1192
|
getCheckpoint = getUndefined,
|
|
990
|
-
getCheckpointDeps =
|
|
1193
|
+
getCheckpointDeps = EMPTY_ARRAY,
|
|
991
1194
|
checkpointsOrCheckpointsId,
|
|
992
1195
|
then = getUndefined,
|
|
993
|
-
thenDeps =
|
|
1196
|
+
thenDeps = EMPTY_ARRAY,
|
|
994
1197
|
) => {
|
|
995
1198
|
const checkpoints = useCheckpointsOrCheckpointsById(
|
|
996
1199
|
checkpointsOrCheckpointsId,
|
|
@@ -1011,10 +1214,10 @@ const useGoForwardCallback = (checkpointsOrCheckpointsId) =>
|
|
|
1011
1214
|
useCheckpointAction(checkpointsOrCheckpointsId, 'goForward');
|
|
1012
1215
|
const useGoToCallback = (
|
|
1013
1216
|
getCheckpointId,
|
|
1014
|
-
getCheckpointIdDeps =
|
|
1217
|
+
getCheckpointIdDeps = EMPTY_ARRAY,
|
|
1015
1218
|
checkpointsOrCheckpointsId,
|
|
1016
1219
|
then = getUndefined,
|
|
1017
|
-
thenDeps =
|
|
1220
|
+
thenDeps = EMPTY_ARRAY,
|
|
1018
1221
|
) => {
|
|
1019
1222
|
const checkpoints = useCheckpointsOrCheckpointsById(
|
|
1020
1223
|
checkpointsOrCheckpointsId,
|
|
@@ -1083,11 +1286,13 @@ const useCheckpointListener = (
|
|
|
1083
1286
|
const useCreatePersister = (
|
|
1084
1287
|
store,
|
|
1085
1288
|
create,
|
|
1086
|
-
createDeps =
|
|
1289
|
+
createDeps = EMPTY_ARRAY,
|
|
1087
1290
|
then,
|
|
1088
|
-
thenDeps =
|
|
1291
|
+
thenDeps = EMPTY_ARRAY,
|
|
1292
|
+
destroy,
|
|
1293
|
+
destroyDeps = EMPTY_ARRAY,
|
|
1089
1294
|
) => {
|
|
1090
|
-
const [,
|
|
1295
|
+
const [, rerender] = useState$1();
|
|
1091
1296
|
const persister = useMemo$1(
|
|
1092
1297
|
() => create(store),
|
|
1093
1298
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -1096,16 +1301,18 @@ const useCreatePersister = (
|
|
|
1096
1301
|
useEffect(
|
|
1097
1302
|
() => {
|
|
1098
1303
|
(async () => {
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1304
|
+
if (then) {
|
|
1305
|
+
await then(persister);
|
|
1306
|
+
rerender([]);
|
|
1307
|
+
}
|
|
1102
1308
|
})();
|
|
1103
1309
|
return () => {
|
|
1104
1310
|
persister?.destroy();
|
|
1311
|
+
destroy?.(persister);
|
|
1105
1312
|
};
|
|
1106
1313
|
},
|
|
1107
1314
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1108
|
-
[persister, ...thenDeps],
|
|
1315
|
+
[persister, ...thenDeps, ...destroyDeps],
|
|
1109
1316
|
);
|
|
1110
1317
|
return persister;
|
|
1111
1318
|
};
|
|
@@ -1620,6 +1827,20 @@ export {
|
|
|
1620
1827
|
useGoBackwardCallback,
|
|
1621
1828
|
useGoForwardCallback,
|
|
1622
1829
|
useGoToCallback,
|
|
1830
|
+
useHasCell,
|
|
1831
|
+
useHasCellListener,
|
|
1832
|
+
useHasRow,
|
|
1833
|
+
useHasRowListener,
|
|
1834
|
+
useHasTable,
|
|
1835
|
+
useHasTableCell,
|
|
1836
|
+
useHasTableCellListener,
|
|
1837
|
+
useHasTableListener,
|
|
1838
|
+
useHasTables,
|
|
1839
|
+
useHasTablesListener,
|
|
1840
|
+
useHasValue,
|
|
1841
|
+
useHasValueListener,
|
|
1842
|
+
useHasValues,
|
|
1843
|
+
useHasValuesListener,
|
|
1623
1844
|
useIndexIds,
|
|
1624
1845
|
useIndexes,
|
|
1625
1846
|
useIndexesIds,
|
package/lib/es6/checkpoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=(e,l)=>e.includes(l),
|
|
1
|
+
const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=e=>e.length,t=(e,l)=>e.includes(l),r=(e,l)=>e.forEach(l),o=e=>0==n(e),u=(e,...l)=>e.push(...l),s=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,l)=>{var n;return null!=(n=null==e?void 0:e.has(l))&&n},c=l=>e(l)||0==(e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0})(l),v=(e,l)=>null==e?void 0:e.forEach(l),h=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=(e,l)=>null==e?void 0:e.get(l),f=(l,n,t)=>e(t)?(h(l,n),l):null==l?void 0:l.set(n,t),g=(e,l,n)=>(a(e,l)||f(e,l,n()),C(e,l)),k=(e,t,r,o,u=0)=>l((r?g:C)(e,t[u],u>n(t)-2?r:p),(l=>{if(u>n(t)-2)return(null==o?void 0:o(l))&&f(e,t[u]),l;const s=k(l,t,r,o,u+1);return c(l)&&f(e,t[u]),s})),L=l=>new Set(Array.isArray(l)||e(l)?l:[l]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(t=>{let o;const[s,d]=(()=>{const e=[];let l=0;return[n=>{var t;return null!=(t=n?i(e):null)?t:""+l++},l=>{w.test(l)&&n(e)<1e3&&u(e,l)}]})(),a=p();return[(e,l,n,t=[],r=(()=>[]))=>{null!=o||(o=_);const u=s(1);var i,d;return f(a,u,[e,l,n,t,r]),d=u,null==(i=k(l,null!=n?n:[""],L))||i.add(d),u},(e,l,...t)=>r(((e,l=[""])=>{const t=[],o=(e,s)=>s==n(l)?u(t,e):null===l[s]?v(e,(e=>o(e,s+1))):r([l[s],null],(l=>o(C(e,l),s+1)));return o(e,0),t})(e,l),(e=>v(e,(e=>C(a,e)[0](o,...null!=l?l:[],...t))))),e=>l(C(a,e),(([,l,n])=>(k(l,null!=n?n:[""],void 0,(l=>(h(l,e),c(l)?1:0))),f(a,e),d(e),n))),t=>l(C(a,t),(([l,,t=[],u,s])=>{const i=(...d)=>{var a,c;const v=n(d);v==n(t)?l(o,...d,...s(d)):e(t[v])?r(null!=(c=null==(a=u[v])?void 0:a.call(u,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(l,n)=>{M=0,S.transaction((()=>{const[t,r]=C(O,n);v(t,((n,t)=>v(n,((n,r)=>v(n,((n,o)=>((l,n,t,r,o)=>e(o)?l.delCell(n,t,r,!0):l.setCell(n,t,r,o))(S,t,r,o,n[l]))))))),v(r,((n,t)=>((l,n,t)=>e(t)?l.delValue(n):l.setValue(n,t))(S,t,n[l])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,l)=>r(((e,l)=>e.splice(0,l))(e,null!=l?l:n(e)),q),G=()=>D(W,n(W)-V),H=()=>l(y,(()=>{u(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=s(W),E=1},K=S.addCellListener(null,null,null,((e,l,n,t,r,o)=>{if(M){H();const e=g(A,l,p),u=g(e,n,p),s=g(u,t,(()=>[o,void 0]));s[1]=r,s[0]===r&&c(f(u,t))&&c(f(e,n))&&c(f(A,l))&&J(),U()}})),N=S.addValueListener(null,((e,l,n,t)=>{if(M){H();const e=g(I,l,(()=>[t,void 0]));e[1]=n,e[0]===n&&c(f(I,l))&&J(),U()}})),P=(l="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,l),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...l)=>{e.unshift(...l)})($,P()),m(0,y),y=s(W),E=1)},R=()=>{o($)||(u(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const l=P(e);return U(),l},Y=(e,l)=>(Z(e)&&C(T,e)!==l&&(f(T,e,l),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return l=e,v(T,((e,n)=>l(n,e)));var l},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:l=>{const n=t(W,l)?Q:t($,l)?R:null;for(;!e(n)&&l!=y;)n();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,l)=>x(l,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
|
|
Binary file
|