@dxos/util 0.7.5-main.499c70c → 0.7.5-main.5ae2ba8
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/dist/lib/browser/index.mjs +89 -36
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +88 -36
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +89 -36
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/array.d.ts +12 -0
- package/dist/types/src/array.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +5 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/position.d.ts +15 -0
- package/dist/types/src/position.d.ts.map +1 -0
- package/dist/types/src/position.test.d.ts +2 -0
- package/dist/types/src/position.test.d.ts.map +1 -0
- package/dist/types/src/range.d.ts +4 -0
- package/dist/types/src/range.d.ts.map +1 -1
- package/dist/types/src/string.d.ts +5 -0
- package/dist/types/src/string.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +21 -4
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/src/array.test.ts +83 -1
- package/src/array.ts +29 -0
- package/src/index.ts +6 -5
- package/src/instance-id.ts +1 -1
- package/src/position.test.ts +98 -0
- package/src/position.ts +31 -0
- package/src/range.ts +7 -0
- package/src/safe-parse.ts +1 -1
- package/src/string.ts +14 -0
- package/src/types.test.ts +2 -2
- package/src/types.ts +27 -7
|
@@ -33,6 +33,48 @@ var distinctBy = (array, selector) => {
|
|
|
33
33
|
return true;
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
+
var removeBy = (array, test) => {
|
|
37
|
+
const removed = [];
|
|
38
|
+
for (let i = array.length - 1; i >= 0; i--) {
|
|
39
|
+
if (test(array[i], i)) {
|
|
40
|
+
removed.push(...array.splice(i, 1));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return removed;
|
|
44
|
+
};
|
|
45
|
+
var partition = (array, guard) => {
|
|
46
|
+
return array.reduce(([accepted, rejected], item, index, array2) => guard(item, index, array2) ? [
|
|
47
|
+
[
|
|
48
|
+
...accepted,
|
|
49
|
+
item
|
|
50
|
+
],
|
|
51
|
+
rejected
|
|
52
|
+
] : [
|
|
53
|
+
accepted,
|
|
54
|
+
[
|
|
55
|
+
...rejected,
|
|
56
|
+
item
|
|
57
|
+
]
|
|
58
|
+
], [
|
|
59
|
+
[],
|
|
60
|
+
[]
|
|
61
|
+
]);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// packages/common/util/src/array-to-hex.ts
|
|
65
|
+
var byteToHex = [];
|
|
66
|
+
for (let n = 0; n <= 255; ++n) {
|
|
67
|
+
const hexOctet = n.toString(16).padStart(2, "0");
|
|
68
|
+
byteToHex.push(hexOctet);
|
|
69
|
+
}
|
|
70
|
+
var arrayToHex = (buf) => {
|
|
71
|
+
const buff = new Uint8Array(buf);
|
|
72
|
+
const hexOctets = [];
|
|
73
|
+
for (let i = 0; i < buff.length; ++i) {
|
|
74
|
+
hexOctets.push(byteToHex[buff[i]]);
|
|
75
|
+
}
|
|
76
|
+
return hexOctets.join("");
|
|
77
|
+
};
|
|
36
78
|
|
|
37
79
|
// packages/common/util/src/binder.ts
|
|
38
80
|
import util from "@dxos/node-std/util";
|
|
@@ -947,7 +989,7 @@ var getDebugName = (instance) => {
|
|
|
947
989
|
return "null";
|
|
948
990
|
}
|
|
949
991
|
const prototype = Object.getPrototypeOf(instance);
|
|
950
|
-
return `${prototype.constructor
|
|
992
|
+
return `${prototype.constructor?.name ?? "Object"}#${getPrototypeSpecificInstanceId(instance)}`;
|
|
951
993
|
};
|
|
952
994
|
|
|
953
995
|
// packages/common/util/src/join-tables.ts
|
|
@@ -1203,6 +1245,22 @@ var inferRecordOrder = (objectMap, order = []) => {
|
|
|
1203
1245
|
}, {}), objectMap);
|
|
1204
1246
|
};
|
|
1205
1247
|
|
|
1248
|
+
// packages/common/util/src/order-keys.ts
|
|
1249
|
+
var orderKeys = (obj, order) => {
|
|
1250
|
+
const ordered = {};
|
|
1251
|
+
for (const key of order) {
|
|
1252
|
+
if (key in obj) {
|
|
1253
|
+
ordered[key] = obj[key];
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
for (const key in obj) {
|
|
1257
|
+
if (!(key in ordered)) {
|
|
1258
|
+
ordered[key] = obj[key];
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
return ordered;
|
|
1262
|
+
};
|
|
1263
|
+
|
|
1206
1264
|
// packages/common/util/src/pick.ts
|
|
1207
1265
|
var pick = (obj, keys) => {
|
|
1208
1266
|
return keys.reduce((result, key) => {
|
|
@@ -1272,6 +1330,20 @@ var getHostPlatform = () => {
|
|
|
1272
1330
|
}
|
|
1273
1331
|
};
|
|
1274
1332
|
|
|
1333
|
+
// packages/common/util/src/position.ts
|
|
1334
|
+
var byPosition = (a, b) => {
|
|
1335
|
+
const aPosition = a.position ?? "static";
|
|
1336
|
+
const bPosition = b.position ?? "static";
|
|
1337
|
+
if (aPosition === bPosition) {
|
|
1338
|
+
return 0;
|
|
1339
|
+
} else if (aPosition === "hoist" || bPosition === "fallback") {
|
|
1340
|
+
return -1;
|
|
1341
|
+
} else if (bPosition === "hoist" || aPosition === "fallback") {
|
|
1342
|
+
return 1;
|
|
1343
|
+
}
|
|
1344
|
+
return 0;
|
|
1345
|
+
};
|
|
1346
|
+
|
|
1275
1347
|
// packages/common/util/src/random.ts
|
|
1276
1348
|
var randomInt = (max, min = 0) => {
|
|
1277
1349
|
min = Math.ceil(min);
|
|
@@ -1287,6 +1359,9 @@ var range = (n, mapper) => {
|
|
|
1287
1359
|
var rangeFromTo = (from, to, mapper) => {
|
|
1288
1360
|
return mapper == null ? range(to - from, (i) => i + from) : range(to - from, (i) => mapper(i + from));
|
|
1289
1361
|
};
|
|
1362
|
+
var clamp = (value, min, max) => {
|
|
1363
|
+
return Math.min(Math.max(value, min), max);
|
|
1364
|
+
};
|
|
1290
1365
|
|
|
1291
1366
|
// packages/common/util/src/reducers.ts
|
|
1292
1367
|
var accessBy = (value, accessor) => typeof accessor === "function" ? accessor(value) : value[accessor];
|
|
@@ -1421,7 +1496,7 @@ var safeParseFloat = (str, defaultValue) => {
|
|
|
1421
1496
|
}
|
|
1422
1497
|
};
|
|
1423
1498
|
var safeParseJson = (data, defaultValue) => {
|
|
1424
|
-
if (data) {
|
|
1499
|
+
if (data && data.length > 0) {
|
|
1425
1500
|
try {
|
|
1426
1501
|
return JSON.parse(data);
|
|
1427
1502
|
} catch (err) {
|
|
@@ -1804,9 +1879,7 @@ var stringifyTree = (node, ancestors = [], rows = []) => {
|
|
|
1804
1879
|
|
|
1805
1880
|
// packages/common/util/src/types.ts
|
|
1806
1881
|
var isNotFalsy = (value) => !!value;
|
|
1807
|
-
var
|
|
1808
|
-
var isNotNullOrUndefined = (value) => value != null;
|
|
1809
|
-
var boolGuard = (value) => Boolean(value);
|
|
1882
|
+
var isNonNullable = (value) => value != null;
|
|
1810
1883
|
var doAsync = async (fn) => fn();
|
|
1811
1884
|
var getProviderValue = (provider, arg) => {
|
|
1812
1885
|
return typeof provider === "function" ? provider(arg) : provider;
|
|
@@ -1931,19 +2004,12 @@ var WeakDictionary = class {
|
|
|
1931
2004
|
}
|
|
1932
2005
|
};
|
|
1933
2006
|
|
|
1934
|
-
// packages/common/util/src/
|
|
1935
|
-
var
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
byteToHex.push(hexOctet);
|
|
1939
|
-
}
|
|
1940
|
-
var arrayToHex = (buf) => {
|
|
1941
|
-
const buff = new Uint8Array(buf);
|
|
1942
|
-
const hexOctets = [];
|
|
1943
|
-
for (let i = 0; i < buff.length; ++i) {
|
|
1944
|
-
hexOctets.push(byteToHex[buff[i]]);
|
|
2007
|
+
// packages/common/util/src/string.ts
|
|
2008
|
+
var capitalize = (str) => {
|
|
2009
|
+
if (str.length === 0) {
|
|
2010
|
+
return "";
|
|
1945
2011
|
}
|
|
1946
|
-
return
|
|
2012
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
1947
2013
|
};
|
|
1948
2014
|
|
|
1949
2015
|
// packages/common/util/src/remove-undefined-keys.ts
|
|
@@ -1958,22 +2024,6 @@ var removeUndefinedProperties = (object) => {
|
|
|
1958
2024
|
}
|
|
1959
2025
|
return object;
|
|
1960
2026
|
};
|
|
1961
|
-
|
|
1962
|
-
// packages/common/util/src/order-keys.ts
|
|
1963
|
-
var orderKeys = (obj, order) => {
|
|
1964
|
-
const ordered = {};
|
|
1965
|
-
for (const key of order) {
|
|
1966
|
-
if (key in obj) {
|
|
1967
|
-
ordered[key] = obj[key];
|
|
1968
|
-
}
|
|
1969
|
-
}
|
|
1970
|
-
for (const key in obj) {
|
|
1971
|
-
if (!(key in ordered)) {
|
|
1972
|
-
ordered[key] = obj[key];
|
|
1973
|
-
}
|
|
1974
|
-
}
|
|
1975
|
-
return ordered;
|
|
1976
|
-
};
|
|
1977
2027
|
export {
|
|
1978
2028
|
BitField,
|
|
1979
2029
|
Callback,
|
|
@@ -1992,9 +2042,11 @@ export {
|
|
|
1992
2042
|
arrayToHex,
|
|
1993
2043
|
arrayToString,
|
|
1994
2044
|
arraysEqual,
|
|
1995
|
-
boolGuard,
|
|
1996
2045
|
bufferToArray,
|
|
2046
|
+
byPosition,
|
|
2047
|
+
capitalize,
|
|
1997
2048
|
chunkArray,
|
|
2049
|
+
clamp,
|
|
1998
2050
|
compareMulti,
|
|
1999
2051
|
compareObject,
|
|
2000
2052
|
compareScalar,
|
|
@@ -2035,8 +2087,8 @@ export {
|
|
|
2035
2087
|
intersection,
|
|
2036
2088
|
iosCheck,
|
|
2037
2089
|
isNode,
|
|
2090
|
+
isNonNullable,
|
|
2038
2091
|
isNotFalsy,
|
|
2039
|
-
isNotNullOrUndefined,
|
|
2040
2092
|
joinTables,
|
|
2041
2093
|
jsonKeyReplacer,
|
|
2042
2094
|
jsonReplacer,
|
|
@@ -2050,10 +2102,10 @@ export {
|
|
|
2050
2102
|
mapValues,
|
|
2051
2103
|
median,
|
|
2052
2104
|
mobileAndTabletCheck,
|
|
2053
|
-
nonNullable,
|
|
2054
2105
|
numericalValues,
|
|
2055
2106
|
omit,
|
|
2056
2107
|
orderKeys,
|
|
2108
|
+
partition,
|
|
2057
2109
|
pick,
|
|
2058
2110
|
pickBy,
|
|
2059
2111
|
randomInt,
|
|
@@ -2062,6 +2114,7 @@ export {
|
|
|
2062
2114
|
reduceGroupBy,
|
|
2063
2115
|
reduceSeries,
|
|
2064
2116
|
reduceSet,
|
|
2117
|
+
removeBy,
|
|
2065
2118
|
removeUndefinedProperties,
|
|
2066
2119
|
safariCheck,
|
|
2067
2120
|
safeAwaitAll,
|