@dxos/util 0.8.3 → 0.8.4-main.f9ba587

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.
@@ -1,6 +1,6 @@
1
1
  import "@dxos/node-std/globals";
2
2
 
3
- // packages/common/util/src/array-to-hex.ts
3
+ // src/array-to-hex.ts
4
4
  var byteToHex = [];
5
5
  for (let n = 0; n <= 255; ++n) {
6
6
  const hexOctet = n.toString(16).padStart(2, "0");
@@ -15,7 +15,7 @@ var arrayToHex = (buf) => {
15
15
  return hexOctets.join("");
16
16
  };
17
17
 
18
- // packages/common/util/src/array.ts
18
+ // src/array.ts
19
19
  var diff = (previous, next, comparator) => {
20
20
  const remaining = [
21
21
  ...previous
@@ -98,16 +98,20 @@ var intersectBy = (arrays, selector) => {
98
98
  });
99
99
  };
100
100
 
101
- // packages/common/util/src/binder.ts
101
+ // src/assume.ts
102
+ function assumeType(value) {
103
+ }
104
+
105
+ // src/binder.ts
102
106
  import util from "@dxos/node-std/util";
103
107
  var createBinder = (obj) => ({
104
108
  fn: (fn) => fn.bind(obj),
105
109
  async: (fn) => util.promisify(fn.bind(obj))
106
110
  });
107
111
 
108
- // packages/common/util/src/bitfield.ts
112
+ // src/bitfield.ts
109
113
  import { invariant } from "@dxos/invariant";
110
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/util/src/bitfield.ts";
114
+ var __dxlog_file = "/__w/dxos/dxos/packages/common/util/src/bitfield.ts";
111
115
  var BitField = class _BitField {
112
116
  static get(data, idx) {
113
117
  const bit = data[idx >> 3] >> 7 - idx % 8 & 1;
@@ -175,7 +179,7 @@ var BitField = class _BitField {
175
179
  }
176
180
  };
177
181
 
178
- // packages/common/util/src/callback-collection.ts
182
+ // src/callback-collection.ts
179
183
  var CallbackCollection = class {
180
184
  #callbacks = [];
181
185
  append(callback) {
@@ -199,9 +203,9 @@ var CallbackCollection = class {
199
203
  }
200
204
  };
201
205
 
202
- // packages/common/util/src/callback.ts
206
+ // src/callback.ts
203
207
  import { invariant as invariant2 } from "@dxos/invariant";
204
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/common/util/src/callback.ts";
208
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/common/util/src/callback.ts";
205
209
  var Callback = class {
206
210
  call(...args) {
207
211
  invariant2(this._callback, "Callback not set", {
@@ -251,7 +255,7 @@ var createSetDispatch = ({ handlers }) => {
251
255
  });
252
256
  };
253
257
 
254
- // packages/common/util/src/case.ts
258
+ // src/case.ts
255
259
  var LOW_DASH = "_".codePointAt(0);
256
260
  var HI_DASH = "-".codePointAt(0);
257
261
  var SMALL_A = "a".codePointAt(0);
@@ -284,7 +288,7 @@ var changeCase = (str, delim) => {
284
288
  var decamelize = (str) => changeCase(str, LOW_DASH);
285
289
  var hyphenize = (str) => changeCase(str, HI_DASH);
286
290
 
287
- // packages/common/util/src/chunk-array.ts
291
+ // src/chunk-array.ts
288
292
  var chunkArray = (array, size) => {
289
293
  const result = [];
290
294
  for (let i = 0; i < array.length; i += size) {
@@ -293,9 +297,9 @@ var chunkArray = (array, size) => {
293
297
  return result;
294
298
  };
295
299
 
296
- // packages/common/util/src/circular-buffer.ts
300
+ // src/circular-buffer.ts
297
301
  import { invariant as invariant3 } from "@dxos/invariant";
298
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/common/util/src/circular-buffer.ts";
302
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/common/util/src/circular-buffer.ts";
299
303
  var CircularBuffer = class {
300
304
  constructor(size) {
301
305
  this._nextIndex = 0;
@@ -352,7 +356,7 @@ var CircularBuffer = class {
352
356
  }
353
357
  };
354
358
 
355
- // packages/common/util/src/clear-undefined.ts
359
+ // src/clear-undefined.ts
356
360
  var clearUndefined = (obj) => {
357
361
  for (const key of [
358
362
  ...Object.getOwnPropertyNames(obj),
@@ -365,7 +369,7 @@ var clearUndefined = (obj) => {
365
369
  return obj;
366
370
  };
367
371
 
368
- // packages/common/util/src/complex.ts
372
+ // src/complex.ts
369
373
  import { inspect } from "@dxos/node-std/util";
370
374
  import { inspectObject, raise } from "@dxos/debug";
371
375
  var MAX_SERIALIZATION_LENGTH = 10;
@@ -551,11 +555,11 @@ var makeMap = (keyProjection) => class BoundComplexMap extends ComplexMap {
551
555
  }
552
556
  };
553
557
 
554
- // packages/common/util/src/deep.ts
558
+ // src/deep.ts
555
559
  import get from "lodash.get";
556
560
  import set from "lodash.set";
557
561
  import { invariant as invariant4 } from "@dxos/invariant";
558
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/deep.ts";
562
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/common/util/src/deep.ts";
559
563
  var setDeep = (obj, path, value) => {
560
564
  invariant4(path.length > 0, void 0, {
561
565
  F: __dxlog_file4,
@@ -585,14 +589,14 @@ var getDeep = (obj, path) => {
585
589
  return parent;
586
590
  };
587
591
 
588
- // packages/common/util/src/defer-function.ts
592
+ // src/defer-function.ts
589
593
  var deferFunction = (fnProvider) => (...args) => fnProvider()(...args);
590
594
 
591
- // packages/common/util/src/explicit-resource-management-polyfill.ts
595
+ // src/explicit-resource-management-polyfill.ts
592
596
  Symbol.dispose ??= Symbol("Symbol.dispose");
593
597
  Symbol.asyncDispose ??= Symbol("Symbol.asyncDispose");
594
598
 
595
- // packages/common/util/src/defer.ts
599
+ // src/defer.ts
596
600
  var defer = (fn) => new DeferGuard(fn);
597
601
  var DeferGuard = class {
598
602
  /**
@@ -621,7 +625,7 @@ var DeferAsyncGuard = class {
621
625
  }
622
626
  };
623
627
 
624
- // packages/common/util/src/entry.ts
628
+ // src/entry.ts
625
629
  var entry = (map, key) => new MapEntry(map, key);
626
630
  var MapEntry = class {
627
631
  /**
@@ -649,7 +653,7 @@ var MapEntry = class {
649
653
  }
650
654
  };
651
655
 
652
- // packages/common/util/src/first-two-chars.ts
656
+ // src/first-two-chars.ts
653
657
  var renderableCharRegex = /^(?![\p{Control}\p{Mark}\p{Separator}\p{Surrogate}\p{Unassigned}\p{P}])[\p{L}\p{N}\p{S}\p{Emoji}]$/u;
654
658
  var getFirstTwoRenderableChars = (label) => {
655
659
  const characters = Array.from(label);
@@ -676,10 +680,10 @@ var getFirstTwoRenderableChars = (label) => {
676
680
  return result;
677
681
  };
678
682
 
679
- // packages/common/util/src/for-each-async.ts
683
+ // src/for-each-async.ts
680
684
  var forEachAsync = (items, fn) => Promise.all(items.map(fn));
681
685
 
682
- // packages/common/util/src/human-hash.ts
686
+ // src/human-hash.ts
683
687
  import { PublicKey } from "@dxos/keys";
684
688
  var DEFAULT_WORDLIST = [
685
689
  "ack",
@@ -1010,7 +1014,7 @@ var humanize = (value) => {
1010
1014
  return hasher.humanize(value);
1011
1015
  };
1012
1016
 
1013
- // packages/common/util/src/map.ts
1017
+ // src/map.ts
1014
1018
  var defaultMap = (map, key, def) => {
1015
1019
  let value = map.get(key);
1016
1020
  if (value === void 0) {
@@ -1020,7 +1024,7 @@ var defaultMap = (map, key, def) => {
1020
1024
  return value;
1021
1025
  };
1022
1026
 
1023
- // packages/common/util/src/instance-id.ts
1027
+ // src/instance-id.ts
1024
1028
  var symbol = Symbol.for("dxos.instance-contexts");
1025
1029
  var instanceContexts = globalThis[symbol] ??= /* @__PURE__ */ new WeakMap();
1026
1030
  var getPrototypeSpecificInstanceId = (instance) => {
@@ -1044,7 +1048,7 @@ var getDebugName = (instance) => {
1044
1048
  return `${prototype.constructor?.name ?? "Object"}#${getPrototypeSpecificInstanceId(instance)}`;
1045
1049
  };
1046
1050
 
1047
- // packages/common/util/src/interval.ts
1051
+ // src/interval.ts
1048
1052
  var exponentialBackoffInterval = (cb, initialInterval) => {
1049
1053
  let interval = initialInterval;
1050
1054
  const repeat = () => {
@@ -1056,7 +1060,7 @@ var exponentialBackoffInterval = (cb, initialInterval) => {
1056
1060
  return () => clearTimeout(timeoutId);
1057
1061
  };
1058
1062
 
1059
- // packages/common/util/src/join-tables.ts
1063
+ // src/join-tables.ts
1060
1064
  var joinTables = (leftColumn, rightColumn, left, right) => {
1061
1065
  const map = /* @__PURE__ */ new Map();
1062
1066
  const used = /* @__PURE__ */ new Set();
@@ -1077,11 +1081,11 @@ var joinTables = (leftColumn, rightColumn, left, right) => {
1077
1081
  return result;
1078
1082
  };
1079
1083
 
1080
- // packages/common/util/src/json.ts
1084
+ // src/json.ts
1081
1085
  import { inspect as inspect2 } from "@dxos/node-std/util";
1082
1086
  import { PublicKey as PublicKey2 } from "@dxos/keys";
1083
1087
 
1084
- // packages/common/util/src/uint8array.ts
1088
+ // src/uint8array.ts
1085
1089
  var arraysEqual = (a, b) => {
1086
1090
  if (a.length !== b.length) {
1087
1091
  return false;
@@ -1102,7 +1106,7 @@ var bufferToArray = (buffer) => {
1102
1106
  var stringToArray = (string) => bufferToArray(Buffer.from(string, "hex"));
1103
1107
  var arrayToString = (array) => arrayToBuffer(array).toString("hex");
1104
1108
 
1105
- // packages/common/util/src/json.ts
1109
+ // src/json.ts
1106
1110
  var MAX_DEPTH = 5;
1107
1111
  var LOG_MAX_DEPTH = 7;
1108
1112
  function jsonReplacer(key, value) {
@@ -1193,7 +1197,7 @@ var jsonKeyReplacer = (options = {}) => (key, value) => {
1193
1197
  return value;
1194
1198
  };
1195
1199
 
1196
- // packages/common/util/src/map-values.ts
1200
+ // src/map-values.ts
1197
1201
  var mapValues = (obj, fn) => {
1198
1202
  const result = {};
1199
1203
  Object.keys(obj).forEach((key) => {
@@ -1291,11 +1295,11 @@ var visitValues = (object, visitor) => {
1291
1295
  }
1292
1296
  };
1293
1297
 
1294
- // packages/common/util/src/object.ts
1298
+ // src/object.ts
1295
1299
  var keys = (obj) => Object.keys(obj);
1296
1300
  var entries = (obj) => Object.entries(obj);
1297
1301
 
1298
- // packages/common/util/src/order-keys.ts
1302
+ // src/order-keys.ts
1299
1303
  var orderKeys = (obj, order) => {
1300
1304
  const ordered = {};
1301
1305
  for (const key of order) {
@@ -1311,7 +1315,7 @@ var orderKeys = (obj, order) => {
1311
1315
  return ordered;
1312
1316
  };
1313
1317
 
1314
- // packages/common/util/src/order.ts
1318
+ // src/order.ts
1315
1319
  var inferObjectOrder = (objectMap, order = []) => {
1316
1320
  const orderedObjects = order.reduce((acc, id) => {
1317
1321
  if (id in objectMap) {
@@ -1338,7 +1342,7 @@ var inferRecordOrder = (objectMap, order = []) => {
1338
1342
  }, {}), objectMap);
1339
1343
  };
1340
1344
 
1341
- // packages/common/util/src/pick.ts
1345
+ // src/pick.ts
1342
1346
  var pick = (obj, keys2) => {
1343
1347
  return keys2.reduce((result, key) => {
1344
1348
  if (obj && key in obj) {
@@ -1366,7 +1370,7 @@ var omit = (obj, keys2) => {
1366
1370
  return result;
1367
1371
  };
1368
1372
 
1369
- // packages/common/util/src/platform.ts
1373
+ // src/platform.ts
1370
1374
  var isNode = () => typeof process !== "undefined" && process.versions != null && process.versions.node != null;
1371
1375
  var mobileAndTabletCheck = () => {
1372
1376
  let check = false;
@@ -1407,7 +1411,7 @@ var getHostPlatform = () => {
1407
1411
  }
1408
1412
  };
1409
1413
 
1410
- // packages/common/util/src/position.ts
1414
+ // src/position.ts
1411
1415
  var byPosition = ({ position: a = "static" }, { position: b = "static" }) => {
1412
1416
  if (a === b) {
1413
1417
  return 0;
@@ -1420,14 +1424,14 @@ var byPosition = ({ position: a = "static" }, { position: b = "static" }) => {
1420
1424
  }
1421
1425
  };
1422
1426
 
1423
- // packages/common/util/src/random.ts
1427
+ // src/random.ts
1424
1428
  var randomInt = (max, min = 0) => {
1425
1429
  min = Math.ceil(min);
1426
1430
  max = Math.floor(max);
1427
1431
  return Math.floor(Math.random() * (max - min + 1)) + min;
1428
1432
  };
1429
1433
 
1430
- // packages/common/util/src/range.ts
1434
+ // src/range.ts
1431
1435
  var range = (n = 0, mapper) => {
1432
1436
  const range2 = Array.from(Array(n).keys());
1433
1437
  return mapper == null ? range2 : range2.map(mapper);
@@ -1439,7 +1443,7 @@ var clamp = (value, min, max) => {
1439
1443
  return Math.min(Math.max(value, min), max);
1440
1444
  };
1441
1445
 
1442
- // packages/common/util/src/reducers.ts
1446
+ // src/reducers.ts
1443
1447
  var accessBy = (value, accessor) => typeof accessor === "function" ? accessor(value) : value[accessor];
1444
1448
  var median = (values) => {
1445
1449
  const mid = Math.floor(values.length / 2);
@@ -1525,7 +1529,7 @@ var createBucketReducer = (period) => ({
1525
1529
  }
1526
1530
  });
1527
1531
 
1528
- // packages/common/util/src/remove-undefined-keys.ts
1532
+ // src/remove-undefined-keys.ts
1529
1533
  var removeUndefinedProperties = (object) => {
1530
1534
  for (const prop of [
1531
1535
  ...Object.getOwnPropertyNames(object),
@@ -1566,7 +1570,7 @@ var removeProperties = (root, condition) => {
1566
1570
  return result;
1567
1571
  };
1568
1572
 
1569
- // packages/common/util/src/safe-await.ts
1573
+ // src/safe-await.ts
1570
1574
  var safeAwaitAll = async (source, taskFactory, onError) => {
1571
1575
  const failedItems = [];
1572
1576
  await Promise.all([
@@ -1584,7 +1588,7 @@ var safeAwaitAll = async (source, taskFactory, onError) => {
1584
1588
  return failedItems;
1585
1589
  };
1586
1590
 
1587
- // packages/common/util/src/safe-instanceof.ts
1591
+ // src/safe-instanceof.ts
1588
1592
  var instanceTag = Symbol("instanceTag");
1589
1593
  var safeInstanceof = (tag) => (target) => {
1590
1594
  target.prototype[instanceTag] = tag;
@@ -1596,7 +1600,7 @@ var safeInstanceof = (tag) => (target) => {
1596
1600
  });
1597
1601
  };
1598
1602
 
1599
- // packages/common/util/src/safe-parse.ts
1603
+ // src/safe-parse.ts
1600
1604
  var safeParseInt = (value, defaultValue) => {
1601
1605
  try {
1602
1606
  const n = parseInt(value ?? "");
@@ -1622,9 +1626,9 @@ var safeParseJson = (data, defaultValue) => {
1622
1626
  return defaultValue;
1623
1627
  };
1624
1628
 
1625
- // packages/common/util/src/sliding-window-summary.ts
1629
+ // src/sliding-window-summary.ts
1626
1630
  import { invariant as invariant5 } from "@dxos/invariant";
1627
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/util/src/sliding-window-summary.ts";
1631
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/common/util/src/sliding-window-summary.ts";
1628
1632
  var SlidingWindowSummary = class {
1629
1633
  constructor(options) {
1630
1634
  this._sum = 0;
@@ -1678,7 +1682,7 @@ var SlidingWindowSummary = class {
1678
1682
  }
1679
1683
  };
1680
1684
 
1681
- // packages/common/util/src/sort.ts
1685
+ // src/sort.ts
1682
1686
  var compareScalar = (inc = true) => (a, b) => (inc ? 1 : -1) * (a < b ? -1 : a > b ? 1 : 0);
1683
1687
  var compareString = (inc = true, caseInsensitive = true) => (a, b) => {
1684
1688
  if (caseInsensitive) {
@@ -1700,7 +1704,7 @@ var compareMulti = (sorters) => (a, b) => {
1700
1704
  return sort();
1701
1705
  };
1702
1706
 
1703
- // packages/common/util/src/string.ts
1707
+ // src/string.ts
1704
1708
  var capitalize = (str) => {
1705
1709
  if (str.length === 0) {
1706
1710
  return "";
@@ -1708,17 +1712,17 @@ var capitalize = (str) => {
1708
1712
  return str.charAt(0).toUpperCase() + str.slice(1);
1709
1713
  };
1710
1714
 
1711
- // packages/common/util/src/sum.ts
1715
+ // src/sum.ts
1712
1716
  var sum = (values) => values.reduce((a, b) => a + b, 0);
1713
1717
 
1714
- // packages/common/util/src/throw-unhandled-error.ts
1718
+ // src/throw-unhandled-error.ts
1715
1719
  var throwUnhandledError = (error) => {
1716
1720
  queueMicrotask(() => {
1717
1721
  throw error;
1718
1722
  });
1719
1723
  };
1720
1724
 
1721
- // packages/common/util/src/to-fallback.ts
1725
+ // src/to-fallback.ts
1722
1726
  var idEmoji = [
1723
1727
  // When changing this set, please check the result in a console or e.g. RunKit (https://runkit.com/thure/642214441dd6ae000855a8de)
1724
1728
  // Emoji sometimes use a combination of code points, and some code points aren't visible on their own, so by adding or deleting you may unintentionally create non-visible items.
@@ -1903,7 +1907,7 @@ var toFallback = (hash) => {
1903
1907
  };
1904
1908
  };
1905
1909
 
1906
- // packages/common/util/src/tracer.ts
1910
+ // src/tracer.ts
1907
1911
  var Tracer = class {
1908
1912
  constructor() {
1909
1913
  this._events = /* @__PURE__ */ new Map();
@@ -1968,7 +1972,7 @@ var Tracer = class {
1968
1972
  };
1969
1973
  var tracer = new Tracer();
1970
1974
 
1971
- // packages/common/util/src/tree.ts
1975
+ // src/tree.ts
1972
1976
  import { truncateKey } from "@dxos/debug";
1973
1977
  var stringifyTree = (node, ancestors = [], rows = []) => {
1974
1978
  if (node.children?.length) {
@@ -2008,7 +2012,7 @@ var stringifyTree = (node, ancestors = [], rows = []) => {
2008
2012
  return rows;
2009
2013
  };
2010
2014
 
2011
- // packages/common/util/src/types.ts
2015
+ // src/types.ts
2012
2016
  var isNotFalsy = (value) => !!value;
2013
2017
  var isNonNullable = (value) => value != null;
2014
2018
  var doAsync = async (fn) => fn();
@@ -2040,7 +2044,16 @@ var arrayMove = (array, from, to) => {
2040
2044
  return array;
2041
2045
  };
2042
2046
 
2043
- // packages/common/util/src/weak.ts
2047
+ // src/url.ts
2048
+ var createUrl = (url, search) => {
2049
+ const base = typeof url === "string" ? new URL(url) : url;
2050
+ if (search) {
2051
+ base.search = new URLSearchParams(Object.entries(search).filter(([_, value]) => value != null)).toString();
2052
+ }
2053
+ return base;
2054
+ };
2055
+
2056
+ // src/weak.ts
2044
2057
  var WeakDictionary = class {
2045
2058
  constructor(entries2) {
2046
2059
  this._internal = /* @__PURE__ */ new Map();
@@ -2134,10 +2147,6 @@ var WeakDictionary = class {
2134
2147
  this._finalization.unregister(value);
2135
2148
  }
2136
2149
  };
2137
-
2138
- // packages/common/util/src/assume.ts
2139
- function assumeType(value) {
2140
- }
2141
2150
  export {
2142
2151
  BitField,
2143
2152
  Callback,
@@ -2171,6 +2180,7 @@ export {
2171
2180
  createBucketReducer,
2172
2181
  createGroupReducer,
2173
2182
  createSetDispatch,
2183
+ createUrl,
2174
2184
  decamelize,
2175
2185
  deepMapValues,
2176
2186
  deepMapValuesAsync,