@dxos/util 0.8.2-main.30e4dbb → 0.8.2-main.4c6cf53

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.
Files changed (45) hide show
  1. package/dist/lib/browser/index.mjs +175 -156
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node/index.cjs +160 -138
  5. package/dist/lib/node/index.cjs.map +4 -4
  6. package/dist/lib/node/meta.json +1 -1
  7. package/dist/lib/node-esm/index.mjs +175 -156
  8. package/dist/lib/node-esm/index.mjs.map +4 -4
  9. package/dist/lib/node-esm/meta.json +1 -1
  10. package/dist/types/src/bitfield.d.ts +1 -1
  11. package/dist/types/src/bitfield.d.ts.map +1 -1
  12. package/dist/types/src/callback-collection.d.ts.map +1 -1
  13. package/dist/types/src/callback.d.ts.map +1 -1
  14. package/dist/types/src/complex.d.ts.map +1 -1
  15. package/dist/types/src/deep.d.ts +3 -2
  16. package/dist/types/src/deep.d.ts.map +1 -1
  17. package/dist/types/src/di-key.d.ts +3 -3
  18. package/dist/types/src/di-key.d.ts.map +1 -1
  19. package/dist/types/src/human-hash.d.ts.map +1 -1
  20. package/dist/types/src/index.d.ts +12 -11
  21. package/dist/types/src/index.d.ts.map +1 -1
  22. package/dist/types/src/map-values.d.ts +5 -0
  23. package/dist/types/src/map-values.d.ts.map +1 -1
  24. package/dist/types/src/object.d.ts +3 -0
  25. package/dist/types/src/object.d.ts.map +1 -0
  26. package/dist/types/src/position.d.ts +2 -3
  27. package/dist/types/src/position.d.ts.map +1 -1
  28. package/dist/types/src/sliding-window-summary.d.ts.map +1 -1
  29. package/dist/types/src/tracer.d.ts.map +1 -1
  30. package/package.json +10 -6
  31. package/src/bitfield.ts +2 -2
  32. package/src/callback-collection.ts +3 -3
  33. package/src/callback.ts +2 -2
  34. package/src/complex.ts +6 -6
  35. package/src/deep.ts +6 -2
  36. package/src/defer.ts +2 -2
  37. package/src/di-key.ts +2 -2
  38. package/src/human-hash.ts +2 -2
  39. package/src/index.ts +12 -11
  40. package/src/map-values.ts +14 -0
  41. package/src/object.ts +7 -0
  42. package/src/position.ts +12 -11
  43. package/src/sliding-window-summary.ts +3 -3
  44. package/src/tracer.ts +6 -6
  45. package/src/weak.ts +2 -2
@@ -1,5 +1,20 @@
1
1
  import "@dxos/node-std/globals";
2
2
 
3
+ // packages/common/util/src/array-to-hex.ts
4
+ var byteToHex = [];
5
+ for (let n = 0; n <= 255; ++n) {
6
+ const hexOctet = n.toString(16).padStart(2, "0");
7
+ byteToHex.push(hexOctet);
8
+ }
9
+ var arrayToHex = (buf) => {
10
+ const buff = new Uint8Array(buf);
11
+ const hexOctets = [];
12
+ for (let i = 0; i < buff.length; ++i) {
13
+ hexOctets.push(byteToHex[buff[i]]);
14
+ }
15
+ return hexOctets.join("");
16
+ };
17
+
3
18
  // packages/common/util/src/array.ts
4
19
  var diff = (previous, next, comparator) => {
5
20
  const remaining = [
@@ -83,21 +98,6 @@ var intersectBy = (arrays, selector) => {
83
98
  });
84
99
  };
85
100
 
86
- // packages/common/util/src/array-to-hex.ts
87
- var byteToHex = [];
88
- for (let n = 0; n <= 255; ++n) {
89
- const hexOctet = n.toString(16).padStart(2, "0");
90
- byteToHex.push(hexOctet);
91
- }
92
- var arrayToHex = (buf) => {
93
- const buff = new Uint8Array(buf);
94
- const hexOctets = [];
95
- for (let i = 0; i < buff.length; ++i) {
96
- hexOctets.push(byteToHex[buff[i]]);
97
- }
98
- return hexOctets.join("");
99
- };
100
-
101
101
  // packages/common/util/src/binder.ts
102
102
  import util from "@dxos/node-std/util";
