Socket
Socket
Sign inDemoInstall

@trezor/utils

Package Overview
Dependencies
Maintainers
4
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@trezor/utils - npm Package Compare versions

Comparing version 9.0.24 to 9.0.25-beta.1

lib/throttler.d.ts

5

CHANGELOG.md

@@ -0,1 +1,6 @@

# 9.0.25-beta.1
- feat(utils): mergeDeepObject with dot notation (1a5b0e2a0f)
- chore(utils): move Throttler util from blockchain-link to utils (78673bd14c)
# 9.0.24

@@ -2,0 +7,0 @@

1

lib/index.d.ts

@@ -44,2 +44,3 @@ export * as bufferUtils from './bufferUtils';

export * from './bigNumber';
export * from './throttler';
//# sourceMappingURL=index.d.ts.map

@@ -48,2 +48,3 @@ "use strict";

tslib_1.__exportStar(require("./bigNumber"), exports);
tslib_1.__exportStar(require("./throttler"), exports);
//# sourceMappingURL=index.js.map

@@ -23,4 +23,5 @@ type TAllKeys<T> = T extends any ? keyof T : never;

mergeArrays: boolean;
dotNotation: boolean;
}
export {};
//# sourceMappingURL=mergeDeepObject.d.ts.map

39

lib/mergeDeepObject.js

@@ -14,2 +14,26 @@ "use strict";

};
const mergeValuesWithPath = (target, value, [key, ...rest]) => {
if (key === undefined) {
return mergeValues(target, value);
}
else if (!isObject(target)) {
return { [key]: mergeValuesWithPath({}, value, rest) };
}
else {
return Object.assign(Object.assign({}, target), { [key]: mergeValuesWithPath(target[key], value, rest) });
}
};
const mergeValues = (target, value) => {
if (Array.isArray(target) && Array.isArray(value)) {
return exports.mergeDeepObject.options.mergeArrays
? Array.from(new Set(target.concat(value)))
: value;
}
else if (isObject(target) && isObject(value)) {
return (0, exports.mergeDeepObject)(target, value);
}
else {
return value;
}
};
const mergeDeepObject = (...objects) => objects.reduce((result, current) => {

@@ -23,12 +47,8 @@ if (Array.isArray(current)) {

}
if (Array.isArray(result[key]) && Array.isArray(current[key])) {
result[key] = exports.mergeDeepObject.options.mergeArrays
? Array.from(new Set(result[key].concat(current[key])))
: current[key];
if (exports.mergeDeepObject.options.dotNotation) {
const [first, ...rest] = key.split('.');
result[first] = mergeValuesWithPath(result[first], current[key], rest);
}
else if (isObject(result[key]) && isObject(current[key])) {
result[key] = (0, exports.mergeDeepObject)(result[key], current[key]);
}
else {
result[key] = current[key];
result[key] = mergeValues(result[key], current[key]);
}

@@ -41,6 +61,7 @@ });

mergeArrays: true,
dotNotation: false,
};
exports.mergeDeepObject.options = defaultOptions;
exports.mergeDeepObject.withOptions = (options, ...objects) => {
exports.mergeDeepObject.options = Object.assign({ mergeArrays: true }, options);
exports.mergeDeepObject.options = Object.assign(Object.assign({}, defaultOptions), options);
const result = (0, exports.mergeDeepObject)(...objects);

@@ -47,0 +68,0 @@ exports.mergeDeepObject.options = defaultOptions;

{
"name": "@trezor/utils",
"version": "9.0.24",
"version": "9.0.25-beta.1",
"author": "Trezor <info@trezor.io>",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/trezor/trezor-suite/tree/develop/packages/utils",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc