UNPKG

redux-form

Version:

A higher order component decorator for forms using Redux and React

49 lines (35 loc) 1.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _toPath2 = _interopRequireDefault(require("lodash/toPath")); var setInWithPath = function setInWithPath(state, value, path, pathIndex) { var _extends2; if (pathIndex >= path.length) { return value; } var first = path[pathIndex]; var firstState = state && (Array.isArray(state) ? state[Number(first)] : state[first]); var next = setInWithPath(firstState, value, path, pathIndex + 1); if (!state) { if (isNaN(first)) { var _ref; return _ref = {}, _ref[first] = next, _ref; } var initialized = []; initialized[parseInt(first, 10)] = next; return initialized; } if (Array.isArray(state)) { var copy = [].concat(state); copy[parseInt(first, 10)] = next; return copy; } return (0, _extends3["default"])({}, state, (_extends2 = {}, _extends2[first] = next, _extends2)); }; var setIn = function setIn(state, field, value) { return setInWithPath(state, value, (0, _toPath2["default"])(field), 0); }; var _default = setIn; exports["default"] = _default;