UNPKG

@lyra/form-builder

Version:
46 lines (32 loc) 1.11 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _isObject2 = require('lodash/isObject'); var _isObject3 = _interopRequireDefault(_isObject2); exports.applyAll = applyAll; exports.default = _apply; var _array = require('./array'); var _array2 = _interopRequireDefault(_array); var _object = require('./object'); var _object2 = _interopRequireDefault(_object); var _primitive = require('./primitive'); var _primitive2 = _interopRequireDefault(_primitive); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function applyAll(value, patches) { return patches.reduce(_apply, value); } function applyPatch(value, patch) { if (Array.isArray(value)) { return (0, _array2.default)(value, patch); } if ((0, _isObject3.default)(value)) { return (0, _object2.default)(value, patch); } return (0, _primitive2.default)(value, patch); } function _apply(value, patch) { const res = applyPatch(value, patch); // console.log('applyPatch(%o, %o) : %o (noop? %o)', value, patch, res, value === res) return res; }