103
103
  var createBinder = (obj) => ({
@@ -175,6 +175,30 @@ var BitField = class _BitField {
175
175
  }
176
176
  };
177
177
 
178
+ // packages/common/util/src/callback-collection.ts
179
+ var CallbackCollection = class {
180
+ #callbacks = [];
181
+ append(callback) {
182
+ this.#callbacks.push(callback);
183
+ }
184
+ prepend(callback) {
185
+ this.#callbacks.unshift(callback);
186
+ }
187
+ remove(callback) {
188
+ this.#callbacks = this.#callbacks.filter((c) => c !== callback);
189
+ }
190
+ callParallel(...args) {
191
+ return Promise.all(this.#callbacks.map((callback) => callback(...args)));
192
+ }
193
+ async callSerial(...args) {
194
+ const results = [];
195
+ for (const callback of this.#callbacks) {
196
+ results.push(await callback(...args));
197
+ }
198
+ return results;
199
+ }
200
+ };
201
+
178
202
  // packages/common/util/src/callback.ts
179
203
  import { invariant as invariant2 } from "@dxos/invariant";
180
204
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/util/src/callback.ts";
@@ -227,30 +251,6 @@ var createSetDispatch = ({ handlers }) => {
227
251
  });
228
252
  };
229
253
 
230
- // packages/common/util/src/callback-collection.ts
231
- var CallbackCollection = class {
232
- #callbacks = [];
233
- append(callback) {
234
- this.#callbacks.push(callback);
235
- }
236
- prepend(callback) {
237
- this.#callbacks.unshift(callback);
238
- }
239
- remove(callback) {
240
- this.#callbacks = this.#callbacks.filter((c) => c !== callback);
241
- }
242
- callParallel(...args) {
243
- return Promise.all(this.#callbacks.map((callback) => callback(...args)));
244
- }
245
- async callSerial(...args) {
246
- const results = [];
247
- for (const callback of this.#callbacks) {
248
- results.push(await callback(...args));
249
- }
250
- return results;
251
- }
252
- };
253
-
254
254
  // packages/common/util/src/case.ts
255
255
  var LOW_DASH = "_".codePointAt(0);
256
256
  var HI_DASH = "-".codePointAt(0);
@@ -352,6 +352,19 @@ var CircularBuffer = class {
352
352
  }
353
353
  };
354
354
 
355
+ // packages/common/util/src/clear-undefined.ts
356
+ var clearUndefined = (obj) => {
357
+ for (const key of [
358
+ ...Object.getOwnPropertyNames(obj),
359
+ ...Object.getOwnPropertySymbols(obj)
360
+ ]) {
361
+ if (obj[key] === void 0) {
362
+ delete obj[key];
363
+ }
364
+ }
365
+ return obj;
366
+ };
367
+
355
368
  // packages/common/util/src/complex.ts
356
369
  import { inspect } from "@dxos/node-std/util";
357
370
  import { inspectObject, raise } from "@dxos/debug";
@@ -451,12 +464,12 @@ var makeSet = (projection) => {
451
464
  };
