UNPKG

immer

Version:

Create your next immutable state by mutating the current one

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