@dxos/util 0.5.9-main.ea1d25b → 0.5.9-main.eacfffa

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.
@@ -1 +1 @@
1
- {"inputs":{"packages/common/util/src/array.ts":{"bytes":5726,"imports":[],"format":"esm"},"packages/common/util/src/assign.ts":{"bytes":3073,"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/complex.ts":{"bytes":19751,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/defer-function.ts":{"bytes":1619,"imports":[],"format":"esm"},"packages/common/util/src/to-fallback.ts":{"bytes":12288,"imports":[],"format":"esm"},"packages/common/util/src/entry.ts":{"bytes":3103,"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/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.ts":{"bytes":1546,"imports":[],"format":"esm"},"packages/common/util/src/order.ts":{"bytes":5060,"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-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/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":7107,"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/sum.ts":{"bytes":720,"imports":[],"format":"esm"},"packages/common/util/src/for-each-async.ts":{"bytes":826,"imports":[],"format":"esm"},"packages/common/util/src/weak.ts":{"bytes":9792,"imports":[],"format":"esm"},"packages/common/util/src/map-values.ts":{"bytes":5976,"imports":[],"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/circular-buffer.ts":{"bytes":5624,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/join-tables.ts":{"bytes":3140,"imports":[],"format":"esm"},"packages/common/util/src/throw-unhandled-error.ts":{"bytes":1216,"imports":[],"format":"esm"},"packages/common/util/src/index.ts":{"bytes":3404,"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/complex.ts","kind":"import-statement","original":"./complex"},{"path":"packages/common/util/src/defer-function.ts","kind":"import-statement","original":"./defer-function"},{"path":"packages/common/util/src/to-fallback.ts","kind":"import-statement","original":"./to-fallback"},{"path":"packages/common/util/src/entry.ts","kind":"import-statement","original":"./entry"},{"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/json.ts","kind":"import-statement","original":"./json"},{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"},{"path":"packages/common/util/src/order.ts","kind":"import-statement","original":"./order"},{"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-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/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/instance-id.ts","kind":"import-statement","original":"./instance-id"},{"path":"packages/common/util/src/sum.ts","kind":"import-statement","original":"./sum"},{"path":"packages/common/util/src/for-each-async.ts","kind":"import-statement","original":"./for-each-async"},{"path":"packages/common/util/src/weak.ts","kind":"import-statement","original":"./weak"},{"path":"packages/common/util/src/map-values.ts","kind":"import-statement","original":"./map-values"},{"path":"packages/common/util/src/defer.ts","kind":"import-statement","original":"./defer"},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"},{"path":"packages/common/util/src/join-tables.ts","kind":"import-statement","original":"./join-tables"},{"path":"packages/common/util/src/throw-unhandled-error.ts","kind":"import-statement","original":"./throw-unhandled-error"}],"format":"esm"}},"outputs":{"packages/common/util/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93573},"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":"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","CircularBuffer","ComplexMap","ComplexSet","HumanHasher","MapEntry","Tracer","WeakDictionary","accessBy","arrayMove","arrayToBuffer","arrayToString","arraysEqual","assignDeep","boolGuard","bufferToArray","compareMulti","compareObject","compareScalar","compareString","createBinder","createBucketReducer","createGroupReducer","createSetDispatch","deepMapValues","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","entry","exponentialBackoffInterval","forEachAsync","getAsyncValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","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","randomInt","range","rangeFromTo","reduceGroupBy","reduceSeries","reduceSet","safariCheck","safeInstanceof","safeParseInt","safeParseJson","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":622},"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/complex.ts":{"bytesInOutput":3883},"packages/common/util/src/defer-function.ts":{"bytesInOutput":72},"packages/common/util/src/to-fallback.ts":{"bytesInOutput":4082},"packages/common/util/src/entry.ts":{"bytesInOutput":471},"packages/common/util/src/human-hash.ts":{"bytesInOutput":5662},"packages/common/util/src/interval.ts":{"bytesInOutput":290},"packages/common/util/src/json.ts":{"bytesInOutput":2946},"packages/common/util/src/uint8array.ts":{"bytesInOutput":562},"packages/common/util/src/map.ts":{"bytesInOutput":193},"packages/common/util/src/order.ts":{"bytesInOutput":676},"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-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/tracer.ts":{"bytesInOutput":1426},"packages/common/util/src/types.ts":{"bytesInOutput":981},"packages/common/util/src/instance-id.ts":{"bytesInOutput":771},"packages/common/util/src/sum.ts":{"bytesInOutput":57},"packages/common/util/src/for-each-async.ts":{"bytesInOutput":62},"packages/common/util/src/weak.ts":{"bytesInOutput":2069},"packages/common/util/src/map-values.ts":{"bytesInOutput":1132},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytesInOutput":100},"packages/common/util/src/defer.ts":{"bytesInOutput":546},"packages/common/util/src/circular-buffer.ts":{"bytesInOutput":1356},"packages/common/util/src/join-tables.ts":{"bytesInOutput":493},"packages/common/util/src/throw-unhandled-error.ts":{"bytesInOutput":90}},"bytes":42484}}}
1
+ {"inputs":{"packages/common/util/src/array.ts":{"bytes":5726,"imports":[],"format":"esm"},"packages/common/util/src/assign.ts":{"bytes":3073,"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/complex.ts":{"bytes":19751,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/defer-function.ts":{"bytes":1619,"imports":[],"format":"esm"},"packages/common/util/src/to-fallback.ts":{"bytes":12288,"imports":[],"format":"esm"},"packages/common/util/src/entry.ts":{"bytes":3103,"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/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.ts":{"bytes":1546,"imports":[],"format":"esm"},"packages/common/util/src/order.ts":{"bytes":5060,"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-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/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":7107,"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/sum.ts":{"bytes":720,"imports":[],"format":"esm"},"packages/common/util/src/for-each-async.ts":{"bytes":826,"imports":[],"format":"esm"},"packages/common/util/src/weak.ts":{"bytes":9792,"imports":[],"format":"esm"},"packages/common/util/src/map-values.ts":{"bytes":10764,"imports":[],"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/circular-buffer.ts":{"bytes":5624,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/common/util/src/join-tables.ts":{"bytes":3140,"imports":[],"format":"esm"},"packages/common/util/src/throw-unhandled-error.ts":{"bytes":1216,"imports":[],"format":"esm"},"packages/common/util/src/safe-await.ts":{"bytes":2916,"imports":[],"format":"esm"},"packages/common/util/src/index.ts":{"bytes":3498,"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/complex.ts","kind":"import-statement","original":"./complex"},{"path":"packages/common/util/src/defer-function.ts","kind":"import-statement","original":"./defer-function"},{"path":"packages/common/util/src/to-fallback.ts","kind":"import-statement","original":"./to-fallback"},{"path":"packages/common/util/src/entry.ts","kind":"import-statement","original":"./entry"},{"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/json.ts","kind":"import-statement","original":"./json"},{"path":"packages/common/util/src/map.ts","kind":"import-statement","original":"./map"},{"path":"packages/common/util/src/order.ts","kind":"import-statement","original":"./order"},{"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-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/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/instance-id.ts","kind":"import-statement","original":"./instance-id"},{"path":"packages/common/util/src/sum.ts","kind":"import-statement","original":"./sum"},{"path":"packages/common/util/src/for-each-async.ts","kind":"import-statement","original":"./for-each-async"},{"path":"packages/common/util/src/weak.ts","kind":"import-statement","original":"./weak"},{"path":"packages/common/util/src/map-values.ts","kind":"import-statement","original":"./map-values"},{"path":"packages/common/util/src/defer.ts","kind":"import-statement","original":"./defer"},{"path":"packages/common/util/src/circular-buffer.ts","kind":"import-statement","original":"./circular-buffer"},{"path":"packages/common/util/src/join-tables.ts","kind":"import-statement","original":"./join-tables"},{"path":"packages/common/util/src/throw-unhandled-error.ts","kind":"import-statement","original":"./throw-unhandled-error"},{"path":"packages/common/util/src/safe-await.ts","kind":"import-statement","original":"./safe-await"}],"format":"esm"}},"outputs":{"packages/common/util/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":97284},"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":"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","CircularBuffer","ComplexMap","ComplexSet","HumanHasher","MapEntry","Tracer","WeakDictionary","accessBy","arrayMove","arrayToBuffer","arrayToString","arraysEqual","assignDeep","boolGuard","bufferToArray","compareMulti","compareObject","compareScalar","compareString","createBinder","createBucketReducer","createGroupReducer","createSetDispatch","deepMapValues","deepMapValuesAsync","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","entry","exponentialBackoffInterval","forEachAsync","getAsyncValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","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","randomInt","range","rangeFromTo","reduceGroupBy","reduceSeries","reduceSet","safariCheck","safeAwaitAll","safeInstanceof","safeParseInt","safeParseJson","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":622},"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/complex.ts":{"bytesInOutput":3883},"packages/common/util/src/defer-function.ts":{"bytesInOutput":72},"packages/common/util/src/to-fallback.ts":{"bytesInOutput":4082},"packages/common/util/src/entry.ts":{"bytesInOutput":471},"packages/common/util/src/human-hash.ts":{"bytesInOutput":5662},"packages/common/util/src/interval.ts":{"bytesInOutput":290},"packages/common/util/src/json.ts":{"bytesInOutput":2946},"packages/common/util/src/uint8array.ts":{"bytesInOutput":562},"packages/common/util/src/map.ts":{"bytesInOutput":193},"packages/common/util/src/order.ts":{"bytesInOutput":676},"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-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/tracer.ts":{"bytesInOutput":1426},"packages/common/util/src/types.ts":{"bytesInOutput":981},"packages/common/util/src/instance-id.ts":{"bytesInOutput":771},"packages/common/util/src/sum.ts":{"bytesInOutput":57},"packages/common/util/src/for-each-async.ts":{"bytesInOutput":62},"packages/common/util/src/weak.ts":{"bytesInOutput":2069},"packages/common/util/src/map-values.ts":{"bytesInOutput":2144},"packages/common/util/src/explicit-resource-management-polyfill.ts":{"bytesInOutput":100},"packages/common/util/src/defer.ts":{"bytesInOutput":546},"packages/common/util/src/circular-buffer.ts":{"bytesInOutput":1356},"packages/common/util/src/join-tables.ts":{"bytesInOutput":493},"packages/common/util/src/throw-unhandled-error.ts":{"bytesInOutput":90},"packages/common/util/src/safe-await.ts":{"bytesInOutput":345}},"bytes":43922}}}
@@ -31,7 +31,7 @@ export declare const DiKey: {
31
31
  *
32
32
  * Good luck :)
