immutable-object-methods
Advanced tools
Comparing version 1.2.0 to 1.2.1
@@ -1,2 +0,2 @@ | ||
"use strict"; | ||
'use strict'; | ||
@@ -7,6 +7,18 @@ Object.defineProperty(exports, "__esModule", { | ||
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"); } }; }(); | ||
var _object = require('object.entries'); | ||
var _object2 = _interopRequireDefault(_object); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = function (input, fn) { | ||
var changed = false; | ||
var result = Object.keys(input).reduce(function (result, key) { | ||
var obj = input[key]; | ||
var result = (0, _object2.default)(input).reduce(function (result, _ref) { | ||
var _ref2 = _slicedToArray(_ref, 2); | ||
var key = _ref2[0]; | ||
var obj = _ref2[1]; | ||
var newObj = fn(input[key], key); | ||
@@ -13,0 +25,0 @@ changed = changed || obj !== newObj; |
@@ -0,5 +1,6 @@ | ||
import entries from 'object.entries'; | ||
export default (input, fn) => { | ||
let changed = false; | ||
const result = Object.keys(input).reduce((result, key) => { | ||
const obj = input[key]; | ||
const result = entries(input).reduce((result, [key, obj]) => { | ||
const newObj = fn(input[key], key); | ||
@@ -6,0 +7,0 @@ changed = changed || obj !== newObj; |
{ | ||
"name": "immutable-object-methods", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"description": "Update normal plain javascript object, immutable style. Simlar to how immutable.js, seamless-immutable etc does it but a lot smaller and simpler.", | ||
@@ -33,4 +33,5 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"object-assign": "^4.1.0" | ||
"object-assign": "^4.1.0", | ||
"object.entries": "^1.0.3" | ||
} | ||
} |
@@ -60,6 +60,7 @@ # immutable-object-methods [![Build Status](https://travis-ci.org/micnews/immutable-object-methods.png?branch=master)](https://travis-ci.org/micnews/immutable-object-methods) | ||
- [object-assign](https://github.com/sindresorhus/object-assign): ES2015 Object.assign() ponyfill | ||
- [object.entries](https://github.com/es-shims/Object.entries): ES7 spec-compliant Object.entries shim. | ||
## Dev Dependencies | ||
- [ava](https://github.com/sindresorhus/ava): Futuristic test runner 🚀 | ||
- [ava](https://github.com/avajs/ava): Futuristic test runner 🚀 | ||
- [babel-cli](https://github.com/babel/babel/tree/master/packages): Babel command line. | ||
@@ -66,0 +67,0 @@ - [babel-core](https://github.com/babel/babel/tree/master/packages): Babel compiler core. |
20354
527
78
2
+ Addedobject.entries@^1.0.3
+ Addedcall-bind@1.0.7(transitive)
+ Addeddefine-data-property@1.1.4(transitive)
+ Addeddefine-properties@1.2.1(transitive)
+ Addedes-define-property@1.0.0(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.0.0(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.4(transitive)
+ Addedgopd@1.0.1(transitive)
+ Addedhas-property-descriptors@1.0.2(transitive)
+ Addedhas-proto@1.0.3(transitive)
+ Addedhas-symbols@1.0.3(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedobject-keys@1.1.1(transitive)
+ Addedobject.entries@1.1.8(transitive)
+ Addedset-function-length@1.2.2(transitive)