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