UNPKG

immer

Version:

Create your next immutable state by mutating the current one

2 lines • 16.3 kB
var J=Symbol.for("immer-nothing"),G=Symbol.for("immer-draftable"),l=Symbol.for("immer-state");function D(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var R=Object,B=R.getPrototypeOf,oe="constructor",ae="prototype",Ie="configurable",de="enumerable",ye="writable",ie="value",w=e=>!!e&&!!e[l];function Qe(e){return w(e)?e[l].i:!1}function E(e){return e?je(e)||Q(e)||!!e[G]||!!e[oe]?.[G]||X(e)||V(e):!1}var Xe=R[ae][oe].toString(),Ue=new WeakMap;function je(e){if(!e||!q(e))return!1;let t=B(e);if(t===null||t===R[ae])return!0;let r=R.hasOwnProperty.call(t,oe)&&t[oe];if(r===Object)return!0;if(!K(r))return!1;let n=Ue.get(r);return n===void 0&&(n=Function.toString.call(r),Ue.set(r,n)),n===Xe}function Ze(e){return w(e)||D(15,e),e[l].t}function L(e,t,r=!0){v(e)===0?(r?Reflect.ownKeys(e):R.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function v(e){let t=e[l];return t?t.r:Q(e)?1:X(e)?2:V(e)?3:0}var $=(e,t,r=v(e))=>r===2?e.has(t):R[ae].hasOwnProperty.call(e,t),U=(e,t,r=v(e))=>r===2?e.get(t):e[t],se=(e,t,r,n=v(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function Le(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Q=Array.isArray,X=e=>e instanceof Map,V=e=>e instanceof Set,q=e=>typeof e=="object",K=e=>typeof e=="function",Me=e=>typeof e=="boolean";function Be(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var we=e=>q(e)?e?.[l]:null,T=e=>e.e||e.t,Ve=e=>{let t=we(e);return t?he(t):e},he=e=>e.i?e.e:e.t;function me(e,t){if(X(e))return new Map(e);if(V(e))return new Set(e);if(Q(e))return Array[ae].slice.call(e);let r=je(e);if(t===!0||t==="class_only"&&!r){let n=R.getOwnPropertyDescriptors(e);delete n[l];let i=Reflect.ownKeys(n);for(let s=0;s<i.length;s++){let h=i[s],y=n[h];y[ye]===!1&&(y[ye]=!0,y[Ie]=!0),(y.get||y.set)&&(n[h]={[Ie]:!0,[ye]:!0,[de]:y[de],[ie]:e[h]})}return R.create(B(e),n)}else{let n=B(e);if(n!==null&&r)return{...e};let i=R.create(n);return R.assign(i,e)}}function ce(e,t=!1){return ue(e)||w(e)||!E(e)||(v(e)>1&&R.defineProperties(e,{set:Ae,add:Ae,clear:Ae,delete:Ae}),R.freeze(e),t&&L(e,(r,n)=>{ce(n,!0)},!1)),e}function et(){D(2)}var Ae={[ie]:et};function ue(e){return e===null||!q(e)?!0:R.isFrozen(e)}var Y="MapSet",Z="Patches",Se="ArrayMethods",Te={};function W(e){let t=Te[e];return t||D(0,e),t}var Ce=e=>!!Te[e];function fe(e,t){Te[e]||(Te[e]=t)}var Pe,ee=()=>Pe,tt=(e,t)=>({s:[],o:e,l:t,F:!0,P:0,x:new Set,I:new Set,b:Ce(Y)?W(Y):void 0,C:Ce(Se)?W(Se):void 0});function Fe(e,t){t&&(e.g=W(Z),e.y=[],e.d=[],e.E=t)}function ge(e){be(e),e.s.forEach(rt),e.s=null}function be(e){e===Pe&&(Pe=e.o)}var Ne=e=>Pe=tt(Pe,e);function rt(e){let t=e[l];t.r===0||t.r===1?t.M():t.A=!0}function Re(e,t){t.P=t.s.length;let r=t.s[0];if(e!==void 0&&e!==r){r[l].i&&(ge(t),D(4)),E(e)&&(e=Ke(t,e));let{g:i}=t;i&&i.D(r[l].t,e,t)}else e=Ke(t,r);return nt(t,e,!0),ge(t),t.y&&t.E(t.y,t.d),e!==J?e:void 0}function Ke(e,t){if(ue(t))return t;let r=t[l];if(!r)return De(t,e.x,e);if(!Oe(r,e))return t;if(!r.i)return r.t;if(!r.u){let{f:n}=r;if(n)for(;n.length>0;)n.pop()(e);ve(r,e)}return r.e}function nt(e,t,r=!1){!e.o&&e.l.h&&e.F&&ce(t,r)}function We(e){e.u=!0,e.a.P--}var Oe=(e,t)=>e.a===t,ot=[];function He(e,t,r,n){let i=T(e),s=e.r;if(n!==void 0&&U(i,n,s)===t){se(i,n,r,s);return}if(!e.R){let y=e.R=new Map;L(i,(C,d)=>{if(w(d)){let O=y.get(d)||[];O.push(C),y.set(d,O)}})}let h=e.R.get(t)??ot;for(let y of h)se(i,y,r,s)}function Ge(e,t,r){e.f.push(function(i){let s=t;if(!s||!Oe(s,i))return;i.b?.fixSetContents(s);let h=he(s);He(e,s.c??s,h,r),ve(s,i)})}function ve(e,t){if(e.i&&!e.u&&(e.r===3||e.r===1&&e.S||(e.n?.size??0)>0)){let{g:n}=t;if(n){let i=n.getPath(e);i&&n.O(e,i,t)}We(e)}}function te(e,t,r){let{a:n}=e;if(w(r)){let i=r[l];Oe(i,n)&&i.f.push(function(){H(e);let h=he(i);He(e,r,h,t)})}else E(r)&&e.f.push(function(){let s=T(e);e.r===3?s.has(r)&&De(r,n.x,n):U(s,t,e.r)===r&&n.s.length>1&&(e.n.get(t)??!1)===!0&&e.e&&De(U(e.e,t,e.r),n.x,n)})}function De(e,t,r){return!r.l.h&&r.P<1||w(e)||t.has(e)||!E(e)||ue(e)||(t.add(e),L(e,(n,i)=>{if(w(i)){let s=i[l];if(Oe(s,r)){let h=he(s);se(e,n,h,e.r),We(s)}}else E(i)&&De(i,t,r)})),e}function $e(e,t){let r=Q(e),n={r:r?1:0,a:t?t.a:ee(),i:!1,u:!1,n:void 0,o:t,t:e,c:null,e:null,M:null,m:!1,f:void 0},i=n,s=_e;r&&(i=[n],s=xe);let{revoke:h,proxy:y}=Proxy.revocable(i,s);return n.c=y,n.M=h,[y,n]}var _e={get(e,t){if(t===l)return e;let r=e.a.C,n=e.r===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let i=T(e);if(!$(i,t,e.r))return it(e,i,t);let s=i[t];if(e.u||!E(s)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&Be(t))return s;if(s===ze(e.t,t)||at(e,t,s)){H(e);let h=e.r===1?+t:t,y=re(e.a,s,e,h);return e.e[h]=y}return s},has(e,t){return t in T(e)},ownKeys(e){return Reflect.ownKeys(T(e))},set(e,t,r){let n=qe(T(e),t);if(n?.set)return n.set.call(e.c,r),!0;if(!e.i){let i=ze(T(e),t),s=i?.[l];if(s&&s.t===r)return e.e[t]=r,e.n.delete(t),!0;if(Le(r,i)&&(r!==void 0||$(e.t,t,e.r)))return!0;H(e),k(e)}return e.e[t]===r&&(r!==void 0||$(e.e,t,e.r))||Number.isNaN(r)&&Number.isNaN(e.e[t])||(e.e[t]=r,e.n.set(t,!0),te(e,t,r)),!0},deleteProperty(e,t){return H(e),ze(e.t,t)!==void 0||t in e.t?(e.n.set(t,!1),k(e)):e.n.delete(t),e.e&&delete e.e[t],!0},getOwnPropertyDescriptor(e,t){let r=T(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[ye]:!0,[Ie]:e.r!==1||t!=="length",[de]:n[de],[ie]:r[t]}},defineProperty(){D(11)},getPrototypeOf(e){return B(e.t)},setPrototypeOf(){D(12)}},xe={};for(let e in _e){let t=_e[e];xe[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}xe.deleteProperty=function(e,t){return xe.set.call(this,e,t,void 0)};xe.set=function(e,t,r){return _e.set.call(this,e[0],t,r,e[0])};function ze(e,t){let r=e[l];return(r?T(r):e)[t]}function at(e,t,r){return e.r!==1||!e.S||!E(r)||r[l]?!1:e.N.has(r)}function it(e,t,r){let n=qe(t,r);return n?ie in n?n[ie]:n.get?.call(e.c):void 0}function qe(e,t){if(!(t in e))return;let r=B(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=B(r)}}function k(e){e.i||(e.i=!0,e.o&&k(e.o))}function H(e){e.e||(e.n=new Map,e.e=me(e.t,e.a.l.T))}var Ee=class{constructor(t){this.h=!0;this.T=!1;this._=!1;this.produce=(t,r,n)=>{if(K(t)&&!K(r)){let s=r;r=t;let h=this;return function(C=s,...d){return h.produce(C,O=>r.call(this,O,...d))}}K(r)||D(6),n!==void 0&&!K(n)&&D(7);let i;if(E(t)){let s=Ne(this),h=re(s,t,void 0),y=!0;try{i=r(h),y=!1}finally{y?ge(s):be(s)}return Fe(s,n),Re(i,s)}else if(!t||!q(t)){if(i=r(t),i===void 0&&(i=t),i===J&&(i=void 0),this.h&&ce(i,!0),n){let s=[],h=[];W(Z).D(t,i,{y:s,d:h}),n(s,h)}return i}else D(1,t)};this.produceWithPatches=(t,r)=>{if(K(t))return(h,...y)=>this.produceWithPatches(h,C=>t(C,...y));let n,i;return[this.produce(t,r,(h,y)=>{n=h,i=y}),n,i]};Me(t?.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Me(t?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Me(t?.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){E(t)||D(8),w(t)&&(t=ke(t));let r=Ne(this),n=re(r,t,void 0);return n[l].m=!0,be(r),n}finishDraft(t,r){let n=t&&t[l];(!n||!n.m)&&D(9);let{a:i}=n;return Fe(i,r),Re(void 0,i)}setAutoFreeze(t){this.h=t}setUseStrictShallowCopy(t){this.T=t}setUseStrictIteration(t){this._=t}shouldUseStrictIteration(){return this._}applyPatches(t,r){let n;for(n=r.length-1;n>=0;n--){let s=r[n];if(s.path.length===0&&s.op==="replace"){t=s.value;break}}n>-1&&(r=r.slice(n+1));let i=W(Z).w;return w(t)?i(t,r):this.produce(t,s=>i(s,r))}};function re(e,t,r,n){let[i,s]=X(t)?W(Y).V(t,r):V(t)?W(Y).k(t,r):$e(t,r);return(r?.a??ee()).s.push(i),s.f=r?.f??[],s.p=n,r&&n!==void 0?Ge(r,s,n):s.f.push(function(C){C.b?.fixSetContents(s);let{g:d}=C;s.i&&d&&d.O(s,[],C)}),i}function ke(e){return w(e)||D(10,e),Ye(e)}function Ye(e){if(!E(e)||ue(e))return e;let t=e[l],r,n=!0;if(t){if(!t.i)return t.t;t.u=!0,r=me(e,t.a.l.T),n=t.a.l.shouldUseStrictIteration()}else r=me(e,!0);let i=r;return V(r)&&(r=new Set),L(i,(s,h)=>{se(r,s,Ye(h))},n),t&&(t.u=!1),r}function st(){function t(u,m=[]){if(u.p!==void 0){let S=u.o.e??u.o.t,A=we(U(S,u.p)),I=U(S,u.p);if(I===void 0||I!==u.c&&I!==u.e||A!=null&&A.t!==u.t)return null;let M=u.o.r===3,b;if(M){let a=u.o;b=Array.from(a.s.keys()).indexOf(u.p)}else b=u.p;if(!(M&&S.size>b||$(S,b))||u.o.r===1&&u.o.S)return null;m.push(b)}if(u.o)return t(u.o,m);m.reverse();try{r(u.e,m)}catch{return null}return m}function r(u,m){let S=u;for(let A=0;A<m.length-1;A++){let I=m[A];if(S=U(S,I),!q(S)||S===null)throw new Error(`Cannot resolve path at '${m.join("/")}'`)}return S}let n="replace",i="add",s="remove";function h(u,m,S){if(u.a.I.has(u))return;u.a.I.add(u);let{y:A,d:I}=S;switch(u.r){case 0:case 2:return C(u,m,A,I);case 1:return y(u,m,A,I);case 3:return d(u,m,A,I)}}function y(u,m,S,A){let{t:I,n:M}=u,b=u.e;b.length<I.length&&([I,b]=[b,I],[S,A]=[A,S]);let a=u.S===!0;for(let f=0;f<I.length;f++){let g=b[f],p=I[f];if((a||M?.get(f.toString()))&&g!==p){let _=g?.[l];if(_&&_.i)continue;let z=m.concat([f]);S.push({op:n,path:z,value:P(g)}),A.push({op:n,path:z,value:P(p)})}}for(let f=I.length;f<b.length;f++){let g=m.concat([f]);S.push({op:i,path:g,value:P(b[f])})}for(let f=b.length-1;I.length<=f;--f){let g=m.concat([f]);A.push({op:s,path:g})}}function C(u,m,S,A){let{t:I,e:M,r:b}=u;L(u.n,(a,f)=>{let g=U(I,a,b),p=U(M,a,b),x=f?$(I,a)?n:i:s;if(g===p&&x===n)return;let _=m.concat(a);S.push(x===s?{op:x,path:_}:{op:x,path:_,value:P(p)}),A.push(x===i?{op:s,path:_}:x===s?{op:i,path:_,value:P(g)}:{op:n,path:_,value:P(g)})})}function d(u,m,S,A){let{t:I,e:M}=u,b=0;I.forEach(a=>{if(!M.has(a)){let f=m.concat([b]);S.push({op:s,path:f,value:a}),A.unshift({op:i,path:f,value:a})}b++}),b=0,M.forEach(a=>{if(!I.has(a)){let f=m.concat([b]);S.push({op:i,path:f,value:a}),A.unshift({op:s,path:f,value:a})}b++})}function O(u,m,S){let{y:A,d:I}=S;A.push({op:n,path:[],value:m===J?void 0:m}),I.push({op:n,path:[],value:u})}function o(u,m){return m.forEach(S=>{let{path:A,op:I}=S,M=u;for(let g=0;g<A.length-1;g++){let p=v(M),x=A[g];typeof x!="string"&&typeof x!="number"&&(x=""+x),(p===0||p===1)&&(x==="__proto__"||x===oe)&&D(16+3),K(M)&&x===ae&&D(16+3),M=U(M,x),(M===null||!q(M))&&D(16+2,A.join("/"))}let b=v(M),a=c(S.value),f=A[A.length-1];switch(I){case n:switch(b){case 2:return M.set(f,a);case 3:D(16);default:return M[f]=a}case i:switch(b){case 1:return f==="-"?M.push(a):M.splice(f,0,a);case 2:return M.set(f,a);case 3:return M.add(a);default:return M[f]=a}case s:switch(b){case 1:return M.splice(f,1);case 2:return M.delete(f);case 3:return M.delete(S.value);default:return delete M[f]}default:D(16+1,I)}}),u}function c(u){if(!E(u))return u;if(Q(u))return u.map(c);if(X(u))return new Map(Array.from(u.entries()).map(([S,A])=>[S,c(A)]));if(V(u))return new Set(Array.from(u).map(c));let m=Object.create(B(u));for(let S in u)m[S]=c(u[S]);return $(u,G)&&(m[G]=u[G]),m}function P(u){return w(u)?c(u):u}fe(Z,{w:o,O:h,D:O,getPath:t})}var Je=globalThis.Iterator,ct=typeof Je?.from=="function";function ut(){class e extends Map{constructor(o,c){super();this[l]={r:2,o:c,a:c?c.a:ee(),i:!1,u:!1,e:void 0,n:void 0,t:o,c:this,m:!1,A:!1,f:[]}}get size(){let o=this[l];return y(o),T(o).size}has(o){let c=this[l];return y(c),T(c).has(o)}set(o,c){let P=this[l];return y(P),(!T(P).has(o)||T(P).get(o)!==c)&&(n(P),k(P),P.n.set(o,!0),P.e.set(o,c),P.n.set(o,!0),te(P,o,c)),this}delete(o){if(!this.has(o))return!1;let c=this[l];return y(c),n(c),k(c),c.t.has(o)?c.n.set(o,!1):c.n.delete(o),c.e.delete(o),!0}clear(){let o=this[l];y(o),T(o).size&&(n(o),k(o),o.n=new Map,L(o.t,c=>{o.n.set(c,!1)}),o.e.clear())}forEach(o,c){let P=this[l];y(P),n(P),T(P).forEach((u,m,S)=>{o.call(c,this.get(m),m,this)})}get(o){let c=this[l];y(c);let P=T(c).get(o);if(c.u||!E(P)||P!==c.t.get(o))return P;let u=re(c.a,P,c,o);return n(c),c.e.set(o,u),u}keys(){let o=this[l];return y(o),n(o),T(o).keys()}values(){let o=this.keys();return t({next:()=>{let c=o.next();return c.done?c:{done:!1,value:this.get(c.value)}}})}entries(){let o=this.keys();return t({next:()=>{let c=o.next();if(c.done)return c;let P=this.get(c.value);return{done:!1,value:[c.value,P]}}})}[(l,Symbol.iterator)](){return this.entries()}}function t(d){if(ct)return Je.from(d);let O={...d,[Symbol.iterator]:()=>O};return O}function r(d,O){let o=new e(d,O);return[o,o[l]]}function n(d){d.e||(d.n=new Map,d.e=new Map(d.t))}class i extends Set{constructor(o,c){super();this[l]={r:3,o:c,a:c?c.a:ee(),i:!1,u:!1,e:void 0,t:o,c:this,s:new Map,A:!1,m:!1,n:void 0,f:[]}}get size(){let o=this[l];return y(o),T(o).size}has(o){let c=this[l];return y(c),c.e?!!(c.e.has(o)||c.s.has(o)&&c.e.has(c.s.get(o))):c.t.has(o)}add(o){let c=this[l];return y(c),this.has(o)||(h(c),k(c),c.e.add(o),te(c,o,o)),this}delete(o){if(!this.has(o))return!1;let c=this[l];return y(c),h(c),k(c),c.e.delete(o)||(c.s.has(o)?c.e.delete(c.s.get(o)):!1)}clear(){let o=this[l];y(o),T(o).size&&(h(o),k(o),o.e.clear())}values(){let o=this[l];return y(o),h(o),o.e.values()}entries(){let o=this[l];return y(o),h(o),o.e.entries()}keys(){return this.values()}[(l,Symbol.iterator)](){return this.values()}forEach(o,c){let P=this.values(),u=P.next();for(;!u.done;)o.call(c,u.value,u.value,this),u=P.next()}}function s(d,O){let o=new i(d,O);return[o,o[l]]}function h(d){d.e||(d.e=new Set,d.t.forEach(O=>{if(E(O)){let o=re(d.a,O,d,O);d.s.set(O,o),d.e.add(o)}else d.e.add(O)}))}function y(d){d.A&&D(3,JSON.stringify(T(d)))}function C(d){if(d.r===3&&d.e){let O=new Set(d.e);d.e.clear(),O.forEach(o=>{d.e.add(Ve(o))})}}fe(Y,{V:r,k:s,fixSetContents:C})}function ft(){let e=new Set(["shift","unshift"]),t=new Set(["push","pop"]),r=new Set([...t,...e]),n=new Set(["reverse","sort"]),i=new Set([...r,...n,"splice"]),s=new Set(["find","findLast"]),h=new Set(["filter","slice","concat","flat",...s,"findIndex","findLastIndex","some","every","indexOf","lastIndexOf","includes","join","toString","toLocaleString"]);function y(a){return i.has(a)}function C(a){return h.has(a)}function d(a){return y(a)||C(a)}function O(a,f){a.operationMethod=f}function o(a){a.operationMethod=void 0}function c(a,f,g=!0){H(a);let p=f();return P(a,g),p}function P(a,f=!0){k(a),f&&a.n.set("length",!0)}function u(a){a.S=!0,a.N=new Set(a.t)}function m(a,f){return a<0?Math.max(f+a,0):Math.min(a,f)}function S(a,f,g){for(let p=0;p<g.length;p++){let x=""+(f+p);a.n.set(x,!0),te(a,x,g[p])}}function A(a,f,g){let p=f==="push"||f==="unshift";if(p?g.length===0:T(a).length===0)return p?T(a).length:void 0;H(a);let x=a.e.length,_=a.e[f](...g);return P(a),e.has(f)&&u(a),f==="push"?S(a,x,g):f==="unshift"&&S(a,0,g),r.has(f)?_:a.c}function I(a,f,g){return T(a).length<=1?a.c:c(a,()=>(a.e[f](...g),u(a),a.c),!1)}function M(a,f){return function(...p){let x=f;O(a,x);try{if(y(x)){if(r.has(x))return A(a,x,p);if(n.has(x))return I(a,x,p);if(x==="splice"){let _=p.length>2?p.length-2:0;if(_===0){let F=T(a).length;if(p.length===0||m(p[0]??0,F)===F||p.length>1&&!(p[1]>=1))return[]}H(a);let z=a.e.length,j=a.e.splice(...p);if(j.length===0&&_===0)return j;if(P(a),u(a),_>0){let F=m(p[0]??0,z);S(a,F,p.slice(2))}return j}}else return b(a,x,p)}finally{o(a)}}}function b(a,f,g){let p=T(a);if(f==="filter"){let x=g[0],_=g[1],z=[],j=p.length;for(let F=0;F<j;F++)x.call(_,p[F],F,p)&&z.push(a.c[F]);return z}if(s.has(f)){let x=g[0],_=g[1],z=p.length,j=f==="find",F=j?1:-1,le=j?0:z-1;for(let ne=le;ne>=0&&ne<z;ne+=F)if(x.call(_,p[ne],ne,p))return a.c[ne];return}if(f==="slice"){let x=g[0]??0,_=g[1]??p.length,z=m(x,p.length),j=m(_,p.length),F=[];for(let le=z;le<j;le++)F.push(a.c[le]);return F}return p[f](...g)}fe(Se,{createMethodInterceptor:M,isArrayOperationMethod:d,isMutatingArrayMethod:y})}var N=new Ee,Zr=N.produce,en=N.produceWithPatches.bind(N),tn=N.setAutoFreeze.bind(N),rn=N.setUseStrictShallowCopy.bind(N),nn=N.setUseStrictIteration.bind(N),on=N.applyPatches.bind(N),an=N.createDraft.bind(N),sn=N.finishDraft.bind(N),cn=e=>e,un=e=>e;export{Ee as Immer,on as applyPatches,cn as castDraft,un as castImmutable,an as createDraft,ke as current,ft as enableArrayMethods,ut as enableMapSet,st as enablePatches,sn as finishDraft,ce as freeze,G as immerable,w as isDraft,E as isDraftable,Qe as isModified,J as nothing,Ze as original,Zr as produce,en as produceWithPatches,tn as setAutoFreeze,nn as setUseStrictIteration,rn as setUseStrictShallowCopy}; //# sourceMappingURL=immer.production.mjs.map