@vue/reactivity 3.1.1 → 3.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/reactivity.cjs.js +116 -104
- package/dist/reactivity.cjs.prod.js +116 -104
- package/dist/reactivity.d.ts +2 -2
- package/dist/reactivity.esm-browser.js +116 -104
- package/dist/reactivity.esm-browser.prod.js +1 -1
- package/dist/reactivity.esm-bundler.js +116 -104
- package/dist/reactivity.global.js +116 -104
- package/dist/reactivity.global.prod.js +1 -1
- package/package.json +2 -2
|
@@ -254,34 +254,36 @@ const get = /*#__PURE__*/ createGetter();
|
|
|
254
254
|
const shallowGet = /*#__PURE__*/ createGetter(false, true);
|
|
255
255
|
const readonlyGet = /*#__PURE__*/ createGetter(true);
|
|
256
256
|
const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
|
|
257
|
-
const arrayInstrumentations =
|
|
258
|
-
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
257
|
+
const arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();
|
|
258
|
+
function createArrayInstrumentations() {
|
|
259
|
+
const instrumentations = {};
|
|
260
|
+
['includes', 'indexOf', 'lastIndexOf'].forEach(key => {
|
|
261
|
+
instrumentations[key] = function (...args) {
|
|
262
|
+
const arr = toRaw(this);
|
|
263
|
+
for (let i = 0, l = this.length; i < l; i++) {
|
|
264
|
+
track(arr, "get" /* GET */, i + '');
|
|
265
|
+
}
|
|
266
|
+
// we run the method using the original args first (which may be reactive)
|
|
267
|
+
const res = arr[key](...args);
|
|
268
|
+
if (res === -1 || res === false) {
|
|
269
|
+
// if that didn't work, run it again using raw values.
|
|
270
|
+
return arr[key](...args.map(toRaw));
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
return res;
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
});
|
|
277
|
+
['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {
|
|
278
|
+
instrumentations[key] = function (...args) {
|
|
279
|
+
pauseTracking();
|
|
280
|
+
const res = toRaw(this)[key].apply(this, args);
|
|
281
|
+
resetTracking();
|
|
272
282
|
return res;
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
const method = Array.prototype[key];
|
|
278
|
-
arrayInstrumentations[key] = function (...args) {
|
|
279
|
-
pauseTracking();
|
|
280
|
-
const res = method.apply(this, args);
|
|
281
|
-
resetTracking();
|
|
282
|
-
return res;
|
|
283
|
-
};
|
|
284
|
-
});
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
return instrumentations;
|
|
286
|
+
}
|
|
285
287
|
function createGetter(isReadonly = false, shallow = false) {
|
|
286
288
|
return function get(target, key, receiver) {
|
|
287
289
|
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
@@ -400,14 +402,14 @@ const readonlyHandlers = {
|
|
|
400
402
|
return true;
|
|
401
403
|
}
|
|
402
404
|
};
|
|
403
|
-
const shallowReactiveHandlers = extend({}, mutableHandlers, {
|
|
405
|
+
const shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {
|
|
404
406
|
get: shallowGet,
|
|
405
407
|
set: shallowSet
|
|
406
408
|
});
|
|
407
409
|
// Props handlers are special in the sense that it should not unwrap top-level
|
|
408
410
|
// refs (in order to allow refs to be explicitly passed down), but should
|
|
409
411
|
// retain the reactivity of the normal readonly object.
|
|
410
|
-
const shallowReadonlyHandlers = extend({}, readonlyHandlers, {
|
|
412
|
+
const shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {
|
|
411
413
|
get: shallowReadonlyGet
|
|
412
414
|
});
|
|
413
415
|
|
|
@@ -577,73 +579,82 @@ function createReadonlyMethod(type) {
|
|
|
577
579
|
return type === "delete" /* DELETE */ ? false : this;
|
|
578
580
|
};
|
|
579
581
|
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
iteratorMethods
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
582
|
+
function createInstrumentations() {
|
|
583
|
+
const mutableInstrumentations = {
|
|
584
|
+
get(key) {
|
|
585
|
+
return get$1(this, key);
|
|
586
|
+
},
|
|
587
|
+
get size() {
|
|
588
|
+
return size(this);
|
|
589
|
+
},
|
|
590
|
+
has: has$1,
|
|
591
|
+
add,
|
|
592
|
+
set: set$1,
|
|
593
|
+
delete: deleteEntry,
|
|
594
|
+
clear,
|
|
595
|
+
forEach: createForEach(false, false)
|
|
596
|
+
};
|
|
597
|
+
const shallowInstrumentations = {
|
|
598
|
+
get(key) {
|
|
599
|
+
return get$1(this, key, false, true);
|
|
600
|
+
},
|
|
601
|
+
get size() {
|
|
602
|
+
return size(this);
|
|
603
|
+
},
|
|
604
|
+
has: has$1,
|
|
605
|
+
add,
|
|
606
|
+
set: set$1,
|
|
607
|
+
delete: deleteEntry,
|
|
608
|
+
clear,
|
|
609
|
+
forEach: createForEach(false, true)
|
|
610
|
+
};
|
|
611
|
+
const readonlyInstrumentations = {
|
|
612
|
+
get(key) {
|
|
613
|
+
return get$1(this, key, true);
|
|
614
|
+
},
|
|
615
|
+
get size() {
|
|
616
|
+
return size(this, true);
|
|
617
|
+
},
|
|
618
|
+
has(key) {
|
|
619
|
+
return has$1.call(this, key, true);
|
|
620
|
+
},
|
|
621
|
+
add: createReadonlyMethod("add" /* ADD */),
|
|
622
|
+
set: createReadonlyMethod("set" /* SET */),
|
|
623
|
+
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
624
|
+
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
625
|
+
forEach: createForEach(true, false)
|
|
626
|
+
};
|
|
627
|
+
const shallowReadonlyInstrumentations = {
|
|
628
|
+
get(key) {
|
|
629
|
+
return get$1(this, key, true, true);
|
|
630
|
+
},
|
|
631
|
+
get size() {
|
|
632
|
+
return size(this, true);
|
|
633
|
+
},
|
|
634
|
+
has(key) {
|
|
635
|
+
return has$1.call(this, key, true);
|
|
636
|
+
},
|
|
637
|
+
add: createReadonlyMethod("add" /* ADD */),
|
|
638
|
+
set: createReadonlyMethod("set" /* SET */),
|
|
639
|
+
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
640
|
+
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
641
|
+
forEach: createForEach(true, true)
|
|
642
|
+
};
|
|
643
|
+
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
644
|
+
iteratorMethods.forEach(method => {
|
|
645
|
+
mutableInstrumentations[method] = createIterableMethod(method, false, false);
|
|
646
|
+
readonlyInstrumentations[method] = createIterableMethod(method, true, false);
|
|
647
|
+
shallowInstrumentations[method] = createIterableMethod(method, false, true);
|
|
648
|
+
shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);
|
|
649
|
+
});
|
|
650
|
+
return [
|
|
651
|
+
mutableInstrumentations,
|
|
652
|
+
readonlyInstrumentations,
|
|
653
|
+
shallowInstrumentations,
|
|
654
|
+
shallowReadonlyInstrumentations
|
|
655
|
+
];
|
|
656
|
+
}
|
|
657
|
+
const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();
|
|
647
658
|
function createInstrumentationGetter(isReadonly, shallow) {
|
|
648
659
|
const instrumentations = shallow
|
|
649
660
|
? isReadonly
|
|
@@ -668,16 +679,16 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
668
679
|
};
|
|
669
680
|
}
|
|
670
681
|
const mutableCollectionHandlers = {
|
|
671
|
-
get: createInstrumentationGetter(false, false)
|
|
682
|
+
get: /*#__PURE__*/ createInstrumentationGetter(false, false)
|
|
672
683
|
};
|
|
673
684
|
const shallowCollectionHandlers = {
|
|
674
|
-
get: createInstrumentationGetter(false, true)
|
|
685
|
+
get: /*#__PURE__*/ createInstrumentationGetter(false, true)
|
|
675
686
|
};
|
|
676
687
|
const readonlyCollectionHandlers = {
|
|
677
|
-
get: createInstrumentationGetter(true, false)
|
|
688
|
+
get: /*#__PURE__*/ createInstrumentationGetter(true, false)
|
|
678
689
|
};
|
|
679
690
|
const shallowReadonlyCollectionHandlers = {
|
|
680
|
-
get: createInstrumentationGetter(true, true)
|
|
691
|
+
get: /*#__PURE__*/ createInstrumentationGetter(true, true)
|
|
681
692
|
};
|
|
682
693
|
function checkIdentityKeys(target, has, key) {
|
|
683
694
|
const rawKey = toRaw(key);
|
|
@@ -803,18 +814,19 @@ function shallowRef(value) {
|
|
|
803
814
|
return createRef(value, true);
|
|
804
815
|
}
|
|
805
816
|
class RefImpl {
|
|
806
|
-
constructor(
|
|
807
|
-
this._rawValue = _rawValue;
|
|
817
|
+
constructor(value, _shallow = false) {
|
|
808
818
|
this._shallow = _shallow;
|
|
809
819
|
this.__v_isRef = true;
|
|
810
|
-
this.
|
|
820
|
+
this._rawValue = _shallow ? value : toRaw(value);
|
|
821
|
+
this._value = _shallow ? value : convert(value);
|
|
811
822
|
}
|
|
812
823
|
get value() {
|
|
813
824
|
track(toRaw(this), "get" /* GET */, 'value');
|
|
814
825
|
return this._value;
|
|
815
826
|
}
|
|
816
827
|
set value(newVal) {
|
|
817
|
-
|
|
828
|
+
newVal = this._shallow ? newVal : toRaw(newVal);
|
|
829
|
+
if (hasChanged(newVal, this._rawValue)) {
|
|
818
830
|
this._rawValue = newVal;
|
|
819
831
|
this._value = this._shallow ? newVal : convert(newVal);
|
|
820
832
|
trigger(toRaw(this), "set" /* SET */, 'value', newVal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t,e){const n=Object.create(null),r=t.split(",");for(let s=0;s<r.length;s++)n[r[s]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e={},n=()=>{},r=Object.assign,s=Object.prototype.hasOwnProperty,i=(t,e)=>s.call(t,e),o=Array.isArray,c=t=>"[object Map]"===
|
|
1
|
+
function t(t,e){const n=Object.create(null),r=t.split(",");for(let s=0;s<r.length;s++)n[r[s]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e={},n=()=>{},r=Object.assign,s=Object.prototype.hasOwnProperty,i=(t,e)=>s.call(t,e),o=Array.isArray,c=t=>"[object Map]"===h(t),u=t=>"function"==typeof t,a=t=>"symbol"==typeof t,l=t=>null!==t&&"object"==typeof t,f=Object.prototype.toString,h=t=>f.call(t),_=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,d=(t,e)=>t!==e&&(t==t||e==e),v=new WeakMap,g=[];let p;const y=Symbol(""),w=Symbol("");function R(t,n=e){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const r=function(t,e){const n=function(){if(!n.active)return t();if(!g.includes(n)){E(n);try{return O(),g.push(n),p=n,t()}finally{g.pop(),M(),p=g[g.length-1]}}};return n.id=k++,n.allowRecurse=!!e.allowRecurse,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,n);return n.lazy||r(),r}function b(t){t.active&&(E(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let k=0;function E(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let S=!0;const j=[];function m(){j.push(S),S=!1}function O(){j.push(S),S=!0}function M(){const t=j.pop();S=void 0===t||t}function P(t,e,n){if(!S||void 0===p)return;let r=v.get(t);r||v.set(t,r=new Map);let s=r.get(n);s||r.set(n,s=new Set),s.has(p)||(s.add(p),p.deps.push(s))}function x(t,e,n,r,s,i){const u=v.get(t);if(!u)return;const a=new Set,l=t=>{t&&t.forEach((t=>{(t!==p||t.allowRecurse)&&a.add(t)}))};if("clear"===e)u.forEach(l);else if("length"===n&&o(t))u.forEach(((t,e)=>{("length"===e||e>=r)&&l(t)}));else switch(void 0!==n&&l(u.get(n)),e){case"add":o(t)?_(n)&&l(u.get("length")):(l(u.get(y)),c(t)&&l(u.get(w)));break;case"delete":o(t)||(l(u.get(y)),c(t)&&l(u.get(w)));break;case"set":c(t)&&l(u.get(y))}a.forEach((t=>{t.options.scheduler?t.options.scheduler(t):t()}))}const z=t("__proto__,__v_isRef,__isVue"),W=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(a)),A=C(),N=C(!1,!0),V=C(!0),I=C(!0,!0),K=B();function B(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Mt(this);for(let e=0,s=this.length;e<s;e++)P(n,0,e+"");const r=n[e](...t);return-1===r||!1===r?n[e](...t.map(Mt)):r}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){m();const n=Mt(this)[e].apply(this,t);return M(),n}})),t}function C(t=!1,e=!1){return function(n,r,s){if("__v_isReactive"===r)return!t;if("__v_isReadonly"===r)return t;if("__v_raw"===r&&s===(t?e?yt:pt:e?gt:vt).get(n))return n;const c=o(n);if(!t&&c&&i(K,r))return Reflect.get(K,r,s);const u=Reflect.get(n,r,s);if(a(r)?W.has(r):z(r))return u;if(t||P(n,0,r),e)return u;if(zt(u)){return!c||!_(r)?u.value:u}return l(u)?t?kt(u):Rt(u):u}}function L(t=!1){return function(e,n,r,s){let c=e[n];if(!t&&(r=Mt(r),c=Mt(c),!o(e)&&zt(c)&&!zt(r)))return c.value=r,!0;const u=o(e)&&_(n)?Number(n)<e.length:i(e,n),a=Reflect.set(e,n,r,s);return e===Mt(s)&&(u?d(r,c)&&x(e,"set",n,r):x(e,"add",n,r)),a}}const q={get:A,set:L(),deleteProperty:function(t,e){const n=i(t,e),r=Reflect.deleteProperty(t,e);return r&&n&&x(t,"delete",e,void 0),r},has:function(t,e){const n=Reflect.has(t,e);return a(e)&&W.has(e)||P(t,0,e),n},ownKeys:function(t){return P(t,0,o(t)?"length":y),Reflect.ownKeys(t)}},D={get:V,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},F=r({},q,{get:N,set:L(!0)}),G=r({},D,{get:I}),H=t=>l(t)?Rt(t):t,J=t=>l(t)?kt(t):t,Q=t=>t,T=t=>Reflect.getPrototypeOf(t);function U(t,e,n=!1,r=!1){const s=Mt(t=t.__v_raw),i=Mt(e);e!==i&&!n&&P(s,0,e),!n&&P(s,0,i);const{has:o}=T(s),c=r?Q:n?J:H;return o.call(s,e)?c(t.get(e)):o.call(s,i)?c(t.get(i)):void(t!==s&&t.get(e))}function X(t,e=!1){const n=this.__v_raw,r=Mt(n),s=Mt(t);return t!==s&&!e&&P(r,0,t),!e&&P(r,0,s),t===s?n.has(t):n.has(t)||n.has(s)}function Y(t,e=!1){return t=t.__v_raw,!e&&P(Mt(t),0,y),Reflect.get(t,"size",t)}function Z(t){t=Mt(t);const e=Mt(this);return T(e).has.call(e,t)||(e.add(t),x(e,"add",t,t)),this}function $(t,e){e=Mt(e);const n=Mt(this),{has:r,get:s}=T(n);let i=r.call(n,t);i||(t=Mt(t),i=r.call(n,t));const o=s.call(n,t);return n.set(t,e),i?d(e,o)&&x(n,"set",t,e):x(n,"add",t,e),this}function tt(t){const e=Mt(this),{has:n,get:r}=T(e);let s=n.call(e,t);s||(t=Mt(t),s=n.call(e,t)),r&&r.call(e,t);const i=e.delete(t);return s&&x(e,"delete",t,void 0),i}function et(){const t=Mt(this),e=0!==t.size,n=t.clear();return e&&x(t,"clear",void 0,void 0),n}function nt(t,e){return function(n,r){const s=this,i=s.__v_raw,o=Mt(i),c=e?Q:t?J:H;return!t&&P(o,0,y),i.forEach(((t,e)=>n.call(r,c(t),c(e),s)))}}function rt(t,e,n){return function(...r){const s=this.__v_raw,i=Mt(s),o=c(i),u="entries"===t||t===Symbol.iterator&&o,a="keys"===t&&o,l=s[t](...r),f=n?Q:e?J:H;return!e&&P(i,0,a?w:y),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[f(t[0]),f(t[1])]:f(t),done:e}},[Symbol.iterator](){return this}}}}function st(t){return function(...e){return"delete"!==t&&this}}function it(){const t={get(t){return U(this,t)},get size(){return Y(this)},has:X,add:Z,set:$,delete:tt,clear:et,forEach:nt(!1,!1)},e={get(t){return U(this,t,!1,!0)},get size(){return Y(this)},has:X,add:Z,set:$,delete:tt,clear:et,forEach:nt(!1,!0)},n={get(t){return U(this,t,!0)},get size(){return Y(this,!0)},has(t){return X.call(this,t,!0)},add:st("add"),set:st("set"),delete:st("delete"),clear:st("clear"),forEach:nt(!0,!1)},r={get(t){return U(this,t,!0,!0)},get size(){return Y(this,!0)},has(t){return X.call(this,t,!0)},add:st("add"),set:st("set"),delete:st("delete"),clear:st("clear"),forEach:nt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((s=>{t[s]=rt(s,!1,!1),n[s]=rt(s,!0,!1),e[s]=rt(s,!1,!0),r[s]=rt(s,!0,!0)})),[t,n,e,r]}const[ot,ct,ut,at]=it();function lt(t,e){const n=e?t?at:ut:t?ct:ot;return(e,r,s)=>"__v_isReactive"===r?!t:"__v_isReadonly"===r?t:"__v_raw"===r?e:Reflect.get(i(n,r)&&r in e?n:e,r,s)}const ft={get:lt(!1,!1)},ht={get:lt(!1,!0)},_t={get:lt(!0,!1)},dt={get:lt(!0,!0)},vt=new WeakMap,gt=new WeakMap,pt=new WeakMap,yt=new WeakMap;function wt(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 Rt(t){return t&&t.__v_isReadonly?t:St(t,!1,q,ft,vt)}function bt(t){return St(t,!1,F,ht,gt)}function kt(t){return St(t,!0,D,_t,pt)}function Et(t){return St(t,!0,G,dt,yt)}function St(t,e,n,r,s){if(!l(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const i=s.get(t);if(i)return i;const o=wt(t);if(0===o)return t;const c=new Proxy(t,2===o?r:n);return s.set(t,c),c}function jt(t){return mt(t)?jt(t.__v_raw):!(!t||!t.__v_isReactive)}function mt(t){return!(!t||!t.__v_isReadonly)}function Ot(t){return jt(t)||mt(t)}function Mt(t){return t&&Mt(t.__v_raw)||t}function Pt(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t}const xt=t=>l(t)?Rt(t):t;function zt(t){return Boolean(t&&!0===t.__v_isRef)}function Wt(t){return Vt(t)}function At(t){return Vt(t,!0)}class Nt{constructor(t,e=!1){this._shallow=e,this.__v_isRef=!0,this._rawValue=e?t:Mt(t),this._value=e?t:xt(t)}get value(){return P(Mt(this),0,"value"),this._value}set value(t){t=this._shallow?t:Mt(t),d(t,this._rawValue)&&(this._rawValue=t,this._value=this._shallow?t:xt(t),x(Mt(this),"set","value",t))}}function Vt(t,e=!1){return zt(t)?t:new Nt(t,e)}function It(t){x(Mt(t),"set","value",void 0)}function Kt(t){return zt(t)?t.value:t}const Bt={get:(t,e,n)=>Kt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const s=t[e];return zt(s)&&!zt(n)?(s.value=n,!0):Reflect.set(t,e,n,r)}};function Ct(t){return jt(t)?t:new Proxy(t,Bt)}class Lt{constructor(t){this.__v_isRef=!0;const{get:e,set:n}=t((()=>P(this,0,"value")),(()=>x(this,"set","value")));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function qt(t){return new Lt(t)}function Dt(t){const e=o(t)?new Array(t.length):{};for(const n in t)e[n]=Gt(t,n);return e}class Ft{constructor(t,e){this._object=t,this._key=e,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(t){this._object[this._key]=t}}function Gt(t,e){return zt(t[e])?t[e]:new Ft(t,e)}class Ht{constructor(t,e,n){this._setter=e,this._dirty=!0,this.__v_isRef=!0,this.effect=R(t,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,x(Mt(this),"set","value"))}}),this.__v_isReadonly=n}get value(){const t=Mt(this);return t._dirty&&(t._value=this.effect(),t._dirty=!1),P(t,0,"value"),t._value}set value(t){this._setter(t)}}function Jt(t){let e,r;return u(t)?(e=t,r=n):(e=t.get,r=t.set),new Ht(e,r,u(t)||!t.set)}export{y as ITERATE_KEY,Jt as computed,qt as customRef,R as effect,O as enableTracking,Ot as isProxy,jt as isReactive,mt as isReadonly,zt as isRef,Pt as markRaw,m as pauseTracking,Ct as proxyRefs,Rt as reactive,kt as readonly,Wt as ref,M as resetTracking,bt as shallowReactive,Et as shallowReadonly,At as shallowRef,b as stop,Mt as toRaw,Gt as toRef,Dt as toRefs,P as track,x as trigger,It as triggerRef,Kt as unref};
|
|
@@ -197,34 +197,36 @@ const get = /*#__PURE__*/ createGetter();
|
|
|
197
197
|
const shallowGet = /*#__PURE__*/ createGetter(false, true);
|
|
198
198
|
const readonlyGet = /*#__PURE__*/ createGetter(true);
|
|
199
199
|
const shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);
|
|
200
|
-
const arrayInstrumentations =
|
|
201
|
-
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
200
|
+
const arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();
|
|
201
|
+
function createArrayInstrumentations() {
|
|
202
|
+
const instrumentations = {};
|
|
203
|
+
['includes', 'indexOf', 'lastIndexOf'].forEach(key => {
|
|
204
|
+
instrumentations[key] = function (...args) {
|
|
205
|
+
const arr = toRaw(this);
|
|
206
|
+
for (let i = 0, l = this.length; i < l; i++) {
|
|
207
|
+
track(arr, "get" /* GET */, i + '');
|
|
208
|
+
}
|
|
209
|
+
// we run the method using the original args first (which may be reactive)
|
|
210
|
+
const res = arr[key](...args);
|
|
211
|
+
if (res === -1 || res === false) {
|
|
212
|
+
// if that didn't work, run it again using raw values.
|
|
213
|
+
return arr[key](...args.map(toRaw));
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
return res;
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {
|
|
221
|
+
instrumentations[key] = function (...args) {
|
|
222
|
+
pauseTracking();
|
|
223
|
+
const res = toRaw(this)[key].apply(this, args);
|
|
224
|
+
resetTracking();
|
|
215
225
|
return res;
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
const method = Array.prototype[key];
|
|
221
|
-
arrayInstrumentations[key] = function (...args) {
|
|
222
|
-
pauseTracking();
|
|
223
|
-
const res = method.apply(this, args);
|
|
224
|
-
resetTracking();
|
|
225
|
-
return res;
|
|
226
|
-
};
|
|
227
|
-
});
|
|
226
|
+
};
|
|
227
|
+
});
|
|
228
|
+
return instrumentations;
|
|
229
|
+
}
|
|
228
230
|
function createGetter(isReadonly = false, shallow = false) {
|
|
229
231
|
return function get(target, key, receiver) {
|
|
230
232
|
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
@@ -343,14 +345,14 @@ const readonlyHandlers = {
|
|
|
343
345
|
return true;
|
|
344
346
|
}
|
|
345
347
|
};
|
|
346
|
-
const shallowReactiveHandlers = extend({}, mutableHandlers, {
|
|
348
|
+
const shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {
|
|
347
349
|
get: shallowGet,
|
|
348
350
|
set: shallowSet
|
|
349
351
|
});
|
|
350
352
|
// Props handlers are special in the sense that it should not unwrap top-level
|
|
351
353
|
// refs (in order to allow refs to be explicitly passed down), but should
|
|
352
354
|
// retain the reactivity of the normal readonly object.
|
|
353
|
-
const shallowReadonlyHandlers = extend({}, readonlyHandlers, {
|
|
355
|
+
const shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {
|
|
354
356
|
get: shallowReadonlyGet
|
|
355
357
|
});
|
|
356
358
|
|
|
@@ -521,73 +523,82 @@ function createReadonlyMethod(type) {
|
|
|
521
523
|
return type === "delete" /* DELETE */ ? false : this;
|
|
522
524
|
};
|
|
523
525
|
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
iteratorMethods
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
526
|
+
function createInstrumentations() {
|
|
527
|
+
const mutableInstrumentations = {
|
|
528
|
+
get(key) {
|
|
529
|
+
return get$1(this, key);
|
|
530
|
+
},
|
|
531
|
+
get size() {
|
|
532
|
+
return size(this);
|
|
533
|
+
},
|
|
534
|
+
has: has$1,
|
|
535
|
+
add,
|
|
536
|
+
set: set$1,
|
|
537
|
+
delete: deleteEntry,
|
|
538
|
+
clear,
|
|
539
|
+
forEach: createForEach(false, false)
|
|
540
|
+
};
|
|
541
|
+
const shallowInstrumentations = {
|
|
542
|
+
get(key) {
|
|
543
|
+
return get$1(this, key, false, true);
|
|
544
|
+
},
|
|
545
|
+
get size() {
|
|
546
|
+
return size(this);
|
|
547
|
+
},
|
|
548
|
+
has: has$1,
|
|
549
|
+
add,
|
|
550
|
+
set: set$1,
|
|
551
|
+
delete: deleteEntry,
|
|
552
|
+
clear,
|
|
553
|
+
forEach: createForEach(false, true)
|
|
554
|
+
};
|
|
555
|
+
const readonlyInstrumentations = {
|
|
556
|
+
get(key) {
|
|
557
|
+
return get$1(this, key, true);
|
|
558
|
+
},
|
|
559
|
+
get size() {
|
|
560
|
+
return size(this, true);
|
|
561
|
+
},
|
|
562
|
+
has(key) {
|
|
563
|
+
return has$1.call(this, key, true);
|
|
564
|
+
},
|
|
565
|
+
add: createReadonlyMethod("add" /* ADD */),
|
|
566
|
+
set: createReadonlyMethod("set" /* SET */),
|
|
567
|
+
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
568
|
+
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
569
|
+
forEach: createForEach(true, false)
|
|
570
|
+
};
|
|
571
|
+
const shallowReadonlyInstrumentations = {
|
|
572
|
+
get(key) {
|
|
573
|
+
return get$1(this, key, true, true);
|
|
574
|
+
},
|
|
575
|
+
get size() {
|
|
576
|
+
return size(this, true);
|
|
577
|
+
},
|
|
578
|
+
has(key) {
|
|
579
|
+
return has$1.call(this, key, true);
|
|
580
|
+
},
|
|
581
|
+
add: createReadonlyMethod("add" /* ADD */),
|
|
582
|
+
set: createReadonlyMethod("set" /* SET */),
|
|
583
|
+
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
584
|
+
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
585
|
+
forEach: createForEach(true, true)
|
|
586
|
+
};
|
|
587
|
+
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
588
|
+
iteratorMethods.forEach(method => {
|
|
589
|
+
mutableInstrumentations[method] = createIterableMethod(method, false, false);
|
|
590
|
+
readonlyInstrumentations[method] = createIterableMethod(method, true, false);
|
|
591
|
+
shallowInstrumentations[method] = createIterableMethod(method, false, true);
|
|
592
|
+
shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);
|
|
593
|
+
});
|
|
594
|
+
return [
|
|
595
|
+
mutableInstrumentations,
|
|
596
|
+
readonlyInstrumentations,
|
|
597
|
+
shallowInstrumentations,
|
|
598
|
+
shallowReadonlyInstrumentations
|
|
599
|
+
];
|
|
600
|
+
}
|
|
601
|
+
const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();
|
|
591
602
|
function createInstrumentationGetter(isReadonly, shallow) {
|
|
592
603
|
const instrumentations = shallow
|
|
593
604
|
? isReadonly
|
|
@@ -612,16 +623,16 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
612
623
|
};
|
|
613
624
|
}
|
|
614
625
|
const mutableCollectionHandlers = {
|
|
615
|
-
get: createInstrumentationGetter(false, false)
|
|
626
|
+
get: /*#__PURE__*/ createInstrumentationGetter(false, false)
|
|
616
627
|
};
|
|
617
628
|
const shallowCollectionHandlers = {
|
|
618
|
-
get: createInstrumentationGetter(false, true)
|
|
629
|
+
get: /*#__PURE__*/ createInstrumentationGetter(false, true)
|
|
619
630
|
};
|
|
620
631
|
const readonlyCollectionHandlers = {
|
|
621
|
-
get: createInstrumentationGetter(true, false)
|
|
632
|
+
get: /*#__PURE__*/ createInstrumentationGetter(true, false)
|
|
622
633
|
};
|
|
623
634
|
const shallowReadonlyCollectionHandlers = {
|
|
624
|
-
get: createInstrumentationGetter(true, true)
|
|
635
|
+
get: /*#__PURE__*/ createInstrumentationGetter(true, true)
|
|
625
636
|
};
|
|
626
637
|
function checkIdentityKeys(target, has, key) {
|
|
627
638
|
const rawKey = toRaw(key);
|
|
@@ -747,18 +758,19 @@ function shallowRef(value) {
|
|
|
747
758
|
return createRef(value, true);
|
|
748
759
|
}
|
|
749
760
|
class RefImpl {
|
|
750
|
-
constructor(
|
|
751
|
-
this._rawValue = _rawValue;
|
|
761
|
+
constructor(value, _shallow = false) {
|
|
752
762
|
this._shallow = _shallow;
|
|
753
763
|
this.__v_isRef = true;
|
|
754
|
-
this.
|
|
764
|
+
this._rawValue = _shallow ? value : toRaw(value);
|
|
765
|
+
this._value = _shallow ? value : convert(value);
|
|
755
766
|
}
|
|
756
767
|
get value() {
|
|
757
768
|
track(toRaw(this), "get" /* GET */, 'value');
|
|
758
769
|
return this._value;
|
|
759
770
|
}
|
|
760
771
|
set value(newVal) {
|
|
761
|
-
|
|
772
|
+
newVal = this._shallow ? newVal : toRaw(newVal);
|
|
773
|
+
if (hasChanged(newVal, this._rawValue)) {
|
|
762
774
|
this._rawValue = newVal;
|
|
763
775
|
this._value = this._shallow ? newVal : convert(newVal);
|
|
764
776
|
trigger(toRaw(this), "set" /* SET */, 'value', newVal);
|