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