@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
|
@@ -297,7 +297,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
297
297
|
return;
|
|
298
298
|
}
|
|
299
299
|
let deps = [];
|
|
300
|
-
if (type === "clear" /* CLEAR */) {
|
|
300
|
+
if (type === "clear" /* TriggerOpTypes.CLEAR */) {
|
|
301
301
|
// collection being cleared
|
|
302
302
|
// trigger all effects for target
|
|
303
303
|
deps = [...depsMap.values()];
|
|
@@ -316,7 +316,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
316
316
|
}
|
|
317
317
|
// also run for iteration key on ADD | DELETE | Map.SET
|
|
318
318
|
switch (type) {
|
|
319
|
-
case "add" /* ADD */:
|
|
319
|
+
case "add" /* TriggerOpTypes.ADD */:
|
|
320
320
|
if (!isArray(target)) {
|
|
321
321
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
322
322
|
if (isMap(target)) {
|
|
@@ -328,7 +328,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
328
328
|
deps.push(depsMap.get('length'));
|
|
329
329
|
}
|
|
330
330
|
break;
|
|
331
|
-
case "delete" /* DELETE */:
|
|
331
|
+
case "delete" /* TriggerOpTypes.DELETE */:
|
|
332
332
|
if (!isArray(target)) {
|
|
333
333
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
334
334
|
if (isMap(target)) {
|
|
@@ -336,7 +336,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
338
|
break;
|
|
339
|
-
case "set" /* SET */:
|
|
339
|
+
case "set" /* TriggerOpTypes.SET */:
|
|
340
340
|
if (isMap(target)) {
|
|
341
341
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
342
342
|
}
|
|
@@ -420,7 +420,7 @@ function createArrayInstrumentations() {
|
|
|
420
420
|
instrumentations[key] = function (...args) {
|
|
421
421
|
const arr = toRaw(this);
|
|
422
422
|
for (let i = 0, l = this.length; i < l; i++) {
|
|
423
|
-
track(arr, "get" /* GET */, i + '');
|
|
423
|
+
track(arr, "get" /* TrackOpTypes.GET */, i + '');
|
|
424
424
|
}
|
|
425
425
|
// we run the method using the original args first (which may be reactive)
|
|
426
426
|
const res = arr[key](...args);
|
|
@@ -445,16 +445,16 @@ function createArrayInstrumentations() {
|
|
|
445
445
|
}
|
|
446
446
|
function createGetter(isReadonly = false, shallow = false) {
|
|
447
447
|
return function get(target, key, receiver) {
|
|
448
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
448
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
449
449
|
return !isReadonly;
|
|
450
450
|
}
|
|
451
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
451
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
452
452
|
return isReadonly;
|
|
453
453
|
}
|
|
454
|
-
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
454
|
+
else if (key === "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */) {
|
|
455
455
|
return shallow;
|
|
456
456
|
}
|
|
457
|
-
else if (key === "__v_raw" /* RAW */ &&
|
|
457
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */ &&
|
|
458
458
|
receiver ===
|
|
459
459
|
(isReadonly
|
|
460
460
|
? shallow
|
|
@@ -474,7 +474,7 @@ function createGetter(isReadonly = false, shallow = false) {
|
|
|
474
474
|
return res;
|
|
475
475
|
}
|
|
476
476
|
if (!isReadonly) {
|
|
477
|
-
track(target, "get" /* GET */, key);
|
|
477
|
+
track(target, "get" /* TrackOpTypes.GET */, key);
|
|
478
478
|
}
|
|
479
479
|
if (shallow) {
|
|
480
480
|
return res;
|
|
@@ -500,10 +500,10 @@ function createSetter(shallow = false) {
|
|
|
500
500
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
501
501
|
return false;
|
|
502
502
|
}
|
|
503
|
-
if (!shallow
|
|
504
|
-
if (!isShallow(value)) {
|
|
505
|
-
value = toRaw(value);
|
|
503
|
+
if (!shallow) {
|
|
504
|
+
if (!isShallow(value) && !isReadonly(value)) {
|
|
506
505
|
oldValue = toRaw(oldValue);
|
|
506
|
+
value = toRaw(value);
|
|
507
507
|
}
|
|
508
508
|
if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
509
509
|
oldValue.value = value;
|
|
@@ -517,10 +517,10 @@ function createSetter(shallow = false) {
|
|
|
517
517
|
// don't trigger if target is something up in the prototype chain of original
|
|
518
518
|
if (target === toRaw(receiver)) {
|
|
519
519
|
if (!hadKey) {
|
|
520
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
520
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
521
521
|
}
|
|
522
522
|
else if (hasChanged(value, oldValue)) {
|
|
523
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
523
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
524
524
|
}
|
|
525
525
|
}
|
|
526
526
|
return result;
|
|
@@ -531,19 +531,19 @@ function deleteProperty(target, key) {
|
|
|
531
531
|
const oldValue = target[key];
|
|
532
532
|
const result = Reflect.deleteProperty(target, key);
|
|
533
533
|
if (result && hadKey) {
|
|
534
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
534
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
535
535
|
}
|
|
536
536
|
return result;
|
|
537
537
|
}
|
|
538
538
|
function has(target, key) {
|
|
539
539
|
const result = Reflect.has(target, key);
|
|
540
540
|
if (!isSymbol(key) || !builtInSymbols.has(key)) {
|
|
541
|
-
track(target, "has" /* HAS */, key);
|
|
541
|
+
track(target, "has" /* TrackOpTypes.HAS */, key);
|
|
542
542
|
}
|
|
543
543
|
return result;
|
|
544
544
|
}
|
|
545
545
|
function ownKeys(target) {
|
|
546
|
-
track(target, "iterate" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
546
|
+
track(target, "iterate" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
547
547
|
return Reflect.ownKeys(target);
|
|
548
548
|
}
|
|
549
549
|
const mutableHandlers = {
|
|
@@ -584,14 +584,14 @@ const getProto = (v) => Reflect.getPrototypeOf(v);
|
|
|
584
584
|
function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
585
585
|
// #1772: readonly(reactive(Map)) should return readonly + reactive version
|
|
586
586
|
// of the value
|
|
587
|
-
target = target["__v_raw" /* RAW */];
|
|
587
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
588
588
|
const rawTarget = toRaw(target);
|
|
589
589
|
const rawKey = toRaw(key);
|
|
590
590
|
if (!isReadonly) {
|
|
591
591
|
if (key !== rawKey) {
|
|
592
|
-
track(rawTarget, "get" /* GET */, key);
|
|
592
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, key);
|
|
593
593
|
}
|
|
594
|
-
track(rawTarget, "get" /* GET */, rawKey);
|
|
594
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, rawKey);
|
|
595
595
|
}
|
|
596
596
|
const { has } = getProto(rawTarget);
|
|
597
597
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
@@ -608,22 +608,22 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
610
|
function has$1(key, isReadonly = false) {
|
|
611
|
-
const target = this["__v_raw" /* RAW */];
|
|
611
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
612
612
|
const rawTarget = toRaw(target);
|
|
613
613
|
const rawKey = toRaw(key);
|
|
614
614
|
if (!isReadonly) {
|
|
615
615
|
if (key !== rawKey) {
|
|
616
|
-
track(rawTarget, "has" /* HAS */, key);
|
|
616
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, key);
|
|
617
617
|
}
|
|
618
|
-
track(rawTarget, "has" /* HAS */, rawKey);
|
|
618
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, rawKey);
|
|
619
619
|
}
|
|
620
620
|
return key === rawKey
|
|
621
621
|
? target.has(key)
|
|
622
622
|
: target.has(key) || target.has(rawKey);
|
|
623
623
|
}
|
|
624
624
|
function size(target, isReadonly = false) {
|
|
625
|
-
target = target["__v_raw" /* RAW */];
|
|
626
|
-
!isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
|
|
625
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
626
|
+
!isReadonly && track(toRaw(target), "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
627
627
|
return Reflect.get(target, 'size', target);
|
|
628
628
|
}
|
|
629
629
|
function add(value) {
|
|
@@ -633,7 +633,7 @@ function add(value) {
|
|
|
633
633
|
const hadKey = proto.has.call(target, value);
|
|
634
634
|
if (!hadKey) {
|
|
635
635
|
target.add(value);
|
|
636
|
-
trigger(target, "add" /* ADD */, value, value);
|
|
636
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, value, value);
|
|
637
637
|
}
|
|
638
638
|
return this;
|
|
639
639
|
}
|
|
@@ -652,10 +652,10 @@ function set$1(key, value) {
|
|
|
652
652
|
const oldValue = get.call(target, key);
|
|
653
653
|
target.set(key, value);
|
|
654
654
|
if (!hadKey) {
|
|
655
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
655
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
656
656
|
}
|
|
657
657
|
else if (hasChanged(value, oldValue)) {
|
|
658
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
658
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
659
659
|
}
|
|
660
660
|
return this;
|
|
661
661
|
}
|
|
@@ -674,7 +674,7 @@ function deleteEntry(key) {
|
|
|
674
674
|
// forward the operation before queueing reactions
|
|
675
675
|
const result = target.delete(key);
|
|
676
676
|
if (hadKey) {
|
|
677
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
677
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
678
678
|
}
|
|
679
679
|
return result;
|
|
680
680
|
}
|
|
@@ -689,17 +689,17 @@ function clear() {
|
|
|
689
689
|
// forward the operation before queueing reactions
|
|
690
690
|
const result = target.clear();
|
|
691
691
|
if (hadItems) {
|
|
692
|
-
trigger(target, "clear" /* CLEAR */, undefined, undefined, oldTarget);
|
|
692
|
+
trigger(target, "clear" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);
|
|
693
693
|
}
|
|
694
694
|
return result;
|
|
695
695
|
}
|
|
696
696
|
function createForEach(isReadonly, isShallow) {
|
|
697
697
|
return function forEach(callback, thisArg) {
|
|
698
698
|
const observed = this;
|
|
699
|
-
const target = observed["__v_raw" /* RAW */];
|
|
699
|
+
const target = observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
700
700
|
const rawTarget = toRaw(target);
|
|
701
701
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
702
|
-
!isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
|
|
702
|
+
!isReadonly && track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
703
703
|
return target.forEach((value, key) => {
|
|
704
704
|
// important: make sure the callback is
|
|
705
705
|
// 1. invoked with the reactive map as `this` and 3rd arg
|
|
@@ -710,7 +710,7 @@ function createForEach(isReadonly, isShallow) {
|
|
|
710
710
|
}
|
|
711
711
|
function createIterableMethod(method, isReadonly, isShallow) {
|
|
712
712
|
return function (...args) {
|
|
713
|
-
const target = this["__v_raw" /* RAW */];
|
|
713
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
714
714
|
const rawTarget = toRaw(target);
|
|
715
715
|
const targetIsMap = isMap(rawTarget);
|
|
716
716
|
const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
|
|
@@ -718,7 +718,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
|
|
|
718
718
|
const innerIterator = target[method](...args);
|
|
719
719
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
720
720
|
!isReadonly &&
|
|
721
|
-
track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
721
|
+
track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
722
722
|
// return a wrapped iterator which returns observed versions of the
|
|
723
723
|
// values emitted from the real iterator
|
|
724
724
|
return {
|
|
@@ -745,7 +745,7 @@ function createReadonlyMethod(type) {
|
|
|
745
745
|
const key = args[0] ? `on key "${args[0]}" ` : ``;
|
|
746
746
|
console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
|
|
747
747
|
}
|
|
748
|
-
return type === "delete" /* DELETE */ ? false : this;
|
|
748
|
+
return type === "delete" /* TriggerOpTypes.DELETE */ ? false : this;
|
|
749
749
|
};
|
|
750
750
|
}
|
|
751
751
|
function createInstrumentations() {
|
|
@@ -787,10 +787,10 @@ function createInstrumentations() {
|
|
|
787
787
|
has(key) {
|
|
788
788
|
return has$1.call(this, key, true);
|
|
789
789
|
},
|
|
790
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
791
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
792
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
793
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
790
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
791
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
792
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
793
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
794
794
|
forEach: createForEach(true, false)
|
|
795
795
|
};
|
|
796
796
|
const shallowReadonlyInstrumentations = {
|
|
@@ -803,10 +803,10 @@ function createInstrumentations() {
|
|
|
803
803
|
has(key) {
|
|
804
804
|
return has$1.call(this, key, true);
|
|
805
805
|
},
|
|
806
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
807
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
808
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
809
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
806
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
807
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
808
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
809
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
810
810
|
forEach: createForEach(true, true)
|
|
811
811
|
};
|
|
812
812
|
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
@@ -833,13 +833,13 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
833
833
|
? readonlyInstrumentations
|
|
834
834
|
: mutableInstrumentations;
|
|
835
835
|
return (target, key, receiver) => {
|
|
836
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
836
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
837
837
|
return !isReadonly;
|
|
838
838
|
}
|
|
839
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
839
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
840
840
|
return isReadonly;
|
|
841
841
|
}
|
|
842
|
-
else if (key === "__v_raw" /* RAW */) {
|
|
842
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */) {
|
|
843
843
|
return target;
|
|
844
844
|
}
|
|
845
845
|
return Reflect.get(hasOwn(instrumentations, key) && key in target
|
|
@@ -879,19 +879,19 @@ function targetTypeMap(rawType) {
|
|
|
879
879
|
switch (rawType) {
|
|
880
880
|
case 'Object':
|
|
881
881
|
case 'Array':
|
|
882
|
-
return 1 /* COMMON */;
|
|
882
|
+
return 1 /* TargetType.COMMON */;
|
|
883
883
|
case 'Map':
|
|
884
884
|
case 'Set':
|
|
885
885
|
case 'WeakMap':
|
|
886
886
|
case 'WeakSet':
|
|
887
|
-
return 2 /* COLLECTION */;
|
|
887
|
+
return 2 /* TargetType.COLLECTION */;
|
|
888
888
|
default:
|
|
889
|
-
return 0 /* INVALID */;
|
|
889
|
+
return 0 /* TargetType.INVALID */;
|
|
890
890
|
}
|
|
891
891
|
}
|
|
892
892
|
function getTargetType(value) {
|
|
893
|
-
return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
|
|
894
|
-
? 0 /* INVALID */
|
|
893
|
+
return value["__v_skip" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)
|
|
894
|
+
? 0 /* TargetType.INVALID */
|
|
895
895
|
: targetTypeMap(toRawType(value));
|
|
896
896
|
}
|
|
897
897
|
function reactive(target) {
|
|
@@ -934,8 +934,8 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
934
934
|
}
|
|
935
935
|
// target is already a Proxy, return it.
|
|
936
936
|
// exception: calling readonly() on a reactive object
|
|
937
|
-
if (target["__v_raw" /* RAW */] &&
|
|
938
|
-
!(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
|
|
937
|
+
if (target["__v_raw" /* ReactiveFlags.RAW */] &&
|
|
938
|
+
!(isReadonly && target["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */])) {
|
|
939
939
|
return target;
|
|
940
940
|
}
|
|
941
941
|
// target already has corresponding Proxy
|
|
@@ -945,34 +945,34 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
945
945
|
}
|
|
946
946
|
// only specific value types can be observed.
|
|
947
947
|
const targetType = getTargetType(target);
|
|
948
|
-
if (targetType === 0 /* INVALID */) {
|
|
948
|
+
if (targetType === 0 /* TargetType.INVALID */) {
|
|
949
949
|
return target;
|
|
950
950
|
}
|
|
951
|
-
const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
951
|
+
const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
952
952
|
proxyMap.set(target, proxy);
|
|
953
953
|
return proxy;
|
|
954
954
|
}
|
|
955
955
|
function isReactive(value) {
|
|
956
956
|
if (isReadonly(value)) {
|
|
957
|
-
return isReactive(value["__v_raw" /* RAW */]);
|
|
957
|
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
|
958
958
|
}
|
|
959
|
-
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
959
|
+
return !!(value && value["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */]);
|
|
960
960
|
}
|
|
961
961
|
function isReadonly(value) {
|
|
962
|
-
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
962
|
+
return !!(value && value["__v_isReadonly" /* ReactiveFlags.IS_READONLY */]);
|
|
963
963
|
}
|
|
964
964
|
function isShallow(value) {
|
|
965
|
-
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
965
|
+
return !!(value && value["__v_isShallow" /* ReactiveFlags.IS_SHALLOW */]);
|
|
966
966
|
}
|
|
967
967
|
function isProxy(value) {
|
|
968
968
|
return isReactive(value) || isReadonly(value);
|
|
969
969
|
}
|
|
970
970
|
function toRaw(observed) {
|
|
971
|
-
const raw = observed && observed["__v_raw" /* RAW */];
|
|
971
|
+
const raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
972
972
|
return raw ? toRaw(raw) : observed;
|
|
973
973
|
}
|
|
974
974
|
function markRaw(value) {
|
|
975
|
-
def(value, "__v_skip" /* SKIP */, true);
|
|
975
|
+
def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
|
976
976
|
return value;
|
|
977
977
|
}
|
|
978
978
|
const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
@@ -984,7 +984,7 @@ function trackRefValue(ref) {
|
|
|
984
984
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
985
985
|
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
986
986
|
target: ref,
|
|
987
|
-
type: "get" /* GET */,
|
|
987
|
+
type: "get" /* TrackOpTypes.GET */,
|
|
988
988
|
key: 'value'
|
|
989
989
|
});
|
|
990
990
|
}
|
|
@@ -999,7 +999,7 @@ function triggerRefValue(ref, newVal) {
|
|
|
999
999
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1000
1000
|
triggerEffects(ref.dep, {
|
|
1001
1001
|
target: ref,
|
|
1002
|
-
type: "set" /* SET */,
|
|
1002
|
+
type: "set" /* TriggerOpTypes.SET */,
|
|
1003
1003
|
key: 'value',
|
|
1004
1004
|
newValue: newVal
|
|
1005
1005
|
});
|
|
@@ -1037,10 +1037,11 @@ class RefImpl {
|
|
|
1037
1037
|
return this._value;
|
|
1038
1038
|
}
|
|
1039
1039
|
set value(newVal) {
|
|
1040
|
-
|
|
1040
|
+
const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
|
|
1041
|
+
newVal = useDirectValue ? newVal : toRaw(newVal);
|
|
1041
1042
|
if (hasChanged(newVal, this._rawValue)) {
|
|
1042
1043
|
this._rawValue = newVal;
|
|
1043
|
-
this._value =
|
|
1044
|
+
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
1044
1045
|
triggerRefValue(this, newVal);
|
|
1045
1046
|
}
|
|
1046
1047
|
}
|
|
@@ -1119,11 +1120,13 @@ function toRef(object, key, defaultValue) {
|
|
|
1119
1120
|
: new ObjectRefImpl(object, key, defaultValue);
|
|
1120
1121
|
}
|
|
1121
1122
|
|
|
1123
|
+
var _a;
|
|
1122
1124
|
class ComputedRefImpl {
|
|
1123
1125
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1124
1126
|
this._setter = _setter;
|
|
1125
1127
|
this.dep = undefined;
|
|
1126
1128
|
this.__v_isRef = true;
|
|
1129
|
+
this[_a] = false;
|
|
1127
1130
|
this._dirty = true;
|
|
1128
1131
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1129
1132
|
if (!this._dirty) {
|
|
@@ -1133,7 +1136,7 @@ class ComputedRefImpl {
|
|
|
1133
1136
|
});
|
|
1134
1137
|
this.effect.computed = this;
|
|
1135
1138
|
this.effect.active = this._cacheable = !isSSR;
|
|
1136
|
-
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1139
|
+
this["__v_isReadonly" /* ReactiveFlags.IS_READONLY */] = isReadonly;
|
|
1137
1140
|
}
|
|
1138
1141
|
get value() {
|
|
1139
1142
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
@@ -1149,6 +1152,7 @@ class ComputedRefImpl {
|
|
|
1149
1152
|
this._setter(newValue);
|
|
1150
1153
|
}
|
|
1151
1154
|
}
|
|
1155
|
+
_a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1152
1156
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
1153
1157
|
let getter;
|
|
1154
1158
|
let setter;
|
|
@@ -1173,7 +1177,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
|
1173
1177
|
return cRef;
|
|
1174
1178
|
}
|
|
1175
1179
|
|
|
1176
|
-
var _a;
|
|
1180
|
+
var _a$1;
|
|
1177
1181
|
const tick = /*#__PURE__*/ Promise.resolve();
|
|
1178
1182
|
const queue = [];
|
|
1179
1183
|
let queued = false;
|
|
@@ -1196,7 +1200,7 @@ class DeferredComputedRefImpl {
|
|
|
1196
1200
|
this.dep = undefined;
|
|
1197
1201
|
this._dirty = true;
|
|
1198
1202
|
this.__v_isRef = true;
|
|
1199
|
-
this[_a] = true;
|
|
1203
|
+
this[_a$1] = true;
|
|
1200
1204
|
let compareTarget;
|
|
1201
1205
|
let hasCompareTarget = false;
|
|
1202
1206
|
let scheduled = false;
|
|
@@ -1243,7 +1247,7 @@ class DeferredComputedRefImpl {
|
|
|
1243
1247
|
return toRaw(this)._get();
|
|
1244
1248
|
}
|
|
1245
1249
|
}
|
|
1246
|
-
_a = "__v_isReadonly" /* IS_READONLY */;
|
|
1250
|
+
_a$1 = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1247
1251
|
function deferredComputed(getter) {
|
|
1248
1252
|
return new DeferredComputedRefImpl(getter);
|
|
1249
1253
|
}
|