@dxos/util 0.6.11 → 0.6.12-main.5a87ad5
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 +92 -92
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +83 -83
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +1978 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/types/src/complex.d.ts +8 -8
- package/dist/types/src/complex.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +4 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/params.d.ts.map +1 -1
- package/dist/types/src/platform.browser.test.d.ts +2 -0
- package/dist/types/src/platform.browser.test.d.ts.map +1 -0
- package/dist/types/src/platform.node.test.d.ts +2 -0
- package/dist/types/src/platform.node.test.d.ts.map +1 -0
- package/dist/types/src/weak.d.ts +4 -4
- package/dist/types/src/weak.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/array.test.ts +1 -2
- package/src/bitfield.test.ts +1 -2
- package/src/callback.test.ts +1 -2
- package/src/complex.test.ts +1 -2
- package/src/complex.ts +8 -8
- package/src/defer.test.ts +1 -2
- package/src/human-hash.test.ts +1 -2
- package/src/index.ts +4 -4
- package/src/join-tables.test.ts +1 -2
- package/src/order.test.ts +1 -2
- package/src/params.test.ts +1 -2
- package/src/params.ts +2 -0
- package/src/platform.browser.test.ts +11 -0
- package/src/platform.node.test.ts +11 -0
- package/src/reducers.test.ts +1 -2
- package/src/safe-instanceof.test.ts +1 -2
- package/src/sort.test.ts +1 -2
- package/src/tracer.test.ts +1 -2
- package/src/types.test.ts +1 -2
- package/src/uint8array.test.ts +1 -2
- package/src/weak.test.ts +4 -8
- package/src/weak.ts +4 -4
- package/dist/types/src/platform.test.d.ts +0 -2
- package/dist/types/src/platform.test.d.ts.map +0 -1
- package/src/platform.test.ts +0 -17
- 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(() => {
|
|
@@ -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,
|