@@ -187,3 +187,3 @@ "use strict"; | ||
| const proxyDraft = getProxyDraft(value); | ||
| return proxyDraft ? proxyDraft.copy_ ?? proxyDraft.base_ : value; | ||
| return proxyDraft ? getFinalValue(proxyDraft) : value; | ||
| }; | ||
@@ -1557,6 +1557,9 @@ var getFinalValue = (state) => state.modified_ ? state.copy_ : state.base_; | ||
| const result = operation(); | ||
| markArrayChanged(state, markLength); | ||
| return result; | ||
| } | ||
| function markArrayChanged(state, markLength = true) { | ||
| markChanged(state); | ||
| if (markLength) | ||
| state.assigned_.set("length", true); | ||
| return result; | ||
| } | ||
@@ -1581,17 +1584,23 @@ function markAllIndicesReassigned(state) { | ||
| function handleSimpleOperation(state, method, args) { | ||
| return executeArrayMethod(state, () => { | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push" && args.length > 0) { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift" && args.length > 0) { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| }); | ||
| const isInsert = method === "push" || method === "unshift"; | ||
| if (isInsert ? args.length === 0 : latest(state).length === 0) { | ||
| return isInsert ? latest(state).length : void 0; | ||
| } | ||
| prepareCopy(state); | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| markArrayChanged(state); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push") { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift") { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| } | ||
| function handleReorderingOperation(state, method, args) { | ||
| if (latest(state).length <= 1) | ||
| return state.draft_; | ||
| return executeArrayMethod( | ||
@@ -1621,8 +1630,19 @@ state, | ||
| if (method === "splice") { | ||
| const res = executeArrayMethod( | ||
| state, | ||
| () => state.copy_.splice(...args) | ||
| const insertCount = args.length > 2 ? args.length - 2 : 0; | ||
| if (insertCount === 0) { | ||
| const length = latest(state).length; | ||
| if (args.length === 0 || normalizeSliceIndex(args[0] ?? 0, length) === length || args.length > 1 && !(args[1] >= 1)) { | ||
| return []; | ||
| } | ||
| } | ||
| prepareCopy(state); | ||
| const res = state.copy_.splice( | ||
| ...args | ||
| ); | ||
| if (res.length === 0 && insertCount === 0) { | ||
| return res; | ||
| } | ||
| markArrayChanged(state); | ||
| markAllIndicesReassigned(state); | ||
| if (args.length > 2) { | ||
| if (insertCount > 0) { | ||
| const startIndex = normalizeSliceIndex( | ||
@@ -1629,0 +1649,0 @@ args[0] ?? 0, |
@@ -1,2 +0,2 @@ | ||
| "use strict";var Ee=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var rt=(e,t)=>{for(var r in t)Ee(e,r,{get:t[r],enumerable:!0})},nt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of et(t))!tt.call(e,o)&&o!==r&&Ee(e,o,{get:()=>t[o],enumerable:!(n=Ze(t,o))||n.enumerable});return e};var ot=e=>nt(Ee({},"__esModule",{value:!0}),e);var Tt={};rt(Tt,{Immer:()=>Se,applyPatches:()=>Pt,castDraft:()=>At,castImmutable:()=>It,createDraft:()=>gt,current:()=>Oe,enableArrayMethods:()=>Xe,enableMapSet:()=>Qe,enablePatches:()=>Je,finishDraft:()=>xt,freeze:()=>J,immerable:()=>j,isDraft:()=>w,isDraftable:()=>_,nothing:()=>K,original:()=>je,produce:()=>dt,produceWithPatches:()=>pt,setAutoFreeze:()=>ht,setUseStrictIteration:()=>St,setUseStrictShallowCopy:()=>mt});module.exports=ot(Tt);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,ne="constructor",oe="prototype",ge="configurable",fe="enumerable",ue="writable",ae="value",w=e=>!!e&&!!e[y];function _(e){return e?Ue(e)||$(e)||!!e[j]||!!e[ne]?.[j]||q(e)||Y(e):!1}var at=C[oe][ne].toString(),ke=new WeakMap;function Ue(e){if(!e||!G(e))return!1;let t=L(e);if(t===null||t===C[oe])return!0;let r=C.hasOwnProperty.call(t,ne)&&t[ne];if(r===Object)return!0;if(!V(r))return!1;let n=ke.get(r);return n===void 0&&(n=Function.toString.call(r),ke.set(r,n)),n===at}function je(e){return w(e)||b(15,e),e[y].t}function k(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 W=(e,t,r=H(e))=>r===2?e.has(t):C[oe].hasOwnProperty.call(e,t),z=(e,t,r=H(e))=>r===2?e.get(t):e[t],ie=(e,t,r,n=H(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function Le(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,G=e=>typeof e=="object",V=e=>typeof e=="function",xe=e=>typeof e=="boolean";function Ve(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var we=e=>G(e)?e?.[y]:null,O=e=>e.e||e.t,Be=e=>{let t=we(e);return t?t.e??t.t:e},Ae=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[oe].slice.call(e);let r=Ue(e);if(t===!0||t==="class_only"&&!r){let n=C.getOwnPropertyDescriptors(e);delete n[y];let o=Reflect.ownKeys(n);for(let s=0;s<o.length;s++){let m=o[s],h=n[m];h[ue]===!1&&(h[ue]=!0,h[ge]=!0),(h.get||h.set)&&(n[m]={[ge]:!0,[ue]:!0,[fe]:h[fe],[ae]:e[m]})}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 se(e)||w(e)||!_(e)||(H(e)>1&&C.defineProperties(e,{set:Pe,add:Pe,clear:Pe,delete:Pe}),C.freeze(e),t&&k(e,(r,n)=>{J(n,!0)},!1)),e}function it(){b(2)}var Pe={[ae]:it};function se(e){return e===null||!G(e)?!0:C.isFrozen(e)}var v="MapSet",Q="Patches",de="ArrayMethods",Ie={};function B(e){let t=Ie[e];return t||b(0,e),t}var Fe=e=>!!Ie[e];function ce(e,t){Ie[e]||(Ie[e]=t)}var pe,X=()=>pe,st=(e,t)=>({o:[],i:e,l:t,F:!0,m:0,P:new Set,I:new Set,b:Fe(v)?B(v):void 0,E:Fe(de)?B(de):void 0});function Re(e,t){t&&(e.x=B(Q),e.y=[],e.d=[],e.C=t)}function he(e){Te(e),e.o.forEach(ct),e.o=null}function Te(e){e===pe&&(pe=e.i)}var Ce=e=>pe=st(pe,e);function ct(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].s&&(he(t),b(4)),_(e)&&(e=Ke(t,e));let{x:o}=t;o&&o.D(r[y].t,e,t)}else e=Ke(t,r);return ut(t,e,!0),he(t),t.y&&t.C(t.y,t.d),e!==K?e:void 0}function Ke(e,t){if(se(t))return t;let r=t[y];if(!r)return Me(t,e.P,e);if(!be(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 ut(e,t,r=!1){!e.i&&e.l.h&&e.F&&J(t,r)}function He(e){e.u=!0,e.a.m--}var be=(e,t)=>e.a===t,ft=[];function We(e,t,r,n){let o=O(e),s=e.r;if(n!==void 0&&z(o,n,s)===t){ie(o,n,r,s);return}if(!e.R){let h=e.R=new Map;k(o,(F,d)=>{if(w(d)){let D=h.get(d)||[];D.push(F),h.set(d,D)}})}let m=e.R.get(t)??ft;for(let h of m)ie(o,h,r,s)}function Ge(e,t,r){e.f.push(function(o){let s=t;if(!s||!be(s,o))return;o.b?.fixSetContents(s);let m=Ae(s);We(e,s.c??s,m,r),ve(s,o)})}function ve(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 o=n.getPath(e);o&&n.O(e,o,t)}He(e)}}function Z(e,t,r){let{a:n}=e;if(w(r)){let o=r[y];be(o,n)&&o.f.push(function(){ee(e);let m=Ae(o);We(e,r,m,t)})}else _(r)&&e.f.push(function(){let s=O(e);e.r===3?s.has(r)&&Me(r,n.P,n):z(s,t,e.r)===r&&n.o.length>1&&(e.n.get(t)??!1)===!0&&e.e&&Me(z(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)||!_(e)||se(e)||(t.add(e),k(e,(n,o)=>{if(w(o)){let s=o[y];if(be(s,r)){let m=Ae(s);ie(e,n,m,e.r),He(s)}}else _(o)&&Me(o,t,r)})),e}function $e(e,t){let r=$(e),n={r:r?1:0,a:t?t.a:X(),s:!1,u:!1,n:void 0,i:t,t:e,c:null,e:null,M:null,S:!1,f:void 0},o=n,s=De;r&&(o=[n],s=me);let{revoke:m,proxy:h}=Proxy.revocable(o,s);return n.c=h,n.M=m,[h,n]}var De={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 o=O(e);if(!W(o,t,e.r))return yt(e,o,t);let s=o[t];if(e.u||!_(s)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&Ve(t))return s;if(s===ze(e.t,t)||lt(e,t,s)){ee(e);let m=e.r===1?+t:t,h=te(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=qe(O(e),t);if(n?.set)return n.set.call(e.c,r),!0;if(!e.s){let o=ze(O(e),t),s=o?.[y];if(s&&s.t===r)return e.e[t]=r,e.n.set(t,!1),!0;if(Le(r,o)&&(r!==void 0||W(e.t,t,e.r)))return!0;ee(e),N(e)}return e.e[t]===r&&(r!==void 0||W(e.e,t,e.r))||Number.isNaN(r)&&Number.isNaN(e.e[t])||(e.e[t]=r,e.n.set(t,!0),Z(e,t,r)),!0},deleteProperty(e,t){return ee(e),ze(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,[ge]:e.r!==1||t!=="length",[fe]:n[fe],[ae]:r[t]}},defineProperty(){b(11)},getPrototypeOf(e){return L(e.t)},setPrototypeOf(){b(12)}},me={};for(let e in De){let t=De[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 De.set.call(this,e[0],t,r,e[0])};function ze(e,t){let r=e[y];return(r?O(r):e)[t]}function lt(e,t,r){return e.r!==1||!e.T||e.n?.get(t)||!_(r)||r[y]?!1:e.N.has(r)}function yt(e,t,r){let n=qe(t,r);return n?ae in n?n[ae]:n.get?.call(e.c):void 0}function qe(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 N(e){e.s||(e.s=!0,e.i&&N(e.i))}function ee(e){e.e||(e.n=new Map,e.e=ye(e.t,e.a.l.A))}var Se=class{constructor(t){this.h=!0;this.A=!1;this._=!1;this.produce=(t,r,n)=>{if(V(t)&&!V(r)){let s=r;r=t;let m=this;return function(F=s,...d){return m.produce(F,D=>r.call(this,D,...d))}}V(r)||b(6),n!==void 0&&!V(n)&&b(7);let o;if(_(t)){let s=Ce(this),m=te(s,t,void 0),h=!0;try{o=r(m),h=!1}finally{h?he(s):Te(s)}return Re(s,n),Ne(o,s)}else if(!t||!G(t)){if(o=r(t),o===void 0&&(o=t),o===K&&(o=void 0),this.h&&J(o,!0),n){let s=[],m=[];B(Q).D(t,o,{y:s,d:m}),n(s,m)}return o}else b(1,t)};this.produceWithPatches=(t,r)=>{if(V(t))return(m,...h)=>this.produceWithPatches(m,F=>t(F,...h));let n,o;return[this.produce(t,r,(m,h)=>{n=m,o=h}),n,o]};xe(t?.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),xe(t?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),xe(t?.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){_(t)||b(8),w(t)&&(t=Oe(t));let r=Ce(this),n=te(r,t,void 0);return n[y].S=!0,Te(r),n}finishDraft(t,r){let n=t&&t[y];(!n||!n.S)&&b(9);let{a:o}=n;return Re(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 s=r[n];if(s.path.length===0&&s.op==="replace"){t=s.value;break}}n>-1&&(r=r.slice(n+1));let o=B(Q).w;return w(t)?o(t,r):this.produce(t,s=>o(s,r))}};function te(e,t,r,n){let[o,s]=q(t)?B(v).V(t,r):Y(t)?B(v).k(t,r):$e(t,r);return(r?.a??X()).o.push(o),s.f=r?.f??[],s.p=n,r&&n!==void 0?Ge(r,s,n):s.f.push(function(F){F.b?.fixSetContents(s);let{x:d}=F;s.s&&d&&d.O(s,[],F)}),o}function Oe(e){return w(e)||b(10,e),Ye(e)}function Ye(e){if(!_(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,(o,s)=>{ie(r,o,Ye(s))},n),t&&(t.u=!1),r}function Je(){function t(u,S=[]){if(u.p!==void 0){let P=u.i.e??u.i.t,x=we(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||W(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),!G(P)||P===null)throw new Error(`Cannot resolve path at '${S.join("/")}'`)}return P}let n="replace",o="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 F(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 E=p?.[y];if(E&&E.s)continue;let re=S.concat([f]);P.push({op:n,path:re,value:g(p)}),x.push({op:n,path:re,value:g(T)})}}for(let f=A.length;f<i.length;f++){let p=S.concat([f]);P.push({op:o,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 F(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?W(A,l)?n:o:s;if(p===T&&M===n)return;let E=S.concat(l);P.push(M===s?{op:M,path:E}:{op:M,path:E,value:g(T)}),x.push(M===o?{op:s,path:E}:M===s?{op:o,path:E,value:g(p)}:{op:n,path:E,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:o,path:f,value:l})}i++}),i=0,I.forEach(l=>{if(!A.has(l)){let f=S.concat([i]);P.push({op:o,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===K?void 0:S}),A.push({op:n,path:[],value:u})}function a(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=H(I),M=x[p];typeof M!="string"&&typeof M!="number"&&(M=""+M),(T===0||T===1)&&(M==="__proto__"||M===ne)&&b(16+3),V(I)&&M===oe&&b(16+3),I=z(I,M),(I===null||!G(I))&&b(16+2,x.join("/"))}let i=H(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 o: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(!_(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(L(u));for(let P in u)S[P]=c(u[P]);return W(u,j)&&(S[j]=u[j]),S}function g(u){return w(u)?c(u):u}ce(Q,{w:a,O:m,D,getPath:t})}function Qe(){class e extends Map{constructor(a,c){super();this[y]={r:2,i:c,a:c?c.a:X(),s:!1,u:!1,e:void 0,n: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 g=this[y];return h(g),(!O(g).has(a)||O(g).get(a)!==c)&&(n(g),N(g),g.n.set(a,!0),g.e.set(a,c),g.n.set(a,!0),Z(g,a,c)),this}delete(a){if(!this.has(a))return!1;let c=this[y];return h(c),n(c),N(c),c.t.has(a)?c.n.set(a,!1):c.n.delete(a),c.e.delete(a),!0}clear(){let a=this[y];h(a),O(a).size&&(n(a),N(a),a.n=new Map,k(a.t,c=>{a.n.set(c,!1)}),a.e.clear())}forEach(a,c){let g=this[y];O(g).forEach((u,S,P)=>{a.call(c,this.get(S),S,this)})}get(a){let c=this[y];h(c);let g=O(c).get(a);if(c.u||!_(g)||g!==c.t.get(a))return g;let u=te(c.a,g,c,a);return n(c),c.e.set(a,u),u}keys(){return O(this[y]).keys()}values(){let a=this.keys();return t({next:()=>{let c=a.next();return c.done?c:{done:!1,value:this.get(c.value)}}})}entries(){let a=this.keys();return t({next:()=>{let c=a.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 a=new e(d,D);return[a,a[y]]}function n(d){d.e||(d.n=new Map,d.e=new Map(d.t))}class o extends Set{constructor(a,c){super();this[y]={r:3,i:c,a:c?c.a:X(),s:!1,u:!1,e:void 0,t:a,c:this,o:new Map,g:!1,S:!1,n:void 0,f:[]}}get size(){return O(this[y]).size}has(a){let c=this[y];return h(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 h(c),this.has(a)||(m(c),N(c),c.e.add(a),Z(c,a,a)),this}delete(a){if(!this.has(a))return!1;let c=this[y];return h(c),m(c),N(c),c.e.delete(a)||(c.o.has(a)?c.e.delete(c.o.get(a)):!1)}clear(){let a=this[y];h(a),O(a).size&&(m(a),N(a),a.e.clear())}values(){let a=this[y];return h(a),m(a),a.e.values()}entries(){let a=this[y];return h(a),m(a),a.e.entries()}keys(){return this.values()}[(y,Symbol.iterator)](){return this.values()}forEach(a,c){let g=this.values(),u=g.next();for(;!u.done;)a.call(c,u.value,u.value,this),u=g.next()}}function s(d,D){let a=new o(d,D);return[a,a[y]]}function m(d){d.e||(d.e=new Set,d.t.forEach(D=>{if(_(D)){let a=te(d.a,D,d,D);d.o.set(D,a),d.e.add(a)}else d.e.add(D)}))}function h(d){d.g&&b(3,JSON.stringify(O(d)))}function F(d){if(d.r===3&&d.e){let D=new Set(d.e);d.e.clear(),D.forEach(a=>{d.e.add(Be(a))})}}ce(v,{V:r,k:s,fixSetContents:F})}function Xe(){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"]),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 o.has(i)}function F(i){return m.has(i)}function d(i){return h(i)||F(i)}function D(i,l){i.operationMethod=l}function a(i){i.operationMethod=void 0}function c(i,l,f=!0){ee(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),Z(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 E=u(p[0]??0,i.e.length);S(i,E,p.slice(2))}return M}}else return I(i,T,p)}finally{a(i)}}}function I(i,l,f){let p=O(i);if(l==="filter"){let T=f[0],M=[];for(let E=0;E<p.length;E++)T(p[E],E,p)&&M.push(i.c[E]);return M}if(s.has(l)){let T=f[0],M=l==="find",E=M?1:-1,re=M?0:p.length-1;for(let U=re;U>=0&&U<p.length;U+=E)if(T(p[U],U,p))return i.c[U];return}if(l==="slice"){let T=f[0]??0,M=f[1]??p.length,E=u(T,p.length),re=u(M,p.length),U=[];for(let _e=E;_e<re;_e++)U.push(i.c[_e]);return U}return p[l](...f)}ce(de,{createMethodInterceptor:A,isArrayOperationMethod:d,isMutatingArrayMethod:h})}var R=new Se,dt=R.produce,pt=R.produceWithPatches.bind(R),ht=R.setAutoFreeze.bind(R),mt=R.setUseStrictShallowCopy.bind(R),St=R.setUseStrictIteration.bind(R),Pt=R.applyPatches.bind(R),gt=R.createDraft.bind(R),xt=R.finishDraft.bind(R),At=e=>e,It=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}); | ||
| "use strict";var we=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.prototype.hasOwnProperty;var nt=(e,t)=>{for(var r in t)we(e,r,{get:t[r],enumerable:!0})},ot=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tt(t))!rt.call(e,o)&&o!==r&&we(e,o,{get:()=>t[o],enumerable:!(n=et(t,o))||n.enumerable});return e};var at=e=>ot(we({},"__esModule",{value:!0}),e);var Mt={};nt(Mt,{Immer:()=>ge,applyPatches:()=>gt,castDraft:()=>It,castImmutable:()=>Tt,createDraft:()=>xt,current:()=>_e,enableArrayMethods:()=>Ze,enableMapSet:()=>Xe,enablePatches:()=>Qe,finishDraft:()=>At,freeze:()=>Z,immerable:()=>L,isDraft:()=>C,isDraftable:()=>E,nothing:()=>G,original:()=>Le,produce:()=>pt,produceWithPatches:()=>ht,setAutoFreeze:()=>mt,setUseStrictIteration:()=>Pt,setUseStrictShallowCopy:()=>St});module.exports=at(Mt);var G=Symbol.for("immer-nothing"),L=Symbol.for("immer-draftable"),l=Symbol.for("immer-state");function D(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var N=Object,V=N.getPrototypeOf,oe="constructor",ae="prototype",Ae="configurable",le="enumerable",fe="writable",ie="value",C=e=>!!e&&!!e[l];function E(e){return e?je(e)||J(e)||!!e[L]||!!e[oe]?.[L]||Q(e)||X(e):!1}var it=N[ae][oe].toString(),Ue=new WeakMap;function je(e){if(!e||!q(e))return!1;let t=V(e);if(t===null||t===N[ae])return!0;let r=N.hasOwnProperty.call(t,oe)&&t[oe];if(r===Object)return!0;if(!B(r))return!1;let n=Ue.get(r);return n===void 0&&(n=Function.toString.call(r),Ue.set(r,n)),n===it}function Le(e){return C(e)||D(15,e),e[l].t}function U(e,t,r=!0){v(e)===0?(r?Reflect.ownKeys(e):N.keys(e)).forEach(o=>{t(o,e[o],e)}):e.forEach((n,o)=>t(o,n,e))}function v(e){let t=e[l];return t?t.r:J(e)?1:Q(e)?2:X(e)?3:0}var $=(e,t,r=v(e))=>r===2?e.has(t):N[ae].hasOwnProperty.call(e,t),k=(e,t,r=v(e))=>r===2?e.get(t):e[t],se=(e,t,r,n=v(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function Ve(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,q=e=>typeof e=="object",B=e=>typeof e=="function",Ie=e=>typeof e=="boolean";function Be(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ce=e=>q(e)?e?.[l]:null,M=e=>e.e||e.t,Ke=e=>{let t=Ce(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[ae].slice.call(e);let r=je(e);if(t===!0||t==="class_only"&&!r){let n=N.getOwnPropertyDescriptors(e);delete n[l];let o=Reflect.ownKeys(n);for(let s=0;s<o.length;s++){let S=o[s],d=n[S];d[fe]===!1&&(d[fe]=!0,d[Ae]=!0),(d.get||d.set)&&(n[S]={[Ae]:!0,[fe]:!0,[le]:d[le],[ie]:e[S]})}return N.create(V(e),n)}else{let n=V(e);if(n!==null&&r)return{...e};let o=N.create(n);return N.assign(o,e)}}function Z(e,t=!1){return ce(e)||C(e)||!E(e)||(v(e)>1&&N.defineProperties(e,{set:xe,add:xe,clear:xe,delete:xe}),N.freeze(e),t&&U(e,(r,n)=>{Z(n,!0)},!1)),e}function st(){D(2)}var xe={[ie]:st};function ce(e){return e===null||!q(e)?!0:N.isFrozen(e)}var Y="MapSet",ee="Patches",he="ArrayMethods",Te={};function K(e){let t=Te[e];return t||D(0,e),t}var Fe=e=>!!Te[e];function ue(e,t){Te[e]||(Te[e]=t)}var me,te=()=>me,ct=(e,t)=>({o:[],i:e,l:t,F:!0,m:0,P:new Set,I:new Set,b:Fe(Y)?K(Y):void 0,C:Fe(he)?K(he):void 0});function Re(e,t){t&&(e.x=K(ee),e.y=[],e.d=[],e.E=t)}function Se(e){Me(e),e.o.forEach(ut),e.o=null}function Me(e){e===me&&(me=e.i)}var Ne=e=>me=ct(me,e);function ut(e){let t=e[l];t.r===0||t.r===1?t.M():t.g=!0}function ze(e,t){t.m=t.o.length;let r=t.o[0];if(e!==void 0&&e!==r){r[l].c&&(Se(t),D(4)),E(e)&&(e=He(t,e));let{x:o}=t;o&&o.D(r[l].t,e,t)}else e=He(t,r);return ft(t,e,!0),Se(t),t.y&&t.E(t.y,t.d),e!==G?e:void 0}function He(e,t){if(ce(t))return t;let r=t[l];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);$e(r,e)}return r.e}function ft(e,t,r=!1){!e.i&&e.l.h&&e.F&&Z(t,r)}function We(e){e.u=!0,e.a.m--}var De=(e,t)=>e.a===t,lt=[];function Ge(e,t,r,n){let o=M(e),s=e.r;if(n!==void 0&&k(o,n,s)===t){se(o,n,r,s);return}if(!e.R){let d=e.R=new Map;U(o,(F,y)=>{if(C(y)){let O=d.get(y)||[];O.push(F),d.set(y,O)}})}let S=e.R.get(t)??lt;for(let d of S)se(o,d,r,s)}function ve(e,t,r){e.f.push(function(o){let s=t;if(!s||!De(s,o))return;o.b?.fixSetContents(s);let S=de(s);Ge(e,s.s??s,S,r),$e(s,o)})}function $e(e,t){if(e.c&&!e.u&&(e.r===3||e.r===1&&e.T||(e.n?.size??0)>0)){let{x:n}=t;if(n){let o=n.getPath(e);o&&n.O(e,o,t)}We(e)}}function re(e,t,r){let{a:n}=e;if(C(r)){let o=r[l];De(o,n)&&o.f.push(function(){H(e);let S=de(o);Ge(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):k(s,t,e.r)===r&&n.o.length>1&&(e.n.get(t)??!1)===!0&&e.e&&be(k(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),U(e,(n,o)=>{if(C(o)){let s=o[l];if(De(s,r)){let S=de(s);se(e,n,S,e.r),We(s)}}else E(o)&&be(o,t,r)})),e}function qe(e,t){let r=J(e),n={r:r?1:0,a:t?t.a:te(),c:!1,u:!1,n:void 0,i:t,t:e,s:null,e:null,M:null,S:!1,f:void 0},o=n,s=Oe;r&&(o=[n],s=Pe);let{revoke:S,proxy:d}=Proxy.revocable(o,s);return n.s=d,n.M=S,[d,n]}var Oe={get(e,t){if(t===l)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 o=M(e);if(!$(o,t,e.r))return dt(e,o,t);let s=o[t];if(e.u||!E(s)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&Be(t))return s;if(s===ke(e.t,t)||yt(e,t,s)){H(e);let S=e.r===1?+t:t,d=ne(e.a,s,e,S);return e.e[S]=d}return s},has(e,t){return t in M(e)},ownKeys(e){return Reflect.ownKeys(M(e))},set(e,t,r){let n=Ye(M(e),t);if(n?.set)return n.set.call(e.s,r),!0;if(!e.c){let o=ke(M(e),t),s=o?.[l];if(s&&s.t===r)return e.e[t]=r,e.n.set(t,!1),!0;if(Ve(r,o)&&(r!==void 0||$(e.t,t,e.r)))return!0;H(e),z(e)}return e.e[t]===r&&(r!==void 0||$(e.e,t,e.r))||Number.isNaN(r)&&Number.isNaN(e.e[t])||(e.e[t]=r,e.n.set(t,!0),re(e,t,r)),!0},deleteProperty(e,t){return H(e),ke(e.t,t)!==void 0||t in e.t?(e.n.set(t,!1),z(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],[ie]: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 ke(e,t){let r=e[l];return(r?M(r):e)[t]}function yt(e,t,r){return e.r!==1||!e.T||e.n?.get(t)||!E(r)||r[l]?!1:e.N.has(r)}function dt(e,t,r){let n=Ye(t,r);return n?ie in n?n[ie]:n.get?.call(e.s):void 0}function Ye(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 z(e){e.c||(e.c=!0,e.i&&z(e.i))}function H(e){e.e||(e.n=new Map,e.e=pe(e.t,e.a.l.A))}var ge=class{constructor(t){this.h=!0;this.A=!1;this._=!1;this.produce=(t,r,n)=>{if(B(t)&&!B(r)){let s=r;r=t;let S=this;return function(F=s,...y){return S.produce(F,O=>r.call(this,O,...y))}}B(r)||D(6),n!==void 0&&!B(n)&&D(7);let o;if(E(t)){let s=Ne(this),S=ne(s,t,void 0),d=!0;try{o=r(S),d=!1}finally{d?Se(s):Me(s)}return Re(s,n),ze(o,s)}else if(!t||!q(t)){if(o=r(t),o===void 0&&(o=t),o===G&&(o=void 0),this.h&&Z(o,!0),n){let s=[],S=[];K(ee).D(t,o,{y:s,d:S}),n(s,S)}return o}else D(1,t)};this.produceWithPatches=(t,r)=>{if(B(t))return(S,...d)=>this.produceWithPatches(S,F=>t(F,...d));let n,o;return[this.produce(t,r,(S,d)=>{n=S,o=d}),n,o]};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=_e(t));let r=Ne(this),n=ne(r,t,void 0);return n[l].S=!0,Me(r),n}finishDraft(t,r){let n=t&&t[l];(!n||!n.S)&&D(9);let{a:o}=n;return Re(o,r),ze(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 s=r[n];if(s.path.length===0&&s.op==="replace"){t=s.value;break}}n>-1&&(r=r.slice(n+1));let o=K(ee).w;return C(t)?o(t,r):this.produce(t,s=>o(s,r))}};function ne(e,t,r,n){let[o,s]=Q(t)?K(Y).V(t,r):X(t)?K(Y).k(t,r):qe(t,r);return(r?.a??te()).o.push(o),s.f=r?.f??[],s.p=n,r&&n!==void 0?ve(r,s,n):s.f.push(function(F){F.b?.fixSetContents(s);let{x:y}=F;s.c&&y&&y.O(s,[],F)}),o}function _e(e){return C(e)||D(10,e),Je(e)}function Je(e){if(!E(e)||ce(e))return e;let t=e[l],r,n=!0;if(t){if(!t.c)return t.t;t.u=!0,r=pe(e,t.a.l.A),n=t.a.l.shouldUseStrictIteration()}else r=pe(e,!0);return U(r,(o,s)=>{se(r,o,Je(s))},n),t&&(t.u=!1),r}function Qe(){function t(u,h=[]){if(u.p!==void 0){let m=u.i.e??u.i.t,A=Ce(k(m,u.p)),I=k(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||$(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=k(m,I),!q(m)||m===null)throw new Error(`Cannot resolve path at '${h.join("/")}'`)}return m}let n="replace",o="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 F(u,h,A,I);case 1:return d(u,h,A,I);case 3:return y(u,h,A,I)}}function d(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.T===!0;for(let f=0;f<I.length;f++){let x=b[f],p=I[f];if((a||T?.get(f.toString()))&&x!==p){let _=x?.[l];if(_&&_.c)continue;let w=h.concat([f]);m.push({op:n,path:w,value:g(x)}),A.push({op:n,path:w,value:g(p)})}}for(let f=I.length;f<b.length;f++){let x=h.concat([f]);m.push({op:o,path:x,value:g(b[f])})}for(let f=b.length-1;I.length<=f;--f){let x=h.concat([f]);A.push({op:s,path:x})}}function F(u,h,m,A){let{t:I,e:T,r:b}=u;U(u.n,(a,f)=>{let x=k(I,a,b),p=k(T,a,b),P=f?$(I,a)?n:o:s;if(x===p&&P===n)return;let _=h.concat(a);m.push(P===s?{op:P,path:_}:{op:P,path:_,value:g(p)}),A.push(P===o?{op:s,path:_}:P===s?{op:o,path:_,value:g(x)}:{op:n,path:_,value:g(x)})})}function y(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:o,path:f,value:a})}b++}),b=0,T.forEach(a=>{if(!I.has(a)){let f=h.concat([b]);m.push({op:o,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===G?void 0:h}),I.push({op:n,path:[],value:u})}function i(u,h){return h.forEach(m=>{let{path:A,op:I}=m,T=u;for(let x=0;x<A.length-1;x++){let p=v(T),P=A[x];typeof P!="string"&&typeof P!="number"&&(P=""+P),(p===0||p===1)&&(P==="__proto__"||P===oe)&&D(16+3),B(T)&&P===ae&&D(16+3),T=k(T,P),(T===null||!q(T))&&D(16+2,A.join("/"))}let b=v(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 o: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 $(u,L)&&(h[L]=u[L]),h}function g(u){return C(u)?c(u):u}ue(ee,{w:i,O:S,D:O,getPath:t})}function Xe(){class e extends Map{constructor(i,c){super();this[l]={r:2,i:c,a:c?c.a:te(),c:!1,u:!1,e:void 0,n:void 0,t:i,s:this,S:!1,g:!1,f:[]}}get size(){return M(this[l]).size}has(i){return M(this[l]).has(i)}set(i,c){let g=this[l];return d(g),(!M(g).has(i)||M(g).get(i)!==c)&&(n(g),z(g),g.n.set(i,!0),g.e.set(i,c),g.n.set(i,!0),re(g,i,c)),this}delete(i){if(!this.has(i))return!1;let c=this[l];return d(c),n(c),z(c),c.t.has(i)?c.n.set(i,!1):c.n.delete(i),c.e.delete(i),!0}clear(){let i=this[l];d(i),M(i).size&&(n(i),z(i),i.n=new Map,U(i.t,c=>{i.n.set(c,!1)}),i.e.clear())}forEach(i,c){let g=this[l];M(g).forEach((u,h,m)=>{i.call(c,this.get(h),h,this)})}get(i){let c=this[l];d(c);let g=M(c).get(i);if(c.u||!E(g)||g!==c.t.get(i))return g;let u=ne(c.a,g,c,i);return n(c),c.e.set(i,u),u}keys(){return M(this[l]).keys()}values(){let i=this.keys();return t({next:()=>{let c=i.next();return c.done?c:{done:!1,value:this.get(c.value)}}})}entries(){let i=this.keys();return t({next:()=>{let c=i.next();if(c.done)return c;let g=this.get(c.value);return{done:!1,value:[c.value,g]}}})}[(l,Symbol.iterator)](){return this.entries()}}function t(y){if(typeof Iterator<"u")return Iterator.from(y);let O={...y,[Symbol.iterator]:()=>O};return O}function r(y,O){let i=new e(y,O);return[i,i[l]]}function n(y){y.e||(y.n=new Map,y.e=new Map(y.t))}class o extends Set{constructor(i,c){super();this[l]={r:3,i:c,a:c?c.a:te(),c:!1,u:!1,e:void 0,t:i,s:this,o:new Map,g:!1,S:!1,n:void 0,f:[]}}get size(){return M(this[l]).size}has(i){let c=this[l];return d(c),c.e?!!(c.e.has(i)||c.o.has(i)&&c.e.has(c.o.get(i))):c.t.has(i)}add(i){let c=this[l];return d(c),this.has(i)||(S(c),z(c),c.e.add(i),re(c,i,i)),this}delete(i){if(!this.has(i))return!1;let c=this[l];return d(c),S(c),z(c),c.e.delete(i)||(c.o.has(i)?c.e.delete(c.o.get(i)):!1)}clear(){let i=this[l];d(i),M(i).size&&(S(i),z(i),i.e.clear())}values(){let i=this[l];return d(i),S(i),i.e.values()}entries(){let i=this[l];return d(i),S(i),i.e.entries()}keys(){return this.values()}[(l,Symbol.iterator)](){return this.values()}forEach(i,c){let g=this.values(),u=g.next();for(;!u.done;)i.call(c,u.value,u.value,this),u=g.next()}}function s(y,O){let i=new o(y,O);return[i,i[l]]}function S(y){y.e||(y.e=new Set,y.t.forEach(O=>{if(E(O)){let i=ne(y.a,O,y,O);y.o.set(O,i),y.e.add(i)}else y.e.add(O)}))}function d(y){y.g&&D(3,JSON.stringify(M(y)))}function F(y){if(y.r===3&&y.e){let O=new Set(y.e);y.e.clear(),O.forEach(i=>{y.e.add(Ke(i))})}}ue(Y,{V:r,k:s,fixSetContents:F})}function Ze(){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"]),s=new Set(["find","findLast"]),S=new Set(["filter","slice","concat","flat",...s,"findIndex","findLastIndex","some","every","indexOf","lastIndexOf","includes","join","toString","toLocaleString"]);function d(a){return o.has(a)}function F(a){return S.has(a)}function y(a){return d(a)||F(a)}function O(a,f){a.operationMethod=f}function i(a){a.operationMethod=void 0}function c(a,f,x=!0){H(a);let p=f();return g(a,x),p}function g(a,f=!0){z(a),f&&a.n.set("length",!0)}function u(a){a.T=!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,x){for(let p=0;p<x.length;p++){let P=""+(f+p);a.n.set(P,!0),re(a,P,x[p])}}function A(a,f,x){let p=f==="push"||f==="unshift";if(p?x.length===0:M(a).length===0)return p?M(a).length:void 0;H(a);let P=a.e.length,_=a.e[f](...x);return g(a),e.has(f)&&u(a),f==="push"?m(a,P,x):f==="unshift"&&m(a,0,x),r.has(f)?_:a.s}function I(a,f,x){return M(a).length<=1?a.s:c(a,()=>(a.e[f](...x),u(a),a.s),!1)}function T(a,f){return function(...p){let P=f;O(a,P);try{if(d(P)){if(r.has(P))return A(a,P,p);if(n.has(P))return I(a,P,p);if(P==="splice"){let _=p.length>2?p.length-2:0;if(_===0){let W=M(a).length;if(p.length===0||h(p[0]??0,W)===W||p.length>1&&!(p[1]>=1))return[]}H(a);let w=a.e.splice(...p);if(w.length===0&&_===0)return w;if(g(a),u(a),_>0){let W=h(p[0]??0,a.e.length);m(a,W,p.slice(2))}return w}}else return b(a,P,p)}finally{i(a)}}}function b(a,f,x){let p=M(a);if(f==="filter"){let P=x[0],_=[];for(let w=0;w<p.length;w++)P(p[w],w,p)&&_.push(a.s[w]);return _}if(s.has(f)){let P=x[0],_=f==="find",w=_?1:-1,W=_?0:p.length-1;for(let j=W;j>=0&&j<p.length;j+=w)if(P(p[j],j,p))return a.s[j];return}if(f==="slice"){let P=x[0]??0,_=x[1]??p.length,w=h(P,p.length),W=h(_,p.length),j=[];for(let Ee=w;Ee<W;Ee++)j.push(a.s[Ee]);return j}return p[f](...x)}ue(he,{createMethodInterceptor:T,isArrayOperationMethod:y,isMutatingArrayMethod:d})}var R=new ge,pt=R.produce,ht=R.produceWithPatches.bind(R),mt=R.setAutoFreeze.bind(R),St=R.setUseStrictShallowCopy.bind(R),Pt=R.setUseStrictIteration.bind(R),gt=R.applyPatches.bind(R),xt=R.createDraft.bind(R),At=R.finishDraft.bind(R),It=e=>e,Tt=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 |
+41
-22
@@ -161,5 +161,4 @@ var __defProp = Object.defineProperty; | ||
| var getValue = (value) => { | ||
| var _a; | ||
| const proxyDraft = getProxyDraft(value); | ||
| return proxyDraft ? (_a = proxyDraft.copy_) != null ? _a : proxyDraft.base_ : value; | ||
| return proxyDraft ? getFinalValue(proxyDraft) : value; | ||
| }; | ||
@@ -1541,6 +1540,9 @@ var getFinalValue = (state) => state.modified_ ? state.copy_ : state.base_; | ||
| const result = operation(); | ||
| markArrayChanged(state, markLength); | ||
| return result; | ||
| } | ||
| function markArrayChanged(state, markLength = true) { | ||
| markChanged(state); | ||
| if (markLength) | ||
| state.assigned_.set("length", true); | ||
| return result; | ||
| } | ||
@@ -1565,17 +1567,23 @@ function markAllIndicesReassigned(state) { | ||
| function handleSimpleOperation(state, method, args) { | ||
| return executeArrayMethod(state, () => { | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push" && args.length > 0) { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift" && args.length > 0) { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| }); | ||
| const isInsert = method === "push" || method === "unshift"; | ||
| if (isInsert ? args.length === 0 : latest(state).length === 0) { | ||
| return isInsert ? latest(state).length : void 0; | ||
| } | ||
| prepareCopy(state); | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| markArrayChanged(state); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push") { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift") { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| } | ||
| function handleReorderingOperation(state, method, args) { | ||
| if (latest(state).length <= 1) | ||
| return state.draft_; | ||
| return executeArrayMethod( | ||
@@ -1594,3 +1602,3 @@ state, | ||
| return function interceptedMethod(...args) { | ||
| var _a; | ||
| var _a, _b; | ||
| const method = originalMethod; | ||
@@ -1607,10 +1615,21 @@ enterOperation(state, method); | ||
| if (method === "splice") { | ||
| const res = executeArrayMethod( | ||
| state, | ||
| () => state.copy_.splice(...args) | ||
| const insertCount = args.length > 2 ? args.length - 2 : 0; | ||
| if (insertCount === 0) { | ||
| const length = latest(state).length; | ||
| if (args.length === 0 || normalizeSliceIndex((_a = args[0]) != null ? _a : 0, length) === length || args.length > 1 && !(args[1] >= 1)) { | ||
| return []; | ||
| } | ||
| } | ||
| prepareCopy(state); | ||
| const res = state.copy_.splice( | ||
| ...args | ||
| ); | ||
| if (res.length === 0 && insertCount === 0) { | ||
| return res; | ||
| } | ||
| markArrayChanged(state); | ||
| markAllIndicesReassigned(state); | ||
| if (args.length > 2) { | ||
| if (insertCount > 0) { | ||
| const startIndex = normalizeSliceIndex( | ||
| (_a = args[0]) != null ? _a : 0, | ||
| (_b = args[0]) != null ? _b : 0, | ||
| state.copy_.length | ||
@@ -1617,0 +1636,0 @@ ); |
+39
-19
@@ -141,3 +141,3 @@ // src/utils/env.ts | ||
| const proxyDraft = getProxyDraft(value); | ||
| return proxyDraft ? proxyDraft.copy_ ?? proxyDraft.base_ : value; | ||
| return proxyDraft ? getFinalValue(proxyDraft) : value; | ||
| }; | ||
@@ -1511,6 +1511,9 @@ var getFinalValue = (state) => state.modified_ ? state.copy_ : state.base_; | ||
| const result = operation(); | ||
| markArrayChanged(state, markLength); | ||
| return result; | ||
| } | ||
| function markArrayChanged(state, markLength = true) { | ||
| markChanged(state); | ||
| if (markLength) | ||
| state.assigned_.set("length", true); | ||
| return result; | ||
| } | ||
@@ -1535,17 +1538,23 @@ function markAllIndicesReassigned(state) { | ||
| function handleSimpleOperation(state, method, args) { | ||
| return executeArrayMethod(state, () => { | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push" && args.length > 0) { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift" && args.length > 0) { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| }); | ||
| const isInsert = method === "push" || method === "unshift"; | ||
| if (isInsert ? args.length === 0 : latest(state).length === 0) { | ||
| return isInsert ? latest(state).length : void 0; | ||
| } | ||
| prepareCopy(state); | ||
| const lengthBefore = state.copy_.length; | ||
| const result = state.copy_[method](...args); | ||
| markArrayChanged(state); | ||
| if (SHIFTING_METHODS.has(method)) { | ||
| markAllIndicesReassigned(state); | ||
| } | ||
| if (method === "push") { | ||
| handleInsertedValues(state, lengthBefore, args); | ||
| } else if (method === "unshift") { | ||
| handleInsertedValues(state, 0, args); | ||
| } | ||
| return RESULT_RETURNING_METHODS.has(method) ? result : state.draft_; | ||
| } | ||
| function handleReorderingOperation(state, method, args) { | ||
| if (latest(state).length <= 1) | ||
| return state.draft_; | ||
| return executeArrayMethod( | ||
@@ -1575,8 +1584,19 @@ state, | ||
| if (method === "splice") { | ||
| const res = executeArrayMethod( | ||
| state, | ||
| () => state.copy_.splice(...args) | ||
| const insertCount = args.length > 2 ? args.length - 2 : 0; | ||
| if (insertCount === 0) { | ||
| const length = latest(state).length; | ||
| if (args.length === 0 || normalizeSliceIndex(args[0] ?? 0, length) === length || args.length > 1 && !(args[1] >= 1)) { | ||
| return []; | ||
| } | ||
| } | ||
| prepareCopy(state); | ||
| const res = state.copy_.splice( | ||
| ...args | ||
| ); | ||
| if (res.length === 0 && insertCount === 0) { | ||
| return res; | ||
| } | ||
| markArrayChanged(state); | ||
| markAllIndicesReassigned(state); | ||
| if (args.length > 2) { | ||
| if (insertCount > 0) { | ||
| const startIndex = normalizeSliceIndex( | ||
@@ -1583,0 +1603,0 @@ args[0] ?? 0, |
@@ -1,2 +0,2 @@ | ||
| 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}; | ||
| var Y=Symbol.for("immer-nothing"),W=Symbol.for("immer-draftable"),l=Symbol.for("immer-state");function D(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var N=Object,L=N.getPrototypeOf,ne="constructor",oe="prototype",xe="configurable",le="enumerable",fe="writable",ae="value",F=e=>!!e&&!!e[l];function E(e){return e?Ue(e)||J(e)||!!e[W]||!!e[ne]?.[W]||Q(e)||X(e):!1}var Ye=N[oe][ne].toString(),ke=new WeakMap;function Ue(e){if(!e||!$(e))return!1;let t=L(e);if(t===null||t===N[oe])return!0;let r=N.hasOwnProperty.call(t,ne)&&t[ne];if(r===Object)return!0;if(!V(r))return!1;let n=ke.get(r);return n===void 0&&(n=Function.toString.call(r),ke.set(r,n)),n===Ye}function Je(e){return F(e)||D(15,e),e[l].t}function U(e,t,r=!0){G(e)===0?(r?Reflect.ownKeys(e):N.keys(e)).forEach(i=>{t(i,e[i],e)}):e.forEach((n,i)=>t(i,n,e))}function G(e){let t=e[l];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):N[oe].hasOwnProperty.call(e,t),k=(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",V=e=>typeof e=="function",Ae=e=>typeof e=="boolean";function Le(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ee=e=>$(e)?e?.[l]: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=N.getOwnPropertyDescriptors(e);delete n[l];let i=Reflect.ownKeys(n);for(let s=0;s<i.length;s++){let S=i[s],d=n[S];d[fe]===!1&&(d[fe]=!0,d[xe]=!0),(d.get||d.set)&&(n[S]={[xe]:!0,[fe]:!0,[le]:d[le],[ae]:e[S]})}return N.create(L(e),n)}else{let n=L(e);if(n!==null&&r)return{...e};let i=N.create(n);return N.assign(i,e)}}function se(e,t=!1){return ce(e)||F(e)||!E(e)||(G(e)>1&&N.defineProperties(e,{set:ge,add:ge,clear:ge,delete:ge}),N.freeze(e),t&&U(e,(r,n)=>{se(n,!0)},!1)),e}function Qe(){D(2)}var ge={[ae]:Qe};function ce(e){return e===null||!$(e)?!0:N.isFrozen(e)}var q="MapSet",Z="Patches",he="ArrayMethods",Ie={};function B(e){let t=Ie[e];return t||D(0,e),t}var we=e=>!!Ie[e];function ue(e,t){Ie[e]||(Ie[e]=t)}var me,ee=()=>me,Xe=(e,t)=>({o:[],i:e,l:t,F:!0,m:0,P:new Set,I:new Set,b:we(q)?B(q):void 0,C:we(he)?B(he):void 0});function Ce(e,t){t&&(e.x=B(Z),e.y=[],e.d=[],e.E=t)}function Se(e){Te(e),e.o.forEach(Ze),e.o=null}function Te(e){e===me&&(me=e.i)}var Fe=e=>me=Xe(me,e);function Ze(e){let t=e[l];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[l].c&&(Se(t),D(4)),E(e)&&(e=Be(t,e));let{x:i}=t;i&&i.D(r[l].t,e,t)}else e=Be(t,r);return et(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[l];if(!r)return Me(t,e.P,e);if(!be(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 et(e,t,r=!1){!e.i&&e.l.h&&e.F&&se(t,r)}function Ke(e){e.u=!0,e.a.m--}var be=(e,t)=>e.a===t,tt=[];function He(e,t,r,n){let i=M(e),s=e.r;if(n!==void 0&&k(i,n,s)===t){ie(i,n,r,s);return}if(!e.R){let d=e.R=new Map;U(i,(C,y)=>{if(F(y)){let O=d.get(y)||[];O.push(C),d.set(y,O)}})}let S=e.R.get(t)??tt;for(let d of S)ie(i,d,r,s)}function We(e,t,r){e.f.push(function(i){let s=t;if(!s||!be(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.T||(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(F(r)){let i=r[l];be(i,n)&&i.f.push(function(){K(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)&&Me(r,n.P,n):k(s,t,e.r)===r&&n.o.length>1&&(e.n.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||F(e)||t.has(e)||!E(e)||ce(e)||(t.add(e),U(e,(n,i)=>{if(F(i)){let s=i[l];if(be(s,r)){let S=de(s);ie(e,n,S,e.r),Ke(s)}}else E(i)&&Me(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=De;r&&(i=[n],s=Pe);let{revoke:S,proxy:d}=Proxy.revocable(i,s);return n.s=d,n.M=S,[d,n]}var De={get(e,t){if(t===l)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 nt(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===Ne(e.t,t)||rt(e,t,s)){K(e);let S=e.r===1?+t:t,d=re(e.a,s,e,S);return e.e[S]=d}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=Ne(M(e),t),s=i?.[l];if(s&&s.t===r)return e.e[t]=r,e.n.set(t,!1),!0;if(je(r,i)&&(r!==void 0||v(e.t,t,e.r)))return!0;K(e),z(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 K(e),Ne(e.t,t)!==void 0||t in e.t?(e.n.set(t,!1),z(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,[xe]:e.r!==1||t!=="length",[le]:n[le],[ae]:r[t]}},defineProperty(){D(11)},getPrototypeOf(e){return L(e.t)},setPrototypeOf(){D(12)}},Pe={};for(let e in De){let t=De[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 De.set.call(this,e[0],t,r,e[0])};function Ne(e,t){let r=e[l];return(r?M(r):e)[t]}function rt(e,t,r){return e.r!==1||!e.T||e.n?.get(t)||!E(r)||r[l]?!1:e.N.has(r)}function nt(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=L(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=L(r)}}function z(e){e.c||(e.c=!0,e.i&&z(e.i))}function K(e){e.e||(e.n=new Map,e.e=pe(e.t,e.a.l.A))}var Oe=class{constructor(t){this.h=!0;this.A=!1;this._=!1;this.produce=(t,r,n)=>{if(V(t)&&!V(r)){let s=r;r=t;let S=this;return function(C=s,...y){return S.produce(C,O=>r.call(this,O,...y))}}V(r)||D(6),n!==void 0&&!V(n)&&D(7);let i;if(E(t)){let s=Fe(this),S=re(s,t,void 0),d=!0;try{i=r(S),d=!1}finally{d?Se(s):Te(s)}return Ce(s,n),Re(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=[];B(Z).D(t,i,{y:s,d:S}),n(s,S)}return i}else D(1,t)};this.produceWithPatches=(t,r)=>{if(V(t))return(S,...d)=>this.produceWithPatches(S,C=>t(C,...d));let n,i;return[this.produce(t,r,(S,d)=>{n=S,i=d}),n,i]};Ae(t?.autoFreeze)&&this.setAutoFreeze(t.autoFreeze),Ae(t?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),Ae(t?.useStrictIteration)&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){E(t)||D(8),F(t)&&(t=ze(t));let r=Fe(this),n=re(r,t,void 0);return n[l].S=!0,Te(r),n}finishDraft(t,r){let n=t&&t[l];(!n||!n.S)&&D(9);let{a:i}=n;return Ce(i,r),Re(void 0,i)}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 i=B(Z).w;return F(t)?i(t,r):this.produce(t,s=>i(s,r))}};function re(e,t,r,n){let[i,s]=Q(t)?B(q).V(t,r):X(t)?B(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(C){C.b?.fixSetContents(s);let{x:y}=C;s.c&&y&&y.O(s,[],C)}),i}function ze(e){return F(e)||D(10,e),qe(e)}function qe(e){if(!E(e)||ce(e))return e;let t=e[l],r,n=!0;if(t){if(!t.c)return t.t;t.u=!0,r=pe(e,t.a.l.A),n=t.a.l.shouldUseStrictIteration()}else r=pe(e,!0);return U(r,(i,s)=>{ie(r,i,qe(s))},n),t&&(t.u=!1),r}function ot(){function t(u,h=[]){if(u.p!==void 0){let m=u.i.e??u.i.t,A=Ee(k(m,u.p)),I=k(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 o=u.i;b=Array.from(o.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=k(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 C(u,h,A,I);case 1:return d(u,h,A,I);case 3:return y(u,h,A,I)}}function d(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 o=u.T===!0;for(let f=0;f<I.length;f++){let x=b[f],p=I[f];if((o||T?.get(f.toString()))&&x!==p){let _=x?.[l];if(_&&_.c)continue;let w=h.concat([f]);m.push({op:n,path:w,value:g(x)}),A.push({op:n,path:w,value:g(p)})}}for(let f=I.length;f<b.length;f++){let x=h.concat([f]);m.push({op:i,path:x,value:g(b[f])})}for(let f=b.length-1;I.length<=f;--f){let x=h.concat([f]);A.push({op:s,path:x})}}function C(u,h,m,A){let{t:I,e:T,r:b}=u;U(u.n,(o,f)=>{let x=k(I,o,b),p=k(T,o,b),P=f?v(I,o)?n:i:s;if(x===p&&P===n)return;let _=h.concat(o);m.push(P===s?{op:P,path:_}:{op:P,path:_,value:g(p)}),A.push(P===i?{op:s,path:_}:P===s?{op:i,path:_,value:g(x)}:{op:n,path:_,value:g(x)})})}function y(u,h,m,A){let{t:I,e:T}=u,b=0;I.forEach(o=>{if(!T.has(o)){let f=h.concat([b]);m.push({op:s,path:f,value:o}),A.unshift({op:i,path:f,value:o})}b++}),b=0,T.forEach(o=>{if(!I.has(o)){let f=h.concat([b]);m.push({op:i,path:f,value:o}),A.unshift({op:s,path:f,value:o})}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 a(u,h){return h.forEach(m=>{let{path:A,op:I}=m,T=u;for(let x=0;x<A.length-1;x++){let p=G(T),P=A[x];typeof P!="string"&&typeof P!="number"&&(P=""+P),(p===0||p===1)&&(P==="__proto__"||P===ne)&&D(16+3),V(T)&&P===oe&&D(16+3),T=k(T,P),(T===null||!$(T))&&D(16+2,A.join("/"))}let b=G(T),o=c(m.value),f=A[A.length-1];switch(I){case n:switch(b){case 2:return T.set(f,o);case 3:D(16);default:return T[f]=o}case i:switch(b){case 1:return f==="-"?T.push(o):T.splice(f,0,o);case 2:return T.set(f,o);case 3:return T.add(o);default:return T[f]=o}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(L(u));for(let m in u)h[m]=c(u[m]);return v(u,W)&&(h[W]=u[W]),h}function g(u){return F(u)?c(u):u}ue(Z,{w:a,O:S,D:O,getPath:t})}function at(){class e extends Map{constructor(a,c){super();this[l]={r:2,i:c,a:c?c.a:ee(),c:!1,u:!1,e:void 0,n:void 0,t:a,s:this,S:!1,g:!1,f:[]}}get size(){return M(this[l]).size}has(a){return M(this[l]).has(a)}set(a,c){let g=this[l];return d(g),(!M(g).has(a)||M(g).get(a)!==c)&&(n(g),z(g),g.n.set(a,!0),g.e.set(a,c),g.n.set(a,!0),te(g,a,c)),this}delete(a){if(!this.has(a))return!1;let c=this[l];return d(c),n(c),z(c),c.t.has(a)?c.n.set(a,!1):c.n.delete(a),c.e.delete(a),!0}clear(){let a=this[l];d(a),M(a).size&&(n(a),z(a),a.n=new Map,U(a.t,c=>{a.n.set(c,!1)}),a.e.clear())}forEach(a,c){let g=this[l];M(g).forEach((u,h,m)=>{a.call(c,this.get(h),h,this)})}get(a){let c=this[l];d(c);let g=M(c).get(a);if(c.u||!E(g)||g!==c.t.get(a))return g;let u=re(c.a,g,c,a);return n(c),c.e.set(a,u),u}keys(){return M(this[l]).keys()}values(){let a=this.keys();return t({next:()=>{let c=a.next();return c.done?c:{done:!1,value:this.get(c.value)}}})}entries(){let a=this.keys();return t({next:()=>{let c=a.next();if(c.done)return c;let g=this.get(c.value);return{done:!1,value:[c.value,g]}}})}[(l,Symbol.iterator)](){return this.entries()}}function t(y){if(typeof Iterator<"u")return Iterator.from(y);let O={...y,[Symbol.iterator]:()=>O};return O}function r(y,O){let a=new e(y,O);return[a,a[l]]}function n(y){y.e||(y.n=new Map,y.e=new Map(y.t))}class i extends Set{constructor(a,c){super();this[l]={r:3,i:c,a:c?c.a:ee(),c:!1,u:!1,e:void 0,t:a,s:this,o:new Map,g:!1,S:!1,n:void 0,f:[]}}get size(){return M(this[l]).size}has(a){let c=this[l];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[l];return d(c),this.has(a)||(S(c),z(c),c.e.add(a),te(c,a,a)),this}delete(a){if(!this.has(a))return!1;let c=this[l];return d(c),S(c),z(c),c.e.delete(a)||(c.o.has(a)?c.e.delete(c.o.get(a)):!1)}clear(){let a=this[l];d(a),M(a).size&&(S(a),z(a),a.e.clear())}values(){let a=this[l];return d(a),S(a),a.e.values()}entries(){let a=this[l];return d(a),S(a),a.e.entries()}keys(){return this.values()}[(l,Symbol.iterator)](){return this.values()}forEach(a,c){let g=this.values(),u=g.next();for(;!u.done;)a.call(c,u.value,u.value,this),u=g.next()}}function s(y,O){let a=new i(y,O);return[a,a[l]]}function S(y){y.e||(y.e=new Set,y.t.forEach(O=>{if(E(O)){let a=re(y.a,O,y,O);y.o.set(O,a),y.e.add(a)}else y.e.add(O)}))}function d(y){y.g&&D(3,JSON.stringify(M(y)))}function C(y){if(y.r===3&&y.e){let O=new Set(y.e);y.e.clear(),O.forEach(a=>{y.e.add(Ve(a))})}}ue(q,{V:r,k:s,fixSetContents:C})}function it(){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 d(o){return i.has(o)}function C(o){return S.has(o)}function y(o){return d(o)||C(o)}function O(o,f){o.operationMethod=f}function a(o){o.operationMethod=void 0}function c(o,f,x=!0){K(o);let p=f();return g(o,x),p}function g(o,f=!0){z(o),f&&o.n.set("length",!0)}function u(o){o.T=!0,o.N=new Set(o.t)}function h(o,f){return o<0?Math.max(f+o,0):Math.min(o,f)}function m(o,f,x){for(let p=0;p<x.length;p++){let P=""+(f+p);o.n.set(P,!0),te(o,P,x[p])}}function A(o,f,x){let p=f==="push"||f==="unshift";if(p?x.length===0:M(o).length===0)return p?M(o).length:void 0;K(o);let P=o.e.length,_=o.e[f](...x);return g(o),e.has(f)&&u(o),f==="push"?m(o,P,x):f==="unshift"&&m(o,0,x),r.has(f)?_:o.s}function I(o,f,x){return M(o).length<=1?o.s:c(o,()=>(o.e[f](...x),u(o),o.s),!1)}function T(o,f){return function(...p){let P=f;O(o,P);try{if(d(P)){if(r.has(P))return A(o,P,p);if(n.has(P))return I(o,P,p);if(P==="splice"){let _=p.length>2?p.length-2:0;if(_===0){let H=M(o).length;if(p.length===0||h(p[0]??0,H)===H||p.length>1&&!(p[1]>=1))return[]}K(o);let w=o.e.splice(...p);if(w.length===0&&_===0)return w;if(g(o),u(o),_>0){let H=h(p[0]??0,o.e.length);m(o,H,p.slice(2))}return w}}else return b(o,P,p)}finally{a(o)}}}function b(o,f,x){let p=M(o);if(f==="filter"){let P=x[0],_=[];for(let w=0;w<p.length;w++)P(p[w],w,p)&&_.push(o.s[w]);return _}if(s.has(f)){let P=x[0],_=f==="find",w=_?1:-1,H=_?0:p.length-1;for(let j=H;j>=0&&j<p.length;j+=w)if(P(p[j],j,p))return o.s[j];return}if(f==="slice"){let P=x[0]??0,_=x[1]??p.length,w=h(P,p.length),H=h(_,p.length),j=[];for(let _e=w;_e<H;_e++)j.push(o.s[_e]);return j}return p[f](...x)}ue(he,{createMethodInterceptor:T,isArrayOperationMethod:y,isMutatingArrayMethod:d})}var R=new Oe,Yr=R.produce,Jr=R.produceWithPatches.bind(R),Qr=R.setAutoFreeze.bind(R),Xr=R.setUseStrictShallowCopy.bind(R),Zr=R.setUseStrictIteration.bind(R),en=R.applyPatches.bind(R),tn=R.createDraft.bind(R),rn=R.finishDraft.bind(R),nn=e=>e,on=e=>e;export{Oe as Immer,en as applyPatches,nn as castDraft,on as castImmutable,tn as createDraft,ze as current,it as enableArrayMethods,at as enableMapSet,ot as enablePatches,rn as finishDraft,se as freeze,W as immerable,F as isDraft,E as isDraftable,Y as nothing,Je as original,Yr as produce,Jr as produceWithPatches,Qr as setAutoFreeze,Zr as setUseStrictIteration,Xr as setUseStrictShallowCopy}; | ||
| //# sourceMappingURL=immer.production.mjs.map |
+1
-1
| { | ||
| "name": "immer", | ||
| "version": "11.1.16", | ||
| "version": "11.1.17", | ||
| "description": "Create your next immutable state by mutating the current one", | ||
@@ -5,0 +5,0 @@ "main": "./dist/cjs/index.js", |
@@ -177,5 +177,17 @@ import { | ||
| const result = operation() | ||
| markArrayChanged(state, markLength) | ||
| return result | ||
| } | ||
| /** | ||
| * Marks the array (and its ancestors) as modified after a mutating operation. | ||
| * | ||
| * Kept separate from `executeArrayMethod` so that operations which turn out to | ||
| * be no-ops (e.g. `push()` with no arguments, `splice(i, 0)`, `pop()`/`shift()` | ||
| * on an empty array) can prepare a copy but skip marking, preserving Immer's | ||
| * structural-sharing guarantee that a change-free producer returns the base. | ||
| */ | ||
| function markArrayChanged(state: ProxyArrayState, markLength = true) { | ||
| markChanged(state) | ||
| if (markLength) state.assigned_!.set("length", true) | ||
| return result | ||
| } | ||
@@ -238,27 +250,41 @@ | ||
| ) { | ||
| return executeArrayMethod(state, () => { | ||
| // For push/unshift, capture the length before the operation | ||
| // so we can compute insertion indices for handleCrossReference | ||
| const lengthBefore = state.copy_!.length | ||
| // Detect no-op calls before creating a copy so structural sharing is | ||
| // preserved: push/unshift with no arguments add nothing, and pop/shift | ||
| // on an empty array remove nothing. The check must happen before | ||
| // prepareCopy - a stray copy_ on an unmodified state would be picked | ||
| // up by finalization of a parent Set and break identity there. | ||
| const isInsert = method === "push" || method === "unshift" | ||
| if (isInsert ? args.length === 0 : latest(state).length === 0) { | ||
| // Match the native return values: push/unshift return the | ||
| // (unchanged) length, pop/shift on an empty array return undefined | ||
| return isInsert ? latest(state).length : undefined | ||
| } | ||
| const result = (state.copy_! as any)[method](...args) | ||
| prepareCopy(state) | ||
| // Handle index reassignment for shifting methods | ||
| if (SHIFTING_METHODS.has(method as MutatingArrayMethod)) { | ||
| markAllIndicesReassigned(state) | ||
| } | ||
| // For push/unshift, capture the length before the operation | ||
| // so we can compute insertion indices for handleCrossReference | ||
| const lengthBefore = state.copy_!.length | ||
| // Handle cross-references for newly inserted values. | ||
| // push appends at the end, unshift inserts at the beginning. | ||
| if (method === "push" && args.length > 0) { | ||
| handleInsertedValues(state, lengthBefore, args) | ||
| } else if (method === "unshift" && args.length > 0) { | ||
| handleInsertedValues(state, 0, args) | ||
| } | ||
| const result = (state.copy_! as any)[method](...args) | ||
| // Return appropriate value based on method | ||
| return RESULT_RETURNING_METHODS.has(method as MutatingArrayMethod) | ||
| ? result | ||
| : state.draft_ | ||
| }) | ||
| markArrayChanged(state) | ||
| // Handle index reassignment for shifting methods | ||
| if (SHIFTING_METHODS.has(method as MutatingArrayMethod)) { | ||
| markAllIndicesReassigned(state) | ||
| } | ||
| // Handle cross-references for newly inserted values. | ||
| // push appends at the end, unshift inserts at the beginning. | ||
| if (method === "push") { | ||
| handleInsertedValues(state, lengthBefore, args) | ||
| } else if (method === "unshift") { | ||
| handleInsertedValues(state, 0, args) | ||
| } | ||
| // Return appropriate value based on method | ||
| return RESULT_RETURNING_METHODS.has(method as MutatingArrayMethod) | ||
| ? result | ||
| : state.draft_ | ||
| } | ||
@@ -280,2 +306,7 @@ | ||
| ) { | ||
| // Reordering an array with fewer than two elements cannot change it, | ||
| // so preserve structural sharing and skip copying (see | ||
| // handleSimpleOperation for why this must run before prepareCopy). | ||
| if (latest(state).length <= 1) return state.draft_ | ||
| return executeArrayMethod( | ||
@@ -330,8 +361,39 @@ state, | ||
| if (method === "splice") { | ||
| const res = executeArrayMethod(state, () => | ||
| state.copy_!.splice(...(args as [number, number, ...any[]])) | ||
| const insertCount = args.length > 2 ? args.length - 2 : 0 | ||
| // Detect no-op calls before creating a copy so structural | ||
| // sharing is preserved (see handleSimpleOperation). A splice | ||
| // removes nothing when called with no arguments, when the | ||
| // normalized start is at/past the end, or when the delete | ||
| // count coerces to less than 1. splice(start) with a single | ||
| // argument removes everything from start onwards, so it must | ||
| // not match. Exotic arguments that slip through are caught | ||
| // by the post-copy check below. | ||
| if (insertCount === 0) { | ||
| const length = latest(state).length | ||
| if ( | ||
| args.length === 0 || | ||
| normalizeSliceIndex(args[0] ?? 0, length) === length || | ||
| (args.length > 1 && !(args[1] >= 1)) | ||
| ) { | ||
| return [] | ||
| } | ||
| } | ||
| prepareCopy(state) | ||
| const res = state.copy_!.splice( | ||
| ...(args as [number, number, ...any[]]) | ||
| ) | ||
| // Backstop for exotic arguments the pre-check above missed: | ||
| // if nothing was removed and nothing inserted, the array is | ||
| // unchanged and must not be marked as modified. | ||
| if (res.length === 0 && insertCount === 0) { | ||
| return res | ||
| } | ||
| markArrayChanged(state) | ||
| markAllIndicesReassigned(state) | ||
| // Handle cross-references for inserted values (args from index 2+) | ||
| if (args.length > 2) { | ||
| if (insertCount > 0) { | ||
| const startIndex = normalizeSliceIndex( | ||
@@ -338,0 +400,0 @@ args[0] ?? 0, |
+11
-7
@@ -108,8 +108,8 @@ import { | ||
| : isArray(thing) | ||
| ? ArchType.Array | ||
| : isMap(thing) | ||
| ? ArchType.Map | ||
| : isSet(thing) | ||
| ? ArchType.Set | ||
| : ArchType.Object | ||
| ? ArchType.Array | ||
| : isMap(thing) | ||
| ? ArchType.Map | ||
| : isSet(thing) | ||
| ? ArchType.Set | ||
| : ArchType.Object | ||
| } | ||
@@ -190,3 +190,7 @@ | ||
| const proxyDraft = getProxyDraft(value) | ||
| return proxyDraft ? (proxyDraft.copy_ ?? proxyDraft.base_) : value | ||
| // Use the copy only if the draft was actually modified. An unmodified | ||
| // draft can still have a copy_ (e.g. the get trap caches child drafts | ||
| // there), and using it would both break structural sharing and leak | ||
| // soon-to-be-revoked child drafts into the result. | ||
| return proxyDraft ? getFinalValue(proxyDraft) : value | ||
| } | ||
@@ -193,0 +197,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
953940
2.51%8542
1.4%