@dxos/util 0.7.4 → 0.7.5-labs.35b4b42
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 +71 -18
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +73 -19
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +71 -18
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/array-to-hex.d.ts +1 -1
- package/dist/types/src/array-to-hex.d.ts.map +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/bitfield.d.ts +1 -1
- package/dist/types/src/deep.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/no-infer.d.ts +2 -0
- package/dist/types/src/no-infer.d.ts.map +1 -0
- 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/safe-parse.d.ts +7 -0
- package/dist/types/src/safe-parse.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +22 -4
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +6 -6
- package/src/array-to-hex.ts +1 -1
- package/src/array.test.ts +83 -1
- package/src/array.ts +29 -0
- package/src/deep.ts +5 -3
- package/src/index.ts +3 -1
- package/src/instance-id.ts +1 -1
- package/src/no-infer.ts +5 -0
- package/src/position.test.ts +98 -0
- package/src/position.ts +30 -0
- package/src/safe-parse.ts +32 -0
- package/src/types.ts +31 -13
- package/dist/types/src/safe-parse-json.d.ts +0 -5
- package/dist/types/src/safe-parse-json.d.ts.map +0 -1
- package/src/safe-parse-json.ts +0 -15
|
@@ -33,6 +33,33 @@ 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
|
+
};
|
|
36
63
|
|
|
37
64
|
// packages/common/util/src/binder.ts
|
|
38
65
|
import util from "@dxos/node-std/util";
|
|
@@ -525,11 +552,14 @@ var setDeep = (obj, path, value) => {
|
|
|
525
552
|
});
|
|
526
553
|
let parent = obj;
|
|
527
554
|
for (const key of path.slice(0, -1)) {
|
|
528
|
-
parent[key]
|
|
555
|
+
if (parent[key] === void 0) {
|
|
556
|
+
const isArrayIndex = !isNaN(Number(key));
|
|
557
|
+
parent[key] = isArrayIndex ? [] : {};
|
|
558
|
+
}
|
|
529
559
|
parent = parent[key];
|
|
530
560
|
}
|
|
531
561
|
parent[path.at(-1)] = value;
|
|
532
|
-
return
|
|
562
|
+
return obj;
|
|
533
563
|
};
|
|
534
564
|
var getDeep = (obj, path) => {
|
|
535
565
|
let parent = obj;
|
|
@@ -944,7 +974,7 @@ var getDebugName = (instance) => {
|
|
|
944
974
|
return "null";
|
|
945
975
|
}
|
|
946
976
|
const prototype = Object.getPrototypeOf(instance);
|
|
947
|
-
return `${prototype.constructor
|
|
977
|
+
return `${prototype.constructor?.name ?? "Object"}#${getPrototypeSpecificInstanceId(instance)}`;
|
|
948
978
|
};
|
|
949
979
|
|
|
950
980
|
// packages/common/util/src/join-tables.ts
|
|
@@ -1269,6 +1299,20 @@ var getHostPlatform = () => {
|
|
|
1269
1299
|
}
|
|
1270
1300
|
};
|
|
1271
1301
|
|
|
1302
|
+
// packages/common/util/src/position.ts
|
|
1303
|
+
var byPosition = (a, b) => {
|
|
1304
|
+
const aPosition = a.position ?? "static";
|
|
1305
|
+
const bPosition = b.position ?? "static";
|
|
1306
|
+
if (aPosition === bPosition) {
|
|
1307
|
+
return 0;
|
|
1308
|
+
} else if (aPosition === "hoist" || bPosition === "fallback") {
|
|
1309
|
+
return -1;
|
|
1310
|
+
} else if (bPosition === "hoist" || aPosition === "fallback") {
|
|
1311
|
+
return 1;
|
|
1312
|
+
}
|
|
1313
|
+
return 0;
|
|
1314
|
+
};
|
|
1315
|
+
|
|
1272
1316
|
// packages/common/util/src/random.ts
|
|
1273
1317
|
var randomInt = (max, min = 0) => {
|
|
1274
1318
|
min = Math.ceil(min);
|
|
@@ -1401,9 +1445,24 @@ var safeInstanceof = (tag) => (target) => {
|
|
|
1401
1445
|
});
|
|
1402
1446
|
};
|
|
1403
1447
|
|
|
1404
|
-
// packages/common/util/src/safe-parse
|
|
1448
|
+
// packages/common/util/src/safe-parse.ts
|
|
1449
|
+
var safeParseInt = (value, defaultValue) => {
|
|
1450
|
+
try {
|
|
1451
|
+
const n = parseInt(value ?? "");
|
|
1452
|
+
return isNaN(n) ? defaultValue : n;
|
|
1453
|
+
} catch (err) {
|
|
1454
|
+
return defaultValue;
|
|
1455
|
+
}
|
|
1456
|
+
};
|
|
1457
|
+
var safeParseFloat = (str, defaultValue) => {
|
|
1458
|
+
try {
|
|
1459
|
+
return parseFloat(str);
|
|
1460
|
+
} catch {
|
|
1461
|
+
return defaultValue ?? 0;
|
|
1462
|
+
}
|
|
1463
|
+
};
|
|
1405
1464
|
var safeParseJson = (data, defaultValue) => {
|
|
1406
|
-
if (data) {
|
|
1465
|
+
if (data && data.length > 0) {
|
|
1407
1466
|
try {
|
|
1408
1467
|
return JSON.parse(data);
|
|
1409
1468
|
} catch (err) {
|
|
@@ -1788,7 +1847,6 @@ var stringifyTree = (node, ancestors = [], rows = []) => {
|
|
|
1788
1847
|
var isNotFalsy = (value) => !!value;
|
|
1789
1848
|
var nonNullable = (value) => value !== null && value !== void 0;
|
|
1790
1849
|
var isNotNullOrUndefined = (value) => value != null;
|
|
1791
|
-
var boolGuard = (value) => Boolean(value);
|
|
1792
1850
|
var doAsync = async (fn) => fn();
|
|
1793
1851
|
var getProviderValue = (provider, arg) => {
|
|
1794
1852
|
return typeof provider === "function" ? provider(arg) : provider;
|
|
@@ -1796,14 +1854,14 @@ var getProviderValue = (provider, arg) => {
|
|
|
1796
1854
|
var getAsyncProviderValue = (provider, arg) => {
|
|
1797
1855
|
return getProviderValue(provider, arg);
|
|
1798
1856
|
};
|
|
1799
|
-
var
|
|
1857
|
+
var stripUndefined = (obj) => {
|
|
1800
1858
|
if (typeof obj === "object") {
|
|
1801
1859
|
Object.keys(obj).forEach((key) => {
|
|
1802
1860
|
const value = obj[key];
|
|
1803
1861
|
if (value === void 0) {
|
|
1804
1862
|
delete obj[key];
|
|
1805
1863
|
} else if (value !== null && typeof value === "object") {
|
|
1806
|
-
|
|
1864
|
+
stripUndefined(value);
|
|
1807
1865
|
}
|
|
1808
1866
|
});
|
|
1809
1867
|
}
|
|
@@ -1817,14 +1875,6 @@ var arrayMove = (array, from, to) => {
|
|
|
1817
1875
|
array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);
|
|
1818
1876
|
return array;
|
|
1819
1877
|
};
|
|
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
1878
|
|
|
1829
1879
|
// packages/common/util/src/weak.ts
|
|
1830
1880
|
var WeakDictionary = class {
|
|
@@ -1982,8 +2032,8 @@ export {
|
|
|
1982
2032
|
arrayToHex,
|
|
1983
2033
|
arrayToString,
|
|
1984
2034
|
arraysEqual,
|
|
1985
|
-
boolGuard,
|
|
1986
2035
|
bufferToArray,
|
|
2036
|
+
byPosition,
|
|
1987
2037
|
chunkArray,
|
|
1988
2038
|
compareMulti,
|
|
1989
2039
|
compareObject,
|
|
@@ -2044,6 +2094,7 @@ export {
|
|
|
2044
2094
|
numericalValues,
|
|
2045
2095
|
omit,
|
|
2046
2096
|
orderKeys,
|
|
2097
|
+
partition,
|
|
2047
2098
|
pick,
|
|
2048
2099
|
pickBy,
|
|
2049
2100
|
randomInt,
|
|
@@ -2052,17 +2103,19 @@ export {
|
|
|
2052
2103
|
reduceGroupBy,
|
|
2053
2104
|
reduceSeries,
|
|
2054
2105
|
reduceSet,
|
|
2106
|
+
removeBy,
|
|
2055
2107
|
removeUndefinedProperties,
|
|
2056
2108
|
safariCheck,
|
|
2057
2109
|
safeAwaitAll,
|
|
2058
2110
|
safeInstanceof,
|
|
2111
|
+
safeParseFloat,
|
|
2059
2112
|
safeParseInt,
|
|
2060
2113
|
safeParseJson,
|
|
2061
2114
|
setDeep,
|
|
2062
2115
|
sortKeys,
|
|
2063
2116
|
stringToArray,
|
|
2064
2117
|
stringifyTree,
|
|
2065
|
-
|
|
2118
|
+
stripUndefined,
|
|
2066
2119
|
sum,
|
|
2067
2120
|
throwUnhandledError,
|
|
2068
2121
|
toEmoji,
|