@dxos/util 0.8.2-main.f081794 → 0.8.2-main.fbd8ed0

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 (62) hide show
  1. package/dist/lib/browser/index.mjs +43 -7
  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 +43 -7
  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 +43 -7
  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/array-to-hex.d.ts.map +1 -1
  11. package/dist/types/src/array.d.ts +8 -0
  12. package/dist/types/src/array.d.ts.map +1 -1
  13. package/dist/types/src/binder.d.ts.map +1 -1
  14. package/dist/types/src/callback.d.ts.map +1 -1
  15. package/dist/types/src/case.d.ts.map +1 -1
  16. package/dist/types/src/chunk-array.d.ts.map +1 -1
  17. package/dist/types/src/clear-undefined.d.ts +5 -0
  18. package/dist/types/src/clear-undefined.d.ts.map +1 -0
  19. package/dist/types/src/complex.d.ts.map +1 -1
  20. package/dist/types/src/deep.d.ts.map +1 -1
  21. package/dist/types/src/defer-function.d.ts.map +1 -1
  22. package/dist/types/src/defer.d.ts.map +1 -1
  23. package/dist/types/src/di-key.d.ts +3 -3
  24. package/dist/types/src/di-key.d.ts.map +1 -1
  25. package/dist/types/src/entry.d.ts.map +1 -1
  26. package/dist/types/src/first-two-chars.d.ts.map +1 -1
  27. package/dist/types/src/for-each-async.d.ts.map +1 -1
  28. package/dist/types/src/human-hash.d.ts.map +1 -1
  29. package/dist/types/src/index.d.ts +1 -0
  30. package/dist/types/src/index.d.ts.map +1 -1
  31. package/dist/types/src/instance-id.d.ts.map +1 -1
  32. package/dist/types/src/interval.d.ts.map +1 -1
  33. package/dist/types/src/join-tables.d.ts.map +1 -1
  34. package/dist/types/src/json.d.ts.map +1 -1
  35. package/dist/types/src/map-values.d.ts.map +1 -1
  36. package/dist/types/src/map.d.ts.map +1 -1
  37. package/dist/types/src/order-keys.d.ts.map +1 -1
  38. package/dist/types/src/order.d.ts.map +1 -1
  39. package/dist/types/src/pick.d.ts.map +1 -1
  40. package/dist/types/src/position.d.ts +2 -3
  41. package/dist/types/src/position.d.ts.map +1 -1
  42. package/dist/types/src/random.d.ts.map +1 -1
  43. package/dist/types/src/range.d.ts.map +1 -1
  44. package/dist/types/src/reducers.d.ts.map +1 -1
  45. package/dist/types/src/remove-undefined-keys.d.ts.map +1 -1
  46. package/dist/types/src/safe-await.d.ts.map +1 -1
  47. package/dist/types/src/safe-instanceof.d.ts.map +1 -1
  48. package/dist/types/src/safe-parse.d.ts.map +1 -1
  49. package/dist/types/src/sort.d.ts.map +1 -1
  50. package/dist/types/src/string.d.ts.map +1 -1
  51. package/dist/types/src/sum.d.ts.map +1 -1
  52. package/dist/types/src/throw-unhandled-error.d.ts.map +1 -1
  53. package/dist/types/src/to-fallback.d.ts.map +1 -1
  54. package/dist/types/src/tree.d.ts.map +1 -1
  55. package/dist/types/src/types.d.ts.map +1 -1
  56. package/dist/types/src/uint8array.d.ts.map +1 -1
  57. package/dist/types/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +6 -6
  59. package/src/array.ts +34 -0
  60. package/src/clear-undefined.ts +15 -0
  61. package/src/index.ts +1 -0
  62. package/src/position.ts +12 -11
@@ -60,6 +60,28 @@ var partition = (array, guard) => {
60
60
  []
61
61
  ]);
62
62
  };
63
+ var intersectBy = (arrays, selector) => {
64
+ if (arrays.length === 0) {
65
+ return [];
66
+ }
67
+ if (arrays.length === 1) {
68
+ return [
69
+ ...arrays[0]
70
+ ];
71
+ }
72
+ const [first, ...rest] = arrays;
73
+ const lookups = rest.map((array) => {
74
+ const map = /* @__PURE__ */ new Map();
75
+ for (const item of array) {
76
+ map.set(selector(item), item);
77
+ }
78
+ return map;
79
+ });
80
+ return first.filter((item) => {
81
+ const key = selector(item);
82
+ return lookups.every((lookup) => lookup.has(key));
83
+ });
84
+ };
63
85
 
64
86
  // packages/common/util/src/array-to-hex.ts
65
87
  var byteToHex = [];
@@ -1358,17 +1380,16 @@ var getHostPlatform = () => {
1358
1380
  };
1359
1381
 
1360
1382
  // packages/common/util/src/position.ts
1361
- var byPosition = (a, b) => {
1362
- const aPosition = a.position ?? "static";
1363
- const bPosition = b.position ?? "static";
1364
- if (aPosition === bPosition) {
1383
+ var byPosition = ({ position: a = "static" }, { position: b = "static" }) => {
1384
+ if (a === b) {
1365
1385
  return 0;
1366
- } else if (aPosition === "hoist" || bPosition === "fallback") {
1386
+ } else if (a === "hoist" || b === "fallback") {
1367
1387
  return -1;
1368
- } else if (bPosition === "hoist" || aPosition === "fallback") {
1388
+ } else if (b === "hoist" || a === "fallback") {
1369
1389
  return 1;
1390
+ } else {
1391
+ return 0;
1370
1392
  }
1371
- return 0;
1372
1393
  };
1373
1394
 
1374
1395
  // packages/common/util/src/random.ts
@@ -2057,6 +2078,19 @@ var removeUndefinedProperties = (object) => {
2057
2078
  }
2058
2079
  return object;
2059
2080
  };
2081
+
2082
+ // packages/common/util/src/clear-undefined.ts
2083
+ var clearUndefined = (obj) => {
2084
+ for (const key of [
2085
+ ...Object.getOwnPropertyNames(obj),
2086
+ ...Object.getOwnPropertySymbols(obj)
2087
+ ]) {
2088
+ if (obj[key] === void 0) {
2089
+ delete obj[key];
2090
+ }
2091
+ }
2092
+ return obj;
2093
+ };
2060
2094
  export {
2061
2095
  BitField,
2062
2096
  Callback,
@@ -2080,6 +2114,7 @@ export {
2080
2114
  capitalize,
2081
2115
  chunkArray,
2082
2116
  clamp,
2117
+ clearUndefined,
2083
2118
  compareMulti,
2084
2119
  compareObject,
2085
2120
  compareScalar,
@@ -2118,6 +2153,7 @@ export {
2118
2153
  idHue,
2119
2154
  inferObjectOrder,
2120
2155
  inferRecordOrder,
2156
+ intersectBy,
2121
2157
  intersection,
2122
2158
  iosCheck,
2123
2159
  isNode,