@dxos/util 0.6.14-staging.e15392e → 0.7.0

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":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/case.ts":{"bytes":4663,"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":1356,"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":4323,"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/case.ts","kind":"import-statement","original":"./case"},{"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-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":110524},"packages/common/util/dist/lib/node-esm/index.mjs":{"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","decamelize","deepMapValues","deepMapValuesAsync","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","doAsync","entry","exponentialBackoffInterval","forEachAsync","getAsyncProviderValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","getProviderValue","hexToEmoji","hexToFallback","hexToHue","humanize","hyphenize","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/case.ts":{"bytesInOutput":940},"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":148},"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":49400}}}
1
+ {"inputs":{"packages/common/util/src/array.ts":{"bytes":5726,"imports":[],"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/case.ts":{"bytes":4663,"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/deep.ts":{"bytes":3455,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"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":11880,"imports":[],"format":"esm"},"packages/common/util/src/order.ts":{"bytes":5060,"imports":[],"format":"esm"},"packages/common/util/src/pick.ts":{"bytes":3737,"imports":[],"format":"esm"},"packages/common/util/src/platform.ts":{"bytes":11348,"imports":[],"format":"esm"},"packages/common/util/src/random.ts":{"bytes":1356,"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/remove-undefined-keys.ts":{"bytes":1594,"imports":[],"format":"esm"},"packages/common/util/src/index.ts":{"bytes":4442,"imports":[{"path":"packages/common/util/src/array.ts","kind":"import-statement","original":"./array"},{"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/case.ts","kind":"import-statement","original":"./case"},{"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/deep.ts","kind":"import-statement","original":"./deep"},{"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"},{"path":"packages/common/util/src/remove-undefined-keys.ts","kind":"import-statement","original":"./remove-undefined-keys"}],"format":"esm"}},"outputs":{"packages/common/util/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":112372},"packages/common/util/dist/lib/node-esm/index.mjs":{"imports":[{"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/invariant","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","decamelize","deepMapValues","deepMapValuesAsync","defaultMap","defer","deferAsync","deferFunction","diff","distinctBy","doAsync","entry","exponentialBackoffInterval","forEachAsync","getAsyncProviderValue","getDate","getDebugName","getDeep","getHostPlatform","getPrototypeSpecificInstanceId","getProviderValue","hexToEmoji","hexToFallback","hexToHue","humanize","hyphenize","idEmoji","idHue","inferObjectOrder","inferRecordOrder","intersection","iosCheck","isNode","isNotFalsy","isNotNullOrUndefined","joinTables","jsonKeyReplacer","jsonReplacer","jsonify","jsonlogify","keyToEmoji","keyToFallback","keyToHue","makeMap","makeSet","mapValues","median","mobileAndTabletCheck","nonNullable","numericalValues","omit","pick","pickBy","randomInt","range","rangeFromTo","reduceGroupBy","reduceSeries","reduceSet","removeUndefinedProperties","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/binder.ts":{"bytesInOutput":139},"packages/common/util/src/bitfield.ts":{"bytesInOutput":1894},"packages/common/util/src/callback.ts":{"bytesInOutput":1113},"packages/common/util/src/callback-collection.ts":{"bytesInOutput":558},"packages/common/util/src/case.ts":{"bytesInOutput":940},"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/deep.ts":{"bytesInOutput":634},"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":2298},"packages/common/util/src/order.ts":{"bytesInOutput":676},"packages/common/util/src/pick.ts":{"bytesInOutput":478},"packages/common/util/src/platform.ts":{"bytesInOutput":3211},"packages/common/util/src/random.ts":{"bytesInOutput":148},"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},"packages/common/util/src/remove-undefined-keys.ts":{"bytesInOutput":255}},"bytes":50053}}}
@@ -10,4 +10,4 @@ export declare const setDeep: <T>(obj: any, path: readonly (string | number)[],
10
10
  * @returns The value of the prop if it exists, otherwise undefined.
11
11
  */
12
12
  export declare const getDeep: <T>(obj: any, path: readonly (string | number)[]) => T | undefined;
13
- //# sourceMappingURL=assign.d.ts.map
13
+ //# sourceMappingURL=deep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../../src/deep.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,OAAO,GAAG,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,SAAS,CAAC,KAAG,CAWnF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,OAAO,GAAG,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAG,CAAC,GAAG,SAO7E,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from './array';
2
- export * from './assign';
3
2
  export * from './binder';
4
3
  export * from './bitfield';
5
4
  export * from './callback';
@@ -10,6 +9,7 @@ export * from './circular-buffer';
10
9
  export * from './complex';
11
10
  export * from './defer';
12
11
  export * from './defer-function';
12
+ export * from './deep';
13
13
  export * from './entry';
14
14
  export * from './for-each-async';
15
15
  export * from './human-hash';
@@ -40,4 +40,5 @@ export * from './weak';
40
40
  export * from './sliding-window-summary';
41
41
  export * from './chunk-array';
42
42
  export * from './array-to-hex';
43
+ export * from './remove-undefined-keys';
43
44
  //# 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,QAAQ,CAAC;AACvB,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,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,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;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -3,11 +3,11 @@ export declare const mapValues: <T, U>(obj: Record<string, T>, fn: (value: T, ke
3
3
  * Recursively maps values traversing arrays and objects.
4
4
  * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
5
5
  */
6
- export declare const deepMapValues: (value: any, fn: (value: any, recurse: (value: any) => any) => any) => any;
6
+ export declare const deepMapValues: (value: any, fn: (value: any, recurse: (value: any) => any, key: string | number | undefined) => any) => any;
7
7
  /**
8
8
  * Recursively maps values traversing arrays and objects.
9
9
  * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
10
10
  * Async version.
11
11
  */
12
- export declare const deepMapValuesAsync: (value: any, fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>) => Promise<any>;
12
+ export declare const deepMapValuesAsync: (value: any, fn: (value: any, recurse: (value: any) => Promise<any>, key: string | number | undefined) => Promise<any>) => Promise<any>;
13
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,GAAI,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,KAAG,MAAM,CAAC,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,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,KACtE,OAAO,CAAC,GAAG,CAEb,CAAC"}
1
+ {"version":3,"file":"map-values.d.ts","sourceRoot":"","sources":["../../../src/map-values.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAM1G,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,UACjB,GAAG,MACN,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,GAAG,KACtF,GAEF,CAAC;AA8CF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UACtB,GAAG,MACN,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,KACxG,OAAO,CAAC,GAAG,CAEb,CAAC"}
@@ -1,9 +1,15 @@
1
1
  /**
2
2
  * Creates an object composed of the object properties predicate returns truthy for.
3
3
  */
4
- export declare const pick: <T extends object, U extends keyof T>(object: T, keys: U[]) => Pick<T, U>;
4
+ export declare const pick: <T extends object, K extends keyof T = keyof T>(obj: T, keys: K[]) => Pick<T, K>;
5
5
  /**
6
6
  * Creates an object composed of the object properties predicate returns truthy for.
7
7
  */
8
- export declare const pickBy: (object: Record<any, any>, predicate: (value: any) => boolean) => Record<any, any>;
8
+ export declare const pickBy: (obj: Record<any, any>, predicate: (value: any) => boolean) => Record<any, any>;
9
+ /**
10
+ * Omit given props.
11
+ * @param obj
12
+ * @param keys
13
+ */
14
+ export declare const omit: <T extends object, K extends keyof T>(obj: T, keys: K[]) => Omit<T, K>;
9
15
  //# sourceMappingURL=pick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../../src/pick.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CASvF,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,MAAM,WAAY,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,qBAQlF,CAAC"}
1
+ {"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../../src/pick.ts"],"names":[],"mappings":"AAMA;;GAEG;AAEH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAUhG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,QAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,qBAQ/E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAMtF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const removeUndefinedProperties: <T extends {}>(object: T) => T;
2
+ //# sourceMappingURL=remove-undefined-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-undefined-keys.d.ts","sourceRoot":"","sources":["../../../src/remove-undefined-keys.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,EAAE,UAAU,CAAC,KAAG,CAQnE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/util",
3
- "version": "0.6.14-staging.e15392e",
3
+ "version": "0.7.0",
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",
@@ -26,13 +26,13 @@
26
26
  "src"
27
27
  ],
28
28
  "dependencies": {
29
- "@dxos/debug": "0.6.14-staging.e15392e",
30
- "@dxos/invariant": "0.6.14-staging.e15392e",
31
- "@dxos/keys": "0.6.14-staging.e15392e",
32
- "@dxos/node-std": "0.6.14-staging.e15392e"
29
+ "@dxos/debug": "0.7.0",
30
+ "@dxos/keys": "0.7.0",
31
+ "@dxos/node-std": "0.7.0",
32
+ "@dxos/invariant": "0.7.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@dxos/crypto": "0.6.14-staging.e15392e"
35
+ "@dxos/crypto": "0.7.0"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public"
package/src/index.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  //
4
4
 
5
5
  export * from './array';
6
- export * from './assign';
7
6
  export * from './binder';
8
7
  export * from './bitfield';
9
8
  export * from './callback';
@@ -14,6 +13,7 @@ export * from './circular-buffer';
14
13
  export * from './complex';
15
14
  export * from './defer';
16
15
  export * from './defer-function';
16
+ export * from './deep';
17
17
  export * from './entry';
18
18
  export * from './for-each-async';
19
19
  export * from './human-hash';
@@ -44,3 +44,4 @@ export * from './weak';
44
44
  export * from './sliding-window-summary';
45
45
  export * from './chunk-array';
46
46
  export * from './array-to-hex';
47
+ export * from './remove-undefined-keys';
package/src/map-values.ts CHANGED
@@ -14,21 +14,30 @@ export const mapValues = <T, U>(obj: Record<string, T>, fn: (value: T, key: stri
14
14
  * Recursively maps values traversing arrays and objects.
15
15
  * @param fn Function to apply to each value. Second argument is a function to recurse into the value.
16
16
  */
17
- export const deepMapValues = (value: any, fn: (value: any, recurse: (value: any) => any) => any): any => {
17
+ export const deepMapValues = (
18
+ value: any,
19
+ fn: (value: any, recurse: (value: any) => any, key: string | number | undefined) => any,
20
+ ): any => {
18
21
  return new DeepMapper(fn).map(value);
19
22
  };
20
23
 
21
24
  class DeepMapper {
22
25
  private readonly _cyclic = new Map<any, any>();
23
26
 
24
- constructor(private readonly _fn: (value: any, recurse: (value: any) => any) => any) {}
27
+ constructor(
28
+ private readonly _fn: (value: any, recurse: (value: any) => any, key: string | number | undefined) => any,
29
+ ) {}
25
30
 
26
31
  map(value: any): any {
32
+ return this._map(value, undefined);
33
+ }
34
+
35
+ private _map(value: any, key: string | number | undefined): any {
27
36
  if (this._cyclic.has(value)) {
28
37
  return this._cyclic.get(value);
29
38
  }
30
39
 
31
- return this._fn(value, this._recurse);
40
+ return this._fn(value, this._recurse, key);
32
41
  }
33
42
 
34
43
  private _recurse = (value: any) => {
@@ -40,14 +49,14 @@ class DeepMapper {
40
49
  const res = new Array(value.length);
41
50
  this._cyclic.set(value, res);
42
51
  for (let i = 0; i < value.length; i++) {
43
- res[i] = this.map(value[i]);
52
+ res[i] = this._map(value[i], i);
44
53
  }
45
54
  return res;
46
55
  } else if (value !== null && typeof value === 'object') {
47
56
  const res: any = {};
48
57
  this._cyclic.set(value, res);
49
58
  for (const key in value) {
50
- res[key] = this.map(value[key]);
59
+ res[key] = this._map(value[key], key);
51
60
  }
52
61
  return res;
53
62
  } else {
@@ -63,7 +72,7 @@ class DeepMapper {
63
72
  */
64
73
  export const deepMapValuesAsync = (
65
74
  value: any,
66
- fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>,
75
+ fn: (value: any, recurse: (value: any) => Promise<any>, key: string | number | undefined) => Promise<any>,
67
76
  ): Promise<any> => {
68
77
  return new DeepMapperAsync(fn).map(value);
69
78
  };
@@ -71,14 +80,24 @@ export const deepMapValuesAsync = (
71
80
  class DeepMapperAsync {
72
81
  private readonly _cyclic = new Map<any, any>();
73
82
 
74
- constructor(private readonly _fn: (value: any, recurse: (value: any) => Promise<any>) => Promise<any>) {}
83
+ constructor(
84
+ private readonly _fn: (
85
+ value: any,
86
+ recurse: (value: any) => Promise<any>,
87
+ key: string | number | undefined,
88
+ ) => Promise<any>,
89
+ ) {}
75
90
 
76
91
  map(value: any): Promise<any> {
92
+ return this._map(value, undefined);
93
+ }
94
+
95
+ private _map(value: any, key: string | number | undefined): Promise<any> {
77
96
  if (this._cyclic.has(value)) {
78
97
  return this._cyclic.get(value);
79
98
  }
80
99
 
81
- return this._fn(value, this._recurse);
100
+ return this._fn(value, this._recurse, key);
82
101
  }
83
102
 
84
103
  private _recurse = async (value: any) => {
@@ -90,14 +109,14 @@ class DeepMapperAsync {
90
109
  const res = new Array(value.length);
91
110
  this._cyclic.set(value, res);
92
111
  for (let i = 0; i < value.length; i++) {
93
- res[i] = await this.map(value[i]);
112
+ res[i] = await this._map(value[i], i);
94
113
  }
95
114
  return res;
96
115
  } else if (value !== null && typeof value === 'object') {
97
116
  const res: any = {};
98
117
  this._cyclic.set(value, res);
99
118
  for (const key in value) {
100
- res[key] = await this.map(value[key]);
119
+ res[key] = await this._map(value[key], key);
101
120
  }
102
121
  return res;
103
122
  } else {
package/src/pick.ts CHANGED
@@ -7,26 +7,41 @@
7
7
  /**
8
8
  * Creates an object composed of the object properties predicate returns truthy for.
9
9
  */
10
- export const pick = <T extends object, U extends keyof T>(object: T, keys: U[]): Pick<T, U> =>
11
- keys.reduce(
12
- (obj, key) => {
13
- if (object && key in object) {
14
- obj[key] = object[key];
10
+
11
+ export const pick = <T extends object, K extends keyof T = keyof T>(obj: T, keys: K[]): Pick<T, K> => {
12
+ return keys.reduce(
13
+ (result, key) => {
14
+ if (obj && key in obj) {
15
+ result[key] = obj[key];
15
16
  }
16
- return obj;
17
+ return result;
17
18
  },
18
- {} as Pick<T, U>,
19
+ {} as Pick<T, K>,
19
20
  );
21
+ };
20
22
 
21
23
  /**
22
24
  * Creates an object composed of the object properties predicate returns truthy for.
23
25
  */
24
- export const pickBy = (object: Record<any, any>, predicate: (value: any) => boolean) => {
25
- const obj: Record<any, any> = {};
26
- for (const key in object) {
27
- if (predicate(object[key])) {
28
- obj[key] = object[key];
26
+ export const pickBy = (obj: Record<any, any>, predicate: (value: any) => boolean) => {
27
+ const result: Record<any, any> = {};
28
+ for (const key in obj) {
29
+ if (predicate(obj[key])) {
30
+ result[key] = obj[key];
29
31
  }
30
32
  }
31
- return obj;
33
+ return result;
34
+ };
35
+
36
+ /**
37
+ * Omit given props.
38
+ * @param obj
39
+ * @param keys
40
+ */
41
+ export const omit = <T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> => {
42
+ const result = { ...obj };
43
+ keys.forEach((key) => {
44
+ delete result[key];
45
+ });
46
+ return result;
32
47
  };
@@ -0,0 +1,13 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ export const removeUndefinedProperties = <T extends {}>(object: T): T => {
6
+ for (const prop of [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)]) {
7
+ if ((object as any)[prop] === undefined) {
8
+ delete (object as any)[prop];
9
+ }
10
+ }
11
+
12
+ return object;
13
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"assign.d.ts","sourceRoot":"","sources":["../../../src/assign.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,OAAO,GAAG,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,SAAS,CAAC,KAAG,CAWnF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,OAAO,GAAG,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAG,CAAC,GAAG,SAO7E,CAAC"}
File without changes