tinybase 7.0.0-beta.2 → 7.0.0
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 +1 -1
- package/@types/mergeable-store/with-schemas/index.d.ts +1 -1
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/index.d.ts +4 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/index.d.ts +4 -0
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-pglite/index.d.ts +5 -1
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +5 -1
- package/@types/persisters/persister-postgres/index.d.ts +4 -0
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/index.d.ts +4 -0
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/index.d.ts +4 -0
- package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/index.d.ts +4 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -0
- package/@types/queries/index.d.ts +1 -1
- package/@types/store/index.d.ts +21 -19
- package/@types/store/with-schemas/index.d.ts +15 -13
- package/agents.md +62 -0
- package/checkpoints/index.js +8 -6
- package/checkpoints/with-schemas/index.js +8 -6
- package/common/index.js +4 -3
- package/common/with-schemas/index.js +4 -3
- package/index.js +60 -30
- package/indexes/index.js +7 -5
- package/indexes/with-schemas/index.js +7 -5
- package/mergeable-store/index.js +51 -21
- package/mergeable-store/with-schemas/index.js +51 -21
- package/metrics/index.js +7 -5
- package/metrics/with-schemas/index.js +7 -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 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- 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 +78 -46
- package/omni/with-schemas/index.js +78 -46
- package/package.json +3 -3
- package/persisters/index.js +14 -10
- package/persisters/persister-automerge/index.js +12 -8
- package/persisters/persister-automerge/with-schemas/index.js +12 -8
- package/persisters/persister-browser/index.js +12 -8
- package/persisters/persister-browser/with-schemas/index.js +12 -8
- package/persisters/persister-cr-sqlite-wasm/index.js +14 -10
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +14 -10
- package/persisters/persister-durable-object-sql-storage/index.js +14 -10
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +14 -10
- package/persisters/persister-durable-object-storage/index.js +12 -8
- package/persisters/persister-durable-object-storage/with-schemas/index.js +12 -8
- package/persisters/persister-electric-sql/index.js +14 -10
- package/persisters/persister-electric-sql/with-schemas/index.js +14 -10
- package/persisters/persister-expo-sqlite/index.js +14 -10
- package/persisters/persister-expo-sqlite/with-schemas/index.js +14 -10
- package/persisters/persister-file/index.js +12 -8
- package/persisters/persister-file/with-schemas/index.js +12 -8
- package/persisters/persister-indexed-db/index.js +12 -8
- package/persisters/persister-indexed-db/with-schemas/index.js +12 -8
- package/persisters/persister-libsql/index.js +14 -10
- package/persisters/persister-libsql/with-schemas/index.js +14 -10
- package/persisters/persister-partykit-client/index.js +12 -8
- package/persisters/persister-partykit-client/with-schemas/index.js +12 -8
- package/persisters/persister-partykit-server/index.js +4 -3
- package/persisters/persister-partykit-server/with-schemas/index.js +4 -3
- package/persisters/persister-pglite/index.js +13 -9
- package/persisters/persister-pglite/with-schemas/index.js +13 -9
- package/persisters/persister-postgres/index.js +13 -9
- package/persisters/persister-postgres/with-schemas/index.js +13 -9
- package/persisters/persister-powersync/index.js +14 -10
- package/persisters/persister-powersync/with-schemas/index.js +14 -10
- package/persisters/persister-react-native-mmkv/index.js +12 -8
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +12 -8
- package/persisters/persister-react-native-sqlite/index.js +14 -10
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +14 -10
- package/persisters/persister-remote/index.js +14 -10
- package/persisters/persister-remote/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite-bun/index.js +14 -10
- package/persisters/persister-sqlite-bun/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite-wasm/index.js +14 -10
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +14 -10
- package/persisters/persister-sqlite3/index.js +14 -10
- package/persisters/persister-sqlite3/with-schemas/index.js +14 -10
- package/persisters/persister-yjs/index.js +18 -12
- package/persisters/persister-yjs/with-schemas/index.js +18 -12
- package/persisters/with-schemas/index.js +14 -10
- package/queries/index.js +17 -12
- package/queries/with-schemas/index.js +17 -12
- package/readme.md +2 -2
- package/relationships/index.js +7 -5
- package/relationships/with-schemas/index.js +7 -5
- package/releases.md +100 -12
- package/store/index.js +48 -18
- package/store/with-schemas/index.js +48 -18
- package/synchronizers/index.js +13 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +14 -10
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +14 -10
- package/synchronizers/synchronizer-local/index.js +14 -10
- package/synchronizers/synchronizer-local/with-schemas/index.js +14 -10
- package/synchronizers/synchronizer-ws-client/index.js +13 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server/index.js +13 -9
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +13 -9
- package/synchronizers/synchronizer-ws-server-simple/index.js +5 -4
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +5 -4
- package/synchronizers/with-schemas/index.js +13 -9
- package/ui-react/index.js +9 -6
- package/ui-react/with-schemas/index.js +9 -6
- package/ui-react-dom/index.js +14 -7
- package/ui-react-dom/with-schemas/index.js +14 -7
- package/ui-react-inspector/index.js +53 -23
- package/ui-react-inspector/with-schemas/index.js +53 -23
- package/with-schemas/index.js +60 -30
|
@@ -4,15 +4,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
4
4
|
str.split(separator, limit);
|
|
5
5
|
|
|
6
6
|
const promise = Promise;
|
|
7
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
8
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
7
9
|
const GLOBAL = globalThis;
|
|
8
10
|
const THOUSAND = 1e3;
|
|
9
11
|
const startTimeout = (callback, sec = 0) =>
|
|
10
12
|
setTimeout(callback, sec * THOUSAND);
|
|
11
13
|
const math = Math;
|
|
12
14
|
const mathFloor = math.floor;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
15
|
+
const isNullish = (thing) => thing == null;
|
|
16
|
+
const isUndefined = (thing) => thing === void 0;
|
|
17
|
+
const isNull = (thing) => thing === null;
|
|
18
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
19
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
16
20
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
21
|
const size = (arrayOrString) => arrayOrString.length;
|
|
18
22
|
const test = (regex, subject) => regex.test(subject);
|
|
@@ -46,12 +50,12 @@ const object = Object;
|
|
|
46
50
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
51
|
const objEntries = object.entries;
|
|
48
52
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
53
|
+
!isNullish(obj) &&
|
|
54
|
+
ifNotNullish(
|
|
51
55
|
getPrototypeOf(obj),
|
|
52
56
|
(objPrototype) =>
|
|
53
57
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
58
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
59
|
|
|
56
60
|
/* istanbul ignore next */
|
|
57
61
|
() => true,
|
|
@@ -74,7 +78,7 @@ const objEnsure = (obj, id, getDefaultValue) => {
|
|
|
74
78
|
const mapNew = (entries) => new Map(entries);
|
|
75
79
|
const mapGet = (map, key) => map?.get(key);
|
|
76
80
|
const mapSet = (map, key, value) =>
|
|
77
|
-
|
|
81
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
78
82
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
79
83
|
if (!collHas(map, key)) {
|
|
80
84
|
mapSet(map, key, getDefaultValue());
|
|
@@ -207,7 +211,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
207
211
|
const index = size(ids);
|
|
208
212
|
if (index == size(path)) {
|
|
209
213
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
210
|
-
} else if (
|
|
214
|
+
} else if (isNull(path[index])) {
|
|
211
215
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
212
216
|
callWithIds(...ids, id2),
|
|
213
217
|
);
|
|
@@ -634,7 +638,7 @@ const createCustomSynchronizer = (
|
|
|
634
638
|
ifNotUndefined(
|
|
635
639
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
636
640
|
([toClientId, handleResponse]) =>
|
|
637
|
-
|
|
641
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
638
642
|
? handleResponse(body, fromClientId)
|
|
639
643
|
: /* istanbul ignore next */
|
|
640
644
|
0,
|
|
@@ -694,7 +698,7 @@ const createBroadcastChannelSynchronizer = (
|
|
|
694
698
|
channel.onmessage = ({
|
|
695
699
|
data: [fromClientId, toClientId, requestId, message, body],
|
|
696
700
|
}) =>
|
|
697
|
-
|
|
701
|
+
isNull(toClientId) || toClientId == clientId
|
|
698
702
|
? receive(fromClientId, requestId, message, body)
|
|
699
703
|
: 0;
|
|
700
704
|
};
|
|
@@ -4,15 +4,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
4
4
|
str.split(separator, limit);
|
|
5
5
|
|
|
6
6
|
const promise = Promise;
|
|
7
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
8
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
7
9
|
const GLOBAL = globalThis;
|
|
8
10
|
const THOUSAND = 1e3;
|
|
9
11
|
const startTimeout = (callback, sec = 0) =>
|
|
10
12
|
setTimeout(callback, sec * THOUSAND);
|
|
11
13
|
const math = Math;
|
|
12
14
|
const mathFloor = math.floor;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
15
|
+
const isNullish = (thing) => thing == null;
|
|
16
|
+
const isUndefined = (thing) => thing === void 0;
|
|
17
|
+
const isNull = (thing) => thing === null;
|
|
18
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
19
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
16
20
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
21
|
const size = (arrayOrString) => arrayOrString.length;
|
|
18
22
|
const test = (regex, subject) => regex.test(subject);
|
|
@@ -46,12 +50,12 @@ const object = Object;
|
|
|
46
50
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
51
|
const objEntries = object.entries;
|
|
48
52
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
53
|
+
!isNullish(obj) &&
|
|
54
|
+
ifNotNullish(
|
|
51
55
|
getPrototypeOf(obj),
|
|
52
56
|
(objPrototype) =>
|
|
53
57
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
58
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
59
|
|
|
56
60
|
/* istanbul ignore next */
|
|
57
61
|
() => true,
|
|
@@ -76,7 +80,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
76
80
|
const mapForEach = (map, cb) =>
|
|
77
81
|
collForEach(map, (value, key) => cb(key, value));
|
|
78
82
|
const mapSet = (map, key, value) =>
|
|
79
|
-
|
|
83
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
80
84
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
81
85
|
if (!collHas(map, key)) {
|
|
82
86
|
mapSet(map, key, getDefaultValue());
|
|
@@ -209,7 +213,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
209
213
|
const index = size(ids);
|
|
210
214
|
if (index == size(path)) {
|
|
211
215
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
212
|
-
} else if (
|
|
216
|
+
} else if (isNull(path[index])) {
|
|
213
217
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
214
218
|
callWithIds(...ids, id2),
|
|
215
219
|
);
|
|
@@ -636,7 +640,7 @@ const createCustomSynchronizer = (
|
|
|
636
640
|
ifNotUndefined(
|
|
637
641
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
638
642
|
([toClientId, handleResponse]) =>
|
|
639
|
-
|
|
643
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
640
644
|
? handleResponse(body, fromClientId)
|
|
641
645
|
: /* istanbul ignore next */
|
|
642
646
|
0,
|
|
@@ -686,7 +690,7 @@ const createLocalSynchronizer = (store, onSend, onReceive, onIgnoredError) => {
|
|
|
686
690
|
const clientId = getUniqueId();
|
|
687
691
|
const send = (toClientId, requestId, message, body) =>
|
|
688
692
|
startTimeout(() =>
|
|
689
|
-
|
|
693
|
+
isNull(toClientId)
|
|
690
694
|
? mapForEach(clients, (otherClientId, receive) =>
|
|
691
695
|
otherClientId != clientId
|
|
692
696
|
? receive(clientId, requestId, message, body)
|
|
@@ -4,15 +4,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
4
4
|
str.split(separator, limit);
|
|
5
5
|
|
|
6
6
|
const promise = Promise;
|
|
7
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
8
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
7
9
|
const GLOBAL = globalThis;
|
|
8
10
|
const THOUSAND = 1e3;
|
|
9
11
|
const startTimeout = (callback, sec = 0) =>
|
|
10
12
|
setTimeout(callback, sec * THOUSAND);
|
|
11
13
|
const math = Math;
|
|
12
14
|
const mathFloor = math.floor;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
15
|
+
const isNullish = (thing) => thing == null;
|
|
16
|
+
const isUndefined = (thing) => thing === void 0;
|
|
17
|
+
const isNull = (thing) => thing === null;
|
|
18
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
19
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
16
20
|
const isArray = (thing) => Array.isArray(thing);
|
|
17
21
|
const size = (arrayOrString) => arrayOrString.length;
|
|
18
22
|
const test = (regex, subject) => regex.test(subject);
|
|
@@ -46,12 +50,12 @@ const object = Object;
|
|
|
46
50
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
51
|
const objEntries = object.entries;
|
|
48
52
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
53
|
+
!isNullish(obj) &&
|
|
54
|
+
ifNotNullish(
|
|
51
55
|
getPrototypeOf(obj),
|
|
52
56
|
(objPrototype) =>
|
|
53
57
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
58
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
59
|
|
|
56
60
|
/* istanbul ignore next */
|
|
57
61
|
() => true,
|
|
@@ -76,7 +80,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
76
80
|
const mapForEach = (map, cb) =>
|
|
77
81
|
collForEach(map, (value, key) => cb(key, value));
|
|
78
82
|
const mapSet = (map, key, value) =>
|
|
79
|
-
|
|
83
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
80
84
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
81
85
|
if (!collHas(map, key)) {
|
|
82
86
|
mapSet(map, key, getDefaultValue());
|
|
@@ -209,7 +213,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
209
213
|
const index = size(ids);
|
|
210
214
|
if (index == size(path)) {
|
|
211
215
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
212
|
-
} else if (
|
|
216
|
+
} else if (isNull(path[index])) {
|
|
213
217
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
214
218
|
callWithIds(...ids, id2),
|
|
215
219
|
);
|
|
@@ -636,7 +640,7 @@ const createCustomSynchronizer = (
|
|
|
636
640
|
ifNotUndefined(
|
|
637
641
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
638
642
|
([toClientId, handleResponse]) =>
|
|
639
|
-
|
|
643
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
640
644
|
? handleResponse(body, fromClientId)
|
|
641
645
|
: /* istanbul ignore next */
|
|
642
646
|
0,
|
|
@@ -686,7 +690,7 @@ const createLocalSynchronizer = (store, onSend, onReceive, onIgnoredError) => {
|
|
|
686
690
|
const clientId = getUniqueId();
|
|
687
691
|
const send = (toClientId, requestId, message, body) =>
|
|
688
692
|
startTimeout(() =>
|
|
689
|
-
|
|
693
|
+
isNull(toClientId)
|
|
690
694
|
? mapForEach(clients, (otherClientId, receive) =>
|
|
691
695
|
otherClientId != clientId
|
|
692
696
|
? receive(clientId, requestId, message, body)
|
|
@@ -9,15 +9,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
13
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
14
|
const GLOBAL = globalThis;
|
|
13
15
|
const THOUSAND = 1e3;
|
|
14
16
|
const startTimeout = (callback, sec = 0) =>
|
|
15
17
|
setTimeout(callback, sec * THOUSAND);
|
|
16
18
|
const math = Math;
|
|
17
19
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
20
|
+
const isNullish = (thing) => thing == null;
|
|
21
|
+
const isUndefined = (thing) => thing === void 0;
|
|
22
|
+
const isNull = (thing) => thing === null;
|
|
23
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
24
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
25
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
26
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
27
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -46,12 +50,12 @@ const object = Object;
|
|
|
46
50
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
51
|
const objEntries = object.entries;
|
|
48
52
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
53
|
+
!isNullish(obj) &&
|
|
54
|
+
ifNotNullish(
|
|
51
55
|
getPrototypeOf(obj),
|
|
52
56
|
(objPrototype) =>
|
|
53
57
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
58
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
59
|
|
|
56
60
|
/* istanbul ignore next */
|
|
57
61
|
() => true,
|
|
@@ -103,7 +107,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
103
107
|
const mapNew = (entries) => new Map(entries);
|
|
104
108
|
const mapGet = (map, key) => map?.get(key);
|
|
105
109
|
const mapSet = (map, key, value) =>
|
|
106
|
-
|
|
110
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
107
111
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
108
112
|
if (!collHas(map, key)) {
|
|
109
113
|
mapSet(map, key, getDefaultValue());
|
|
@@ -236,7 +240,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
236
240
|
const index = size(ids);
|
|
237
241
|
if (index == size(path)) {
|
|
238
242
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
239
|
-
} else if (
|
|
243
|
+
} else if (isNull(path[index])) {
|
|
240
244
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
241
245
|
callWithIds(...ids, id2),
|
|
242
246
|
);
|
|
@@ -663,7 +667,7 @@ const createCustomSynchronizer = (
|
|
|
663
667
|
ifNotUndefined(
|
|
664
668
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
665
669
|
([toClientId, handleResponse]) =>
|
|
666
|
-
|
|
670
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
667
671
|
? handleResponse(body, fromClientId)
|
|
668
672
|
: /* istanbul ignore next */
|
|
669
673
|
0,
|
|
@@ -9,15 +9,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
13
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
14
|
const GLOBAL = globalThis;
|
|
13
15
|
const THOUSAND = 1e3;
|
|
14
16
|
const startTimeout = (callback, sec = 0) =>
|
|
15
17
|
setTimeout(callback, sec * THOUSAND);
|
|
16
18
|
const math = Math;
|
|
17
19
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
20
|
+
const isNullish = (thing) => thing == null;
|
|
21
|
+
const isUndefined = (thing) => thing === void 0;
|
|
22
|
+
const isNull = (thing) => thing === null;
|
|
23
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
24
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
25
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
26
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
27
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -46,12 +50,12 @@ const object = Object;
|
|
|
46
50
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
47
51
|
const objEntries = object.entries;
|
|
48
52
|
const isObject = (obj) =>
|
|
49
|
-
!
|
|
50
|
-
|
|
53
|
+
!isNullish(obj) &&
|
|
54
|
+
ifNotNullish(
|
|
51
55
|
getPrototypeOf(obj),
|
|
52
56
|
(objPrototype) =>
|
|
53
57
|
objPrototype == object.prototype ||
|
|
54
|
-
|
|
58
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
55
59
|
|
|
56
60
|
/* istanbul ignore next */
|
|
57
61
|
() => true,
|
|
@@ -103,7 +107,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
103
107
|
const mapNew = (entries) => new Map(entries);
|
|
104
108
|
const mapGet = (map, key) => map?.get(key);
|
|
105
109
|
const mapSet = (map, key, value) =>
|
|
106
|
-
|
|
110
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
107
111
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
108
112
|
if (!collHas(map, key)) {
|
|
109
113
|
mapSet(map, key, getDefaultValue());
|
|
@@ -236,7 +240,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
236
240
|
const index = size(ids);
|
|
237
241
|
if (index == size(path)) {
|
|
238
242
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
239
|
-
} else if (
|
|
243
|
+
} else if (isNull(path[index])) {
|
|
240
244
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
241
245
|
callWithIds(...ids, id2),
|
|
242
246
|
);
|
|
@@ -663,7 +667,7 @@ const createCustomSynchronizer = (
|
|
|
663
667
|
ifNotUndefined(
|
|
664
668
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
665
669
|
([toClientId, handleResponse]) =>
|
|
666
|
-
|
|
670
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
667
671
|
? handleResponse(body, fromClientId)
|
|
668
672
|
: /* istanbul ignore next */
|
|
669
673
|
0,
|
|
@@ -9,15 +9,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
13
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
14
|
const GLOBAL = globalThis;
|
|
13
15
|
const THOUSAND = 1e3;
|
|
14
16
|
const startTimeout = (callback, sec = 0) =>
|
|
15
17
|
setTimeout(callback, sec * THOUSAND);
|
|
16
18
|
const math = Math;
|
|
17
19
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
20
|
+
const isNullish = (thing) => thing == null;
|
|
21
|
+
const isUndefined = (thing) => thing === void 0;
|
|
22
|
+
const isNull = (thing) => thing === null;
|
|
23
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
24
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
25
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
26
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
27
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -59,12 +63,12 @@ const object = Object;
|
|
|
59
63
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
60
64
|
const objEntries = object.entries;
|
|
61
65
|
const isObject = (obj) =>
|
|
62
|
-
!
|
|
63
|
-
|
|
66
|
+
!isNullish(obj) &&
|
|
67
|
+
ifNotNullish(
|
|
64
68
|
getPrototypeOf(obj),
|
|
65
69
|
(objPrototype) =>
|
|
66
70
|
objPrototype == object.prototype ||
|
|
67
|
-
|
|
71
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
68
72
|
|
|
69
73
|
/* istanbul ignore next */
|
|
70
74
|
() => true,
|
|
@@ -92,7 +96,7 @@ const mapForEach = (map, cb) =>
|
|
|
92
96
|
const mapMap = (coll, cb) =>
|
|
93
97
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
94
98
|
const mapSet = (map, key, value) =>
|
|
95
|
-
|
|
99
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
96
100
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
97
101
|
if (!collHas(map, key)) {
|
|
98
102
|
mapSet(map, key, getDefaultValue());
|
|
@@ -203,7 +207,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
203
207
|
const index = size(ids);
|
|
204
208
|
if (index == size(path)) {
|
|
205
209
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
206
|
-
} else if (
|
|
210
|
+
} else if (isNull(path[index])) {
|
|
207
211
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
208
212
|
callWithIds(...ids, id2),
|
|
209
213
|
);
|
|
@@ -672,7 +676,7 @@ const createCustomSynchronizer = (
|
|
|
672
676
|
ifNotUndefined(
|
|
673
677
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
674
678
|
([toClientId, handleResponse]) =>
|
|
675
|
-
|
|
679
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
676
680
|
? handleResponse(body, fromClientId)
|
|
677
681
|
: /* istanbul ignore next */
|
|
678
682
|
0,
|
|
@@ -9,15 +9,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
9
9
|
str.split(separator, limit);
|
|
10
10
|
|
|
11
11
|
const promise = Promise;
|
|
12
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
13
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
12
14
|
const GLOBAL = globalThis;
|
|
13
15
|
const THOUSAND = 1e3;
|
|
14
16
|
const startTimeout = (callback, sec = 0) =>
|
|
15
17
|
setTimeout(callback, sec * THOUSAND);
|
|
16
18
|
const math = Math;
|
|
17
19
|
const mathFloor = math.floor;
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
20
|
+
const isNullish = (thing) => thing == null;
|
|
21
|
+
const isUndefined = (thing) => thing === void 0;
|
|
22
|
+
const isNull = (thing) => thing === null;
|
|
23
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
24
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
21
25
|
const isArray = (thing) => Array.isArray(thing);
|
|
22
26
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
23
27
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -59,12 +63,12 @@ const object = Object;
|
|
|
59
63
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
60
64
|
const objEntries = object.entries;
|
|
61
65
|
const isObject = (obj) =>
|
|
62
|
-
!
|
|
63
|
-
|
|
66
|
+
!isNullish(obj) &&
|
|
67
|
+
ifNotNullish(
|
|
64
68
|
getPrototypeOf(obj),
|
|
65
69
|
(objPrototype) =>
|
|
66
70
|
objPrototype == object.prototype ||
|
|
67
|
-
|
|
71
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
68
72
|
|
|
69
73
|
/* istanbul ignore next */
|
|
70
74
|
() => true,
|
|
@@ -92,7 +96,7 @@ const mapForEach = (map, cb) =>
|
|
|
92
96
|
const mapMap = (coll, cb) =>
|
|
93
97
|
arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
|
|
94
98
|
const mapSet = (map, key, value) =>
|
|
95
|
-
|
|
99
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
96
100
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
97
101
|
if (!collHas(map, key)) {
|
|
98
102
|
mapSet(map, key, getDefaultValue());
|
|
@@ -203,7 +207,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
203
207
|
const index = size(ids);
|
|
204
208
|
if (index == size(path)) {
|
|
205
209
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
206
|
-
} else if (
|
|
210
|
+
} else if (isNull(path[index])) {
|
|
207
211
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
208
212
|
callWithIds(...ids, id2),
|
|
209
213
|
);
|
|
@@ -672,7 +676,7 @@ const createCustomSynchronizer = (
|
|
|
672
676
|
ifNotUndefined(
|
|
673
677
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
674
678
|
([toClientId, handleResponse]) =>
|
|
675
|
-
|
|
679
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
676
680
|
? handleResponse(body, fromClientId)
|
|
677
681
|
: /* istanbul ignore next */
|
|
678
682
|
0,
|
|
@@ -8,15 +8,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
8
8
|
str.split(separator, limit);
|
|
9
9
|
|
|
10
10
|
const promise = Promise;
|
|
11
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
12
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
13
|
const GLOBAL = globalThis;
|
|
12
14
|
const THOUSAND = 1e3;
|
|
13
15
|
const startTimeout = (callback, sec = 0) =>
|
|
14
16
|
setTimeout(callback, sec * THOUSAND);
|
|
15
17
|
const math = Math;
|
|
16
18
|
const mathFloor = math.floor;
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
19
|
+
const isNullish = (thing) => thing == null;
|
|
20
|
+
const isUndefined = (thing) => thing === void 0;
|
|
21
|
+
const isNull = (thing) => thing === null;
|
|
22
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
23
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
20
24
|
const isArray = (thing) => Array.isArray(thing);
|
|
21
25
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
22
26
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -47,12 +51,12 @@ const object = Object;
|
|
|
47
51
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
48
52
|
const objEntries = object.entries;
|
|
49
53
|
const isObject = (obj) =>
|
|
50
|
-
!
|
|
51
|
-
|
|
54
|
+
!isNullish(obj) &&
|
|
55
|
+
ifNotNullish(
|
|
52
56
|
getPrototypeOf(obj),
|
|
53
57
|
(objPrototype) =>
|
|
54
58
|
objPrototype == object.prototype ||
|
|
55
|
-
|
|
59
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
56
60
|
|
|
57
61
|
/* istanbul ignore next */
|
|
58
62
|
() => true,
|
|
@@ -105,7 +109,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
105
109
|
const mapNew = (entries) => new Map(entries);
|
|
106
110
|
const mapGet = (map, key) => map?.get(key);
|
|
107
111
|
const mapSet = (map, key, value) =>
|
|
108
|
-
|
|
112
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
109
113
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
110
114
|
if (!collHas(map, key)) {
|
|
111
115
|
mapSet(map, key, getDefaultValue());
|
|
@@ -238,7 +242,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
238
242
|
const index = size(ids);
|
|
239
243
|
if (index == size(path)) {
|
|
240
244
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
241
|
-
} else if (
|
|
245
|
+
} else if (isNull(path[index])) {
|
|
242
246
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
243
247
|
callWithIds(...ids, id2),
|
|
244
248
|
);
|
|
@@ -662,7 +666,7 @@ const createCustomSynchronizer = (
|
|
|
662
666
|
ifNotUndefined(
|
|
663
667
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
664
668
|
([toClientId, handleResponse]) =>
|
|
665
|
-
|
|
669
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
666
670
|
? handleResponse(body, fromClientId)
|
|
667
671
|
: /* istanbul ignore next */
|
|
668
672
|
0,
|
|
@@ -8,15 +8,19 @@ const strSplit = (str, separator = EMPTY_STRING, limit) =>
|
|
|
8
8
|
str.split(separator, limit);
|
|
9
9
|
|
|
10
10
|
const promise = Promise;
|
|
11
|
+
const getIfNotFunction = (predicate) => (value, then, otherwise) =>
|
|
12
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
11
13
|
const GLOBAL = globalThis;
|
|
12
14
|
const THOUSAND = 1e3;
|
|
13
15
|
const startTimeout = (callback, sec = 0) =>
|
|
14
16
|
setTimeout(callback, sec * THOUSAND);
|
|
15
17
|
const math = Math;
|
|
16
18
|
const mathFloor = math.floor;
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
19
|
+
const isNullish = (thing) => thing == null;
|
|
20
|
+
const isUndefined = (thing) => thing === void 0;
|
|
21
|
+
const isNull = (thing) => thing === null;
|
|
22
|
+
const ifNotNullish = getIfNotFunction(isNullish);
|
|
23
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
20
24
|
const isArray = (thing) => Array.isArray(thing);
|
|
21
25
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
22
26
|
const size = (arrayOrString) => arrayOrString.length;
|
|
@@ -47,12 +51,12 @@ const object = Object;
|
|
|
47
51
|
const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
|
|
48
52
|
const objEntries = object.entries;
|
|
49
53
|
const isObject = (obj) =>
|
|
50
|
-
!
|
|
51
|
-
|
|
54
|
+
!isNullish(obj) &&
|
|
55
|
+
ifNotNullish(
|
|
52
56
|
getPrototypeOf(obj),
|
|
53
57
|
(objPrototype) =>
|
|
54
58
|
objPrototype == object.prototype ||
|
|
55
|
-
|
|
59
|
+
isNullish(getPrototypeOf(objPrototype)),
|
|
56
60
|
|
|
57
61
|
/* istanbul ignore next */
|
|
58
62
|
() => true,
|
|
@@ -105,7 +109,7 @@ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
|
|
|
105
109
|
const mapNew = (entries) => new Map(entries);
|
|
106
110
|
const mapGet = (map, key) => map?.get(key);
|
|
107
111
|
const mapSet = (map, key, value) =>
|
|
108
|
-
|
|
112
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
109
113
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
110
114
|
if (!collHas(map, key)) {
|
|
111
115
|
mapSet(map, key, getDefaultValue());
|
|
@@ -238,7 +242,7 @@ const getListenerFunctions = (getThing) => {
|
|
|
238
242
|
const index = size(ids);
|
|
239
243
|
if (index == size(path)) {
|
|
240
244
|
listener(thing, ...ids, ...extraArgsGetter(ids));
|
|
241
|
-
} else if (
|
|
245
|
+
} else if (isNull(path[index])) {
|
|
242
246
|
arrayForEach(pathGetters[index]?.(...ids) ?? [], (id2) =>
|
|
243
247
|
callWithIds(...ids, id2),
|
|
244
248
|
);
|
|
@@ -662,7 +666,7 @@ const createCustomSynchronizer = (
|
|
|
662
666
|
ifNotUndefined(
|
|
663
667
|
mapGet(pendingRequests, transactionOrRequestId),
|
|
664
668
|
([toClientId, handleResponse]) =>
|
|
665
|
-
|
|
669
|
+
isNull(toClientId) || toClientId == fromClientId
|
|
666
670
|
? handleResponse(body, fromClientId)
|
|
667
671
|
: /* istanbul ignore next */
|
|
668
672
|
0,
|
|
@@ -3,9 +3,10 @@ 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 = (predicate) => (value, then, otherwise) =>
|
|
7
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
8
|
+
const isUndefined = (thing) => thing === void 0;
|
|
9
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
9
10
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
10
11
|
|
|
11
12
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -23,7 +24,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
23
24
|
const mapForEach = (map, cb) =>
|
|
24
25
|
collForEach(map, (value, key) => cb(key, value));
|
|
25
26
|
const mapSet = (map, key, value) =>
|
|
26
|
-
|
|
27
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
27
28
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
28
29
|
if (!collHas(map, key)) {
|
|
29
30
|
mapSet(map, key, getDefaultValue());
|
|
@@ -3,9 +3,10 @@ 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 = (predicate) => (value, then, otherwise) =>
|
|
7
|
+
predicate(value) ? otherwise?.() : then(value);
|
|
8
|
+
const isUndefined = (thing) => thing === void 0;
|
|
9
|
+
const ifNotUndefined = getIfNotFunction(isUndefined);
|
|
9
10
|
const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
|
|
10
11
|
|
|
11
12
|
const collSize = (coll) => coll?.size ?? 0;
|
|
@@ -23,7 +24,7 @@ const mapGet = (map, key) => map?.get(key);
|
|
|
23
24
|
const mapForEach = (map, cb) =>
|
|
24
25
|
collForEach(map, (value, key) => cb(key, value));
|
|
25
26
|
const mapSet = (map, key, value) =>
|
|
26
|
-
|
|
27
|
+
value === void 0 ? (collDel(map, key), map) : map?.set(key, value);
|
|
27
28
|
const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
|
|
28
29
|
if (!collHas(map, key)) {
|
|
29
30
|
mapSet(map, key, getDefaultValue());
|