@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
package/src/index.ts CHANGED
@@ -50,3 +50,4 @@ export * from './weak';
50
50
  export * from './sliding-window-summary';
51
51
  export * from './string';
52
52
  export * from './remove-undefined-keys';
53
+ export * from './clear-undefined';
package/src/position.ts CHANGED
@@ -2,9 +2,10 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ // TODO(burdon): This shouldn't be in this low-level util? Move to app-framework?
6
+
5
7
  /**
6
- * Determines priority order.
7
- *
8
+ * Determines priority order:
8
9
  * - `static` - Remain in natural order.
9
10
  * - `hoist` - Placed before `static`.
10
11
  * - `fallback` - Placed after `static`.
@@ -15,17 +16,17 @@ export type Position = 'static' | 'hoist' | 'fallback';
15
16
  /**
16
17
  * Sorting function for sorting by position.
17
18
  */
18
- export const byPosition = <T extends { position?: Position }>(a: T, b: T) => {
19
- const aPosition = a.position ?? 'static';
20
- const bPosition = b.position ?? 'static';
21
-
22
- if (aPosition === bPosition) {
19
+ export const byPosition = <T extends { position?: Position }>(
20
+ { position: a = 'static' }: T,
21
+ { position: b = 'static' }: T,
22
+ ) => {
23
+ if (a === b) {
23
24
  return 0;
24
- } else if (aPosition === 'hoist' || bPosition === 'fallback') {
25
+ } else if (a === 'hoist' || b === 'fallback') {
25
26
  return -1;
26
- } else if (bPosition === 'hoist' || aPosition === 'fallback') {
27
+ } else if (b === 'hoist' || a === 'fallback') {
27
28
  return 1;
29
+ } else {
30
+ return 0;
28
31
  }
29
-
30
- return 0;
31
32
  };