@sanity/form-builder
Version:
Sanity form builder
34 lines (33 loc) • 1.21 kB
JavaScript
;
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;
}