UNPKG

@sanity/form-builder

Version:
34 lines (33 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applyAll = applyAll; exports.default = _apply; var _isString2 = _interopRequireDefault(require("lodash/isString")); var _isObject2 = _interopRequireDefault(require("lodash/isObject")); var _array = _interopRequireDefault(require("./array")); var _object = _interopRequireDefault(require("./object")); var _primitive = _interopRequireDefault(require("./primitive")); var _string = _interopRequireDefault(require("./string")); 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, _array.default)(value, patch); } if ((0, _isString2.default)(value)) { return (0, _string.default)(value, patch); } if ((0, _isObject2.default)(value)) { return (0, _object.default)(value, patch); } return (0, _primitive.default)(value, patch); } function _apply(value, patch) { var res = applyPatch(value, patch); // console.log('applyPatch(%o, %o) : %o (noop? %o)', value, patch, res, value === res) return res; }