452
465
  var ComplexMap = class _ComplexMap {
453
466
  // prettier-ignore
454
- constructor(_keyProjection, entries) {
467
+ constructor(_keyProjection, entries2) {
455
468
  this._keyProjection = _keyProjection;
456
469
  this._keys = /* @__PURE__ */ new Map();
457
470
  this._values = /* @__PURE__ */ new Map();
458
- if (entries) {
459
- for (const [key, value] of entries) {
471
+ if (entries2) {
472
+ for (const [key, value] of entries2) {
460
473
  this.set(key, value);
461
474
  }
462
475
  }
@@ -533,11 +546,48 @@ var ComplexMap = class _ComplexMap {
533
546
  }
534
547
  };
535
548
  var makeMap = (keyProjection) => class BoundComplexMap extends ComplexMap {
536
- constructor(entries) {
537
- super(keyProjection, entries);
549
+ constructor(entries2) {
550
+ super(keyProjection, entries2);
538
551
  }
539
552
  };
540
553
 
554
+ // packages/common/util/src/deep.ts
555
+ import get from "lodash.get";
556
+ import set from "lodash.set";
557
+ import { invariant as invariant4 } from "@dxos/invariant";
558
+ var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/deep.ts";
559
+ var setDeep = (obj, path, value) => {
560
+ invariant4(path.length > 0, void 0, {
561
+ F: __dxlog_file4,
562
+ L: 18,
563
+ S: void 0,
564
+ A: [
565
+ "path.length > 0",
566
+ ""
567
+ ]
568
+ });
569
+ let parent = obj;
570
+ for (const key of path.slice(0, -1)) {
571
+ if (parent[key] === void 0) {
572
+ const isArrayIndex = !isNaN(Number(key));
573
+ parent[key] = isArrayIndex ? [] : {};
574
+ }
575
+ parent = parent[key];
576
+ }
577
+ parent[path.at(-1)] = value;
578
+ return obj;
579
+ };
580
+ var getDeep = (obj, path) => {
581
+ let parent = obj;
582
+ for (const key of path) {
583
+ parent = parent?.[key];
584
+ }
585
+ return parent;
586
+ };
587
+
588
+ // packages/common/util/src/defer-function.ts
589
+ var deferFunction = (fnProvider) => (...args) => fnProvider()(...args);
590
+
541
591
  // packages/common/util/src/explicit-resource-management-polyfill.ts
542
592
  Symbol.dispose ??= Symbol("Symbol.dispose");
543
593
  Symbol.asyncDispose ??= Symbol("Symbol.asyncDispose");
@@ -571,41 +621,6 @@ var DeferAsyncGuard = class {
571
621
  }
572
622
  };
573
623
 
574
- // packages/common/util/src/defer-function.ts
575
- var deferFunction = (fnProvider) => (...args) => fnProvider()(...args);
576
-
577
- // packages/common/util/src/deep.ts
578
- import { invariant as invariant4 } from "@dxos/invariant";
579
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/deep.ts";
580
- var setDeep = (obj, path, value) => {
581
- invariant4(path.length > 0, void 0, {
582
- F: __dxlog_file4,
583
- L: 12,
584
- S: void 0,
585
- A: [
586
- "path.length > 0",
587
- ""
588
- ]
589
- });
590
- let parent = obj;
591
- for (const key of path.slice(0, -1)) {
592
- if (parent[key] === void 0) {
593
- const isArrayIndex = !isNaN(Number(key));
594
- parent[key] = isArrayIndex ? [] : {};
595
- }
596
- parent = parent[key];
597
- }
598
- parent[path.at(-1)] = value;
599
- return obj;
600
- };
601
- var getDeep = (obj, path) => {
602
- let parent = obj;
603
- for (const key of path) {
604
- parent = parent?.[key];
605
- }
606
- return parent;
607
- };
608
-
609
624
  // packages/common/util/src/entry.ts
610
625
  var entry = (map, key) => new MapEntry(map, key);
611
626
  var MapEntry = class {
@@ -995,18 +1010,6 @@ var humanize = (value) => {
995
1010
  return hasher.humanize(value);
996
1011
  };
997
1012
 
998
- // packages/common/util/src/interval.ts
999
- var exponentialBackoffInterval = (cb, initialInterval) => {
1000
- let interval = initialInterval;
1001
- const repeat = () => {
1002
- cb();
1003
- interval *= 2;
1004
- timeoutId = setTimeout(repeat, interval);
1005
- };
1006
- let timeoutId = setTimeout(repeat, interval);
1007
- return () => clearTimeout(timeoutId);
1008
- };
1009
-
1010
1013
  // packages/common/util/src/map.ts
1011
1014
  var defaultMap = (map, key, def) => {
1012
1015
  let value = map.get(key);
@@ -1041,6 +1044,18 @@ var getDebugName = (instance) => {
1041
1044
  return `${prototype.constructor?.name ?? "Object"}#${getPrototypeSpecificInstanceId(instance)}`;
1042
1045
  };
1043
1046
 
1047
+ // packages/common/util/src/interval.ts
1048
+ var exponentialBackoffInterval = (cb, initialInterval) => {
1049
+ let interval = initialInterval;
1050
+ const repeat = () => {
1051
+ cb();
1052
+ interval *= 2;
1053
+ timeoutId = setTimeout(repeat, interval);
1054
+ };
1055
+ let timeoutId = setTimeout(repeat, interval);
1056
+ return () => clearTimeout(timeoutId);
1057
+ };
1058
+
1044
1059
  // packages/common/util/src/join-tables.ts
1045
1060
  var joinTables = (leftColumn, rightColumn, left, right) => {
1046
1061
  const map = /* @__PURE__ */ new Map();
@@ -1266,6 +1281,35 @@ var DeepMapperAsync = class {
1266
1281
  return this._fn(value, this._recurse, key);
1267
1282
  }
1268
1283
  };
1284
+ var visitValues = (object, visitor) => {
1285
+ if (Array.isArray(object)) {
1286
+ object.forEach((item, index) => visitor(item, index));
1287
+ } else if (typeof object === "object" && object !== null) {
1288
+ for (const [key, value] of Object.entries(object)) {
1289
+ visitor(value, key);
1290
+ }
1291
+ }
1292
+ };
1293
+
1294
+ // packages/common/util/src/object.ts
1295
+ var keys = (obj) => Object.keys(obj);
1296
+ var entries = (obj) => Object.entries(obj);
1297
+
1298
+ // packages/common/util/src/order-keys.ts
1299
+ var orderKeys = (obj, order) => {
1300
+ const ordered = {};
1301
+ for (const key of order) {
1302
+ if (key in obj) {
1303
+ ordered[key] = obj[key];
1304
+ }
1305
+ }
1306
+ for (const key in obj) {
1307
+ if (!(key in ordered)) {
1308
+ ordered[key] = obj[key];
1309
+ }
1310
+ }
1311
+ return ordered;
1312
+ };
1269
1313
 
1270
1314
  // packages/common/util/src/order.ts
1271
1315
  var inferObjectOrder = (objectMap, order = []) => {
@@ -1294,25 +1338,9 @@ var inferRecordOrder = (objectMap, order = []) => {
1294
1338
  }, {}), objectMap);
1295
1339
  };
1296
1340
 
1297
- // packages/common/util/src/order-keys.ts
1298
- var orderKeys = (obj, order) => {
1299
- const ordered = {};
1300
- for (const key of order) {
1301
- if (key in obj) {
1302
- ordered[key] = obj[key];
1303
- }
1304
- }
1305
- for (const key in obj) {
1306
- if (!(key in ordered)) {
1307
- ordered[key] = obj[key];
1308
- }
1309
- }
1310
- return ordered;
1311
- };
1312
-
1313
1341
  // packages/common/util/src/pick.ts
1314
- var pick = (obj, keys) => {
1315
- return keys.reduce((result, key) => {
1342
+ var pick = (obj, keys2) => {
1343
+ return keys2.reduce((result, key) => {
1316
1344
  if (obj && key in obj) {
1317
1345
  result[key] = obj[key];
1318
1346
  }
@@ -1328,11 +1356,11 @@ var pickBy = (obj, predicate) => {
1328
1356
  }
1329
1357
  return result;
1330
1358
  };
1331
- var omit = (obj, keys) => {
1359
+ var omit = (obj, keys2) => {
1332
1360
  const result = {
1333
1361
  ...obj
1334
1362
  };
1335
- keys.forEach((key) => {
1363
+ keys2.forEach((key) => {
1336
1364
  delete result[key];
1337
1365
  });
1338
1366
  return result;
@@ -1380,17 +1408,16 @@ var getHostPlatform = () => {
1380
1408
  };
1381
1409
 
1382
1410
  // packages/common/util/src/position.ts
1383
- var byPosition = (a, b) => {
1384
- const aPosition = a.position ?? "static";
1385
- const bPosition = b.position ?? "static";
1386
- if (aPosition === bPosition) {
1411
+ var byPosition = ({ position: a = "static" }, { position: b = "static" }) => {
1412
+ if (a === b) {
1387
1413
  return 0;
1388
- } else if (aPosition === "hoist" || bPosition === "fallback") {
1414
+ } else if (a === "hoist" || b === "fallback") {
1389
1415
  return -1;
1390
- } else if (bPosition === "hoist" || aPosition === "fallback") {
1416
+ } else if (b === "hoist" || a === "fallback") {
1391
1417
  return 1;
1418
+ } else {
1419
+ return 0;
1392
1420
  }
1393
- return 0;
1394
1421
  };
1395
1422
 
1396
1423
  // packages/common/util/src/random.ts
@@ -1498,6 +1525,19 @@ var createBucketReducer = (period) => ({
1498
1525
  }
1499
1526
  });
1500
1527
 
1528
+ // packages/common/util/src/remove-undefined-keys.ts
1529
+ var removeUndefinedProperties = (object) => {
1530
+ for (const prop of [
1531
+ ...Object.getOwnPropertyNames(object),
1532
+ ...Object.getOwnPropertySymbols(object)
1533
+ ]) {
1534
+ if (object[prop] === void 0) {
1535
+ delete object[prop];
1536
+ }
1537
+ }
1538
+ return object;
1539
+ };
1540
+
1501
1541
  // packages/common/util/src/safe-await.ts
1502
1542
  var safeAwaitAll = async (source, taskFactory, onError) => {
1503
1543
  const failedItems = [];
@@ -1632,6 +1672,14 @@ var compareMulti = (sorters) => (a, b) => {
1632
1672
  return sort();
1633
1673
  };
1634
1674
 
1675
+ // packages/common/util/src/string.ts
1676
+ var capitalize = (str) => {
1677
+ if (str.length === 0) {
1678
+ return "";
1679
+ }
1680
+ return str.charAt(0).toUpperCase() + str.slice(1);
1681
+ };
1682
+
1635
1683
  // packages/common/util/src/sum.ts
1636
1684
  var sum = (values) => values.reduce((a, b) => a + b, 0);
1637
1685
 
@@ -1966,16 +2014,16 @@ var arrayMove = (array, from, to) => {
1966
2014
 
1967
2015
  // packages/common/util/src/weak.ts
1968
2016
  var WeakDictionary = class {
1969
- constructor(entries) {
2017
+ constructor(entries2) {
1970
2018
  this._internal = /* @__PURE__ */ new Map();
1971
2019
  this._finalization = new FinalizationRegistry((cleanUpCallback) => {
1972
2020
  cleanUpCallback();
1973
2021
  });
1974
- this._internal = new Map(entries?.map(([key, value]) => [
2022
+ this._internal = new Map(entries2?.map(([key, value]) => [
1975
2023
  key,
1976
2024
  new WeakRef(value)
1977
2025
  ]));
1978
- entries?.forEach(([key, value]) => this._register(key, value));
2026
+ entries2?.forEach(([key, value]) => this._register(key, value));
1979
2027
  }
1980
2028
  *entries() {
1981
2029
  for (const [key, value] of this._internal) {
@@ -2058,40 +2106,6 @@ var WeakDictionary = class {
2058
2106
  this._finalization.unregister(value);
2059
2107
  }
2060
2108
  };
2061
-
2062
- // packages/common/util/src/string.ts
2063
- var capitalize = (str) => {
2064
- if (str.length === 0) {
2065
- return "";
2066
- }
2067
- return str.charAt(0).toUpperCase() + str.slice(1);
2068
- };
2069
-
2070
- // packages/common/util/src/remove-undefined-keys.ts
2071
- var removeUndefinedProperties = (object) => {
2072
- for (const prop of [
2073
- ...Object.getOwnPropertyNames(object),
2074
- ...Object.getOwnPropertySymbols(object)
2075
- ]) {
2076
- if (object[prop] === void 0) {
2077
- delete object[prop];
2078
- }
2079
- }
2080
- return object;
2081
- };
2082
-
2083
- // packages/common/util/src/clear-undefined.ts
2084
- var clearUndefined = (obj) => {
2085
- for (const key of [
2086
- ...Object.getOwnPropertyNames(obj),
2087
- ...Object.getOwnPropertySymbols(obj)
2088
- ]) {
2089
- if (obj[key] === void 0) {
2090
- delete obj[key];
2091
- }
2092
- }
2093
- return obj;
2094
- };
2095
2109
  export {
2096
2110
  BitField,
2097
2111
  Callback,
@@ -2134,9 +2148,11 @@ export {
2134
2148
  diff,
2135
2149
  distinctBy,
2136
2150
  doAsync,
2151
+ entries,
2137
2152
  entry,
2138
2153
  exponentialBackoffInterval,
2139
2154
  forEachAsync,
2155
+ get,
2140
2156
  getAsyncProviderValue,
2141
2157
  getDate,
2142
2158
  getDebugName,
@@ -2168,6 +2184,7 @@ export {
2168
2184
  keyToEmoji,
2169
2185
  keyToFallback,
2170
2186
  keyToHue,
2187
+ keys,
2171
2188
  makeMap,
2172
2189
  makeSet,
2173
2190
  mapValues,
@@ -2193,6 +2210,7 @@ export {
2193
2210
  safeParseFloat,
2194
2211
  safeParseInt,
2195
2212
  safeParseJson,
2213
+ set,
2196
2214
  setDeep,
2197
2215
  sortKeys,
2198
2216
  stringToArray,
@@ -2203,6 +2221,7 @@ export {
2203
2221
  toEmoji,
2204
2222
  toFallback,
2205
2223
  toHue,
2206
- tracer
2224
+ tracer,
2225
+ visitValues
2207
2226
  };
2208
2227
  //# sourceMappingURL=index.mjs.map