UNPKG

updeep

Version:

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

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