Studying all day long)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1 lines
11 KiB

var VueReactivity=function(t){"use strict";function e(t,e){const n=Object.create(null),s=t.split(",");for(let i=0;i<s.length;i++)n[s[i]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const n=()=>{},s=Object.assign,i=Object.prototype.hasOwnProperty,r=(t,e)=>i.call(t,e),c=Array.isArray,o=t=>"[object Map]"===h(t),u=t=>"symbol"==typeof t,a=t=>null!==t&&"object"==typeof t,l=Object.prototype.toString,h=t=>l.call(t),f=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,_=(t,e)=>!Object.is(t,e);let p;class d{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&p&&(this.parent=p,this.index=(p.scopes||(p.scopes=[])).push(this)-1)}run(t){if(this.active){const e=p;try{return p=this,t()}finally{p=e}}}on(){p=this}off(){p=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.active=!1}}}function v(t,e=p){e&&e.active&&e.effects.push(t)}const g=t=>{const e=new Set(t);return e.w=0,e.n=0,e},y=t=>(t.w&S)>0,w=t=>(t.n&S)>0,R=new WeakMap;let b=0,S=1;let m;const k=Symbol(""),j=Symbol("");class E{constructor(t,e=null,n){this.fn=t,this.scheduler=e,this.active=!0,this.deps=[],this.parent=void 0,v(this,n)}run(){if(!this.active)return this.fn();let t=m,e=x;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=m,m=this,x=!0,S=1<<++b,b<=30?(({deps:t})=>{if(t.length)for(let e=0;e<t.length;e++)t[e].w|=S})(this):O(this),this.fn()}finally{b<=30&&(t=>{const{deps:e}=t;if(e.length){let n=0;for(let s=0;s<e.length;s++){const i=e[s];y(i)&&!w(i)?i.delete(t):e[n++]=i,i.w&=~S,i.n&=~S}e.length=n}})(this),S=1<<--b,m=this.parent,x=e,this.parent=void 0,this.deferStop&&this.stop()}}stop(){m===this?this.deferStop=!0:this.active&&(O(this),this.onStop&&this.onStop(),this.active=!1)}}function O(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let x=!0;const P=[];function M(){P.push(x),x=!1}function z(){const t=P.pop();x=void 0===t||t}function V(t,e,n){if(x&&m){let e=R.get(t);e||R.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=g()),W(s)}}function W(t,e){let n=!1;b<=30?w(t)||(t.n|=S,n=!y(t)):n=!t.has(m),n&&(t.add(m),m.deps.push(t))}function A(t,e,n,s,i,r){const u=R.get(t);if(!u)return;let a=[];if("clear"===e)a=[...u.values()];else if("length"===n&&c(t))u.forEach(((t,e)=>{("length"===e||e>=s)&&a.push(t)}));else switch(void 0!==n&&a.push(u.get(n)),e){case"add":c(t)?f(n)&&a.push(u.get("length")):(a.push(u.get(k)),o(t)&&a.push(u.get(j)));break;case"delete":c(t)||(a.push(u.get(k)),o(t)&&a.push(u.get(j)));break;case"set":o(t)&&a.push(u.get(k))}if(1===a.length)a[0]&&T(a[0]);else{const t=[];for(const e of a)e&&t.push(...e);T(g(t))}}function T(t,e){const n=c(t)?t:[...t];for(const s of n)s.computed&&N(s);for(const s of n)s.computed||N(s)}function N(t,e){(t!==m||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const C=e("__proto__,__v_isRef,__isVue"),I=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(u)),K=F(),D=F(!1,!0),L=F(!0),Y=F(!0,!0),q=B();function B(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Mt(this);for(let e=0,i=this.length;e<i;e++)V(n,0,e+"");const s=n[e](...t);return-1===s||!1===s?n[e](...t.map(Mt)):s}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){M();const n=Mt(this)[e].apply(this,t);return z(),n}})),t}function F(t=!1,e=!1){return function(n,s,i){if("__v_isReactive"===s)return!t;if("__v_isReadonly"===s)return t;if("__v_isShallow"===s)return e;if("__v_raw"===s&&i===(t?e?St:bt:e?Rt:wt).get(n))return n;const o=c(n);if(!t&&o&&r(q,s))return Reflect.get(q,s,i);const l=Reflect.get(n,s,i);return(u(s)?I.has(s):C(s))?l:(t||V(n,0,s),e?l:Tt(l)?o&&f(s)?l:l.value:a(l)?t?jt(l):kt(l):l)}}function G(t=!1){return function(e,n,s,i){let o=e[n];if(xt(o)&&Tt(o)&&!Tt(s))return!1;if(!t&&!xt(s)&&(Pt(s)||(s=Mt(s),o=Mt(o)),!c(e)&&Tt(o)&&!Tt(s)))return o.value=s,!0;const u=c(e)&&f(n)?Number(n)<e.length:r(e,n),a=Reflect.set(e,n,s,i);return e===Mt(i)&&(u?_(s,o)&&A(e,"set",n,s):A(e,"add",n,s)),a}}const H={get:K,set:G(),deleteProperty:function(t,e){const n=r(t,e),s=Reflect.deleteProperty(t,e);return s&&n&&A(t,"delete",e,void 0),s},has:function(t,e){const n=Reflect.has(t,e);return u(e)&&I.has(e)||V(t,0,e),n},ownKeys:function(t){return V(t,0,c(t)?"length":k),Reflect.ownKeys(t)}},J={get:L,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},Q=s({},H,{get:D,set:G(!0)}),U=s({},J,{get:Y}),X=t=>t,Z=t=>Reflect.getPrototypeOf(t);function $(t,e,n=!1,s=!1){const i=Mt(t=t.__v_raw),r=Mt(e);n||(e!==r&&V(i,0,e),V(i,0,r));const{has:c}=Z(i),o=s?X:n?Vt:zt;return c.call(i,e)?o(t.get(e)):c.call(i,r)?o(t.get(r)):void(t!==i&&t.get(e))}function tt(t,e=!1){const n=this.__v_raw,s=Mt(n),i=Mt(t);return e||(t!==i&&V(s,0,t),V(s,0,i)),t===i?n.has(t):n.has(t)||n.has(i)}function et(t,e=!1){return t=t.__v_raw,!e&&V(Mt(t),0,k),Reflect.get(t,"size",t)}function nt(t){t=Mt(t);const e=Mt(this);return Z(e).has.call(e,t)||(e.add(t),A(e,"add",t,t)),this}function st(t,e){e=Mt(e);const n=Mt(this),{has:s,get:i}=Z(n);let r=s.call(n,t);r||(t=Mt(t),r=s.call(n,t));const c=i.call(n,t);return n.set(t,e),r?_(e,c)&&A(n,"set",t,e):A(n,"add",t,e),this}function it(t){const e=Mt(this),{has:n,get:s}=Z(e);let i=n.call(e,t);i||(t=Mt(t),i=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return i&&A(e,"delete",t,void 0),r}function rt(){const t=Mt(this),e=0!==t.size,n=t.clear();return e&&A(t,"clear",void 0,void 0),n}function ct(t,e){return function(n,s){const i=this,r=i.__v_raw,c=Mt(r),o=e?X:t?Vt:zt;return!t&&V(c,0,k),r.forEach(((t,e)=>n.call(s,o(t),o(e),i)))}}function ot(t,e,n){return function(...s){const i=this.__v_raw,r=Mt(i),c=o(r),u="entries"===t||t===Symbol.iterator&&c,a="keys"===t&&c,l=i[t](...s),h=n?X:e?Vt:zt;return!e&&V(r,0,a?j:k),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ut(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return $(this,t)},get size(){return et(this)},has:tt,add:nt,set:st,delete:it,clear:rt,forEach:ct(!1,!1)},e={get(t){return $(this,t,!1,!0)},get size(){return et(this)},has:tt,add:nt,set:st,delete:it,clear:rt,forEach:ct(!1,!0)},n={get(t){return $(this,t,!0)},get size(){return et(this,!0)},has(t){return tt.call(this,t,!0)},add:ut("add"),set:ut("set"),delete:ut("delete"),clear:ut("clear"),forEach:ct(!0,!1)},s={get(t){return $(this,t,!0,!0)},get size(){return et(this,!0)},has(t){return tt.call(this,t,!0)},add:ut("add"),set:ut("set"),delete:ut("delete"),clear:ut("clear"),forEach:ct(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{t[i]=ot(i,!1,!1),n[i]=ot(i,!0,!1),e[i]=ot(i,!1,!0),s[i]=ot(i,!0,!0)})),[t,n,e,s]}const[lt,ht,ft,_t]=at();function pt(t,e){const n=e?t?_t:ft:t?ht:lt;return(e,s,i)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(r(n,s)&&s in e?n:e,s,i)}const dt={get:pt(!1,!1)},vt={get:pt(!1,!0)},gt={get:pt(!0,!1)},yt={get:pt(!0,!0)},wt=new WeakMap,Rt=new WeakMap,bt=new WeakMap,St=new WeakMap;function mt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>h(t).slice(8,-1))(t))}function kt(t){return xt(t)?t:Et(t,!1,H,dt,wt)}function jt(t){return Et(t,!0,J,gt,bt)}function Et(t,e,n,s,i){if(!a(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const c=mt(t);if(0===c)return t;const o=new Proxy(t,2===c?s:n);return i.set(t,o),o}function Ot(t){return xt(t)?Ot(t.__v_raw):!(!t||!t.__v_isReactive)}function xt(t){return!(!t||!t.__v_isReadonly)}function Pt(t){return!(!t||!t.__v_isShallow)}function Mt(t){const e=t&&t.__v_raw;return e?Mt(e):t}const zt=t=>a(t)?kt(t):t,Vt=t=>a(t)?jt(t):t;function Wt(t){x&&m&&W((t=Mt(t)).dep||(t.dep=g()))}function At(t,e){(t=Mt(t)).dep&&T(t.dep)}function Tt(t){return!(!t||!0!==t.__v_isRef)}function Nt(t,e){return Tt(t)?t:new Ct(t,e)}class Ct{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Mt(t),this._value=e?t:zt(t)}get value(){return Wt(this),this._value}set value(t){t=this.__v_isShallow?t:Mt(t),_(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:zt(t),At(this))}}function It(t){return Tt(t)?t.value:t}const Kt={get:(t,e,n)=>It(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const i=t[e];return Tt(i)&&!Tt(n)?(i.value=n,!0):Reflect.set(t,e,n,s)}};class Dt{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Wt(this)),(()=>At(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}class Lt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Yt(t,e,n){const s=t[e];return Tt(s)?s:new Lt(t,e,n)}class qt{constructor(t,e,n,s){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new E(t,(()=>{this._dirty||(this._dirty=!0,At(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Mt(this);return Wt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}var Bt;const Ft=Promise.resolve(),Gt=[];let Ht=!1;const Jt=()=>{for(let t=0;t<Gt.length;t++)Gt[t]();Gt.length=0,Ht=!1};class Qt{constructor(t){let e;this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this[Bt]=!0;let n=!1,s=!1;this.effect=new E(t,(t=>{if(this.dep){if(t)e=this._value,n=!0;else if(!s){const t=n?e:this._value;s=!0,n=!1,Gt.push((()=>{this.effect.active&&this._get()!==t&&At(this),s=!1})),Ht||(Ht=!0,Ft.then(Jt))}for(const t of this.dep)t.computed instanceof Qt&&t.scheduler(!0)}this._dirty=!0})),this.effect.computed=this}_get(){return this._dirty?(this._dirty=!1,this._value=this.effect.run()):this._value}get value(){return Wt(this),Mt(this)._get()}}return Bt="__v_isReadonly",t.EffectScope=d,t.ITERATE_KEY=k,t.ReactiveEffect=E,t.computed=function(t,e,s=!1){let i,r;const c="function"==typeof t;return c?(i=t,r=n):(i=t.get,r=t.set),new qt(i,r,c||!r,s)},t.customRef=function(t){return new Dt(t)},t.deferredComputed=function(t){return new Qt(t)},t.effect=function(t,e){t.effect&&(t=t.effect.fn);const n=new E(t);e&&(s(n,e),e.scope&&v(n,e.scope)),e&&e.lazy||n.run();const i=n.run.bind(n);return i.effect=n,i},t.effectScope=function(t){return new d(t)},t.enableTracking=function(){P.push(x),x=!0},t.getCurrentScope=function(){return p},t.isProxy=function(t){return Ot(t)||xt(t)},t.isReactive=Ot,t.isReadonly=xt,t.isRef=Tt,t.isShallow=Pt,t.markRaw=function(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t},t.onScopeDispose=function(t){p&&p.cleanups.push(t)},t.pauseTracking=M,t.proxyRefs=function(t){return Ot(t)?t:new Proxy(t,Kt)},t.reactive=kt,t.readonly=jt,t.ref=function(t){return Nt(t,!1)},t.resetTracking=z,t.shallowReactive=function(t){return Et(t,!1,Q,vt,Rt)},t.shallowReadonly=function(t){return Et(t,!0,U,yt,St)},t.shallowRef=function(t){return Nt(t,!0)},t.stop=function(t){t.effect.stop()},t.toRaw=Mt,t.toRef=Yt,t.toRefs=function(t){const e=c(t)?new Array(t.length):{};for(const n in t)e[n]=Yt(t,n);return e},t.track=V,t.trigger=A,t.triggerRef=function(t){At(t)},t.unref=It,Object.defineProperty(t,"__esModule",{value:!0}),t}({});