UNPKG

updeep

Version:

Easily update nested frozen objects and arrays in a declarative and immutable manner.

3 lines (2 loc) 5.76 kB
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r(require("lodash/reject"),require("lodash/isPlainObject"),require("lodash/omitBy"),require("lodash/forEach"),require("lodash/map"),require("lodash/mapValues"),require("lodash/omit")):"function"==typeof define&&define.amd?define(["lodash/reject","lodash/isPlainObject","lodash/omitBy","lodash/forEach","lodash/map","lodash/mapValues","lodash/omit"],r):(n||self).updeep=r(n.reject$2,n.isPlainObject,n._omitBy,n.forEach,n.mapArray,n.mapObject,n._omit)}(this,function(n,r,t,e,u,o,i){function f(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var c=/*#__PURE__*/f(n),a=/*#__PURE__*/f(r),l=/*#__PURE__*/f(t),s=/*#__PURE__*/f(e),d=/*#__PURE__*/f(u),p=/*#__PURE__*/f(o),h=/*#__PURE__*/f(i);function y(n){return function(n){return null!==n&&!(n instanceof RegExp)&&!(n instanceof ArrayBuffer)&&(Array.isArray(n)||"object"==typeof n)}(n)&&!Object.isFrozen(n)}function v(n){return Object.freeze(n),Object.keys(n).forEach(function(r){var t=n[r];y(t)&&v(t)}),n}function j(n){return"undefined"==typeof process||"production"===process.env.NODE_ENV||"dangerously_never_freeze"===process.env.UPDEEP_MODE||y(n)&&v(n),n}function m(n){var r=j(n);return function(){return r}}function b(n){return Array.isArray(n)?n:c.default((""+n).split("."),function(n){return!n})}var g="@@updeep/placeholder";function O(n,r){var t=n.length;for(t>r&&(t=r);n[t-1]===g;)t-=1;return t}function E(n){return function r(t){var e=[].slice.call(arguments,1),u=e[0],o=e[1];return O(arguments)>=1?n(t,u,o):r}}function A(n){return function r(t,e){var u=[].slice.call(arguments,2),o=u[0],i=u[1],f=O(arguments,2);if(e===g||o===g||i===g)throw new Error("Can only use placeholder on first argument of this function.");return f>=2?t===g?E(function(r,t,u){return n(r,e,t,u)}):n(t,e,o,i):1===f?E(function(r,e,u){return n(t,r,e,u)}):r}}function w(n){return function r(t,e,u){var o=[].slice.call(arguments,3),i=o[0],f=o[1],c=O(arguments,3);if(u===g||i===g||f===g)throw new Error("Can only use placeholder on first or second argument of this function.");return c>=3?t===g?e===g?A(function(r,t,e,o){return n(r,t,u,e,o)}):E(function(r,t,o){return n(r,e,u,t,o)}):e===g?E(function(r,e,o){return n(t,r,u,e,o)}):n(t,e,u,i,f):2===c?t===g?A(function(r,t,u,o){return n(r,e,t,u,o)}):E(function(r,u,o){return n(t,e,r,u,o)}):1===c?A(function(r,e,u,o){return n(t,r,e,u,o)}):r}}function _(n){return function r(t,e,u,o){var i=[].slice.call(arguments,4),f=i[0],c=i[1],a=O(arguments,4);if(o===g||f===g||c===g)throw new Error("Can only use placeholder on first, second or third argument of this function.");return a>=4?t===g?e===g?u===g?w(function(r,t,e,u,i){return n(r,t,e,o,u,i)}):A(function(r,t,e,i){return n(r,t,u,o,e,i)}):u===g?A(function(r,t,u,i){return n(r,e,t,o,u,i)}):E(function(r,t,i){return n(r,e,u,o,t,i)}):e===g?u===g?A(function(r,e,u,i){return n(t,r,e,o,u,i)}):E(function(r,e,i){return n(t,r,u,o,e,i)}):u===g?E(function(r,u,i){return n(t,e,r,o,u,i)}):n(t,e,u,o,f,c):3===a?t===g?e===g?w(function(r,t,e,o,i){return n(r,t,u,e,o,i)}):A(function(r,t,o,i){return n(r,e,u,t,o,i)}):e===g?A(function(r,e,o,i){return n(t,r,u,e,o,i)}):E(function(r,o,i){return n(t,e,u,r,o,i)}):2===a?t===g?w(function(r,t,u,o,i){return n(r,e,t,u,o,i)}):A(function(r,u,o,i){return n(t,e,r,u,o,i)}):1===a?w(function(r,e,u,o,i){return n(t,r,e,u,o,i)}):r}}function P(n,r){return void 0===r&&(r=n.length),[n,E,A,w,_][r](n)}var q=P(function(n,r,t){for(var e=b(n),u=t,o=0;o<e.length;o+=1){if(void 0===u)return!1;u=u[e[o]]}return"function"==typeof r?r(u):r===u});function k(){return k=Object.assign?Object.assign.bind():function(n){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e])}return n},k.apply(this,arguments)}function B(n,r){return void 0===r&&(r=n.length),P(function(){return j(n.apply(void 0,[].slice.call(arguments)))},r)}var z={__omitted:!0},D=m(z),x=B(function n(r,t){if("function"==typeof r)return r.apply(void 0,[t].concat([].slice.call(arguments,2)));if(!a.default(r))return r;var e=null==t?{}:t,u=function(r,t){return function(n,r,t){return Object.keys(n).reduce(function(t,e){return r(t,n[e],e)},{})}(r,function(r,e,u){var o=e;return Array.isArray(e)||null===e||"object"!=typeof e?"function"==typeof e&&(o=e(t[u])):o=n(e,t[u]),function(n,r,t){return n===z?t.hasOwnProperty(r):t[r]!==n}(o,u,t)&&(r[u]=o),r})}(r,e);return function(n){return!Object.keys(n).length}(u)?e:Array.isArray(e)?function(n,r){var t=[].concat(r);return Object.keys(n).forEach(function(r){t[r]=n[r]}),t}(u,e).filter(function(n){return n!==z}):l.default(k({},e,u),function(n){return n===z})},2),C=B(function(n,r,t,e){var u="function"==typeof n?n(e):n;return x(u?r:t,e)}),V=P(function(n,r,t){return C(n,r,function(n){return n},t)}),N=B(function(n,r){var t="function"==typeof n?n:x(n),e=(Array.isArray(r)?d.default:p.default)(r,t);return function(n,r){var t=!0;return s.default(r,function(r,e){if(r!==n[e])return t=!1,!1}),t}(r,e)?r:e});function R(n){return Array.isArray(n)?n.length:Object.keys(n).length}var T=B(function(n,r){var t=h.default(r,n);return null==r||R(t)!==R(r)?t:r}),F=B(function(n,r){var t=l.default(r,n);return null==r||R(t)!==R(r)?t:r}),I=B(function(n,r){var t=c.default(r,n);return r.length===t.length?r:t}),M="*";function U(n,r){var t;return r===M?function(r){var t;return Object.prototype.hasOwnProperty.call(r,M)?x(((t={})[M]=n,t),r):N(n,r)}:((t={})[r]=n,t)}var $=P(function(n,r,t){var e=b(n).reduceRight(U,r);return x(e,t)}),G=P(function(n,r,t){return x(r,void 0===t?n:t)}),H=x;return H._=g,H.constant=m,H.if=V,H.ifElse=C,H.is=q,H.freeze=j,H.map=N,H.omit=T,H.omitBy=F,H.reject=I,H.update=x,H.updateIn=$,H.omitted=D,H.withDefault=G,H}); //# sourceMappingURL=index.umd.js.map