@dxos/util 0.7.4 → 0.7.5-main.9cb18ac

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.
@@ -525,11 +525,14 @@ var setDeep = (obj, path, value) => {
525
525
  });
526
526
  let parent = obj;
527
527
  for (const key of path.slice(0, -1)) {
528
- parent[key] ??= {};
528
+ if (parent[key] === void 0) {
529
+ const isArrayIndex = !isNaN(Number(key));
530
+ parent[key] = isArrayIndex ? [] : {};
531
+ }
529
532
  parent = parent[key];
530
533
  }
531
534
  parent[path.at(-1)] = value;
532
- return parent[path.at(-1)];
535
+ return obj;
533
536
  };
534
537
  var getDeep = (obj, path) => {
535
538
  let parent = obj;
@@ -1401,7 +1404,22 @@ var safeInstanceof = (tag) => (target) => {
1401
1404
  });
1402
1405
  };
1403
1406
 
1404
- // packages/common/util/src/safe-parse-json.ts
1407
+ // packages/common/util/src/safe-parse.ts
1408
+ var safeParseInt = (value, defaultValue) => {
1409
+ try {
1410
+ const n = parseInt(value ?? "");
1411
+ return isNaN(n) ? defaultValue : n;
1412
+ } catch (err) {
1413
+ return defaultValue;
1414
+ }
1415
+ };
1416
+ var safeParseFloat = (str, defaultValue) => {
1417
+ try {
1418
+ return parseFloat(str);
1419
+ } catch {
1420
+ return defaultValue ?? 0;
1421
+ }
1422
+ };
1405
1423
  var safeParseJson = (data, defaultValue) => {
1406
1424
  if (data) {
1407
1425
  try {
@@ -1796,14 +1814,14 @@ var getProviderValue = (provider, arg) => {
1796
1814
  var getAsyncProviderValue = (provider, arg) => {
1797
1815
  return getProviderValue(provider, arg);
1798
1816
  };
1799
- var stripUndefinedValues = (obj) => {
1817
+ var stripUndefined = (obj) => {
1800
1818
  if (typeof obj === "object") {
1801
1819
  Object.keys(obj).forEach((key) => {
1802
1820
  const value = obj[key];
1803
1821
  if (value === void 0) {
1804
1822
  delete obj[key];
1805
1823
  } else if (value !== null && typeof value === "object") {
1806
- stripUndefinedValues(value);
1824
+ stripUndefined(value);
1807
1825
  }
1808
1826
  });
1809
1827
  }
@@ -1817,14 +1835,6 @@ var arrayMove = (array, from, to) => {
1817
1835
  array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);
1818
1836
  return array;
1819
1837
  };
1820
- var safeParseInt = (value, defaultValue) => {
1821
- try {
1822
- const n = parseInt(value ?? "");
1823
- return isNaN(n) ? defaultValue : n;
1824
- } catch (err) {
1825
- return defaultValue;
1826
- }
1827
- };
1828
1838
 
1829
1839
  // packages/common/util/src/weak.ts
1830
1840
  var WeakDictionary = class {
@@ -2056,13 +2066,14 @@ export {
2056
2066
  safariCheck,
2057
2067
  safeAwaitAll,
2058
2068
  safeInstanceof,
2069
+ safeParseFloat,
2059
2070
  safeParseInt,
2060
2071
  safeParseJson,
2061
2072
  setDeep,
2062
2073
  sortKeys,
2063
2074
  stringToArray,
2064
2075
  stringifyTree,
2065
- stripUndefinedValues,
2076
+ stripUndefined,
2066
2077
  sum,
2067
2078
  throwUnhandledError,
2068
2079
  toEmoji,