33
33
  */
34
- "__#1@#combinedRegistry": WeakMap<WeakKey, any>;
34
+ "__#2@#combinedRegistry": WeakMap<WeakKey, any>;
35
35
  define<T>(name: string): DiKey<T>;
36
36
  singleton<T_1>(name: string, factory: SingletonFactory<T_1>): DiKey<T_1>;
37
37
  stringify(id: DiKey<any>): string;
@@ -44,7 +44,7 @@ export declare const DiKey: {
44
44
  */
45
45
  combine(...ids: DiKey<any>[]): any;
46
46
  getSingletonFactory<T_2>(id: DiKey<T_2>): SingletonFactory<T_2> | undefined;
47
- "__#1@#lookupCombined"(map: WeakMap<any, any>, [first, ...rest]: DiKey<any>[]): WeakMap<any, any>;
48
- "__#1@#combinedDescription"([first, ...rest]: DiKey<any>[]): string;
47
+ "__#2@#lookupCombined"(map: WeakMap<any, any>, [first, ...rest]: DiKey<any>[]): WeakMap<any, any>;
48
+ "__#2@#combinedDescription"([first, ...rest]: DiKey<any>[]): string;
49
49
  };
50
50
  //# sourceMappingURL=di-key.d.ts.map
@@ -31,4 +31,5 @@ export * from './defer';
31
31
  export * from './circular-buffer';
