@dxos/util 0.6.13-main.ed424a1 → 0.6.13

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 (53) hide show
  1. package/dist/lib/browser/index.mjs +140 -105
  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 +132 -96
  5. package/dist/lib/node/index.cjs.map +4 -4
  6. package/dist/lib/node/meta.json +1 -1
  7. package/dist/types/src/complex.d.ts +8 -8
  8. package/dist/types/src/complex.d.ts.map +1 -1
  9. package/dist/types/src/index.d.ts +3 -5
  10. package/dist/types/src/index.d.ts.map +1 -1
  11. package/dist/types/src/params.d.ts +22 -0
  12. package/dist/types/src/params.d.ts.map +1 -0
  13. package/dist/types/src/params.test.d.ts +2 -0
  14. package/dist/types/src/params.test.d.ts.map +1 -0
  15. package/dist/types/src/platform.test.d.ts +2 -0
  16. package/dist/types/src/platform.test.d.ts.map +1 -0
  17. package/dist/types/src/weak.d.ts +4 -4
  18. package/dist/types/src/weak.d.ts.map +1 -1
  19. package/package.json +9 -8
  20. package/src/array.test.ts +2 -1
  21. package/src/bitfield.test.ts +2 -1
  22. package/src/callback.test.ts +2 -1
  23. package/src/complex.test.ts +2 -1
  24. package/src/complex.ts +8 -8
  25. package/src/defer.test.ts +2 -1
  26. package/src/human-hash.test.ts +2 -1
  27. package/src/index.ts +3 -5
  28. package/src/join-tables.test.ts +2 -1
  29. package/src/order.test.ts +2 -1
  30. package/src/params.test.ts +38 -0
  31. package/src/params.ts +68 -0
  32. package/src/platform.test.ts +17 -0
  33. package/src/reducers.test.ts +2 -1
  34. package/src/safe-instanceof.test.ts +2 -1
  35. package/src/sort.test.ts +2 -1
  36. package/src/tracer.test.ts +2 -1
  37. package/src/types.test.ts +2 -1
  38. package/src/typings.d.ts +5 -0
  39. package/src/uint8array.test.ts +2 -1
  40. package/src/weak.test.ts +8 -4
  41. package/src/weak.ts +4 -4
  42. package/dist/lib/node-esm/index.mjs +0 -1943
  43. package/dist/lib/node-esm/index.mjs.map +0 -7
  44. package/dist/lib/node-esm/meta.json +0 -1
  45. package/dist/types/src/array-to-hex.d.ts +0 -2
  46. package/dist/types/src/array-to-hex.d.ts.map +0 -1
  47. package/dist/types/src/platform.browser.test.d.ts +0 -2
  48. package/dist/types/src/platform.browser.test.d.ts.map +0 -1
  49. package/dist/types/src/platform.node.test.d.ts +0 -2
  50. package/dist/types/src/platform.node.test.d.ts.map +0 -1
  51. package/src/array-to-hex.ts +0 -23
  52. package/src/platform.browser.test.ts +0 -11
  53. package/src/platform.node.test.ts +0 -11
