@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.
@@ -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.name}#${getPrototypeSpecificInstanceId(instance)}`;
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 nonNullable = (value) => value !== null && value !== void 0;
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/array-to-hex.ts
1935
- var byteToHex = [];
1936
- for (let n = 0; n <= 255; ++n) {
1937
- const hexOctet = n.toString(16).padStart(2, "0");
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 hexOctets.join("");
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,