32
32
  export * from './join-tables';
33
33
  export * from './throw-unhandled-error';
34
+ export * from './safe-await';
34
35
  //# 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,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,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,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC"}
@@ -4,4 +4,10 @@ export declare const mapValues: <T, U>(obj: Record<string, T>, fn: (value: T, ke
4
4
  * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
5
5
  */
6
6
  export declare const deepMapValues: (value: any, fn: (value: any, recurse: (value: any) => any) => any) => any;
7
+ /**
8
+ * Recursively maps values traversing arrays and objects.
9
+ * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
10
+ * Async version.
11
+ */
12
+ export declare const deepMapValuesAsync: (value: any, fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>) => Promise<any>;
7
13
  //# sourceMappingURL=map-values.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-values.d.ts","sourceRoot":"","sources":["../../../src/map-values.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,cAAe,OAAO,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,KAAG,OAAO,MAAM,EAAE,CAAC,CAM1G,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAW,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,KAAG,GAEjG,CAAC"}
1
+ {"version":3,"file":"map-values.d.ts","sourceRoot":"","sources":["../../../src/map-values.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,cAAe,OAAO,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,KAAG,OAAO,MAAM,EAAE,CAAC,CAM1G,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAW,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,KAAG,GAEjG,CAAC;AAwCF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UACtB,GAAG,MACN,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,KACtE,QAAQ,GAAG,CAEb,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A utility for safely performing an asynchronous action on every item from source.
3
+ * @param source elements passed to taskFactory.
4
+ * @param taskFactory a function that converts an elements into an async task.
5
+ * @param onError if provided will be called for every failed task.
6
+ * @returns elements for which task execution failed.
7
+ */
8
+ export declare const safeAwaitAll: <T>(source: Array<T> | IterableIterator<T>, taskFactory: (item: T) => Promise<any>, onError?: (error: Error, item: T, idx: number) => void) => Promise<T[]>;
9
+ //# sourceMappingURL=safe-await.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-await.d.ts","sourceRoot":"","sources":["../../../src/safe-await.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,cACf,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,eACzB,CAAC,IAAI,EAAE,CAAC,KAAK,QAAQ,GAAG,CAAC,YAC5B,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,KACrD,QAAQ,CAAC,EAAE,CAeb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/util",
3
- "version": "0.5.9-main.ea1d25b",
3
+ "version": "0.5.9-main.eacfffa",
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",
@@ -16,13 +16,13 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@dxos/debug": "0.5.9-main.ea1d25b",
20
- "@dxos/invariant": "0.5.9-main.ea1d25b",
21
- "@dxos/node-std": "0.5.9-main.ea1d25b",
22
- "@dxos/keys": "0.5.9-main.ea1d25b"
19
+ "@dxos/invariant": "0.5.9-main.eacfffa",
20
+ "@dxos/debug": "0.5.9-main.eacfffa",
21
+ "@dxos/node-std": "0.5.9-main.eacfffa",
22
+ "@dxos/keys": "0.5.9-main.eacfffa"
23
23
  },
24
24
  "devDependencies": {
25
- "@dxos/crypto": "0.5.9-main.ea1d25b"
25
+ "@dxos/crypto": "0.5.9-main.eacfffa"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"
package/src/index.ts CHANGED
@@ -35,3 +35,4 @@ export * from './defer';
35
35
  export * from './circular-buffer';
36
36
  export * from './join-tables';
37
37
  export * from './throw-unhandled-error';
38
+ export * from './safe-await';
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { test } from 'vitest';
6
6
 
7
- import { deepMapValues } from './map-values';
7
+ import { deepMapValues, deepMapValuesAsync } from './map-values';
8
8
 
9
9
  test('deepMapValues', ({ expect }) => {
10
10
  const obj = {
@@ -42,3 +42,41 @@ test('deepMapValues', ({ expect }) => {
42
42
  ],
43
43
  });
44
44
  });
45
+
46
+ test('deepMapValuesAsync', async ({ expect }) => {
47
+ const obj = {
48
+ a: 1,
49
+ b: {
50
+ c: 2,
51
+ },
52
+ d: [
53
+ 3,
54
+ {
55
+ e: 4,
56
+ },
57
+ ],
58
+ };
59
+
60
+ // Double all numbers.
61
+ const res = await deepMapValuesAsync(obj, async (value, recurse) => {
62
+ if (typeof value === 'number') {
63
+ await Promise.resolve();
64
+ return value * 2;
65
+ }
66
+
67
+ return recurse(value);
68
+ });
69
+
70
+ expect(res).toEqual({
71
+ a: 2,
72
+ b: {
73
+ c: 4,
74
+ },
75
+ d: [
76
+ 6,
77
+ {
78
+ e: 8,
79
+ },
80
+ ],
81
+ });
82
+ });
package/src/map-values.ts CHANGED
@@ -55,3 +55,53 @@ class DeepMapper {
55
55
  }
56
56
  };
57
57
  }
58
+
59
+ /**
60
+ * Recursively maps values traversing arrays and objects.
61
+ * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
62
+ * Async version.
63
+ */
64
+ export const deepMapValuesAsync = (
65
+ value: any,
66
+ fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>,
67
+ ): Promise<any> => {
68
+ return new DeepMapperAsync(fn).map(value);
69
+ };
70
+
71
+ class DeepMapperAsync {
72
+ private readonly _cyclic = new Map<any, any>();
73
+
74
+ constructor(private readonly _fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>) {}
75
+
76
+ map(value: any): Promise<any> {
77
+ if (this._cyclic.has(value)) {
78
+ return this._cyclic.get(value);
79
+ }
80
+
81
+ return this._fn(value, this._recurse);
82
+ }
83
+
84
+ private _recurse = async (value: any) => {
85
+ if (this._cyclic.has(value)) {
86
+ return this._cyclic.get(value);
87
+ }
88
+
89
+ if (Array.isArray(value)) {
90
+ const res = new Array(value.length);
91
+ this._cyclic.set(value, res);
92
+ for (let i = 0; i < value.length; i++) {
93
+ res[i] = await this.map(value[i]);
94
+ }
95
+ return res;
96
+ } else if (value !== null && typeof value === 'object') {
97
+ const res: any = {};
98
+ this._cyclic.set(value, res);
99
+ for (const key in value) {
100
+ res[key] = await this.map(value[key]);
101
+ }
102
+ return res;
103
+ } else {
104
+ return value;
105
+ }
106
+ };
107
+ }
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ /**
6
+ * A utility for safely performing an asynchronous action on every item from source.
7
+ * @param source elements passed to taskFactory.
8
+ * @param taskFactory a function that converts an elements into an async task.
9
+ * @param onError if provided will be called for every failed task.
10
+ * @returns elements for which task execution failed.
11
+ */
12
+ export const safeAwaitAll = async <T>(
13
+ source: Array<T> | IterableIterator<T>,
14
+ taskFactory: (item: T) => Promise<any>,
15
+ onError?: (error: Error, item: T, idx: number) => void,
16
+ ): Promise<T[]> => {
17
+ const failedItems: T[] = [];
18
+ await Promise.all(
19
+ [...source].map(async (item, idx) => {
20
+ try {
21
+ await taskFactory(item);
22
+ } catch (err: any) {
23
+ if (onError) {
24
+ onError(err, item, idx);
25
+ }
26
+ failedItems.push(item);
27
+ }
28
+ }),
29
+ );
30
+ return failedItems;
31
+ };