@dxos/util 0.6.11-staging.e6894a4 → 0.6.12-main.15a606f

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 (50) hide show
  1. package/dist/lib/browser/index.mjs +101 -99
  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 +95 -91
  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 +1978 -0
  8. package/dist/lib/node-esm/index.mjs.map +7 -0
  9. package/dist/lib/node-esm/meta.json +1 -0
  10. package/dist/types/src/complex.d.ts +8 -8
  11. package/dist/types/src/complex.d.ts.map +1 -1
  12. package/dist/types/src/index.d.ts +4 -4
  13. package/dist/types/src/index.d.ts.map +1 -1
  14. package/dist/types/src/params.d.ts.map +1 -1
  15. package/dist/types/src/platform.browser.test.d.ts +2 -0
  16. package/dist/types/src/platform.browser.test.d.ts.map +1 -0
  17. package/dist/types/src/platform.node.test.d.ts +2 -0
  18. package/dist/types/src/platform.node.test.d.ts.map +1 -0
  19. package/dist/types/src/types.d.ts +9 -7
  20. package/dist/types/src/types.d.ts.map +1 -1
  21. package/dist/types/src/weak.d.ts +4 -4
  22. package/dist/types/src/weak.d.ts.map +1 -1
  23. package/package.json +8 -7
  24. package/src/array.test.ts +1 -2
  25. package/src/bitfield.test.ts +1 -2
  26. package/src/callback.test.ts +1 -2
  27. package/src/complex.test.ts +1 -2
  28. package/src/complex.ts +8 -8
  29. package/src/defer.test.ts +1 -2
  30. package/src/human-hash.test.ts +1 -2
  31. package/src/index.ts +4 -4
  32. package/src/join-tables.test.ts +1 -2
  33. package/src/order.test.ts +1 -2
  34. package/src/params.test.ts +1 -2
  35. package/src/params.ts +2 -0
  36. package/src/platform.browser.test.ts +11 -0
  37. package/src/platform.node.test.ts +11 -0
  38. package/src/reducers.test.ts +1 -2
  39. package/src/safe-instanceof.test.ts +1 -2
  40. package/src/sort.test.ts +1 -2
  41. package/src/tracer.test.ts +1 -2
  42. package/src/types.test.ts +1 -2
  43. package/src/types.ts +22 -13
  44. package/src/uint8array.test.ts +1 -2
  45. package/src/weak.test.ts +4 -8
  46. package/src/weak.ts +4 -4
  47. package/dist/types/src/platform.test.d.ts +0 -2
  48. package/dist/types/src/platform.test.d.ts.map +0 -1
  49. package/src/platform.test.ts +0 -17
  50. package/src/typings.d.ts +0 -5
@@ -199,6 +199,39 @@ var createSetDispatch = ({ handlers }) => {
199
199
  });
200
200
  };
201
201
 
