tinybase 7.0.0-beta.1 → 7.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/common/index.d.ts +1 -1
- package/@types/mergeable-store/index.d.ts +2 -1
- package/@types/mergeable-store/with-schemas/index.d.ts +5 -3
- package/@types/omni/index.d.ts +2 -0
- package/@types/omni/with-schemas/index.d.ts +2 -0
- package/@types/persisters/index.d.ts +4 -0
- package/@types/persisters/persister-automerge/index.d.ts +4 -6
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +7 -8
- package/@types/persisters/persister-browser/index.d.ts +97 -6
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +113 -6
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +6 -2
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +5 -0
- package/@types/persisters/persister-durable-object-storage/index.d.ts +1 -2
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +3 -2
- package/@types/persisters/persister-electric-sql/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-expo-sqlite/index.d.ts +5 -2
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-file/index.d.ts +1 -2
- package/@types/persisters/persister-file/with-schemas/index.d.ts +3 -2
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +3 -2
- package/@types/persisters/persister-libsql/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +3 -2
- package/@types/persisters/persister-pglite/index.d.ts +7 -3
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +9 -3
- package/@types/persisters/persister-postgres/index.d.ts +5 -2
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-powersync/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-react-native-mmkv/index.d.ts +117 -0
- package/@types/persisters/persister-react-native-mmkv/with-schemas/index.d.ts +133 -0
- package/@types/persisters/persister-react-native-sqlite/index.d.ts +184 -0
- package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +207 -0
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +3 -2
- package/@types/persisters/persister-sqlite-bun/index.d.ts +5 -2
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +6 -2
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +8 -2
- package/@types/persisters/persister-sqlite3/index.d.ts +5 -2
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +7 -2
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +3 -2
- package/@types/persisters/with-schemas/index.d.ts +4 -0
- package/@types/queries/index.d.ts +1 -1
- package/@types/queries/with-schemas/index.d.ts +4 -8
- package/@types/store/index.d.ts +34 -19
- package/@types/store/with-schemas/index.d.ts +28 -13
- package/@types/synchronizers/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +3 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +4 -2
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +1 -0
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +1 -1
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +1 -1
- package/@types/synchronizers/with-schemas/index.d.ts +4 -2
- package/@types/ui-react/index.d.ts +6 -1
- package/@types/ui-react/with-schemas/index.d.ts +6 -1
- package/@types/ui-react-dom/index.d.ts +153 -20
- package/@types/ui-react-dom/with-schemas/index.d.ts +72 -20
- package/@types/ui-react-inspector/index.d.ts +8 -0
- package/@types/ui-react-inspector/with-schemas/index.d.ts +27 -1925
- package/agents.md +343 -0
- package/checkpoints/index.js +11 -6
- package/checkpoints/with-schemas/index.js +11 -6
- package/common/index.js +8 -4
- package/common/with-schemas/index.js +8 -4
- package/index.js +63 -31
- package/indexes/index.js +10 -5
- package/indexes/with-schemas/index.js +10 -5
- package/mergeable-store/index.js +54 -22
- package/mergeable-store/with-schemas/index.js +54 -22
- package/metrics/index.js +10 -5
- package/metrics/with-schemas/index.js +10 -5
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/common/index.js +1 -1
- package/min/common/index.js.gz +0 -0
- package/min/common/with-schemas/index.js +1 -1
- package/min/common/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/indexes/index.js +1 -1
- package/min/indexes/index.js.gz +0 -0
- package/min/indexes/with-schemas/index.js +1 -1
- package/min/indexes/with-schemas/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -0
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -0
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-dom/index.js +1 -1
- package/min/ui-react-dom/index.js.gz +0 -0
- package/min/ui-react-dom/with-schemas/index.js +1 -1
- package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +2178 -1203
- package/omni/with-schemas/index.js +2178 -1203
- package/package.json +91 -11
- package/persisters/index.js +16 -10
- package/persisters/persister-automerge/index.js +15 -9
- package/persisters/persister-automerge/with-schemas/index.js +15 -9
- package/persisters/persister-browser/index.js +41 -9
- package/persisters/persister-browser/with-schemas/index.js +41 -9
- package/persisters/persister-cr-sqlite-wasm/index.js +16 -10
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +16 -10
- package/persisters/persister-durable-object-sql-storage/index.js +16 -10
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +16 -10
- package/persisters/persister-durable-object-storage/index.js +14 -8
- package/persisters/persister-durable-object-storage/with-schemas/index.js +14 -8
- package/persisters/persister-electric-sql/index.js +16 -10
- package/persisters/persister-electric-sql/with-schemas/index.js +16 -10
- package/persisters/persister-expo-sqlite/index.js +16 -10
- package/persisters/persister-expo-sqlite/with-schemas/index.js +16 -10
- package/persisters/persister-file/index.js +14 -8
- package/persisters/persister-file/with-schemas/index.js +14 -8
- package/persisters/persister-indexed-db/index.js +14 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +14 -8
- package/persisters/persister-libsql/index.js +16 -10
- package/persisters/persister-libsql/with-schemas/index.js +16 -10
- package/persisters/persister-partykit-client/index.js +14 -8
- package/persisters/persister-partykit-client/with-schemas/index.js +14 -8
- package/persisters/persister-partykit-server/index.js +7 -3
- package/persisters/persister-partykit-server/with-schemas/index.js +7 -3
- package/persisters/persister-pglite/index.js +15 -9
- package/persisters/persister-pglite/with-schemas/index.js +15 -9
- package/persisters/persister-postgres/index.js +15 -9
- package/persisters/persister-postgres/with-schemas/index.js +15 -9
- package/persisters/persister-powersync/index.js +16 -10
- package/persisters/persister-powersync/with-schemas/index.js +16 -10
- package/persisters/persister-react-native-mmkv/index.js +465 -0
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +465 -0
- package/persisters/persister-react-native-sqlite/index.js +1195 -0
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +1195 -0
- package/persisters/persister-remote/index.js +16 -10
- package/persisters/persister-remote/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite-bun/index.js +16 -10
- package/persisters/persister-sqlite-bun/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite-wasm/index.js +16 -10
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +16 -10
- package/persisters/persister-sqlite3/index.js +16 -10
- package/persisters/persister-sqlite3/with-schemas/index.js +16 -10
- package/persisters/persister-yjs/index.js +20 -12
- package/persisters/persister-yjs/with-schemas/index.js +20 -12
- package/persisters/with-schemas/index.js +16 -10
- package/queries/index.js +20 -12
- package/queries/with-schemas/index.js +20 -12
- package/readme.md +13 -13
- package/relationships/index.js +10 -5
- package/relationships/with-schemas/index.js +10 -5
- package/releases.md +179 -41
- package/store/index.js +50 -18
- package/store/with-schemas/index.js +50 -18
- package/synchronizers/index.js +16 -10
- package/synchronizers/synchronizer-broadcast-channel/index.js +17 -11
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +17 -11
- package/synchronizers/synchronizer-local/index.js +17 -11
- package/synchronizers/synchronizer-local/with-schemas/index.js +17 -11
- package/synchronizers/synchronizer-ws-client/index.js +16 -10
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +16 -10
- package/synchronizers/synchronizer-ws-server/index.js +16 -10
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +16 -10
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +16 -10
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +16 -10
- package/synchronizers/synchronizer-ws-server-simple/index.js +8 -4
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +8 -4
- package/synchronizers/with-schemas/index.js +16 -10
- package/ui-react/index.js +408 -374
- package/ui-react/with-schemas/index.js +408 -374
- package/ui-react-dom/index.js +883 -437
- package/ui-react-dom/with-schemas/index.js +883 -437
- package/ui-react-inspector/index.js +1761 -556
- package/ui-react-inspector/with-schemas/index.js +1761 -556
- package/with-schemas/index.js +63 -31
|
@@ -12,14 +12,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
12
12
|
str.replace(searchValue, replaceValue);
|
|
13
13
|
|
|
14
14
|
const promise = Promise;
|
|
15
|
+
const getIfNotFunction =
|
|
16
|
+
(predicate = isNullish) =>
|
|
17
|
+
(value, then, otherwise) =>
|
|
18
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
15
19
|
const THOUSAND = 1e3;
|
|
16
20
|
const startInterval = (callback, sec, immediate) => {
|
|
17
21
|
return setInterval(callback, sec * THOUSAND);
|
|
18
22
|
};
|
|
19
23
|
const stopInterval = clearInterval;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
24
|
+
const isNullish = (thing) => thing == null;
|
|
25
|
+
const isUndefined = (thing) => thing === void 0;
|
|
26
|
+
const isNull = (thing) => thing === null;
|
|
27
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
28
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
23
29
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
24
30
|
const isArray = (thing) => Array.isArray(thing);
|
|
25
31
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -102,12 +108,12 @@ const object = Object;
|
|
|
102
108
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
103
109
|
const objEntries = object.entries;
|
|
104
110
|
const isObject = (obj) =>
|
|
105
|
-
!
|
|
106
|
-
|
|
111
|
+
!isNullish(obj) &&
|
|
112
|
+
ifNotNullish(
|
|
107
113
|
getPrototypeOf(obj),
|
|
108
114
|
(objPrototype) =>
|
|
109
115
|
objPrototype == object.prototype ||
|
|
110
|
-
|
|
116
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
111
117
|
|
|
112
118
|
/* istanbul ignore next */
|
|
113
119
|
() => true,
|
|
@@ -136,7 +142,7 @@ const mapForEach = (map, cb) =>
|
|
|
136
142
|
const mapMap = (coll, cb) =>
|
|
137
143
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
138
144
|
const mapSet = (map, key, value) =>
|
|
139
|
-
|
|
145
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
140
146
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
141
147
|
if (!collHas(map, key)) {
|
|
142
148
|
mapSet(map, key, getDefaultValue());
|
|
@@ -223,7 +229,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
223
229
|
0,
|
|
224
230
|
objSize(defaultObj),
|
|
225
231
|
);
|
|
226
|
-
if (!
|
|
232
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
227
233
|
then(id, defaultedConfig[0]);
|
|
228
234
|
mapSet(configMap, id, defaultedConfig);
|
|
229
235
|
}
|
|
@@ -372,7 +378,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
372
378
|
const index = size(ids);
|
|
373
379
|
if (index == size(path)) {
|
|
374
380
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
375
|
-
} else if (
|
|
381
|
+
} else if (isNull(path[index])) {
|
|
376
382
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
377
383
|
callWithIds(...ids, id2),
|
|
378
384
|
);
|
|
@@ -1117,7 +1123,7 @@ const createCustomSqlitePersister = (
|
|
|
1117
1123
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1118
1124
|
);
|
|
1119
1125
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1120
|
-
if (dataVersion
|
|
1126
|
+
if (!isNullish(dataVersion)) {
|
|
1121
1127
|
listener();
|
|
1122
1128
|
}
|
|
1123
1129
|
dataVersion = d;
|
|
@@ -13,14 +13,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
13
13
|
str.replace(searchValue, replaceValue);
|
|
14
14
|
|
|
15
15
|
const promise = Promise;
|
|
16
|
+
const getIfNotFunction =
|
|
17
|
+
(predicate = isNullish) =>
|
|
18
|
+
(value, then, otherwise) =>
|
|
19
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
16
20
|
const THOUSAND = 1e3;
|
|
17
21
|
const startInterval = (callback, sec, immediate) => {
|
|
18
22
|
return setInterval(callback, sec * THOUSAND);
|
|
19
23
|
};
|
|
20
24
|
const stopInterval = clearInterval;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
25
|
+
const isNullish = (thing) => thing == null;
|
|
26
|
+
const isUndefined = (thing) => thing === void 0;
|
|
27
|
+
const isNull = (thing) => thing === null;
|
|
28
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
29
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
24
30
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
25
31
|
const isArray = (thing) => Array.isArray(thing);
|
|
26
32
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -53,12 +59,12 @@ const object = Object;
|
|
|
53
59
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
54
60
|
const objEntries = object.entries;
|
|
55
61
|
const isObject = (obj) =>
|
|
56
|
-
!
|
|
57
|
-
|
|
62
|
+
!isNullish(obj) &&
|
|
63
|
+
ifNotNullish(
|
|
58
64
|
getPrototypeOf(obj),
|
|
59
65
|
(objPrototype) =>
|
|
60
66
|
objPrototype == object.prototype ||
|
|
61
|
-
|
|
67
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
62
68
|
|
|
63
69
|
/* istanbul ignore next */
|
|
64
70
|
() => true,
|
|
@@ -110,7 +116,7 @@ const mapForEach = (map, cb) =>
|
|
|
110
116
|
const mapMap = (coll, cb) =>
|
|
111
117
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
112
118
|
const mapSet = (map, key, value) =>
|
|
113
|
-
|
|
119
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
114
120
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
115
121
|
if (!collHas(map, key)) {
|
|
116
122
|
mapSet(map, key, getDefaultValue());
|
|
@@ -229,7 +235,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
229
235
|
const index = size(ids);
|
|
230
236
|
if (index == size(path)) {
|
|
231
237
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
232
|
-
} else if (
|
|
238
|
+
} else if (isNull(path[index])) {
|
|
233
239
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
234
240
|
callWithIds(...ids, id2),
|
|
235
241
|
);
|
|
@@ -571,7 +577,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
571
577
|
0,
|
|
572
578
|
objSize(defaultObj),
|
|
573
579
|
);
|
|
574
|
-
if (!
|
|
580
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
575
581
|
then(id, defaultedConfig[0]);
|
|
576
582
|
mapSet(configMap, id, defaultedConfig);
|
|
577
583
|
}
|
|
@@ -1134,7 +1140,7 @@ const createCustomSqlitePersister = (
|
|
|
1134
1140
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1135
1141
|
);
|
|
1136
1142
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1137
|
-
if (dataVersion
|
|
1143
|
+
if (!isNullish(dataVersion)) {
|
|
1138
1144
|
listener();
|
|
1139
1145
|
}
|
|
1140
1146
|
dataVersion = d;
|
|
@@ -13,14 +13,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
13
13
|
str.replace(searchValue, replaceValue);
|
|
14
14
|
|
|
15
15
|
const promise = Promise;
|
|
16
|
+
const getIfNotFunction =
|
|
17
|
+
(predicate = isNullish) =>
|
|
18
|
+
(value, then, otherwise) =>
|
|
19
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
16
20
|
const THOUSAND = 1e3;
|
|
17
21
|
const startInterval = (callback, sec, immediate) => {
|
|
18
22
|
return setInterval(callback, sec * THOUSAND);
|
|
19
23
|
};
|
|
20
24
|
const stopInterval = clearInterval;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
25
|
+
const isNullish = (thing) => thing == null;
|
|
26
|
+
const isUndefined = (thing) => thing === void 0;
|
|
27
|
+
const isNull = (thing) => thing === null;
|
|
28
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
29
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
24
30
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
25
31
|
const isArray = (thing) => Array.isArray(thing);
|
|
26
32
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -53,12 +59,12 @@ const object = Object;
|
|
|
53
59
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
54
60
|
const objEntries = object.entries;
|
|
55
61
|
const isObject = (obj) =>
|
|
56
|
-
!
|
|
57
|
-
|
|
62
|
+
!isNullish(obj) &&
|
|
63
|
+
ifNotNullish(
|
|
58
64
|
getPrototypeOf(obj),
|
|
59
65
|
(objPrototype) =>
|
|
60
66
|
objPrototype == object.prototype ||
|
|
61
|
-
|
|
67
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
62
68
|
|
|
63
69
|
/* istanbul ignore next */
|
|
64
70
|
() => true,
|
|
@@ -110,7 +116,7 @@ const mapForEach = (map, cb) =>
|
|
|
110
116
|
const mapMap = (coll, cb) =>
|
|
111
117
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
112
118
|
const mapSet = (map, key, value) =>
|
|
113
|
-
|
|
119
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
114
120
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
115
121
|
if (!collHas(map, key)) {
|
|
116
122
|
mapSet(map, key, getDefaultValue());
|
|
@@ -229,7 +235,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
229
235
|
const index = size(ids);
|
|
230
236
|
if (index == size(path)) {
|
|
231
237
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
232
|
-
} else if (
|
|
238
|
+
} else if (isNull(path[index])) {
|
|
233
239
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
234
240
|
callWithIds(...ids, id2),
|
|
235
241
|
);
|
|
@@ -571,7 +577,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
571
577
|
0,
|
|
572
578
|
objSize(defaultObj),
|
|
573
579
|
);
|
|
574
|
-
if (!
|
|
580
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
575
581
|
then(id, defaultedConfig[0]);
|
|
576
582
|
mapSet(configMap, id, defaultedConfig);
|
|
577
583
|
}
|
|
@@ -1134,7 +1140,7 @@ const createCustomSqlitePersister = (
|
|
|
1134
1140
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1135
1141
|
);
|
|
1136
1142
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1137
|
-
if (dataVersion
|
|
1143
|
+
if (!isNullish(dataVersion)) {
|
|
1138
1144
|
listener();
|
|
1139
1145
|
}
|
|
1140
1146
|
dataVersion = d;
|
|
@@ -4,9 +4,15 @@ const V = 'v';
|
|
|
4
4
|
const UNDEFINED = '\uFFFC';
|
|
5
5
|
const strStartsWith = (str, prefix) => str.startsWith(prefix);
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const getIfNotFunction =
|
|
8
|
+
(predicate = isNullish) =>
|
|
9
|
+
(value, then, otherwise) =>
|
|
10
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
|
+
const isNullish = (thing) => thing == null;
|
|
12
|
+
const isUndefined = (thing) => thing === void 0;
|
|
13
|
+
const isNull = (thing) => thing === null;
|
|
14
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
15
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
10
16
|
const isArray = (thing) => Array.isArray(thing);
|
|
11
17
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
12
18
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -33,12 +39,12 @@ const object = Object;
|
|
|
33
39
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
34
40
|
const objEntries = object.entries;
|
|
35
41
|
const isObject = (obj) =>
|
|
36
|
-
!
|
|
37
|
-
|
|
42
|
+
!isNullish(obj) &&
|
|
43
|
+
ifNotNullish(
|
|
38
44
|
getPrototypeOf(obj),
|
|
39
45
|
(objPrototype) =>
|
|
40
46
|
objPrototype == object.prototype ||
|
|
41
|
-
|
|
47
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
42
48
|
|
|
43
49
|
/* istanbul ignore next */
|
|
44
50
|
() => true,
|
|
@@ -70,7 +76,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
70
76
|
const mapNew = (entries) => new Map(entries);
|
|
71
77
|
const mapGet = (map, key) => map?.get(key);
|
|
72
78
|
const mapSet = (map, key, value) =>
|
|
73
|
-
|
|
79
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
74
80
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
75
81
|
if (!collHas(map, key)) {
|
|
76
82
|
mapSet(map, key, getDefaultValue());
|
|
@@ -201,7 +207,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
201
207
|
const index = size(ids);
|
|
202
208
|
if (index == size(path)) {
|
|
203
209
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
204
|
-
} else if (
|
|
210
|
+
} else if (isNull(path[index])) {
|
|
205
211
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
206
212
|
callWithIds(...ids, id2),
|
|
207
213
|
);
|
|
@@ -4,9 +4,15 @@ const V = 'v';
|
|
|
4
4
|
const UNDEFINED = '\uFFFC';
|
|
5
5
|
const strStartsWith = (str, prefix) => str.startsWith(prefix);
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const getIfNotFunction =
|
|
8
|
+
(predicate = isNullish) =>
|
|
9
|
+
(value, then, otherwise) =>
|
|
10
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
|
+
const isNullish = (thing) => thing == null;
|
|
12
|
+
const isUndefined = (thing) => thing === void 0;
|
|
13
|
+
const isNull = (thing) => thing === null;
|
|
14
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
15
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
10
16
|
const isArray = (thing) => Array.isArray(thing);
|
|
11
17
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
12
18
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -33,12 +39,12 @@ const object = Object;
|
|
|
33
39
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
34
40
|
const objEntries = object.entries;
|
|
35
41
|
const isObject = (obj) =>
|
|
36
|
-
!
|
|
37
|
-
|
|
42
|
+
!isNullish(obj) &&
|
|
43
|
+
ifNotNullish(
|
|
38
44
|
getPrototypeOf(obj),
|
|
39
45
|
(objPrototype) =>
|
|
40
46
|
objPrototype == object.prototype ||
|
|
41
|
-
|
|
47
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
42
48
|
|
|
43
49
|
/* istanbul ignore next */
|
|
44
50
|
() => true,
|
|
@@ -70,7 +76,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
70
76
|
const mapNew = (entries) => new Map(entries);
|
|
71
77
|
const mapGet = (map, key) => map?.get(key);
|
|
72
78
|
const mapSet = (map, key, value) =>
|
|
73
|
-
|
|
79
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
74
80
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
75
81
|
if (!collHas(map, key)) {
|
|
76
82
|
mapSet(map, key, getDefaultValue());
|
|
@@ -201,7 +207,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
201
207
|
const index = size(ids);
|
|
202
208
|
if (index == size(path)) {
|
|
203
209
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
204
|
-
} else if (
|
|
210
|
+
} else if (isNull(path[index])) {
|
|
205
211
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
206
212
|
callWithIds(...ids, id2),
|
|
207
213
|
);
|
|
@@ -12,14 +12,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
12
12
|
str.replace(searchValue, replaceValue);
|
|
13
13
|
|
|
14
14
|
const promise = Promise;
|
|
15
|
+
const getIfNotFunction =
|
|
16
|
+
(predicate = isNullish) =>
|
|
17
|
+
(value, then, otherwise) =>
|
|
18
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
15
19
|
const THOUSAND = 1e3;
|
|
16
20
|
const startInterval = (callback, sec, immediate) => {
|
|
17
21
|
return setInterval(callback, sec * THOUSAND);
|
|
18
22
|
};
|
|
19
23
|
const stopInterval = clearInterval;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
24
|
+
const isNullish = (thing) => thing == null;
|
|
25
|
+
const isUndefined = (thing) => thing === void 0;
|
|
26
|
+
const isNull = (thing) => thing === null;
|
|
27
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
28
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
23
29
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
24
30
|
const isArray = (thing) => Array.isArray(thing);
|
|
25
31
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -102,12 +108,12 @@ const object = Object;
|
|
|
102
108
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
103
109
|
const objEntries = object.entries;
|
|
104
110
|
const isObject = (obj) =>
|
|
105
|
-
!
|
|
106
|
-
|
|
111
|
+
!isNullish(obj) &&
|
|
112
|
+
ifNotNullish(
|
|
107
113
|
getPrototypeOf(obj),
|
|
108
114
|
(objPrototype) =>
|
|
109
115
|
objPrototype == object.prototype ||
|
|
110
|
-
|
|
116
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
111
117
|
|
|
112
118
|
/* istanbul ignore next */
|
|
113
119
|
() => true,
|
|
@@ -136,7 +142,7 @@ const mapForEach = (map, cb) =>
|
|
|
136
142
|
const mapMap = (coll, cb) =>
|
|
137
143
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
138
144
|
const mapSet = (map, key, value) =>
|
|
139
|
-
|
|
145
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
140
146
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
141
147
|
if (!collHas(map, key)) {
|
|
142
148
|
mapSet(map, key, getDefaultValue());
|
|
@@ -223,7 +229,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
223
229
|
0,
|
|
224
230
|
objSize(defaultObj),
|
|
225
231
|
);
|
|
226
|
-
if (!
|
|
232
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
227
233
|
then(id, defaultedConfig[0]);
|
|
228
234
|
mapSet(configMap, id, defaultedConfig);
|
|
229
235
|
}
|
|
@@ -372,7 +378,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
372
378
|
const index = size(ids);
|
|
373
379
|
if (index == size(path)) {
|
|
374
380
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
375
|
-
} else if (
|
|
381
|
+
} else if (isNull(path[index])) {
|
|
376
382
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
377
383
|
callWithIds(...ids, id2),
|
|
378
384
|
);
|
|
@@ -1117,7 +1123,7 @@ const createCustomSqlitePersister = (
|
|
|
1117
1123
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1118
1124
|
);
|
|
1119
1125
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1120
|
-
if (dataVersion
|
|
1126
|
+
if (!isNullish(dataVersion)) {
|
|
1121
1127
|
listener();
|
|
1122
1128
|
}
|
|
1123
1129
|
dataVersion = d;
|
|
@@ -12,14 +12,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
12
12
|
str.replace(searchValue, replaceValue);
|
|
13
13
|
|
|
14
14
|
const promise = Promise;
|
|
15
|
+
const getIfNotFunction =
|
|
16
|
+
(predicate = isNullish) =>
|
|
17
|
+
(value, then, otherwise) =>
|
|
18
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
15
19
|
const THOUSAND = 1e3;
|
|
16
20
|
const startInterval = (callback, sec, immediate) => {
|
|
17
21
|
return setInterval(callback, sec * THOUSAND);
|
|
18
22
|
};
|
|
19
23
|
const stopInterval = clearInterval;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
24
|
+
const isNullish = (thing) => thing == null;
|
|
25
|
+
const isUndefined = (thing) => thing === void 0;
|
|
26
|
+
const isNull = (thing) => thing === null;
|
|
27
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
28
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
23
29
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
24
30
|
const isArray = (thing) => Array.isArray(thing);
|
|
25
31
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -102,12 +108,12 @@ const object = Object;
|
|
|
102
108
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
103
109
|
const objEntries = object.entries;
|
|
104
110
|
const isObject = (obj) =>
|
|
105
|
-
!
|
|
106
|
-
|
|
111
|
+
!isNullish(obj) &&
|
|
112
|
+
ifNotNullish(
|
|
107
113
|
getPrototypeOf(obj),
|
|
108
114
|
(objPrototype) =>
|
|
109
115
|
objPrototype == object.prototype ||
|
|
110
|
-
|
|
116
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
111
117
|
|
|
112
118
|
/* istanbul ignore next */
|
|
113
119
|
() => true,
|
|
@@ -136,7 +142,7 @@ const mapForEach = (map, cb) =>
|
|
|
136
142
|
const mapMap = (coll, cb) =>
|
|
137
143
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
138
144
|
const mapSet = (map, key, value) =>
|
|
139
|
-
|
|
145
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
140
146
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
141
147
|
if (!collHas(map, key)) {
|
|
142
148
|
mapSet(map, key, getDefaultValue());
|
|
@@ -223,7 +229,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
223
229
|
0,
|
|
224
230
|
objSize(defaultObj),
|
|
225
231
|
);
|
|
226
|
-
if (!
|
|
232
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
227
233
|
then(id, defaultedConfig[0]);
|
|
228
234
|
mapSet(configMap, id, defaultedConfig);
|
|
229
235
|
}
|
|
@@ -372,7 +378,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
372
378
|
const index = size(ids);
|
|
373
379
|
if (index == size(path)) {
|
|
374
380
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
375
|
-
} else if (
|
|
381
|
+
} else if (isNull(path[index])) {
|
|
376
382
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
377
383
|
callWithIds(...ids, id2),
|
|
378
384
|
);
|
|
@@ -1117,7 +1123,7 @@ const createCustomSqlitePersister = (
|
|
|
1117
1123
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1118
1124
|
);
|
|
1119
1125
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1120
|
-
if (dataVersion
|
|
1126
|
+
if (!isNullish(dataVersion)) {
|
|
1121
1127
|
listener();
|
|
1122
1128
|
}
|
|
1123
1129
|
dataVersion = d;
|
|
@@ -14,14 +14,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
14
14
|
str.replace(searchValue, replaceValue);
|
|
15
15
|
|
|
16
16
|
const promise = Promise;
|
|
17
|
+
const getIfNotFunction =
|
|
18
|
+
(predicate = isNullish) =>
|
|
19
|
+
(value, then, otherwise) =>
|
|
20
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
17
21
|
const THOUSAND = 1e3;
|
|
18
22
|
const startInterval = (callback, sec, immediate) => {
|
|
19
23
|
return setInterval(callback, sec * THOUSAND);
|
|
20
24
|
};
|
|
21
25
|
const stopInterval = clearInterval;
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
|
|
26
|
+
const isNullish = (thing) => thing == null;
|
|
27
|
+
const isUndefined = (thing) => thing === void 0;
|
|
28
|
+
const isNull = (thing) => thing === null;
|
|
29
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
30
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
25
31
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
26
32
|
const isArray = (thing) => Array.isArray(thing);
|
|
27
33
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -104,12 +110,12 @@ const object = Object;
|
|
|
104
110
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
105
111
|
const objEntries = object.entries;
|
|
106
112
|
const isObject = (obj) =>
|
|
107
|
-
!
|
|
108
|
-
|
|
113
|
+
!isNullish(obj) &&
|
|
114
|
+
ifNotNullish(
|
|
109
115
|
getPrototypeOf(obj),
|
|
110
116
|
(objPrototype) =>
|
|
111
117
|
objPrototype == object.prototype ||
|
|
112
|
-
|
|
118
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
113
119
|
|
|
114
120
|
/* istanbul ignore next */
|
|
115
121
|
() => true,
|
|
@@ -138,7 +144,7 @@ const mapForEach = (map, cb) =>
|
|
|
138
144
|
const mapMap = (coll, cb) =>
|
|
139
145
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
140
146
|
const mapSet = (map, key, value) =>
|
|
141
|
-
|
|
147
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
142
148
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
143
149
|
if (!collHas(map, key)) {
|
|
144
150
|
mapSet(map, key, getDefaultValue());
|
|
@@ -225,7 +231,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
225
231
|
0,
|
|
226
232
|
objSize(defaultObj),
|
|
227
233
|
);
|
|
228
|
-
if (!
|
|
234
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
229
235
|
then(id, defaultedConfig[0]);
|
|
230
236
|
mapSet(configMap, id, defaultedConfig);
|
|
231
237
|
}
|
|
@@ -374,7 +380,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
374
380
|
const index = size(ids);
|
|
375
381
|
if (index == size(path)) {
|
|
376
382
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
377
|
-
} else if (
|
|
383
|
+
} else if (isNull(path[index])) {
|
|
378
384
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
379
385
|
callWithIds(...ids, id2),
|
|
380
386
|
);
|
|
@@ -1119,7 +1125,7 @@ const createCustomSqlitePersister = (
|
|
|
1119
1125
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1120
1126
|
);
|
|
1121
1127
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1122
|
-
if (dataVersion
|
|
1128
|
+
if (!isNullish(dataVersion)) {
|
|
1123
1129
|
listener();
|
|
1124
1130
|
}
|
|
1125
1131
|
dataVersion = d;
|
|
@@ -14,14 +14,20 @@ const strReplace = (str, searchValue, replaceValue) =>
|
|
|
14
14
|
str.replace(searchValue, replaceValue);
|
|
15
15
|
|
|
16
16
|
const promise = Promise;
|
|
17
|
+
const getIfNotFunction =
|
|
18
|
+
(predicate = isNullish) =>
|
|
19
|
+
(value, then, otherwise) =>
|
|
20
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
17
21
|
const THOUSAND = 1e3;
|
|
18
22
|
const startInterval = (callback, sec, immediate) => {
|
|
19
23
|
return setInterval(callback, sec * THOUSAND);
|
|
20
24
|
};
|
|
21
25
|
const stopInterval = clearInterval;
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
|
|
26
|
+
const isNullish = (thing) => thing == null;
|
|
27
|
+
const isUndefined = (thing) => thing === void 0;
|
|
28
|
+
const isNull = (thing) => thing === null;
|
|
29
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
30
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
25
31
|
const isString = (thing) => getTypeOf(thing) == STRING;
|
|
26
32
|
const isArray = (thing) => Array.isArray(thing);
|
|
27
33
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
@@ -104,12 +110,12 @@ const object = Object;
|
|
|
104
110
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
105
111
|
const objEntries = object.entries;
|
|
106
112
|
const isObject = (obj) =>
|
|
107
|
-
!
|
|
108
|
-
|
|
113
|
+
!isNullish(obj) &&
|
|
114
|
+
ifNotNullish(
|
|
109
115
|
getPrototypeOf(obj),
|
|
110
116
|
(objPrototype) =>
|
|
111
117
|
objPrototype == object.prototype ||
|
|
112
|
-
|
|
118
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
113
119
|
|
|
114
120
|
/* istanbul ignore next */
|
|
115
121
|
() => true,
|
|
@@ -138,7 +144,7 @@ const mapForEach = (map, cb) =>
|
|
|
138
144
|
const mapMap = (coll, cb) =>
|
|
139
145
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
140
146
|
const mapSet = (map, key, value) =>
|
|
141
|
-
|
|
147
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
142
148
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
143
149
|
if (!collHas(map, key)) {
|
|
144
150
|
mapSet(map, key, getDefaultValue());
|
|
@@ -225,7 +231,7 @@ const getDefaultedTabularConfigMap = (
|
|
|
225
231
|
0,
|
|
226
232
|
objSize(defaultObj),
|
|
227
233
|
);
|
|
228
|
-
if (!
|
|
234
|
+
if (!isNull(defaultedConfig[0]) && !exclude(id, defaultedConfig[0])) {
|
|
229
235
|
then(id, defaultedConfig[0]);
|
|
230
236
|
mapSet(configMap, id, defaultedConfig);
|
|
231
237
|
}
|
|
@@ -374,7 +380,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
374
380
|
const index = size(ids);
|
|
375
381
|
if (index == size(path)) {
|
|
376
382
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
377
|
-
} else if (
|
|
383
|
+
} else if (isNull(path[index])) {
|
|
378
384
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
379
385
|
callWithIds(...ids, id2),
|
|
380
386
|
);
|
|
@@ -1119,7 +1125,7 @@ const createCustomSqlitePersister = (
|
|
|
1119
1125
|
` ${DATA_VERSION} d,${SCHEMA_VERSION} s,TOTAL_CHANGES() c FROM ${PRAGMA}${DATA_VERSION} JOIN ${PRAGMA}${SCHEMA_VERSION}`,
|
|
1120
1126
|
);
|
|
1121
1127
|
if (d != dataVersion || s != schemaVersion || c != totalChanges) {
|
|
1122
|
-
if (dataVersion
|
|
1128
|
+
if (!isNullish(dataVersion)) {
|
|
1123
1129
|
listener();
|
|
1124
1130
|
}
|
|
1125
1131
|
dataVersion = d;
|