UNPKG

immer

Version:

Create your next immutable state by mutating the current one

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