@@ -1 +1 @@
1
- {"inputs":{"packages/common/util/src/array.ts":{"bytes":5726,"imports":[],"format":"esm"},"packages/common/util/src/assign.ts":{"bytes":3457,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/binder.ts":{"bytes":1363,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/bitfield.ts":{"bytes":8574,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/callback.ts":{"bytes":5305,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/callback-collection.ts":{"bytes":3247,"imports":[],"format":"esm"},"packages/common/util/src/chunk-array.ts":{"bytes":1248,"imports":[],"format":"esm"},"packages/common/util/src/circular-buffer.ts":{"bytes":6398,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/complex.ts":{"bytes":22029,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytes":1482,"imports":[]},"packages/common/util/src/defer.ts":{"bytes":3771,"imports":[{"path":"packages/common/util/src/explicit-resource-management-polyfill.ts","kind":"import-statement","original":"./explicit-resource-management-polyfill"}],"format":"esm"},"packages/common/util/src/defer-function.ts":{"bytes":1619,"imports":[],"format":"esm"},"packages/common/util/src/entry.ts":{"bytes":3103,"imports":[],"format":"esm"},"packages/common/util/src/for-each-async.ts":{"bytes":826,"imports":[],"format":"esm"},"packages/common/util/src/human-hash.ts":{"bytes":20242,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/interval.ts":{"bytes":1876,"imports":[],"format":"esm"},"packages/common/util/src/map.ts":{"bytes":1546,"imports":[],"format":"esm"},"packages/common/util/src/instance-id.ts":{"bytes":4306,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/join-tables.ts":{"bytes":3140,"imports":[],"format":"esm"},"packages/common/util/src/uint8array.ts":{"bytes":3822,"imports":[],"format":"esm"},"packages/common/util/src/json.ts":{"bytes":13862,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"packages/common/util/src/human-hash.ts","kind":"import-statement","original":"./human-hash"},{"path":"packages/common/util/src/uint8array.ts","kind":"import-statement","original":"./uint8array"}],"format":"esm"},"packages/common/util/src/map-values.ts":{"bytes":10764,"imports":[],"format":"esm"},"packages/common/util/src/order.ts":{"bytes":5060,"imports":[],"format":"esm"},"packages/common/util/src/pick.ts":{"bytes":2839,"imports":[],"format":"esm"},"packages/common/util/src/platform.ts":{"bytes":11348,"imports":[],"format":"esm"},"packages/common/util/src/random.ts":{"bytes":1344,"imports":[],"format":"esm"},"packages/common/util/src/range.ts":{"bytes":2016,"imports":[],"format":"esm"},"packages/common/util/src/reducers.ts":{"bytes":12989,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/safe-await.ts":{"bytes":2916,"imports":[],"format":"esm"},"packages/common/util/src/safe-instanceof.ts":{"bytes":2749,"imports":[],"format":"esm"},"packages/common/util/src/safe-parse-json.ts":{"bytes":1381,"imports":[],"format":"esm"},"packages/common/util/src/sliding-window-summary.ts":{"bytes":7614,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"}],"format":"esm"},"packages/common/util/src/sort.ts":{"bytes":4004,"imports":[],"format":"esm"},"packages/common/util/src/sum.ts":{"bytes":720,"imports":[],"format":"esm"},"packages/common/util/src/throw-unhandled-error.ts":{"bytes":1216,"imports":[],"format":"esm"},"packages/common/util/src/to-fallback.ts":{"bytes":12288,"imports":[],"format":"esm"},"packages/common/util/src/tracer.ts":{"bytes":7302,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/types.ts":{"bytes":8669,"imports":[],"format":"esm"},"packages/common/util/src/weak.ts":{"bytes":9764,"imports":[],"format":"esm"},"packages/common/util/src/array-to-hex.ts":{"bytes":2518,"imports":[],"format":"esm"},"packages/common/util/src/index.ts":{"bytes":4243,"imports":[{"path":"packages/common/util/src/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/common/util/src/assign.ts","kind":"import-statement","original":"./assign"},{"path":"packages/common/util/src/binder.ts","kind":"import-statement","original":"./binder"},{"path":"packages/common/util/src/bitfield.ts","kind":"import-statement","original":"./bitfield"},{"path":"packages/common/util/src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"packages/common/util/src/callback-collection.ts","kind":"import-statement","original":"./callback-collection"},{"path":"packages/common/util/src/chunk-array.ts","kind":"import-statement","original":"./chunk-array"},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"},{"path":"packages/common/util/src/complex.ts","kind":"import-statement","original":"./complex"},{"path":"packages/common/util/src/defer.ts","kind":"import-statement","original":"./defer"},{"path":"packages/common/util/src/defer-function.ts","kind":"import-statement","original":"./defer-function"},{"path":"packages/common/util/src/entry.ts","kind":"import-statement","original":"./entry"},{"path":"packages/common/util/src/for-each-async.ts","kind":"import-statement","original":"./for-each-async"},{"path":"packages/common/util/src/human-hash.ts","kind":"import-statement","original":"./human-hash"},{"path":"packages/common/util/src/interval.ts","kind":"import-statement","original":"./interval"},{"path":"packages/common/util/src/instance-id.ts","kind":"import-statement","original":"./instance-id"},{"path":"packages/common/util/src/join-tables.ts","kind":"import-statement","original":"./join-tables"},{"path":"packages/common/util/src/json.ts","kind":"import-statement","original":"./json"},{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"},{"path":"packages/common/util/src/map-values.ts","kind":"import-statement","original":"./map-values"},{"path":"packages/common/util/src/order.ts","kind":"import-statement","original":"./order"},{"path":"packages/common/util/src/pick.ts","kind":"import-statement","original":"./pick"},{"path":"packages/common/util/src/platform.ts","kind":"import-statement","original":"./platform"},{"path":"packages/common/util/src/random.ts","kind":"import-statement","original":"./random"},{"path":"packages/common/util/src/range.ts","kind":"import-statement","original":"./range"},{"path":"packages/common/util/src/reducers.ts","kind":"import-statement","original":"./reducers"},{"path":"packages/common/util/src/safe-await.ts","kind":"import-statement","original":"./safe-await"},{"path":"packages/common/util/src/safe-instanceof.ts","kind":"import-statement","original":"./safe-instanceof"},{"path":"packages/common/util/src/safe-parse-json.ts","kind":"import-statement","original":"./safe-parse-json"},{"path":"packages/common/util/src/sliding-window-summary.ts","kind":"import-statement","original":"./sliding-window-summary"},{"path":"packages/common/util/src/sort.ts","kind":"import-statement","original":"./sort"},{"path":"packages/common/util/src/sum.ts","kind":"import-statement","original":"./sum"},{"path":"packages/common/util/src/throw-unhandled-error.ts","kind":"import-statement","original":"./throw-unhandled-error"},{"path":"packages/common/util/src/to-fallback.ts","kind":"import-statement","original":"./to-fallback"},{"path":"packages/common/util/src/tracer.ts","kind":"import-statement","original":"./tracer"},{"path":"packages/common/util/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/common/util/src/uint8array.ts","kind":"import-statement","original":"./uint8array"},{"path":"packages/common/util/src/weak.ts","kind":"import-statement","original":"./weak"},{"path":"packages/common/util/src/sliding-window-summary.ts","kind":"import-statement","original":"./sliding-window-summary"},{"path":"packages/common/util/src/chunk-array.ts","kind":"import-statement","original":"./chunk-array"},{"path":"packages/common/util/src/array-to-hex.ts","kind":"import-statement","original":"./array-to-hex"}],"format":"esm"}},"outputs":{"packages/common/util/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":108086},"packages/common/util/dist/lib/node/index.cjs":{"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["BitField","Callback","CallbackCollection","CircularBuffer","ComplexMap","ComplexSet","HumanHasher","MapEntry","SlidingWindowSummary","Tracer","WeakDictionary","accessBy","arrayMove","arrayToBuffer","arrayToHex","arrayToString","arraysEqual","boolGuard","bufferToArray","chunkArray","compareMulti","compareObject","compareScalar","compareString","createBinder","createBucketReducer","createGroupReducer","createSetDispatch","deepMapValues","deepMapValuesAsync","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","doAsync","entry","exponentialBackoffInterval","forEachAsync","getAsyncProviderValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","getProviderValue","hexToEmoji","hexToFallback","hexToHue","humanize","idEmoji","idHue","inferObjectOrder","inferRecordOrder","intersection","iosCheck","isNode","isNotFalsy","isNotNullOrUndefined","joinTables","jsonKeyReplacer","jsonReplacer","jsonify","jsonlogify","keyToEmoji","keyToFallback","keyToHue","makeMap","makeSet","mapValues","median","mobileAndTabletCheck","nonNullable","numericalValues","pick","pickBy","randomInt","range","rangeFromTo","reduceGroupBy","reduceSeries","reduceSet","safariCheck","safeAwaitAll","safeInstanceof","safeParseInt","safeParseJson","setDeep","stringToArray","stripUndefinedValues","sum","throwUnhandledError","toEmoji","toFallback","toHue","tracer"],"entryPoint":"packages/common/util/src/index.ts","inputs":{"packages/common/util/src/array.ts":{"bytesInOutput":804},"packages/common/util/src/index.ts":{"bytesInOutput":0},"packages/common/util/src/assign.ts":{"bytesInOutput":619},"packages/common/util/src/binder.ts":{"bytesInOutput":139},"packages/common/util/src/bitfield.ts":{"bytesInOutput":1911},"packages/common/util/src/callback.ts":{"bytesInOutput":1113},"packages/common/util/src/callback-collection.ts":{"bytesInOutput":558},"packages/common/util/src/chunk-array.ts":{"bytesInOutput":173},"packages/common/util/src/circular-buffer.ts":{"bytesInOutput":1539},"packages/common/util/src/complex.ts":{"bytesInOutput":4413},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytesInOutput":100},"packages/common/util/src/defer.ts":{"bytesInOutput":546},"packages/common/util/src/defer-function.ts":{"bytesInOutput":72},"packages/common/util/src/entry.ts":{"bytesInOutput":471},"packages/common/util/src/for-each-async.ts":{"bytesInOutput":62},"packages/common/util/src/human-hash.ts":{"bytesInOutput":5662},"packages/common/util/src/interval.ts":{"bytesInOutput":290},"packages/common/util/src/map.ts":{"bytesInOutput":193},"packages/common/util/src/instance-id.ts":{"bytesInOutput":771},"packages/common/util/src/join-tables.ts":{"bytesInOutput":493},"packages/common/util/src/json.ts":{"bytesInOutput":2946},"packages/common/util/src/uint8array.ts":{"bytesInOutput":562},"packages/common/util/src/map-values.ts":{"bytesInOutput":2144},"packages/common/util/src/order.ts":{"bytesInOutput":676},"packages/common/util/src/pick.ts":{"bytesInOutput":321},"packages/common/util/src/platform.ts":{"bytesInOutput":3211},"packages/common/util/src/random.ts":{"bytesInOutput":144},"packages/common/util/src/range.ts":{"bytesInOutput":283},"packages/common/util/src/reducers.ts":{"bytesInOutput":2326},"packages/common/util/src/safe-await.ts":{"bytesInOutput":345},"packages/common/util/src/safe-instanceof.ts":{"bytesInOutput":371},"packages/common/util/src/safe-parse-json.ts":{"bytesInOutput":157},"packages/common/util/src/sliding-window-summary.ts":{"bytesInOutput":1802},"packages/common/util/src/sort.ts":{"bytesInOutput":643},"packages/common/util/src/sum.ts":{"bytesInOutput":57},"packages/common/util/src/throw-unhandled-error.ts":{"bytesInOutput":90},"packages/common/util/src/to-fallback.ts":{"bytesInOutput":4082},"packages/common/util/src/tracer.ts":{"bytesInOutput":1426},"packages/common/util/src/types.ts":{"bytesInOutput":1092},"packages/common/util/src/weak.ts":{"bytesInOutput":2069},"packages/common/util/src/array-to-hex.ts":{"bytesInOutput":341}},"bytes":48299}}}
1
+ {"inputs":{"packages/common/util/src/array.ts":{"bytes":5726,"imports":[],"format":"esm"},"packages/common/util/src/assign.ts":{"bytes":3457,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/binder.ts":{"bytes":1363,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/bitfield.ts":{"bytes":8574,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/callback.ts":{"bytes":5305,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/circular-buffer.ts":{"bytes":6398,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/complex.ts":{"bytes":22085,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytes":1482,"imports":[]},"packages/common/util/src/defer.ts":{"bytes":3771,"imports":[{"path":"packages/common/util/src/explicit-resource-management-polyfill.ts","kind":"import-statement","original":"./explicit-resource-management-polyfill"}],"format":"esm"},"packages/common/util/src/defer-function.ts":{"bytes":1619,"imports":[],"format":"esm"},"packages/common/util/src/entry.ts":{"bytes":3103,"imports":[],"format":"esm"},"packages/common/util/src/for-each-async.ts":{"bytes":826,"imports":[],"format":"esm"},"packages/common/util/src/human-hash.ts":{"bytes":20242,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/interval.ts":{"bytes":1876,"imports":[],"format":"esm"},"packages/common/util/src/map.ts":{"bytes":1546,"imports":[],"format":"esm"},"packages/common/util/src/instance-id.ts":{"bytes":4306,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/join-tables.ts":{"bytes":3140,"imports":[],"format":"esm"},"packages/common/util/src/uint8array.ts":{"bytes":3822,"imports":[],"format":"esm"},"packages/common/util/src/json.ts":{"bytes":13862,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"packages/common/util/src/human-hash.ts","kind":"import-statement","original":"./human-hash"},{"path":"packages/common/util/src/uint8array.ts","kind":"import-statement","original":"./uint8array"}],"format":"esm"},"packages/common/util/src/map-values.ts":{"bytes":10764,"imports":[],"format":"esm"},"packages/common/util/src/order.ts":{"bytes":5060,"imports":[],"format":"esm"},"packages/common/util/src/params.ts":{"bytes":6677,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"xcase","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/pick.ts":{"bytes":2839,"imports":[],"format":"esm"},"packages/common/util/src/platform.ts":{"bytes":11348,"imports":[],"format":"esm"},"packages/common/util/src/random.ts":{"bytes":1344,"imports":[],"format":"esm"},"packages/common/util/src/range.ts":{"bytes":2016,"imports":[],"format":"esm"},"packages/common/util/src/reducers.ts":{"bytes":12989,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/safe-await.ts":{"bytes":2916,"imports":[],"format":"esm"},"packages/common/util/src/safe-instanceof.ts":{"bytes":2749,"imports":[],"format":"esm"},"packages/common/util/src/safe-parse-json.ts":{"bytes":1381,"imports":[],"format":"esm"},"packages/common/util/src/sort.ts":{"bytes":4004,"imports":[],"format":"esm"},"packages/common/util/src/throw-unhandled-error.ts":{"bytes":1216,"imports":[],"format":"esm"},"packages/common/util/src/to-fallback.ts":{"bytes":12288,"imports":[],"format":"esm"},"packages/common/util/src/tracer.ts":{"bytes":7302,"imports":[{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"}],"format":"esm"},"packages/common/util/src/types.ts":{"bytes":8669,"imports":[],"format":"esm"},"packages/common/util/src/sum.ts":{"bytes":720,"imports":[],"format":"esm"},"packages/common/util/src/weak.ts":{"bytes":9792,"imports":[],"format":"esm"},"packages/common/util/src/sliding-window-summary.ts":{"bytes":7614,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"}],"format":"esm"},"packages/common/util/src/callback-collection.ts":{"bytes":3247,"imports":[],"format":"esm"},"packages/common/util/src/chunk-array.ts":{"bytes":1248,"imports":[],"format":"esm"},"packages/common/util/src/index.ts":{"bytes":4004,"imports":[{"path":"packages/common/util/src/array.ts","kind":"import-statement","original":"./array"},{"path":"packages/common/util/src/assign.ts","kind":"import-statement","original":"./assign"},{"path":"packages/common/util/src/binder.ts","kind":"import-statement","original":"./binder"},{"path":"packages/common/util/src/bitfield.ts","kind":"import-statement","original":"./bitfield"},{"path":"packages/common/util/src/callback.ts","kind":"import-statement","original":"./callback"},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"},{"path":"packages/common/util/src/complex.ts","kind":"import-statement","original":"./complex"},{"path":"packages/common/util/src/defer.ts","kind":"import-statement","original":"./defer"},{"path":"packages/common/util/src/defer-function.ts","kind":"import-statement","original":"./defer-function"},{"path":"packages/common/util/src/entry.ts","kind":"import-statement","original":"./entry"},{"path":"packages/common/util/src/for-each-async.ts","kind":"import-statement","original":"./for-each-async"},{"path":"packages/common/util/src/human-hash.ts","kind":"import-statement","original":"./human-hash"},{"path":"packages/common/util/src/interval.ts","kind":"import-statement","original":"./interval"},{"path":"packages/common/util/src/instance-id.ts","kind":"import-statement","original":"./instance-id"},{"path":"packages/common/util/src/join-tables.ts","kind":"import-statement","original":"./join-tables"},{"path":"packages/common/util/src/json.ts","kind":"import-statement","original":"./json"},{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"},{"path":"packages/common/util/src/map-values.ts","kind":"import-statement","original":"./map-values"},{"path":"packages/common/util/src/order.ts","kind":"import-statement","original":"./order"},{"path":"packages/common/util/src/params.ts","kind":"import-statement","original":"./params"},{"path":"packages/common/util/src/pick.ts","kind":"import-statement","original":"./pick"},{"path":"packages/common/util/src/platform.ts","kind":"import-statement","original":"./platform"},{"path":"packages/common/util/src/random.ts","kind":"import-statement","original":"./random"},{"path":"packages/common/util/src/range.ts","kind":"import-statement","original":"./range"},{"path":"packages/common/util/src/reducers.ts","kind":"import-statement","original":"./reducers"},{"path":"packages/common/util/src/safe-await.ts","kind":"import-statement","original":"./safe-await"},{"path":"packages/common/util/src/safe-instanceof.ts","kind":"import-statement","original":"./safe-instanceof"},{"path":"packages/common/util/src/safe-parse-json.ts","kind":"import-statement","original":"./safe-parse-json"},{"path":"packages/common/util/src/sort.ts","kind":"import-statement","original":"./sort"},{"path":"packages/common/util/src/throw-unhandled-error.ts","kind":"import-statement","original":"./throw-unhandled-error"},{"path":"packages/common/util/src/to-fallback.ts","kind":"import-statement","original":"./to-fallback"},{"path":"packages/common/util/src/tracer.ts","kind":"import-statement","original":"./tracer"},{"path":"packages/common/util/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/common/util/src/uint8array.ts","kind":"import-statement","original":"./uint8array"},{"path":"packages/common/util/src/sum.ts","kind":"import-statement","original":"./sum"},{"path":"packages/common/util/src/weak.ts","kind":"import-statement","original":"./weak"},{"path":"packages/common/util/src/sliding-window-summary.ts","kind":"import-statement","original":"./sliding-window-summary"},{"path":"packages/common/util/src/callback-collection.ts","kind":"import-statement","original":"./callback-collection"},{"path":"packages/common/util/src/chunk-array.ts","kind":"import-statement","original":"./chunk-array"}],"format":"esm"}},"outputs":{"packages/common/util/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":110462},"packages/common/util/dist/lib/node/index.cjs":{"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"xcase","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["BitField","Callback","CallbackCollection","CircularBuffer","ComplexMap","ComplexSet","HumanHasher","MapEntry","ParamKeyAnnotation","Params","SlidingWindowSummary","Tracer","WeakDictionary","accessBy","arrayMove","arrayToBuffer","arrayToString","arraysEqual","boolGuard","bufferToArray","chunkArray","compareMulti","compareObject","compareScalar","compareString","createBinder","createBucketReducer","createGroupReducer","createSetDispatch","deepMapValues","deepMapValuesAsync","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","doAsync","entry","exponentialBackoffInterval","forEachAsync","getAsyncProviderValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","getProviderValue","hexToEmoji","hexToFallback","hexToHue","humanize","idEmoji","idHue","inferObjectOrder","inferRecordOrder","intersection","iosCheck","isNode","isNotFalsy","isNotNullOrUndefined","joinTables","jsonKeyReplacer","jsonReplacer","jsonify","jsonlogify","keyToEmoji","keyToFallback","keyToHue","makeMap","makeSet","mapValues","median","mobileAndTabletCheck","nonNullable","numericalValues","pick","pickBy","randomInt","range","rangeFromTo","reduceGroupBy","reduceSeries","reduceSet","safariCheck","safeAwaitAll","safeInstanceof","safeParseInt","safeParseJson","setDeep","stringToArray","stripUndefinedValues","sum","throwUnhandledError","toEmoji","toFallback","toHue","tracer"],"entryPoint":"packages/common/util/src/index.ts","inputs":{"packages/common/util/src/array.ts":{"bytesInOutput":804},"packages/common/util/src/index.ts":{"bytesInOutput":0},"packages/common/util/src/assign.ts":{"bytesInOutput":619},"packages/common/util/src/binder.ts":{"bytesInOutput":139},"packages/common/util/src/bitfield.ts":{"bytesInOutput":1911},"packages/common/util/src/callback.ts":{"bytesInOutput":1113},"packages/common/util/src/circular-buffer.ts":{"bytesInOutput":1539},"packages/common/util/src/complex.ts":{"bytesInOutput":4413},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytesInOutput":100},"packages/common/util/src/defer.ts":{"bytesInOutput":546},"packages/common/util/src/defer-function.ts":{"bytesInOutput":72},"packages/common/util/src/entry.ts":{"bytesInOutput":471},"packages/common/util/src/for-each-async.ts":{"bytesInOutput":62},"packages/common/util/src/human-hash.ts":{"bytesInOutput":5662},"packages/common/util/src/interval.ts":{"bytesInOutput":290},"packages/common/util/src/map.ts":{"bytesInOutput":193},"packages/common/util/src/instance-id.ts":{"bytesInOutput":771},"packages/common/util/src/join-tables.ts":{"bytesInOutput":493},"packages/common/util/src/json.ts":{"bytesInOutput":2946},"packages/common/util/src/uint8array.ts":{"bytesInOutput":562},"packages/common/util/src/map-values.ts":{"bytesInOutput":2144},"packages/common/util/src/order.ts":{"bytesInOutput":676},"packages/common/util/src/params.ts":{"bytesInOutput":1307},"packages/common/util/src/pick.ts":{"bytesInOutput":321},"packages/common/util/src/platform.ts":{"bytesInOutput":3211},"packages/common/util/src/random.ts":{"bytesInOutput":144},"packages/common/util/src/range.ts":{"bytesInOutput":283},"packages/common/util/src/reducers.ts":{"bytesInOutput":2326},"packages/common/util/src/safe-await.ts":{"bytesInOutput":345},"packages/common/util/src/safe-instanceof.ts":{"bytesInOutput":371},"packages/common/util/src/safe-parse-json.ts":{"bytesInOutput":157},"packages/common/util/src/sort.ts":{"bytesInOutput":643},"packages/common/util/src/throw-unhandled-error.ts":{"bytesInOutput":90},"packages/common/util/src/to-fallback.ts":{"bytesInOutput":4082},"packages/common/util/src/tracer.ts":{"bytesInOutput":1426},"packages/common/util/src/types.ts":{"bytesInOutput":1092},"packages/common/util/src/sum.ts":{"bytesInOutput":57},"packages/common/util/src/weak.ts":{"bytesInOutput":2069},"packages/common/util/src/sliding-window-summary.ts":{"bytesInOutput":1802},"packages/common/util/src/callback-collection.ts":{"bytesInOutput":558},"packages/common/util/src/chunk-array.ts":{"bytesInOutput":173}},"bytes":49277}}}
@@ -24,10 +24,10 @@ export declare class ComplexSet<T> implements Set<T> {
24
24
  forEach(callbackfn: (value: T, value2: T, set: Set<T>) => void, thisArg?: any): void;
25
25
  has(value: T): boolean;
26
26
  get size(): number;
27
- [Symbol.iterator](): SetIterator<T>;
28
- entries(): SetIterator<[T, T]>;
29
- keys(): SetIterator<T>;
30
- values(): SetIterator<T>;
27
+ [Symbol.iterator](): IterableIterator<T>;
28
+ entries(): IterableIterator<[T, T]>;
29
+ keys(): IterableIterator<T>;
30
+ values(): IterableIterator<T>;
31
31
  get [Symbol.toStringTag](): string;
32
32
  union<U>(other: ReadonlySetLike<U>): Set<T | U>;
33
33
  intersection<U>(other: ReadonlySetLike<U>): Set<T & U>;
@@ -65,10 +65,10 @@ export declare class ComplexMap<K, V> implements Map<K, V> {
65
65
  has(key: K): boolean;
66
66
  set(key: K, value: V): this;
67
67
  get size(): number;
68
- [Symbol.iterator](): SetIterator<[K, V]>;
69
- entries(): SetIterator<[K, V]>;
70
- keys(): SetIterator<K>;
71
- values(): SetIterator<V>;
68
+ [Symbol.iterator](): IterableIterator<[K, V]>;
69
+ entries(): IterableIterator<[K, V]>;
70
+ keys(): IterableIterator<K>;
71
+ values(): IterableIterator<V>;
72
72
  mapValues<R>(mapper: (v: V, k: K) => R): ComplexMap<K, R>;
73
73
  get [Symbol.toStringTag](): string;
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"complex.d.ts","sourceRoot":"","sources":["../../../src/complex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complex.d.ts","sourceRoot":"","sources":["../../../src/complex.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,6 @@ export * from './assign';
3
3
  export * from './binder';
4
4
  export * from './bitfield';
5
5
  export * from './callback';
6
- export * from './callback-collection';
7
- export * from './chunk-array';
8
6
  export * from './circular-buffer';
9
7
  export * from './complex';
10
8
  export * from './defer';
@@ -19,6 +17,7 @@ export * from './json';
19
17
  export * from './map';
20
18
  export * from './map-values';
21
19
  export * from './order';
20
+ export * from './params';
22
21
  export * from './pick';
23
22
  export * from './platform';
24
23
  export * from './random';
@@ -27,16 +26,15 @@ export * from './reducers';
27
26
  export * from './safe-await';
28
27
  export * from './safe-instanceof';
29
28
  export * from './safe-parse-json';
30
- export * from './sliding-window-summary';
31
29
  export * from './sort';
32
- export * from './sum';
33
30
  export * from './throw-unhandled-error';
34
31
  export * from './to-fallback';
35
32
  export * from './tracer';
36
33
  export * from './types';
37
34
  export * from './uint8array';
35
+ export * from './sum';
38
36
  export * from './weak';
39
37
  export * from './sliding-window-summary';
38
+ export * from './callback-collection';
40
39
  export * from './chunk-array';
41
- export * from './array-to-hex';
42
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type * as S from '@effect/schema/Schema';
2
+ import { type Annotable } from '@effect/schema/Schema';
3
+ type ParamKeyAnnotationType = string;
4
+ export declare const ParamKeyAnnotation: (value: ParamKeyAnnotationType) => <S extends Annotable.All>(self: S) => Annotable.Self<S>;
5
+ /**
6
+ * HTTP params parser.
7
+ */
8
+ export declare class Params<T extends Record<string, any>> {
9
+ private readonly _schema;
10
+ constructor(_schema: S.Struct<T>);
11
+ /**
12
+ * Parse URL params.
13
+ * @param url
14
+ */
15
+ parse(url: URL): T;
16
+ /**
17
+ * Update URL with params.
18
+ */
19
+ params(url: URL, values: T): URL;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/params.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,KAAK,sBAAsB,GAAG,MAAM,CAAC;AAErC,eAAO,MAAM,kBAAkB,UACrB,sBAAsB,MAC7B,CAAC,SAAS,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CACC,CAAC;AAExD;;GAEG;AACH,qBAAa,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAqBlB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG;CAYjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=params.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.test.d.ts","sourceRoot":"","sources":["../../../src/params.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.test.d.ts","sourceRoot":"","sources":["../../../src/platform.test.ts"],"names":[],"mappings":""}
@@ -5,10 +5,10 @@ export declare class WeakDictionary<K, V extends object> implements Map<K, V> {
5
5
  private readonly _internal;
6
6
  private readonly _finalization;
7
7
  constructor(entries?: [K, V][]);
8
- entries(): SetIterator<[K, V]>;
9
- keys(): SetIterator<K>;
10
- values(): SetIterator<V>;
11
- [Symbol.iterator](): SetIterator<[K, V]>;
8
+ entries(): IterableIterator<[K, V]>;
9
+ keys(): IterableIterator<K>;
10
+ values(): IterableIterator<V>;
11
+ [Symbol.iterator](): IterableIterator<[K, V]>;
12
12
  get [Symbol.toStringTag](): string;
13
13
  get size(): number;
14
14
  get(key: K): V | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"weak.d.ts","sourceRoot":"","sources":["../../../src/weak.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAE,YAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE3B;gBAES,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAK7B,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAM/B,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;IAIrB,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAUxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAMzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAQvB,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAapF,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"weak.d.ts","sourceRoot":"","sources":["../../../src/weak.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAE,YAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE3B;gBAES,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAK7B,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAMpC,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAI1B,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAU7B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAM9C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAQvB,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAapF,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,WAAW;CAGpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/util",
3
- "version": "0.6.13-main.ed424a1",
3
+ "version": "0.6.13",
4
4
  "description": "Temporary bucket for misc functions, which should graduate into separate packages.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -10,8 +10,7 @@
10
10
  ".": {
11
11
  "browser": "./dist/lib/browser/index.mjs",
12
12
  "node": {
13
- "require": "./dist/lib/node/index.cjs",
14
- "default": "./dist/lib/node-esm/index.mjs"
13
+ "default": "./dist/lib/node/index.cjs"
15
14
  },
16
15
  "types": "./dist/types/src/index.d.ts"
17
16
  }
@@ -25,13 +24,15 @@
25
24
  "src"
26
25
  ],
27
26
  "dependencies": {
28
- "@dxos/debug": "0.6.13-main.ed424a1",
29
- "@dxos/invariant": "0.6.13-main.ed424a1",
30
- "@dxos/keys": "0.6.13-main.ed424a1",
31
- "@dxos/node-std": "0.6.13-main.ed424a1"
27
+ "@effect/schema": "^0.67.16",
28
+ "xcase": "^2.0.1",
29
+ "@dxos/debug": "0.6.13",
30
+ "@dxos/invariant": "0.6.13",
31
+ "@dxos/node-std": "0.6.13",
32
+ "@dxos/keys": "0.6.13"
32
33
  },
33
34
  "devDependencies": {
34
- "@dxos/crypto": "0.6.13-main.ed424a1"
35
+ "@dxos/crypto": "0.6.13"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"
package/src/array.test.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { diff, intersection, distinctBy } from './array';
8
9
 
@@ -2,7 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { BitField } from './bitfield';
8
9
 
@@ -2,7 +2,8 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { createSetDispatch } from './callback';
8
9
 
@@ -2,7 +2,8 @@
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
4
 
5
- import { expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { test } from 'vitest';
6
7
 
7
8
  import { PublicKey } from '@dxos/keys';
8
9
 
package/src/complex.ts CHANGED
@@ -78,21 +78,21 @@ export class ComplexSet<T> implements Set<T> {
78
78
  return this._values.size;
79
79
  }
80
80
 
81
- [Symbol.iterator](): SetIterator<T> {
81
+ [Symbol.iterator](): IterableIterator<T> {
82
82
  return this._values.values();
83
83
  }
84
84
 
85
- *entries(): SetIterator<[T, T]> {
85
+ *entries(): IterableIterator<[T, T]> {
86
86
  for (const value of this._values.values()) {
87
87
  yield [value, value];
88
88
  }
89
89
  }
90
90
 
91
- keys(): SetIterator<T> {
91
+ keys(): IterableIterator<T> {
92
92
  return this[Symbol.iterator]();
93
93
  }
94
94
 
95
- values(): SetIterator<T> {
95
+ values(): IterableIterator<T> {
96
96
  return this[Symbol.iterator]();
97
97
  }
98
98
 
@@ -218,22 +218,22 @@ export class ComplexMap<K, V> implements Map<K, V> {
218
218
  return this._keys.size;
219
219
  }
220
220
 
221
- *[Symbol.iterator](): SetIterator<[K, V]> {
221
+ *[Symbol.iterator](): IterableIterator<[K, V]> {
222
222
  for (const [primitive, key] of this._keys) {
223
223
  const value = this._values.get(primitive) ?? raise(new Error('Map corrupted.'));
224
224
  yield [key, value];
225
225
  }
226
226
  }
227
227
 
228
- entries(): SetIterator<[K, V]> {
228
+ entries(): IterableIterator<[K, V]> {
229
229
  return this[Symbol.iterator]();
230
230
  }
231
231
 
232
- keys(): SetIterator<K> {
232
+ keys(): IterableIterator<K> {
233
233
  return this._keys.values();
234
234
  }
235
235
 
236
- values(): SetIterator<V> {
236
+ values(): IterableIterator<V> {
237
237
  return this._values.values();
238
238
  }
239
239
 
package/src/defer.test.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { defer, deferAsync } from './defer';
8
9
 
@@ -2,7 +2,8 @@
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
4
 
5
- import { expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { test } from 'vitest';
6
7
 
7
8
  import { createKeyPair, createId } from '@dxos/crypto';
8
9
  import { PublicKey } from '@dxos/keys';
package/src/index.ts CHANGED
@@ -7,8 +7,6 @@ export * from './assign';
7
7
  export * from './binder';
8
8
  export * from './bitfield';
9
9
  export * from './callback';
10
- export * from './callback-collection';
11
- export * from './chunk-array';
12
10
  export * from './circular-buffer';
13
11
  export * from './complex';
14
12
  export * from './defer';
@@ -23,6 +21,7 @@ export * from './json';
23
21
  export * from './map';
24
22
  export * from './map-values';
25
23
  export * from './order';
24
+ export * from './params';
26
25
  export * from './pick';
27
26
  export * from './platform';
28
27
  export * from './random';
@@ -31,15 +30,14 @@ export * from './reducers';
31
30
  export * from './safe-await';
32
31
  export * from './safe-instanceof';
33
32
  export * from './safe-parse-json';
34
- export * from './sliding-window-summary';
35
33
  export * from './sort';
36
- export * from './sum';
37
34
  export * from './throw-unhandled-error';
38
35
  export * from './to-fallback';
39
36
  export * from './tracer';
40
37
  export * from './types';
41
38
  export * from './uint8array';
39
+ export * from './sum';
42
40
  export * from './weak';
43
41
  export * from './sliding-window-summary';
42
+ export * from './callback-collection';
44
43
  export * from './chunk-array';
45
- export * from './array-to-hex';
@@ -2,7 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { joinTables } from './join-tables';
8
9
 
package/src/order.test.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { inferObjectOrder, inferRecordOrder } from './order';
8
9
 
@@ -0,0 +1,38 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { Schema as S } from '@effect/schema';
6
+ import { expect } from 'chai';
7
+ import { describe, test } from 'vitest';
8
+
9
+ import { ParamKeyAnnotation, Params } from './params';
10
+
11
+ const InvitationUrl = S.Struct({
12
+ accessToken: S.String,
13
+ deviceInvitationCode: S.String.pipe(ParamKeyAnnotation('deviceInvitationCode')),
14
+ spaceInvitationCode: S.String,
15
+ experimental: S.Boolean,
16
+ timeout: S.Number,
17
+ });
18
+
19
+ describe('Params', () => {
20
+ test('parse', () => {
21
+ const props = new Params(InvitationUrl);
22
+
23
+ const values = props.parse(
24
+ new URL('http://localhost?access_token=100&deviceInvitationCode=200&experimental=1&timeout=100'),
25
+ );
26
+ expect(values).to.deep.eq({
27
+ accessToken: '100',
28
+ deviceInvitationCode: '200',
29
+ experimental: true,
30
+ timeout: 100,
31
+ });
32
+
33
+ const url = props.params(new URL('http://localhost'), values);
34
+ expect(url.toString()).to.eq(
35
+ 'http://localhost/?access_token=100&deviceInvitationCode=200&experimental=true&timeout=100',
36
+ );
37
+ });
38
+ });
package/src/params.ts ADDED
@@ -0,0 +1,68 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { AST } from '@effect/schema';
6
+ // eslint-disable-next-line import/no-duplicates
7
+ import type * as S from '@effect/schema/Schema';
8
+ // eslint-disable-next-line import/no-duplicates
9
+ import { type Annotable } from '@effect/schema/Schema';
10
+ import { type Some } from 'effect/Option';
11
+ import { decamelize } from 'xcase';
12
+
13
+ // TODO(burdon): Change annotations.
14
+
15
+ type ParamKeyAnnotationType = string;
16
+ const ParamKeyAnnotationId = Symbol.for('@dxos/schema/annotation/ParamKeyAnnotation');
17
+ export const ParamKeyAnnotation =
18
+ (value: ParamKeyAnnotationType) =>
19
+ <S extends Annotable.All>(self: S): Annotable.Self<S> =>
20
+ self.annotations({ [ParamKeyAnnotationId]: value });
21
+
22
+ /**
23
+ * HTTP params parser.
24
+ */
25
+ export class Params<T extends Record<string, any>> {
26
+ constructor(private readonly _schema: S.Struct<T>) {}
27
+
28
+ /**
29
+ * Parse URL params.
30
+ * @param url
31
+ */
32
+ parse(url: URL): T {
33
+ return Object.entries(this._schema.fields).reduce<Record<string, any>>((acc, [key, type]) => {
34
+ let v = url.searchParams.get(decamelize(key));
35
+ if (v == null) {
36
+ v = url.searchParams.get(key);
37
+ }
38
+
39
+ if (v != null) {
40
+ if (AST.isNumberKeyword(type.ast)) {
41
+ acc[key] = parseInt(v);
42
+ } else if (AST.isBooleanKeyword(type.ast)) {
43
+ acc[key] = v === 'true' || v === '1';
44
+ } else {
45
+ acc[key] = v;
46
+ }
47
+ }
48
+
49
+ return acc;
50
+ }, {}) as T;
51
+ }
52
+
53
+ /**
54
+ * Update URL with params.
55
+ */
56
+ params(url: URL, values: T): URL {
57
+ Object.entries(values).forEach(([key, value]) => {
58
+ const type = this._schema.fields[key];
59
+ if (type && value != null) {
60
+ const { value: alt } = AST.getAnnotation(ParamKeyAnnotationId)(type.ast) as Some<ParamKeyAnnotationType>;
61
+ const k = alt ?? decamelize(key);
62
+ url.searchParams.set(k, String(value));
63
+ }
64
+ });
65
+
66
+ return url;
67
+ }
68
+ }
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ import { expect } from 'chai';
6
+ import { test } from 'vitest';
7
+
8
+ import { isNode } from './platform';
9
+
10
+ // TODO(dmaretskyi): Broken with vitest conversion.
11
+ test.skip('knows when running in node', () => {
12
+ if (mochaExecutor.environment === 'nodejs') {
13
+ expect(isNode()).to.be.true;
14
+ } else {
15
+ expect(isNode()).to.be.false;
16
+ }
17
+ });
@@ -2,7 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { describe, expect, test } from 'vitest';
5
+ import { expect } from 'chai';
6
+ import { describe, test } from 'vitest';
6
7
 
7
8
  import { median, numericalValues } from './reducers';
8
9