UNPKG

vue-next

Version:

## Status: Pre-Alpha.

2 lines (1 loc) 6.06 kB
function e(e,t){const n=Object.create(null),r=e.split(",");for(let e=0;e<r.length;e++)n[r[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const t={},n=()=>{},r=Object.prototype.hasOwnProperty,o=(e,t)=>r.call(e,t),c=e=>"function"==typeof e,u=e=>"symbol"==typeof e,s=e=>null!==e&&"object"==typeof e,a=Object.prototype.toString,i=e=>a.call(e);const l=(e,t)=>e!==t&&(e==e||t==t);let f=!0;function d(){f=!0}function h(){f=!1}const p=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(u));function g(e){return function(t,n,r){const o=Reflect.get(t,n,r);return u(n)&&p.has(n)?o:ve(o)?o.value:(de(t,"get",n),s(o)?e?Y(o):X(o):o)}}function y(e,t,n,r){n=te(n);const c=e[t];if(ve(c)&&!ve(n))return c.value=n,!0;const u=o(e,t),s=Reflect.set(e,t,n,r);return e===te(r)&&(u?l(n,c)&&he(e,"set",t):he(e,"add",t)),s}function v(e,t){const n=o(e,t),r=(e[t],Reflect.deleteProperty(e,t));return r&&n&&he(e,"delete",t),r}function w(e,t){const n=Reflect.has(e,t);return de(e,"has",t),n}function S(e){return de(e,"iterate"),Reflect.ownKeys(e)}const k={get:g(!1),set:y,deleteProperty:v,has:w,ownKeys:S},b={get:g(!0),set:(e,t,n,r)=>!!f||y(e,t,n,r),deleteProperty:(e,t)=>!!f||v(e,t),has:w,ownKeys:S},m=e=>s(e)?X(e):e,M=e=>s(e)?Y(e):e,R=e=>Reflect.getPrototypeOf(e);function W(e,t,n){return de(e=te(e),"get",t=te(t)),n(R(e).get.call(e,t))}function E(e){const t=te(this);return de(t,"has",e=te(e)),R(t).has.call(t,e)}function O(e){return de(e=te(e),"iterate"),Reflect.get(R(e),"size",e)}function _(e){e=te(e);const t=te(this),n=R(t),r=n.has.call(t,e),o=n.add.call(t,e);return r||he(t,"add",e),o}function P(e,t){t=te(t);const n=te(this),r=R(n),o=r.has.call(n,e),c=r.get.call(n,e),u=r.set.call(n,e,t);return o?l(t,c)&&he(n,"set",e):he(n,"add",e),u}function j(e){const t=te(this),n=R(t),r=n.has.call(t,e),o=(n.get&&n.get.call(t,e),n.delete.call(t,e));return r&&he(t,"delete",e),o}function z(){const e=te(this),t=0!==e.size,n=R(e).clear.call(e);return t&&he(e,"clear"),n}function x(e){return function(t,n){const r=this,o=te(r),c=e?M:m;return de(o,"iterate"),R(o).forEach.call(o,(function(e,n){return t.call(r,c(e),c(n),r)}),n)}}function T(e,t){return function(...n){const r=te(this),o="entries"===e||e===Symbol.iterator&&r instanceof Map,c=R(r)[e].apply(r,n),u=t?M:m;return de(r,"iterate"),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:o?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function A(e,t){return function(...n){return f?"delete"!==t&&this:e.apply(this,n)}}const K={get(e){return W(this,e,m)},get size(){return O(this)},has:E,add:_,set:P,delete:j,clear:z,forEach:x(!1)},N={get(e){return W(this,e,M)},get size(){return O(this)},has:E,add:A(_,"add"),set:A(P,"set"),delete:A(j,"delete"),clear:A(z,"clear"),forEach:x(!0)};function V(e){return(t,n,r)=>Reflect.get(o(e,n)&&n in t?e:t,n,r)}["keys","values","entries",Symbol.iterator].forEach(e=>{K[e]=T(e,!1),N[e]=T(e,!0)});const C={get:V(K)},L={get:V(N)},q=new WeakMap,B=new WeakMap,D=new WeakMap,F=new WeakMap,G=new WeakMap,H=new WeakSet,I=new WeakSet,J=new Set([Set,Map,WeakMap,WeakSet]),Q=e("Object,Array,Map,Set,WeakMap,WeakSet"),U=e=>!e._isVue&&!e._isVNode&&Q(function(e){return i(e).slice(8,-1)}(e))&&!I.has(e);function X(e){return G.has(e)?e:H.has(e)?Y(e):Z(e,B,D,k,C)}function Y(e){return D.has(e)&&(e=D.get(e)),Z(e,F,G,b,L)}function Z(e,t,n,r,o){if(!s(e))return e;let c=t.get(e);if(void 0!==c)return c;if(n.has(e))return e;if(!U(e))return e;const u=J.has(e.constructor)?o:r;return c=new Proxy(e,u),t.set(e,c),n.set(c,e),q.has(e)||q.set(e,new Map),c}function $(e){return D.has(e)||G.has(e)}function ee(e){return G.has(e)}function te(e){return D.get(e)||G.get(e)||e}function ne(e){return H.add(e),e}function re(e){return I.add(e),e}const oe=[],ce=Symbol("iterate");function ue(e,n=t){(function(e){return null!=e&&!0===e._isEffect})(e)&&(e=e.raw);const r=function(e,t){const n=function(...t){return function(e,t,n){if(!e.active)return t(...n);if(!oe.includes(e)){ae(e);try{return oe.push(e),t(...n)}finally{oe.pop()}}}(n,e,t)};return n._isEffect=!0,n.active=!0,n.raw=e,n.scheduler=t.scheduler,n.onTrack=t.onTrack,n.onTrigger=t.onTrigger,n.onStop=t.onStop,n.computed=t.computed,n.deps=[],n}(e,n);return n.lazy||r(),r}function se(e){e.active&&(ae(e),e.onStop&&e.onStop(),e.active=!1)}function ae(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let ie=!0;function le(){ie=!1}function fe(){ie=!0}function de(e,t,n){if(!ie||0===oe.length)return;const r=oe[oe.length-1];"iterate"===t&&(n=ce);let o=q.get(e);void 0===o&&q.set(e,o=new Map);let c=o.get(n);void 0===c&&o.set(n,c=new Set),c.has(r)||(c.add(r),r.deps.push(c))}function he(e,t,n,r){const o=q.get(e);if(void 0===o)return;const c=new Set,u=new Set;if("clear"===t)o.forEach(e=>{pe(c,u,e)});else if(void 0!==n&&pe(c,u,o.get(n)),"add"===t||"delete"===t){const t=Array.isArray(e)?"length":ce;pe(c,u,o.get(t))}const s=e=>{!function(e,t,n,r,o){void 0!==e.scheduler?e.scheduler(e):e()}(e)};u.forEach(s),c.forEach(s)}function pe(e,t,n){void 0!==n&&n.forEach(n=>{n.computed?t.add(n):e.add(n)})}const ge=e=>s(e)?X(e):e;function ye(e){if(ve(e))return e;e=ge(e);const t={_isRef:!0,get value(){return de(t,"get",""),e},set value(n){e=ge(n),he(t,"set","")}};return t}function ve(e){return!!e&&!0===e._isRef}function we(e){const t={};for(const n in e)t[n]=Se(e,n);return t}function Se(e,t){return{_isRef:!0,get value(){return e[t]},set value(n){e[t]=n}}}function ke(e){let t,r;c(e)?(t=e,r=n):(t=e.get,r=e.set);let o,u=!0;const s=ue(t,{lazy:!0,computed:!0,scheduler:()=>{u=!0}});return{_isRef:!0,effect:s,get value(){return u&&(o=s(),u=!1),function(e){if(0===oe.length)return;const t=oe[oe.length-1];for(let n=0;n<e.deps.length;n++){const r=e.deps[n];r.has(t)||(r.add(t),t.deps.push(r))}}(s),o},set value(e){r(e)}}}export{ce as ITERATE_KEY,ke as computed,ue as effect,$ as isReactive,ee as isReadonly,ve as isRef,d as lock,re as markNonReactive,ne as markReadonly,le as pauseTracking,X as reactive,Y as readonly,ye as ref,fe as resumeTracking,se as stop,te as toRaw,we as toRefs,h as unlock};