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