Socket
Socket
Sign inDemoInstall

rc-util

Package Overview
Dependencies
Maintainers
9
Versions
211
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rc-util - npm Package Compare versions

Comparing version 5.31.2 to 5.32.0

5

es/utils/set.d.ts

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

export declare type Path = (string | number)[];
export default function set<Entity = any, Output = Entity, Value = any>(entity: Entity, paths: (string | number)[], value: Value, removeIfUndefined?: boolean): Output;
/**
* Merge objects which will create
*/
export declare function merge<T extends object>(...sources: T[]): T;

@@ -0,1 +1,2 @@

import _typeof from "@babel/runtime/helpers/esm/typeof";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";

@@ -36,2 +37,42 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";

return internalSet(entity, paths, value, removeIfUndefined);
}
function isObject(obj) {
return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;
}
function createEmpty(source) {
return Array.isArray(source) ? [] : {};
}
/**
* Merge objects which will create
*/
export function merge() {
for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {
sources[_key] = arguments[_key];
}
var clone = createEmpty(sources[0]);
var loopSet = new Set();
sources.forEach(function (src) {
function internalMerge(path) {
var value = get(src, path);
if (isObject(value) || Array.isArray(value)) {
// Only add not loop obj
if (!loopSet.has(value)) {
loopSet.add(value);
// Init container if not exist
if (!get(clone, path)) {
clone = set(clone, path, createEmpty(value));
}
Object.keys(value).forEach(function (key) {
internalMerge([].concat(_toConsumableArray(path), [key]));
});
}
} else {
clone = set(clone, path, value);
}
}
internalMerge([]);
});
return clone;
}

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

export declare type Path = (string | number)[];
export default function set<Entity = any, Output = Entity, Value = any>(entity: Entity, paths: (string | number)[], value: Value, removeIfUndefined?: boolean): Output;
/**
* Merge objects which will create
*/
export declare function merge<T extends object>(...sources: T[]): T;

@@ -8,2 +8,4 @@ "use strict";

exports.default = set;
exports.merge = merge;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));

@@ -44,2 +46,42 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));

return internalSet(entity, paths, value, removeIfUndefined);
}
function isObject(obj) {
return (0, _typeof2.default)(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;
}
function createEmpty(source) {
return Array.isArray(source) ? [] : {};
}
/**
* Merge objects which will create
*/
function merge() {
for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {
sources[_key] = arguments[_key];
}
var clone = createEmpty(sources[0]);
var loopSet = new Set();
sources.forEach(function (src) {
function internalMerge(path) {
var value = (0, _get.default)(src, path);
if (isObject(value) || Array.isArray(value)) {
// Only add not loop obj
if (!loopSet.has(value)) {
loopSet.add(value);
// Init container if not exist
if (!(0, _get.default)(clone, path)) {
clone = set(clone, path, createEmpty(value));
}
Object.keys(value).forEach(function (key) {
internalMerge([].concat((0, _toConsumableArray2.default)(path), [key]));
});
}
} else {
clone = set(clone, path, value);
}
}
internalMerge([]);
});
return clone;
}

2

package.json
{
"name": "rc-util",
"version": "5.31.2",
"version": "5.32.0",
"description": "Common Utils For React Component",

@@ -5,0 +5,0 @@ "keywords": [

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