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
|
@@ -4,15 +4,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
4
4
|
str.split(separator, limit);
|
|
5
5
|
|
|
6
6
|
const promise = Promise;
|
|
7
|
+
const getIfNotFunction =
|
|
8
|
+
(predicate = isNullish) =>
|
|
9
|
+
(value, then, otherwise) =>
|
|
10
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
7
11
|
const GLOBAL = globalThis;
|
|
8
12
|
const THOUSAND = 1e3;
|
|
9
13
|
const startTimeout = (callback, sec = 0) =>
|
|
10
14
|
setTimeout(callback, sec * THOUSAND);
|
|
11
15
|
const math = Math;
|
|
12
16
|
const mathFloor = math.floor;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
17
|
+
const isNullish = (thing) => thing == null;
|
|
18
|
+
const isUndefined = (thing) => thing === void 0;
|
|
19
|
+
const isNull = (thing) => thing === null;
|
|
20
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
21
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
16
22
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
23
|
const size = (arrayOrString) => arrayOrString.length;
|
|
18
24
|
const test = (regex, subject) => regex.test(subject);
|
|
@@ -46,12 +52,12 @@ const object = Object;
|
|
|
46
52
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
53
|
const objEntries = object.entries;
|
|
48
54
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
55
|
+
!isNullish(obj) &&
|
|
56
|
+
ifNotNullish(
|
|
51
57
|
getPrototypeOf(obj),
|
|
52
58
|
(objPrototype) =>
|
|
53
59
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
60
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
61
|
|
|
56
62
|
/* istanbul ignore next */
|
|
57
63
|
() => true,
|
|
@@ -76,7 +82,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
76
82
|
const mapForEach = (map, cb) =>
|
|
77
83
|
collForEach(map, (value, key) => cb(key, value));
|
|
78
84
|
const mapSet = (map, key, value) =>
|
|
79
|
-
|
|
85
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
80
86
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
81
87
|
if (!collHas(map, key)) {
|
|
82
88
|
mapSet(map, key, getDefaultValue());
|
|
@@ -120,7 +126,7 @@ const getUniqueId = (length = 16) =>
|
|
|
120
126
|
arrayReduce(
|
|
121
127
|
getRandomValues(new Uint8Array(length)),
|
|
122
128
|
(uniqueId, number) => uniqueId + encode(number),
|
|
123
|
-
|
|
129
|
+
EMPTY_STRING,
|
|
124
130
|
);
|
|
125
131
|
|
|
126
132
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -209,7 +215,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
209
215
|
const index = size(ids);
|
|
210
216
|
if (index == size(path)) {
|
|
211
217
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
212
|
-
} else if (
|
|
218
|
+
} else if (isNull(path[index])) {
|
|
213
219
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
214
220
|
callWithIds(...ids, id2),
|
|
215
221
|
);
|
|
@@ -636,7 +642,7 @@ const createCustomSynchronizer = (
|
|
|
636
642
|
ifNotUndefined(
|
|
637
643
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
638
644
|
([toClientId, handleResponse]) =>
|
|
639
|
-
|
|
645
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
640
646
|
? handleResponse(body, fromClientId)
|
|
641
647
|
: /* istanbul ignore next */
|
|
642
648
|
0,
|
|
@@ -686,7 +692,7 @@ const createLocalSynchronizer = (store, onSend, onReceive, onIgnoredError) => {
|
|
|
686
692
|
const clientId = getUniqueId();
|
|
687
693
|
const send = (toClientId, requestId, message, body) =>
|
|
688
694
|
startTimeout(() =>
|
|
689
|
-
|
|
695
|
+
isNull(toClientId)
|
|
690
696
|
? mapForEach(clients, (otherClientId, receive) =>
|
|
691
697
|
otherClientId != clientId
|
|
692
698
|
? receive(clientId, requestId, message, body)
|
|
@@ -9,15 +9,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction =
|
|
13
|
+
(predicate = isNullish) =>
|
|
14
|
+
(value, then, otherwise) =>
|
|
15
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
16
|
const GLOBAL = globalThis;
|
|
13
17
|
const THOUSAND = 1e3;
|
|
14
18
|
const startTimeout = (callback, sec = 0) =>
|
|
15
19
|
setTimeout(callback, sec * THOUSAND);
|
|
16
20
|
const math = Math;
|
|
17
21
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
22
|
+
const isNullish = (thing) => thing == null;
|
|
23
|
+
const isUndefined = (thing) => thing === void 0;
|
|
24
|
+
const isNull = (thing) => thing === null;
|
|
25
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
26
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
27
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
28
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
29
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -46,12 +52,12 @@ const object = Object;
|
|
|
46
52
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
53
|
const objEntries = object.entries;
|
|
48
54
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
55
|
+
!isNullish(obj) &&
|
|
56
|
+
ifNotNullish(
|
|
51
57
|
getPrototypeOf(obj),
|
|
52
58
|
(objPrototype) =>
|
|
53
59
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
60
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
61
|
|
|
56
62
|
/* istanbul ignore next */
|
|
57
63
|
() => true,
|
|
@@ -103,7 +109,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
103
109
|
const mapNew = (entries) => new Map(entries);
|
|
104
110
|
const mapGet = (map, key) => map?.get(key);
|
|
105
111
|
const mapSet = (map, key, value) =>
|
|
106
|
-
|
|
112
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
107
113
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
108
114
|
if (!collHas(map, key)) {
|
|
109
115
|
mapSet(map, key, getDefaultValue());
|
|
@@ -147,7 +153,7 @@ const getUniqueId = (length = 16) =>
|
|
|
147
153
|
arrayReduce(
|
|
148
154
|
getRandomValues(new Uint8Array(length)),
|
|
149
155
|
(uniqueId, number) => uniqueId + encode(number),
|
|
150
|
-
|
|
156
|
+
EMPTY_STRING,
|
|
151
157
|
);
|
|
152
158
|
|
|
153
159
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -236,7 +242,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
236
242
|
const index = size(ids);
|
|
237
243
|
if (index == size(path)) {
|
|
238
244
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
239
|
-
} else if (
|
|
245
|
+
} else if (isNull(path[index])) {
|
|
240
246
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
241
247
|
callWithIds(...ids, id2),
|
|
242
248
|
);
|
|
@@ -663,7 +669,7 @@ const createCustomSynchronizer = (
|
|
|
663
669
|
ifNotUndefined(
|
|
664
670
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
665
671
|
([toClientId, handleResponse]) =>
|
|
666
|
-
|
|
672
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
667
673
|
? handleResponse(body, fromClientId)
|
|
668
674
|
: /* istanbul ignore next */
|
|
669
675
|
0,
|
|
@@ -9,15 +9,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction =
|
|
13
|
+
(predicate = isNullish) =>
|
|
14
|
+
(value, then, otherwise) =>
|
|
15
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
16
|
const GLOBAL = globalThis;
|
|
13
17
|
const THOUSAND = 1e3;
|
|
14
18
|
const startTimeout = (callback, sec = 0) =>
|
|
15
19
|
setTimeout(callback, sec * THOUSAND);
|
|
16
20
|
const math = Math;
|
|
17
21
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
22
|
+
const isNullish = (thing) => thing == null;
|
|
23
|
+
const isUndefined = (thing) => thing === void 0;
|
|
24
|
+
const isNull = (thing) => thing === null;
|
|
25
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
26
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
27
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
28
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
29
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -46,12 +52,12 @@ const object = Object;
|
|
|
46
52
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
53
|
const objEntries = object.entries;
|
|
48
54
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
55
|
+
!isNullish(obj) &&
|
|
56
|
+
ifNotNullish(
|
|
51
57
|
getPrototypeOf(obj),
|
|
52
58
|
(objPrototype) =>
|
|
53
59
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
60
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
61
|
|
|
56
62
|
/* istanbul ignore next */
|
|
57
63
|
() => true,
|
|
@@ -103,7 +109,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
103
109
|
const mapNew = (entries) => new Map(entries);
|
|
104
110
|
const mapGet = (map, key) => map?.get(key);
|
|
105
111
|
const mapSet = (map, key, value) =>
|
|
106
|
-
|
|
112
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
107
113
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
108
114
|
if (!collHas(map, key)) {
|
|
109
115
|
mapSet(map, key, getDefaultValue());
|
|
@@ -147,7 +153,7 @@ const getUniqueId = (length = 16) =>
|
|
|
147
153
|
arrayReduce(
|
|
148
154
|
getRandomValues(new Uint8Array(length)),
|
|
149
155
|
(uniqueId, number) => uniqueId + encode(number),
|
|
150
|
-
|
|
156
|
+
EMPTY_STRING,
|
|
151
157
|
);
|
|
152
158
|
|
|
153
159
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -236,7 +242,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
236
242
|
const index = size(ids);
|
|
237
243
|
if (index == size(path)) {
|
|
238
244
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
239
|
-
} else if (
|
|
245
|
+
} else if (isNull(path[index])) {
|
|
240
246
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
241
247
|
callWithIds(...ids, id2),
|
|
242
248
|
);
|
|
@@ -663,7 +669,7 @@ const createCustomSynchronizer = (
|
|
|
663
669
|
ifNotUndefined(
|
|
664
670
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
665
671
|
([toClientId, handleResponse]) =>
|
|
666
|
-
|
|
672
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
667
673
|
? handleResponse(body, fromClientId)
|
|
668
674
|
: /* istanbul ignore next */
|
|
669
675
|
0,
|
|
@@ -9,15 +9,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction =
|
|
13
|
+
(predicate = isNullish) =>
|
|
14
|
+
(value, then, otherwise) =>
|
|
15
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
16
|
const GLOBAL = globalThis;
|
|
13
17
|
const THOUSAND = 1e3;
|
|
14
18
|
const startTimeout = (callback, sec = 0) =>
|
|
15
19
|
setTimeout(callback, sec * THOUSAND);
|
|
16
20
|
const math = Math;
|
|
17
21
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
22
|
+
const isNullish = (thing) => thing == null;
|
|
23
|
+
const isUndefined = (thing) => thing === void 0;
|
|
24
|
+
const isNull = (thing) => thing === null;
|
|
25
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
26
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
27
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
28
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
29
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -59,12 +65,12 @@ const object = Object;
|
|
|
59
65
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
60
66
|
const objEntries = object.entries;
|
|
61
67
|
const isObject = (obj) =>
|
|
62
|
-
!
|
|
63
|
-
|
|
68
|
+
!isNullish(obj) &&
|
|
69
|
+
ifNotNullish(
|
|
64
70
|
getPrototypeOf(obj),
|
|
65
71
|
(objPrototype) =>
|
|
66
72
|
objPrototype == object.prototype ||
|
|
67
|
-
|
|
73
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
68
74
|
|
|
69
75
|
/* istanbul ignore next */
|
|
70
76
|
() => true,
|
|
@@ -92,7 +98,7 @@ const mapForEach = (map, cb) =>
|
|
|
92
98
|
const mapMap = (coll, cb) =>
|
|
93
99
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
94
100
|
const mapSet = (map, key, value) =>
|
|
95
|
-
|
|
101
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
96
102
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
97
103
|
if (!collHas(map, key)) {
|
|
98
104
|
mapSet(map, key, getDefaultValue());
|
|
@@ -203,7 +209,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
203
209
|
const index = size(ids);
|
|
204
210
|
if (index == size(path)) {
|
|
205
211
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
206
|
-
} else if (
|
|
212
|
+
} else if (isNull(path[index])) {
|
|
207
213
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
208
214
|
callWithIds(...ids, id2),
|
|
209
215
|
);
|
|
@@ -253,7 +259,7 @@ const getUniqueId = (length = 16) =>
|
|
|
253
259
|
arrayReduce(
|
|
254
260
|
getRandomValues(new Uint8Array(length)),
|
|
255
261
|
(uniqueId, number) => uniqueId + encode(number),
|
|
256
|
-
|
|
262
|
+
EMPTY_STRING,
|
|
257
263
|
);
|
|
258
264
|
|
|
259
265
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -672,7 +678,7 @@ const createCustomSynchronizer = (
|
|
|
672
678
|
ifNotUndefined(
|
|
673
679
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
674
680
|
([toClientId, handleResponse]) =>
|
|
675
|
-
|
|
681
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
676
682
|
? handleResponse(body, fromClientId)
|
|
677
683
|
: /* istanbul ignore next */
|
|
678
684
|
0,
|
|
@@ -9,15 +9,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction =
|
|
13
|
+
(predicate = isNullish) =>
|
|
14
|
+
(value, then, otherwise) =>
|
|
15
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
16
|
const GLOBAL = globalThis;
|
|
13
17
|
const THOUSAND = 1e3;
|
|
14
18
|
const startTimeout = (callback, sec = 0) =>
|
|
15
19
|
setTimeout(callback, sec * THOUSAND);
|
|
16
20
|
const math = Math;
|
|
17
21
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
22
|
+
const isNullish = (thing) => thing == null;
|
|
23
|
+
const isUndefined = (thing) => thing === void 0;
|
|
24
|
+
const isNull = (thing) => thing === null;
|
|
25
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
26
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
27
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
28
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
29
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -59,12 +65,12 @@ const object = Object;
|
|
|
59
65
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
60
66
|
const objEntries = object.entries;
|
|
61
67
|
const isObject = (obj) =>
|
|
62
|
-
!
|
|
63
|
-
|
|
68
|
+
!isNullish(obj) &&
|
|
69
|
+
ifNotNullish(
|
|
64
70
|
getPrototypeOf(obj),
|
|
65
71
|
(objPrototype) =>
|
|
66
72
|
objPrototype == object.prototype ||
|
|
67
|
-
|
|
73
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
68
74
|
|
|
69
75
|
/* istanbul ignore next */
|
|
70
76
|
() => true,
|
|
@@ -92,7 +98,7 @@ const mapForEach = (map, cb) =>
|
|
|
92
98
|
const mapMap = (coll, cb) =>
|
|
93
99
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
94
100
|
const mapSet = (map, key, value) =>
|
|
95
|
-
|
|
101
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
96
102
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
97
103
|
if (!collHas(map, key)) {
|
|
98
104
|
mapSet(map, key, getDefaultValue());
|
|
@@ -203,7 +209,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
203
209
|
const index = size(ids);
|
|
204
210
|
if (index == size(path)) {
|
|
205
211
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
206
|
-
} else if (
|
|
212
|
+
} else if (isNull(path[index])) {
|
|
207
213
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
208
214
|
callWithIds(...ids, id2),
|
|
209
215
|
);
|
|
@@ -253,7 +259,7 @@ const getUniqueId = (length = 16) =>
|
|
|
253
259
|
arrayReduce(
|
|
254
260
|
getRandomValues(new Uint8Array(length)),
|
|
255
261
|
(uniqueId, number) => uniqueId + encode(number),
|
|
256
|
-
|
|
262
|
+
EMPTY_STRING,
|
|
257
263
|
);
|
|
258
264
|
|
|
259
265
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -672,7 +678,7 @@ const createCustomSynchronizer = (
|
|
|
672
678
|
ifNotUndefined(
|
|
673
679
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
674
680
|
([toClientId, handleResponse]) =>
|
|
675
|
-
|
|
681
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
676
682
|
? handleResponse(body, fromClientId)
|
|
677
683
|
: /* istanbul ignore next */
|
|
678
684
|
0,
|
|
@@ -8,15 +8,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
8
8
|
str.split(separator, limit);
|
|
9
9
|
|
|
10
10
|
const promise = Promise;
|
|
11
|
+
const getIfNotFunction =
|
|
12
|
+
(predicate = isNullish) =>
|
|
13
|
+
(value, then, otherwise) =>
|
|
14
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
15
|
const GLOBAL = globalThis;
|
|
12
16
|
const THOUSAND = 1e3;
|
|
13
17
|
const startTimeout = (callback, sec = 0) =>
|
|
14
18
|
setTimeout(callback, sec * THOUSAND);
|
|
15
19
|
const math = Math;
|
|
16
20
|
const mathFloor = math.floor;
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
21
|
+
const isNullish = (thing) => thing == null;
|
|
22
|
+
const isUndefined = (thing) => thing === void 0;
|
|
23
|
+
const isNull = (thing) => thing === null;
|
|
24
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
25
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
20
26
|
const isArray = (thing) => Array.isArray(thing);
|
|
21
27
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
22
28
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -47,12 +53,12 @@ const object = Object;
|
|
|
47
53
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
48
54
|
const objEntries = object.entries;
|
|
49
55
|
const isObject = (obj) =>
|
|
50
|
-
!
|
|
51
|
-
|
|
56
|
+
!isNullish(obj) &&
|
|
57
|
+
ifNotNullish(
|
|
52
58
|
getPrototypeOf(obj),
|
|
53
59
|
(objPrototype) =>
|
|
54
60
|
objPrototype == object.prototype ||
|
|
55
|
-
|
|
61
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
56
62
|
|
|
57
63
|
/* istanbul ignore next */
|
|
58
64
|
() => true,
|
|
@@ -105,7 +111,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
105
111
|
const mapNew = (entries) => new Map(entries);
|
|
106
112
|
const mapGet = (map, key) => map?.get(key);
|
|
107
113
|
const mapSet = (map, key, value) =>
|
|
108
|
-
|
|
114
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
109
115
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
110
116
|
if (!collHas(map, key)) {
|
|
111
117
|
mapSet(map, key, getDefaultValue());
|
|
@@ -149,7 +155,7 @@ const getUniqueId = (length = 16) =>
|
|
|
149
155
|
arrayReduce(
|
|
150
156
|
getRandomValues(new Uint8Array(length)),
|
|
151
157
|
(uniqueId, number) => uniqueId + encode(number),
|
|
152
|
-
|
|
158
|
+
EMPTY_STRING,
|
|
153
159
|
);
|
|
154
160
|
|
|
155
161
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -238,7 +244,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
238
244
|
const index = size(ids);
|
|
239
245
|
if (index == size(path)) {
|
|
240
246
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
241
|
-
} else if (
|
|
247
|
+
} else if (isNull(path[index])) {
|
|
242
248
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
243
249
|
callWithIds(...ids, id2),
|
|
244
250
|
);
|
|
@@ -662,7 +668,7 @@ const createCustomSynchronizer = (
|
|
|
662
668
|
ifNotUndefined(
|
|
663
669
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
664
670
|
([toClientId, handleResponse]) =>
|
|
665
|
-
|
|
671
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
666
672
|
? handleResponse(body, fromClientId)
|
|
667
673
|
: /* istanbul ignore next */
|
|
668
674
|
0,
|
|
@@ -8,15 +8,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
8
8
|
str.split(separator, limit);
|
|
9
9
|
|
|
10
10
|
const promise = Promise;
|
|
11
|
+
const getIfNotFunction =
|
|
12
|
+
(predicate = isNullish) =>
|
|
13
|
+
(value, then, otherwise) =>
|
|
14
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
15
|
const GLOBAL = globalThis;
|
|
12
16
|
const THOUSAND = 1e3;
|
|
13
17
|
const startTimeout = (callback, sec = 0) =>
|
|
14
18
|
setTimeout(callback, sec * THOUSAND);
|
|
15
19
|
const math = Math;
|
|
16
20
|
const mathFloor = math.floor;
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
21
|
+
const isNullish = (thing) => thing == null;
|
|
22
|
+
const isUndefined = (thing) => thing === void 0;
|
|
23
|
+
const isNull = (thing) => thing === null;
|
|
24
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
25
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
20
26
|
const isArray = (thing) => Array.isArray(thing);
|
|
21
27
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
22
28
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -47,12 +53,12 @@ const object = Object;
|
|
|
47
53
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
48
54
|
const objEntries = object.entries;
|
|
49
55
|
const isObject = (obj) =>
|
|
50
|
-
!
|
|
51
|
-
|
|
56
|
+
!isNullish(obj) &&
|
|
57
|
+
ifNotNullish(
|
|
52
58
|
getPrototypeOf(obj),
|
|
53
59
|
(objPrototype) =>
|
|
54
60
|
objPrototype == object.prototype ||
|
|
55
|
-
|
|
61
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
56
62
|
|
|
57
63
|
/* istanbul ignore next */
|
|
58
64
|
() => true,
|
|
@@ -105,7 +111,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
105
111
|
const mapNew = (entries) => new Map(entries);
|
|
106
112
|
const mapGet = (map, key) => map?.get(key);
|
|
107
113
|
const mapSet = (map, key, value) =>
|
|
108
|
-
|
|
114
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
109
115
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
110
116
|
if (!collHas(map, key)) {
|
|
111
117
|
mapSet(map, key, getDefaultValue());
|
|
@@ -149,7 +155,7 @@ const getUniqueId = (length = 16) =>
|
|
|
149
155
|
arrayReduce(
|
|
150
156
|
getRandomValues(new Uint8Array(length)),
|
|
151
157
|
(uniqueId, number) => uniqueId + encode(number),
|
|
152
|
-
|
|
158
|
+
EMPTY_STRING,
|
|
153
159
|
);
|
|
154
160
|
|
|
155
161
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -238,7 +244,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
238
244
|
const index = size(ids);
|
|
239
245
|
if (index == size(path)) {
|
|
240
246
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
241
|
-
} else if (
|
|
247
|
+
} else if (isNull(path[index])) {
|
|
242
248
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
243
249
|
callWithIds(...ids, id2),
|
|
244
250
|
);
|
|
@@ -662,7 +668,7 @@ const createCustomSynchronizer = (
|
|
|
662
668
|
ifNotUndefined(
|
|
663
669
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
664
670
|
([toClientId, handleResponse]) =>
|
|
665
|
-
|
|
671
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
666
672
|
? handleResponse(body, fromClientId)
|
|
667
673
|
: /* istanbul ignore next */
|
|
668
674
|
0,
|
|
@@ -3,9 +3,13 @@ const UTF8 = 'utf8';
|
|
|
3
3
|
const MESSAGE = 'message';
|
|
4
4
|
const strMatch = (str, regex) => str?.match(regex);
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const getIfNotFunction =
|
|
7
|
+
(predicate = isNullish) =>
|
|
8
|
+
(value, then, otherwise) =>
|
|
9
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
10
|
+
const isNullish = (thing) => thing == null;
|
|
11
|
+
const isUndefined = (thing) => thing === void 0;
|
|
12
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
9
13
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
10
14
|
|
|
11
15
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -23,7 +27,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
23
27
|
const mapForEach = (map, cb) =>
|
|
24
28
|
collForEach(map, (value, key) => cb(key, value));
|
|
25
29
|
const mapSet = (map, key, value) =>
|
|
26
|
-
|
|
30
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
27
31
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
28
32
|
if (!collHas(map, key)) {
|
|
29
33
|
mapSet(map, key, getDefaultValue());
|
|
@@ -3,9 +3,13 @@ const UTF8 = 'utf8';
|
|
|
3
3
|
const MESSAGE = 'message';
|
|
4
4
|
const strMatch = (str, regex) => str?.match(regex);
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const getIfNotFunction =
|
|
7
|
+
(predicate = isNullish) =>
|
|
8
|
+
(value, then, otherwise) =>
|
|
9
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
10
|
+
const isNullish = (thing) => thing == null;
|
|
11
|
+
const isUndefined = (thing) => thing === void 0;
|
|
12
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
9
13
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
10
14
|
|
|
11
15
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -23,7 +27,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
23
27
|
const mapForEach = (map, cb) =>
|
|
24
28
|
collForEach(map, (value, key) => cb(key, value));
|
|
25
29
|
const mapSet = (map, key, value) =>
|
|
26
|
-
|
|
30
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
27
31
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
28
32
|
if (!collHas(map, key)) {
|
|
29
33
|
mapSet(map, key, getDefaultValue());
|
|
@@ -4,15 +4,21 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
4
4
|
str.split(separator, limit);
|
|
5
5
|
|
|
6
6
|
const promise = Promise;
|
|
7
|
+
const getIfNotFunction =
|
|
8
|
+
(predicate = isNullish) =>
|
|
9
|
+
(value, then, otherwise) =>
|
|
10
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
7
11
|
const GLOBAL = globalThis;
|
|
8
12
|
const THOUSAND = 1e3;
|
|
9
13
|
const startTimeout = (callback, sec = 0) =>
|
|
10
14
|
setTimeout(callback, sec * THOUSAND);
|
|
11
15
|
const math = Math;
|
|
12
16
|
const mathFloor = math.floor;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
17
|
+
const isNullish = (thing) => thing == null;
|
|
18
|
+
const isUndefined = (thing) => thing === void 0;
|
|
19
|
+
const isNull = (thing) => thing === null;
|
|
20
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
21
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
16
22
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
23
|
const size = (arrayOrString) => arrayOrString.length;
|
|
18
24
|
const test = (regex, subject) => regex.test(subject);
|
|
@@ -46,12 +52,12 @@ const object = Object;
|
|
|
46
52
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
53
|
const objEntries = object.entries;
|
|
48
54
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
55
|
+
!isNullish(obj) &&
|
|
56
|
+
ifNotNullish(
|
|
51
57
|
getPrototypeOf(obj),
|
|
52
58
|
(objPrototype) =>
|
|
53
59
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
60
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
61
|
|
|
56
62
|
/* istanbul ignore next */
|
|
57
63
|
() => true,
|
|
@@ -74,7 +80,7 @@ const objEnsure = (obj, id, getDefaultValue) => {
|
|
|
74
80
|
const mapNew = (entries) => new Map(entries);
|
|
75
81
|
const mapGet = (map, key) => map?.get(key);
|
|
76
82
|
const mapSet = (map, key, value) =>
|
|
77
|
-
|
|
83
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
78
84
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
79
85
|
if (!collHas(map, key)) {
|
|
80
86
|
mapSet(map, key, getDefaultValue());
|
|
@@ -118,7 +124,7 @@ const getUniqueId = (length = 16) =>
|
|
|
118
124
|
arrayReduce(
|
|
119
125
|
getRandomValues(new Uint8Array(length)),
|
|
120
126
|
(uniqueId, number) => uniqueId + encode(number),
|
|
121
|
-
|
|
127
|
+
EMPTY_STRING,
|
|
122
128
|
);
|
|
123
129
|
|
|
124
130
|
const stampNew = (value, hlc) => (hlc ? [value, hlc] : [value]);
|
|
@@ -207,7 +213,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
207
213
|
const index = size(ids);
|
|
208
214
|
if (index == size(path)) {
|
|
209
215
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
210
|
-
} else if (
|
|
216
|
+
} else if (isNull(path[index])) {
|
|
211
217
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
212
218
|
callWithIds(...ids, id2),
|
|
213
219
|
);
|
|
@@ -644,7 +650,7 @@ const createCustomSynchronizer = (
|
|
|
644
650
|
ifNotUndefined(
|
|
645
651
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
646
652
|
([toClientId, handleResponse]) =>
|
|
647
|
-
|
|
653
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
648
654
|
? handleResponse(body, fromClientId)
|
|
649
655
|
: /* istanbul ignore next */
|
|
650
656
|
0,
|