202
+ // packages/common/util/src/callback-collection.ts
203
+ var CallbackCollection = class {
204
+ #callbacks = [];
205
+ append(callback) {
206
+ this.#callbacks.push(callback);
207
+ }
208
+ prepend(callback) {
209
+ this.#callbacks.unshift(callback);
210
+ }
211
+ remove(callback) {
212
+ this.#callbacks = this.#callbacks.filter((c) => c !== callback);
213
+ }
214
+ callParallel(...args) {
215
+ return Promise.all(this.#callbacks.map((callback) => callback(...args)));
216
+ }
217
+ async callSerial(...args) {
218
+ const results = [];
219
+ for (const callback of this.#callbacks) {
220
+ results.push(await callback(...args));
221
+ }
222
+ return results;
223
+ }
224
+ };
225
+
226
+ // packages/common/util/src/chunk-array.ts
227
+ var chunkArray = (array, size) => {
228
+ const result = [];
229
+ for (let i = 0; i < array.length; i += size) {
230
+ result.push(array.slice(i, i + size));
231
+ }
232
+ return result;
233
+ };
234
+
202
235
  // packages/common/util/src/circular-buffer.ts
203
236
  import { invariant as invariant4 } from "@dxos/invariant";
204
237
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/common/util/src/circular-buffer.ts";
@@ -1385,6 +1418,62 @@ var safeParseJson = (data, defaultValue) => {
1385
1418
  return defaultValue;
1386
1419
  };
1387
1420
 
1421
+ // packages/common/util/src/sliding-window-summary.ts
1422
+ import { invariant as invariant5 } from "@dxos/invariant";
1423
+ var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/util/src/sliding-window-summary.ts";
1424
+ var SlidingWindowSummary = class {
1425
+ constructor(options) {
1426
+ this._sum = 0;
1427
+ this._buffer = new CircularBuffer(options.dataPoints);
1428
+ if (options.precision != null) {
1429
+ invariant5(options.precision >= 0, void 0, {
1430
+ F: __dxlog_file5,
1431
+ L: 26,
1432
+ S: this,
1433
+ A: [
1434
+ "options.precision >= 0",
1435
+ ""
1436
+ ]
1437
+ });
1438
+ this._precision = Math.pow(10, options.precision);
1439
+ }
1440
+ }
1441
+ record(value) {
1442
+ const evicted = this._buffer.push(value);
1443
+ this._sum += value - (evicted ?? 0);
1444
+ }
1445
+ average() {
1446
+ return this._buffer.elementCount === 0 ? 0 : this._withPrecision(this._sum / this._buffer.elementCount);
1447
+ }
1448
+ computeWindowSummary() {
1449
+ const mean = this.average();
1450
+ const sortedElements = [
1451
+ ...this._buffer
1452
+ ].sort();
1453
+ const median2 = this._withPrecision(sortedElements.length % 2 === 0 ? (sortedElements[sortedElements.length / 2] + sortedElements[sortedElements.length / 2 - 1]) / 2 : sortedElements[sortedElements.length / 2]);
1454
+ const p90 = this._withPrecision(sortedElements[Math.round(sortedElements.length * 0.9)]);
1455
+ const variance = sortedElements.reduce((acc, v) => acc + Math.pow(v - mean, 2)) / sortedElements.length;
1456
+ const stdDev = this._withPrecision(Math.sqrt(variance));
1457
+ const histogram = sortedElements.reduce((acc, v) => {
1458
+ acc[v] += 1;
1459
+ return acc;
1460
+ }, {});
1461
+ return {
1462
+ mean,
1463
+ median: median2,
1464
+ p90,
1465
+ stdDev,
1466
+ histogram
1467
+ };
1468
+ }
1469
+ _withPrecision(value) {
1470
+ if (this._precision == null) {
1471
+ return value;
1472
+ }
1473
+ return Math.round(value * this._precision) / this._precision;
1474
+ }
1475
+ };
1476
+
1388
1477
  // packages/common/util/src/sort.ts
1389
1478
  var compareScalar = (inc = true) => (a, b) => (inc ? 1 : -1) * (a < b ? -1 : a > b ? 1 : 0);
1390
1479
  var compareString = (inc = true, caseInsensitive = true) => (a, b) => {
@@ -1407,6 +1496,9 @@ var compareMulti = (sorters) => (a, b) => {
1407
1496
  return sort();
1408
1497
  };
1409
1498
 
1499
+ // packages/common/util/src/sum.ts
1500
+ var sum = (values) => values.reduce((a, b) => a + b, 0);
1501
+
1410
1502
  // packages/common/util/src/throw-unhandled-error.ts
1411
1503
  var throwUnhandledError = (error) => {
1412
1504
  queueMicrotask(() => {
@@ -1663,12 +1755,12 @@ var isNotFalsy = (value) => !!value;
1663
1755
  var nonNullable = (value) => value !== null && value !== void 0;
1664
1756
  var isNotNullOrUndefined = (value) => value != null;
1665
1757
  var boolGuard = (value) => Boolean(value);
1666
- var getAsyncValue = async (value) => {
1667
- if (typeof value === "function") {
1668
- return value();
1669
- } else {
1670
- return value;
1671
- }
1758
+ var doAsync = async (fn) => fn();
1759
+ var getProviderValue = (provider, arg) => {
1760
+ return typeof provider === "function" ? provider(arg) : provider;
1761
+ };
1762
+ var getAsyncProviderValue = (provider, arg) => {
1763
+ return getProviderValue(provider, arg);
1672
1764
  };
1673
1765
  var stripUndefinedValues = (obj) => {
1674
1766
  if (typeof obj === "object") {
@@ -1696,9 +1788,6 @@ var safeParseInt = (value, defaultValue) => {
1696
1788
  }
1697
1789
  };
1698
1790
 
1699
- // packages/common/util/src/sum.ts
1700
- var sum = (values) => values.reduce((a, b) => a + b, 0);
1701
-
1702
1791
  // packages/common/util/src/weak.ts
1703
1792
  var WeakDictionary = class {
1704
1793
  constructor(entries) {
@@ -1793,95 +1882,6 @@ var WeakDictionary = class {
1793
1882
  this._finalization.unregister(value);
1794
1883
  }
1795
1884
  };
1796
-
1797
- // packages/common/util/src/sliding-window-summary.ts
1798
- import { invariant as invariant5 } from "@dxos/invariant";
1799
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/common/util/src/sliding-window-summary.ts";
1800
- var SlidingWindowSummary = class {
1801
- constructor(options) {
1802
- this._sum = 0;
1803
- this._buffer = new CircularBuffer(options.dataPoints);
1804
- if (options.precision != null) {
1805
- invariant5(options.precision >= 0, void 0, {
1806
- F: __dxlog_file5,
1807
- L: 26,
1808
- S: this,
1809
- A: [
1810
- "options.precision >= 0",
1811
- ""
1812
- ]
1813
- });
1814
- this._precision = Math.pow(10, options.precision);
1815
- }
1816
- }
1817
- record(value) {
1818
- const evicted = this._buffer.push(value);
1819
- this._sum += value - (evicted ?? 0);
1820
- }
1821
- average() {
1822
- return this._buffer.elementCount === 0 ? 0 : this._withPrecision(this._sum / this._buffer.elementCount);
1823
- }
1824
- computeWindowSummary() {
1825
- const mean = this.average();
1826
- const sortedElements = [
1827
- ...this._buffer
1828
- ].sort();
1829
- const median2 = this._withPrecision(sortedElements.length % 2 === 0 ? (sortedElements[sortedElements.length / 2] + sortedElements[sortedElements.length / 2 - 1]) / 2 : sortedElements[sortedElements.length / 2]);
1830
- const p90 = this._withPrecision(sortedElements[Math.round(sortedElements.length * 0.9)]);
1831
- const variance = sortedElements.reduce((acc, v) => acc + Math.pow(v - mean, 2)) / sortedElements.length;
1832
- const stdDev = this._withPrecision(Math.sqrt(variance));
1833
- const histogram = sortedElements.reduce((acc, v) => {
1834
- acc[v] += 1;
1835
- return acc;
1836
- }, {});
1837
- return {
1838
- mean,
1839
- median: median2,
1840
- p90,
1841
- stdDev,
1842
- histogram
1843
- };
1844
- }
1845
- _withPrecision(value) {
1846
- if (this._precision == null) {
1847
- return value;
1848
- }
1849
- return Math.round(value * this._precision) / this._precision;
1850
- }
1851
- };
1852
-
1853
- // packages/common/util/src/callback-collection.ts
1854
- var CallbackCollection = class {
1855
- #callbacks = [];
1856
- append(callback) {
1857
- this.#callbacks.push(callback);
1858
- }
1859
- prepend(callback) {
1860
- this.#callbacks.unshift(callback);
1861
- }
1862
- remove(callback) {
1863
- this.#callbacks = this.#callbacks.filter((c) => c !== callback);
1864
- }
1865
- callParallel(...args) {
1866
- return Promise.all(this.#callbacks.map((callback) => callback(...args)));
1867
- }
1868
- async callSerial(...args) {
1869
- const results = [];
1870
- for (const callback of this.#callbacks) {
1871
- results.push(await callback(...args));
1872
- }
1873
- return results;
1874
- }
1875
- };
1876
-
1877
- // packages/common/util/src/chunk-array.ts
1878
- var chunkArray = (array, size) => {
1879
- const result = [];
1880
- for (let i = 0; i < array.length; i += size) {
1881
- result.push(array.slice(i, i + size));
1882
- }
1883
- return result;
1884
- };
1885
1885
  export {
1886
1886
  BitField,
1887
1887
  Callback,
@@ -1920,15 +1920,17 @@ export {
1920
1920
  deferFunction,
1921
1921
  diff,
1922
1922
  distinctBy,
1923
+ doAsync,
1923
1924
  entry,
1924
1925
  exponentialBackoffInterval,
1925
1926
  forEachAsync,
1926
- getAsyncValue,
1927
+ getAsyncProviderValue,
1927
1928
  getDate,
1928
1929
  getDebugName,
1929
1930
  getDeep,
1930
1931
  getHostPlatform,
1931
1932
  getPrototypeSpecificInstanceId,
1933
+ getProviderValue,
1932
1934
  hexToEmoji,
1933
1935
  hexToFallback,
1934
1936
  hexToHue,