@vue/reactivity 3.2.36 → 3.2.39
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 +74 -70
- package/dist/reactivity.cjs.prod.js +72 -68
- package/dist/reactivity.esm-browser.js +74 -70
- package/dist/reactivity.esm-browser.prod.js +1 -1
- package/dist/reactivity.esm-bundler.js +74 -70
- package/dist/reactivity.global.js +74 -70
- package/dist/reactivity.global.prod.js +1 -1
- package/package.json +2 -2
package/dist/reactivity.cjs.js
CHANGED
|
@@ -303,7 +303,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
303
303
|
return;
|
|
304
304
|
}
|
|
305
305
|
let deps = [];
|
|
306
|
-
if (type === "clear" /* CLEAR */) {
|
|
306
|
+
if (type === "clear" /* TriggerOpTypes.CLEAR */) {
|
|
307
307
|
// collection being cleared
|
|
308
308
|
// trigger all effects for target
|
|
309
309
|
deps = [...depsMap.values()];
|
|
@@ -322,7 +322,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
322
322
|
}
|
|
323
323
|
// also run for iteration key on ADD | DELETE | Map.SET
|
|
324
324
|
switch (type) {
|
|
325
|
-
case "add" /* ADD */:
|
|
325
|
+
case "add" /* TriggerOpTypes.ADD */:
|
|
326
326
|
if (!shared.isArray(target)) {
|
|
327
327
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
328
328
|
if (shared.isMap(target)) {
|
|
@@ -334,7 +334,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
334
334
|
deps.push(depsMap.get('length'));
|
|
335
335
|
}
|
|
336
336
|
break;
|
|
337
|
-
case "delete" /* DELETE */:
|
|
337
|
+
case "delete" /* TriggerOpTypes.DELETE */:
|
|
338
338
|
if (!shared.isArray(target)) {
|
|
339
339
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
340
340
|
if (shared.isMap(target)) {
|
|
@@ -342,7 +342,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
break;
|
|
345
|
-
case "set" /* SET */:
|
|
345
|
+
case "set" /* TriggerOpTypes.SET */:
|
|
346
346
|
if (shared.isMap(target)) {
|
|
347
347
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
348
348
|
}
|
|
@@ -419,7 +419,7 @@ function createArrayInstrumentations() {
|
|
|
419
419
|
instrumentations[key] = function (...args) {
|
|
420
420
|
const arr = toRaw(this);
|
|
421
421
|
for (let i = 0, l = this.length; i < l; i++) {
|
|
422
|
-
track(arr, "get" /* GET */, i + '');
|
|
422
|
+
track(arr, "get" /* TrackOpTypes.GET */, i + '');
|
|
423
423
|
}
|
|
424
424
|
// we run the method using the original args first (which may be reactive)
|
|
425
425
|
const res = arr[key](...args);
|
|
@@ -444,16 +444,16 @@ function createArrayInstrumentations() {
|
|
|
444
444
|
}
|
|
445
445
|
function createGetter(isReadonly = false, shallow = false) {
|
|
446
446
|
return function get(target, key, receiver) {
|
|
447
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
447
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
448
448
|
return !isReadonly;
|
|
449
449
|
}
|
|
450
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
450
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
451
451
|
return isReadonly;
|
|
452
452
|
}
|
|
453
|
-
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
453
|
+
else if (key === "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */) {
|
|
454
454
|
return shallow;
|
|
455
455
|
}
|
|
456
|
-
else if (key === "__v_raw" /* RAW */ &&
|
|
456
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */ &&
|
|
457
457
|
receiver ===
|
|
458
458
|
(isReadonly
|
|
459
459
|
? shallow
|
|
@@ -473,7 +473,7 @@ function createGetter(isReadonly = false, shallow = false) {
|
|
|
473
473
|
return res;
|
|
474
474
|
}
|
|
475
475
|
if (!isReadonly) {
|
|
476
|
-
track(target, "get" /* GET */, key);
|
|
476
|
+
track(target, "get" /* TrackOpTypes.GET */, key);
|
|
477
477
|
}
|
|
478
478
|
if (shallow) {
|
|
479
479
|
return res;
|
|
@@ -499,10 +499,10 @@ function createSetter(shallow = false) {
|
|
|
499
499
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
500
500
|
return false;
|
|
501
501
|
}
|
|
502
|
-
if (!shallow
|
|
503
|
-
if (!isShallow(value)) {
|
|
504
|
-
value = toRaw(value);
|
|
502
|
+
if (!shallow) {
|
|
503
|
+
if (!isShallow(value) && !isReadonly(value)) {
|
|
505
504
|
oldValue = toRaw(oldValue);
|
|
505
|
+
value = toRaw(value);
|
|
506
506
|
}
|
|
507
507
|
if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
508
508
|
oldValue.value = value;
|
|
@@ -516,10 +516,10 @@ function createSetter(shallow = false) {
|
|
|
516
516
|
// don't trigger if target is something up in the prototype chain of original
|
|
517
517
|
if (target === toRaw(receiver)) {
|
|
518
518
|
if (!hadKey) {
|
|
519
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
519
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
520
520
|
}
|
|
521
521
|
else if (shared.hasChanged(value, oldValue)) {
|
|
522
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
522
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
525
|
return result;
|
|
@@ -530,19 +530,19 @@ function deleteProperty(target, key) {
|
|
|
530
530
|
const oldValue = target[key];
|
|
531
531
|
const result = Reflect.deleteProperty(target, key);
|
|
532
532
|
if (result && hadKey) {
|
|
533
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
533
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
534
534
|
}
|
|
535
535
|
return result;
|
|
536
536
|
}
|
|
537
537
|
function has(target, key) {
|
|
538
538
|
const result = Reflect.has(target, key);
|
|
539
539
|
if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {
|
|
540
|
-
track(target, "has" /* HAS */, key);
|
|
540
|
+
track(target, "has" /* TrackOpTypes.HAS */, key);
|
|
541
541
|
}
|
|
542
542
|
return result;
|
|
543
543
|
}
|
|
544
544
|
function ownKeys(target) {
|
|
545
|
-
track(target, "iterate" /* ITERATE */, shared.isArray(target) ? 'length' : ITERATE_KEY);
|
|
545
|
+
track(target, "iterate" /* TrackOpTypes.ITERATE */, shared.isArray(target) ? 'length' : ITERATE_KEY);
|
|
546
546
|
return Reflect.ownKeys(target);
|
|
547
547
|
}
|
|
548
548
|
const mutableHandlers = {
|
|
@@ -583,14 +583,14 @@ const getProto = (v) => Reflect.getPrototypeOf(v);
|
|
|
583
583
|
function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
584
584
|
// #1772: readonly(reactive(Map)) should return readonly + reactive version
|
|
585
585
|
// of the value
|
|
586
|
-
target = target["__v_raw" /* RAW */];
|
|
586
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
587
587
|
const rawTarget = toRaw(target);
|
|
588
588
|
const rawKey = toRaw(key);
|
|
589
589
|
if (!isReadonly) {
|
|
590
590
|
if (key !== rawKey) {
|
|
591
|
-
track(rawTarget, "get" /* GET */, key);
|
|
591
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, key);
|
|
592
592
|
}
|
|
593
|
-
track(rawTarget, "get" /* GET */, rawKey);
|
|
593
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, rawKey);
|
|
594
594
|
}
|
|
595
595
|
const { has } = getProto(rawTarget);
|
|
596
596
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
@@ -607,22 +607,22 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
|
607
607
|
}
|
|
608
608
|
}
|
|
609
609
|
function has$1(key, isReadonly = false) {
|
|
610
|
-
const target = this["__v_raw" /* RAW */];
|
|
610
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
611
611
|
const rawTarget = toRaw(target);
|
|
612
612
|
const rawKey = toRaw(key);
|
|
613
613
|
if (!isReadonly) {
|
|
614
614
|
if (key !== rawKey) {
|
|
615
|
-
track(rawTarget, "has" /* HAS */, key);
|
|
615
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, key);
|
|
616
616
|
}
|
|
617
|
-
track(rawTarget, "has" /* HAS */, rawKey);
|
|
617
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, rawKey);
|
|
618
618
|
}
|
|
619
619
|
return key === rawKey
|
|
620
620
|
? target.has(key)
|
|
621
621
|
: target.has(key) || target.has(rawKey);
|
|
622
622
|
}
|
|
623
623
|
function size(target, isReadonly = false) {
|
|
624
|
-
target = target["__v_raw" /* RAW */];
|
|
625
|
-
!isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
|
|
624
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
625
|
+
!isReadonly && track(toRaw(target), "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
626
626
|
return Reflect.get(target, 'size', target);
|
|
627
627
|
}
|
|
628
628
|
function add(value) {
|
|
@@ -632,7 +632,7 @@ function add(value) {
|
|
|
632
632
|
const hadKey = proto.has.call(target, value);
|
|
633
633
|
if (!hadKey) {
|
|
634
634
|
target.add(value);
|
|
635
|
-
trigger(target, "add" /* ADD */, value, value);
|
|
635
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, value, value);
|
|
636
636
|
}
|
|
637
637
|
return this;
|
|
638
638
|
}
|
|
@@ -651,10 +651,10 @@ function set$1(key, value) {
|
|
|
651
651
|
const oldValue = get.call(target, key);
|
|
652
652
|
target.set(key, value);
|
|
653
653
|
if (!hadKey) {
|
|
654
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
654
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
655
655
|
}
|
|
656
656
|
else if (shared.hasChanged(value, oldValue)) {
|
|
657
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
657
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
658
658
|
}
|
|
659
659
|
return this;
|
|
660
660
|
}
|
|
@@ -673,7 +673,7 @@ function deleteEntry(key) {
|
|
|
673
673
|
// forward the operation before queueing reactions
|
|
674
674
|
const result = target.delete(key);
|
|
675
675
|
if (hadKey) {
|
|
676
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
676
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
677
677
|
}
|
|
678
678
|
return result;
|
|
679
679
|
}
|
|
@@ -687,17 +687,17 @@ function clear() {
|
|
|
687
687
|
// forward the operation before queueing reactions
|
|
688
688
|
const result = target.clear();
|
|
689
689
|
if (hadItems) {
|
|
690
|
-
trigger(target, "clear" /* CLEAR */, undefined, undefined, oldTarget);
|
|
690
|
+
trigger(target, "clear" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);
|
|
691
691
|
}
|
|
692
692
|
return result;
|
|
693
693
|
}
|
|
694
694
|
function createForEach(isReadonly, isShallow) {
|
|
695
695
|
return function forEach(callback, thisArg) {
|
|
696
696
|
const observed = this;
|
|
697
|
-
const target = observed["__v_raw" /* RAW */];
|
|
697
|
+
const target = observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
698
698
|
const rawTarget = toRaw(target);
|
|
699
699
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
700
|
-
!isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
|
|
700
|
+
!isReadonly && track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
701
701
|
return target.forEach((value, key) => {
|
|
702
702
|
// important: make sure the callback is
|
|
703
703
|
// 1. invoked with the reactive map as `this` and 3rd arg
|
|
@@ -708,7 +708,7 @@ function createForEach(isReadonly, isShallow) {
|
|
|
708
708
|
}
|
|
709
709
|
function createIterableMethod(method, isReadonly, isShallow) {
|
|
710
710
|
return function (...args) {
|
|
711
|
-
const target = this["__v_raw" /* RAW */];
|
|
711
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
712
712
|
const rawTarget = toRaw(target);
|
|
713
713
|
const targetIsMap = shared.isMap(rawTarget);
|
|
714
714
|
const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
|
|
@@ -716,7 +716,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
|
|
|
716
716
|
const innerIterator = target[method](...args);
|
|
717
717
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
718
718
|
!isReadonly &&
|
|
719
|
-
track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
719
|
+
track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
720
720
|
// return a wrapped iterator which returns observed versions of the
|
|
721
721
|
// values emitted from the real iterator
|
|
722
722
|
return {
|
|
@@ -743,7 +743,7 @@ function createReadonlyMethod(type) {
|
|
|
743
743
|
const key = args[0] ? `on key "${args[0]}" ` : ``;
|
|
744
744
|
console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
|
|
745
745
|
}
|
|
746
|
-
return type === "delete" /* DELETE */ ? false : this;
|
|
746
|
+
return type === "delete" /* TriggerOpTypes.DELETE */ ? false : this;
|
|
747
747
|
};
|
|
748
748
|
}
|
|
749
749
|
function createInstrumentations() {
|
|
@@ -785,10 +785,10 @@ function createInstrumentations() {
|
|
|
785
785
|
has(key) {
|
|
786
786
|
return has$1.call(this, key, true);
|
|
787
787
|
},
|
|
788
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
789
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
790
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
791
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
788
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
789
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
790
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
791
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
792
792
|
forEach: createForEach(true, false)
|
|
793
793
|
};
|
|
794
794
|
const shallowReadonlyInstrumentations = {
|
|
@@ -801,10 +801,10 @@ function createInstrumentations() {
|
|
|
801
801
|
has(key) {
|
|
802
802
|
return has$1.call(this, key, true);
|
|
803
803
|
},
|
|
804
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
805
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
806
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
807
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
804
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
805
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
806
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
807
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
808
808
|
forEach: createForEach(true, true)
|
|
809
809
|
};
|
|
810
810
|
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
@@ -831,13 +831,13 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
831
831
|
? readonlyInstrumentations
|
|
832
832
|
: mutableInstrumentations;
|
|
833
833
|
return (target, key, receiver) => {
|
|
834
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
834
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
835
835
|
return !isReadonly;
|
|
836
836
|
}
|
|
837
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
837
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
838
838
|
return isReadonly;
|
|
839
839
|
}
|
|
840
|
-
else if (key === "__v_raw" /* RAW */) {
|
|
840
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */) {
|
|
841
841
|
return target;
|
|
842
842
|
}
|
|
843
843
|
return Reflect.get(shared.hasOwn(instrumentations, key) && key in target
|
|
@@ -877,19 +877,19 @@ function targetTypeMap(rawType) {
|
|
|
877
877
|
switch (rawType) {
|
|
878
878
|
case 'Object':
|
|
879
879
|
case 'Array':
|
|
880
|
-
return 1 /* COMMON */;
|
|
880
|
+
return 1 /* TargetType.COMMON */;
|
|
881
881
|
case 'Map':
|
|
882
882
|
case 'Set':
|
|
883
883
|
case 'WeakMap':
|
|
884
884
|
case 'WeakSet':
|
|
885
|
-
return 2 /* COLLECTION */;
|
|
885
|
+
return 2 /* TargetType.COLLECTION */;
|
|
886
886
|
default:
|
|
887
|
-
return 0 /* INVALID */;
|
|
887
|
+
return 0 /* TargetType.INVALID */;
|
|
888
888
|
}
|
|
889
889
|
}
|
|
890
890
|
function getTargetType(value) {
|
|
891
|
-
return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
|
|
892
|
-
? 0 /* INVALID */
|
|
891
|
+
return value["__v_skip" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)
|
|
892
|
+
? 0 /* TargetType.INVALID */
|
|
893
893
|
: targetTypeMap(shared.toRawType(value));
|
|
894
894
|
}
|
|
895
895
|
function reactive(target) {
|
|
@@ -932,8 +932,8 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
932
932
|
}
|
|
933
933
|
// target is already a Proxy, return it.
|
|
934
934
|
// exception: calling readonly() on a reactive object
|
|
935
|
-
if (target["__v_raw" /* RAW */] &&
|
|
936
|
-
!(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
|
|
935
|
+
if (target["__v_raw" /* ReactiveFlags.RAW */] &&
|
|
936
|
+
!(isReadonly && target["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */])) {
|
|
937
937
|
return target;
|
|
938
938
|
}
|
|
939
939
|
// target already has corresponding Proxy
|
|
@@ -943,34 +943,34 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
943
943
|
}
|
|
944
944
|
// only specific value types can be observed.
|
|
945
945
|
const targetType = getTargetType(target);
|
|
946
|
-
if (targetType === 0 /* INVALID */) {
|
|
946
|
+
if (targetType === 0 /* TargetType.INVALID */) {
|
|
947
947
|
return target;
|
|
948
948
|
}
|
|
949
|
-
const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
949
|
+
const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
950
950
|
proxyMap.set(target, proxy);
|
|
951
951
|
return proxy;
|
|
952
952
|
}
|
|
953
953
|
function isReactive(value) {
|
|
954
954
|
if (isReadonly(value)) {
|
|
955
|
-
return isReactive(value["__v_raw" /* RAW */]);
|
|
955
|
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
|
956
956
|
}
|
|
957
|
-
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
957
|
+
return !!(value && value["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */]);
|
|
958
958
|
}
|
|
959
959
|
function isReadonly(value) {
|
|
960
|
-
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
960
|
+
return !!(value && value["__v_isReadonly" /* ReactiveFlags.IS_READONLY */]);
|
|
961
961
|
}
|
|
962
962
|
function isShallow(value) {
|
|
963
|
-
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
963
|
+
return !!(value && value["__v_isShallow" /* ReactiveFlags.IS_SHALLOW */]);
|
|
964
964
|
}
|
|
965
965
|
function isProxy(value) {
|
|
966
966
|
return isReactive(value) || isReadonly(value);
|
|
967
967
|
}
|
|
968
968
|
function toRaw(observed) {
|
|
969
|
-
const raw = observed && observed["__v_raw" /* RAW */];
|
|
969
|
+
const raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
970
970
|
return raw ? toRaw(raw) : observed;
|
|
971
971
|
}
|
|
972
972
|
function markRaw(value) {
|
|
973
|
-
shared.def(value, "__v_skip" /* SKIP */, true);
|
|
973
|
+
shared.def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
|
974
974
|
return value;
|
|
975
975
|
}
|
|
976
976
|
const toReactive = (value) => shared.isObject(value) ? reactive(value) : value;
|
|
@@ -982,7 +982,7 @@ function trackRefValue(ref) {
|
|
|
982
982
|
{
|
|
983
983
|
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
984
984
|
target: ref,
|
|
985
|
-
type: "get" /* GET */,
|
|
985
|
+
type: "get" /* TrackOpTypes.GET */,
|
|
986
986
|
key: 'value'
|
|
987
987
|
});
|
|
988
988
|
}
|
|
@@ -994,7 +994,7 @@ function triggerRefValue(ref, newVal) {
|
|
|
994
994
|
{
|
|
995
995
|
triggerEffects(ref.dep, {
|
|
996
996
|
target: ref,
|
|
997
|
-
type: "set" /* SET */,
|
|
997
|
+
type: "set" /* TriggerOpTypes.SET */,
|
|
998
998
|
key: 'value',
|
|
999
999
|
newValue: newVal
|
|
1000
1000
|
});
|
|
@@ -1029,10 +1029,11 @@ class RefImpl {
|
|
|
1029
1029
|
return this._value;
|
|
1030
1030
|
}
|
|
1031
1031
|
set value(newVal) {
|
|
1032
|
-
|
|
1032
|
+
const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
|
|
1033
|
+
newVal = useDirectValue ? newVal : toRaw(newVal);
|
|
1033
1034
|
if (shared.hasChanged(newVal, this._rawValue)) {
|
|
1034
1035
|
this._rawValue = newVal;
|
|
1035
|
-
this._value =
|
|
1036
|
+
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
1036
1037
|
triggerRefValue(this, newVal);
|
|
1037
1038
|
}
|
|
1038
1039
|
}
|
|
@@ -1111,11 +1112,13 @@ function toRef(object, key, defaultValue) {
|
|
|
1111
1112
|
: new ObjectRefImpl(object, key, defaultValue);
|
|
1112
1113
|
}
|
|
1113
1114
|
|
|
1115
|
+
var _a;
|
|
1114
1116
|
class ComputedRefImpl {
|
|
1115
1117
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1116
1118
|
this._setter = _setter;
|
|
1117
1119
|
this.dep = undefined;
|
|
1118
1120
|
this.__v_isRef = true;
|
|
1121
|
+
this[_a] = false;
|
|
1119
1122
|
this._dirty = true;
|
|
1120
1123
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1121
1124
|
if (!this._dirty) {
|
|
@@ -1125,7 +1128,7 @@ class ComputedRefImpl {
|
|
|
1125
1128
|
});
|
|
1126
1129
|
this.effect.computed = this;
|
|
1127
1130
|
this.effect.active = this._cacheable = !isSSR;
|
|
1128
|
-
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1131
|
+
this["__v_isReadonly" /* ReactiveFlags.IS_READONLY */] = isReadonly;
|
|
1129
1132
|
}
|
|
1130
1133
|
get value() {
|
|
1131
1134
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
@@ -1141,6 +1144,7 @@ class ComputedRefImpl {
|
|
|
1141
1144
|
this._setter(newValue);
|
|
1142
1145
|
}
|
|
1143
1146
|
}
|
|
1147
|
+
_a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1144
1148
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
1145
1149
|
let getter;
|
|
1146
1150
|
let setter;
|
|
@@ -1164,7 +1168,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
|
1164
1168
|
return cRef;
|
|
1165
1169
|
}
|
|
1166
1170
|
|
|
1167
|
-
var _a;
|
|
1171
|
+
var _a$1;
|
|
1168
1172
|
const tick = /*#__PURE__*/ Promise.resolve();
|
|
1169
1173
|
const queue = [];
|
|
1170
1174
|
let queued = false;
|
|
@@ -1187,7 +1191,7 @@ class DeferredComputedRefImpl {
|
|
|
1187
1191
|
this.dep = undefined;
|
|
1188
1192
|
this._dirty = true;
|
|
1189
1193
|
this.__v_isRef = true;
|
|
1190
|
-
this[_a] = true;
|
|
1194
|
+
this[_a$1] = true;
|
|
1191
1195
|
let compareTarget;
|
|
1192
1196
|
let hasCompareTarget = false;
|
|
1193
1197
|
let scheduled = false;
|
|
@@ -1234,7 +1238,7 @@ class DeferredComputedRefImpl {
|
|
|
1234
1238
|
return toRaw(this)._get();
|
|
1235
1239
|
}
|
|
1236
1240
|
}
|
|
1237
|
-
_a = "__v_isReadonly" /* IS_READONLY */;
|
|
1241
|
+
_a$1 = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1238
1242
|
function deferredComputed(getter) {
|
|
1239
1243
|
return new DeferredComputedRefImpl(getter);
|
|
1240
1244
|
}
|