@mightyplow/jslib
Advanced tools
| 'use strict'; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
| var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); | ||
| /** | ||
| * Merges too objects deeply. | ||
| * | ||
| * @memberOf object | ||
| * @function | ||
| * @param {Object} targetObject | ||
| * @param {Object[]} objects | ||
| * @return {Object} | ||
| */ | ||
| var merge = function merge(targetObject) { | ||
| for (var _len = arguments.length, objects = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
| objects[_key - 1] = arguments[_key]; | ||
| } | ||
| return objects.reduce(function (targetObject, object) { | ||
| return Object.entries(object).reduce(function (targetObject, _ref) { | ||
| var _ref2 = _slicedToArray(_ref, 2), | ||
| key = _ref2[0], | ||
| value = _ref2[1]; | ||
| if (key in targetObject) { | ||
| if (Array.isArray(value)) { | ||
| targetObject[key] = targetObject[key].concat(value); | ||
| } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') { | ||
| merge(targetObject[key], value); | ||
| } else { | ||
| targetObject[key] = value; | ||
| } | ||
| } else { | ||
| targetObject[key] = value; | ||
| } | ||
| return targetObject; | ||
| }, targetObject); | ||
| }, targetObject); | ||
| }; | ||
| exports.default = merge; |
+6
-0
@@ -177,2 +177,8 @@ 'use strict'; | ||
| }); | ||
| Object.defineProperty(exports, 'merge', { | ||
| enumerable: true, | ||
| get: function get() { | ||
| return _object.merge; | ||
| } | ||
| }); | ||
| Object.defineProperty(exports, 'prop', { | ||
@@ -179,0 +185,0 @@ enumerable: true, |
+9
-0
@@ -43,2 +43,11 @@ 'use strict'; | ||
| var _merge = require('./merge'); | ||
| Object.defineProperty(exports, 'merge', { | ||
| enumerable: true, | ||
| get: function get() { | ||
| return _interopRequireDefault(_merge).default; | ||
| } | ||
| }); | ||
| var _prop = require('./prop'); | ||
@@ -45,0 +54,0 @@ |
+1
-1
| { | ||
| "name": "@mightyplow/jslib", | ||
| "version": "0.15.0", | ||
| "version": "0.16.0", | ||
| "description": "js helpers library", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
+13
-0
@@ -238,2 +238,3 @@ ## Objects | ||
| * [.fromArray(array, key, keep)](#object.fromArray) ⇒ <code>\*</code> | ||
| * [.merge(targetObject, objects)](#object.merge) ⇒ <code>Object</code> | ||
| * [.prop(prop)](#object.prop) ⇒ [<code>function</code>](#function) | ||
@@ -291,2 +292,14 @@ * [.removeProp(object)](#object.removeProp) | ||
| <a name="object.merge"></a> | ||
| ### object.merge(targetObject, objects) ⇒ <code>Object</code> | ||
| Merges too objects deeply. | ||
| **Kind**: static method of [<code>object</code>](#object) | ||
| | Param | Type | | ||
| | --- | --- | | ||
| | targetObject | <code>Object</code> | | ||
| | objects | <code>Array.<Object></code> | | ||
| <a name="object.prop"></a> | ||
@@ -293,0 +306,0 @@ |
46377
6.71%42
2.44%1118
5.08%400
3.36%