@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
|
@@ -284,7 +284,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
286
286
|
let deps = [];
|
|
287
|
-
if (type === "clear" /* CLEAR */) {
|
|
287
|
+
if (type === "clear" /* TriggerOpTypes.CLEAR */) {
|
|
288
288
|
// collection being cleared
|
|
289
289
|
// trigger all effects for target
|
|
290
290
|
deps = [...depsMap.values()];
|
|
@@ -303,7 +303,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
303
303
|
}
|
|
304
304
|
// also run for iteration key on ADD | DELETE | Map.SET
|
|
305
305
|
switch (type) {
|
|
306
|
-
case "add" /* ADD */:
|
|
306
|
+
case "add" /* TriggerOpTypes.ADD */:
|
|
307
307
|
if (!shared.isArray(target)) {
|
|
308
308
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
309
309
|
if (shared.isMap(target)) {
|
|
@@ -315,7 +315,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
315
315
|
deps.push(depsMap.get('length'));
|
|
316
316
|
}
|
|
317
317
|
break;
|
|
318
|
-
case "delete" /* DELETE */:
|
|
318
|
+
case "delete" /* TriggerOpTypes.DELETE */:
|
|
319
319
|
if (!shared.isArray(target)) {
|
|
320
320
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
321
321
|
if (shared.isMap(target)) {
|
|
@@ -323,7 +323,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
break;
|
|
326
|
-
case "set" /* SET */:
|
|
326
|
+
case "set" /* TriggerOpTypes.SET */:
|
|
327
327
|
if (shared.isMap(target)) {
|
|
328
328
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
329
329
|
}
|
|
@@ -395,7 +395,7 @@ function createArrayInstrumentations() {
|
|
|
395
395
|
instrumentations[key] = function (...args) {
|
|
396
396
|
const arr = toRaw(this);
|
|
397
397
|
for (let i = 0, l = this.length; i < l; i++) {
|
|
398
|
-
track(arr, "get" /* GET */, i + '');
|
|
398
|
+
track(arr, "get" /* TrackOpTypes.GET */, i + '');
|
|
399
399
|
}
|
|
400
400
|
// we run the method using the original args first (which may be reactive)
|
|
401
401
|
const res = arr[key](...args);
|
|
@@ -420,16 +420,16 @@ function createArrayInstrumentations() {
|
|
|
420
420
|
}
|
|
421
421
|
function createGetter(isReadonly = false, shallow = false) {
|
|
422
422
|
return function get(target, key, receiver) {
|
|
423
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
423
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
424
424
|
return !isReadonly;
|
|
425
425
|
}
|
|
426
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
426
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
427
427
|
return isReadonly;
|
|
428
428
|
}
|
|
429
|
-
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
429
|
+
else if (key === "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */) {
|
|
430
430
|
return shallow;
|
|
431
431
|
}
|
|
432
|
-
else if (key === "__v_raw" /* RAW */ &&
|
|
432
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */ &&
|
|
433
433
|
receiver ===
|
|
434
434
|
(isReadonly
|
|
435
435
|
? shallow
|
|
@@ -449,7 +449,7 @@ function createGetter(isReadonly = false, shallow = false) {
|
|
|
449
449
|
return res;
|
|
450
450
|
}
|
|
451
451
|
if (!isReadonly) {
|
|
452
|
-
track(target, "get" /* GET */, key);
|
|
452
|
+
track(target, "get" /* TrackOpTypes.GET */, key);
|
|
453
453
|
}
|
|
454
454
|
if (shallow) {
|
|
455
455
|
return res;
|
|
@@ -475,10 +475,10 @@ function createSetter(shallow = false) {
|
|
|
475
475
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
476
476
|
return false;
|
|
477
477
|
}
|
|
478
|
-
if (!shallow
|
|
479
|
-
if (!isShallow(value)) {
|
|
480
|
-
value = toRaw(value);
|
|
478
|
+
if (!shallow) {
|
|
479
|
+
if (!isShallow(value) && !isReadonly(value)) {
|
|
481
480
|
oldValue = toRaw(oldValue);
|
|
481
|
+
value = toRaw(value);
|
|
482
482
|
}
|
|
483
483
|
if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
484
484
|
oldValue.value = value;
|
|
@@ -492,10 +492,10 @@ function createSetter(shallow = false) {
|
|
|
492
492
|
// don't trigger if target is something up in the prototype chain of original
|
|
493
493
|
if (target === toRaw(receiver)) {
|
|
494
494
|
if (!hadKey) {
|
|
495
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
495
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
496
496
|
}
|
|
497
497
|
else if (shared.hasChanged(value, oldValue)) {
|
|
498
|
-
trigger(target, "set" /* SET */, key, value);
|
|
498
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value);
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
return result;
|
|
@@ -506,19 +506,19 @@ function deleteProperty(target, key) {
|
|
|
506
506
|
target[key];
|
|
507
507
|
const result = Reflect.deleteProperty(target, key);
|
|
508
508
|
if (result && hadKey) {
|
|
509
|
-
trigger(target, "delete" /* DELETE */, key, undefined);
|
|
509
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined);
|
|
510
510
|
}
|
|
511
511
|
return result;
|
|
512
512
|
}
|
|
513
513
|
function has(target, key) {
|
|
514
514
|
const result = Reflect.has(target, key);
|
|
515
515
|
if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {
|
|
516
|
-
track(target, "has" /* HAS */, key);
|
|
516
|
+
track(target, "has" /* TrackOpTypes.HAS */, key);
|
|
517
517
|
}
|
|
518
518
|
return result;
|
|
519
519
|
}
|
|
520
520
|
function ownKeys(target) {
|
|
521
|
-
track(target, "iterate" /* ITERATE */, shared.isArray(target) ? 'length' : ITERATE_KEY);
|
|
521
|
+
track(target, "iterate" /* TrackOpTypes.ITERATE */, shared.isArray(target) ? 'length' : ITERATE_KEY);
|
|
522
522
|
return Reflect.ownKeys(target);
|
|
523
523
|
}
|
|
524
524
|
const mutableHandlers = {
|
|
@@ -553,14 +553,14 @@ const getProto = (v) => Reflect.getPrototypeOf(v);
|
|
|
553
553
|
function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
554
554
|
// #1772: readonly(reactive(Map)) should return readonly + reactive version
|
|
555
555
|
// of the value
|
|
556
|
-
target = target["__v_raw" /* RAW */];
|
|
556
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
557
557
|
const rawTarget = toRaw(target);
|
|
558
558
|
const rawKey = toRaw(key);
|
|
559
559
|
if (!isReadonly) {
|
|
560
560
|
if (key !== rawKey) {
|
|
561
|
-
track(rawTarget, "get" /* GET */, key);
|
|
561
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, key);
|
|
562
562
|
}
|
|
563
|
-
track(rawTarget, "get" /* GET */, rawKey);
|
|
563
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, rawKey);
|
|
564
564
|
}
|
|
565
565
|
const { has } = getProto(rawTarget);
|
|
566
566
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
@@ -577,22 +577,22 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
579
|
function has$1(key, isReadonly = false) {
|
|
580
|
-
const target = this["__v_raw" /* RAW */];
|
|
580
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
581
581
|
const rawTarget = toRaw(target);
|
|
582
582
|
const rawKey = toRaw(key);
|
|
583
583
|
if (!isReadonly) {
|
|
584
584
|
if (key !== rawKey) {
|
|
585
|
-
track(rawTarget, "has" /* HAS */, key);
|
|
585
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, key);
|
|
586
586
|
}
|
|
587
|
-
track(rawTarget, "has" /* HAS */, rawKey);
|
|
587
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, rawKey);
|
|
588
588
|
}
|
|
589
589
|
return key === rawKey
|
|
590
590
|
? target.has(key)
|
|
591
591
|
: target.has(key) || target.has(rawKey);
|
|
592
592
|
}
|
|
593
593
|
function size(target, isReadonly = false) {
|
|
594
|
-
target = target["__v_raw" /* RAW */];
|
|
595
|
-
!isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
|
|
594
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
595
|
+
!isReadonly && track(toRaw(target), "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
596
596
|
return Reflect.get(target, 'size', target);
|
|
597
597
|
}
|
|
598
598
|
function add(value) {
|
|
@@ -602,7 +602,7 @@ function add(value) {
|
|
|
602
602
|
const hadKey = proto.has.call(target, value);
|
|
603
603
|
if (!hadKey) {
|
|
604
604
|
target.add(value);
|
|
605
|
-
trigger(target, "add" /* ADD */, value, value);
|
|
605
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, value, value);
|
|
606
606
|
}
|
|
607
607
|
return this;
|
|
608
608
|
}
|
|
@@ -618,10 +618,10 @@ function set$1(key, value) {
|
|
|
618
618
|
const oldValue = get.call(target, key);
|
|
619
619
|
target.set(key, value);
|
|
620
620
|
if (!hadKey) {
|
|
621
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
621
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
622
622
|
}
|
|
623
623
|
else if (shared.hasChanged(value, oldValue)) {
|
|
624
|
-
trigger(target, "set" /* SET */, key, value);
|
|
624
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value);
|
|
625
625
|
}
|
|
626
626
|
return this;
|
|
627
627
|
}
|
|
@@ -637,7 +637,7 @@ function deleteEntry(key) {
|
|
|
637
637
|
// forward the operation before queueing reactions
|
|
638
638
|
const result = target.delete(key);
|
|
639
639
|
if (hadKey) {
|
|
640
|
-
trigger(target, "delete" /* DELETE */, key, undefined);
|
|
640
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined);
|
|
641
641
|
}
|
|
642
642
|
return result;
|
|
643
643
|
}
|
|
@@ -647,17 +647,17 @@ function clear() {
|
|
|
647
647
|
// forward the operation before queueing reactions
|
|
648
648
|
const result = target.clear();
|
|
649
649
|
if (hadItems) {
|
|
650
|
-
trigger(target, "clear" /* CLEAR */, undefined, undefined);
|
|
650
|
+
trigger(target, "clear" /* TriggerOpTypes.CLEAR */, undefined, undefined);
|
|
651
651
|
}
|
|
652
652
|
return result;
|
|
653
653
|
}
|
|
654
654
|
function createForEach(isReadonly, isShallow) {
|
|
655
655
|
return function forEach(callback, thisArg) {
|
|
656
656
|
const observed = this;
|
|
657
|
-
const target = observed["__v_raw" /* RAW */];
|
|
657
|
+
const target = observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
658
658
|
const rawTarget = toRaw(target);
|
|
659
659
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
660
|
-
!isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
|
|
660
|
+
!isReadonly && track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
661
661
|
return target.forEach((value, key) => {
|
|
662
662
|
// important: make sure the callback is
|
|
663
663
|
// 1. invoked with the reactive map as `this` and 3rd arg
|
|
@@ -668,7 +668,7 @@ function createForEach(isReadonly, isShallow) {
|
|
|
668
668
|
}
|
|
669
669
|
function createIterableMethod(method, isReadonly, isShallow) {
|
|
670
670
|
return function (...args) {
|
|
671
|
-
const target = this["__v_raw" /* RAW */];
|
|
671
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
672
672
|
const rawTarget = toRaw(target);
|
|
673
673
|
const targetIsMap = shared.isMap(rawTarget);
|
|
674
674
|
const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
|
|
@@ -676,7 +676,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
|
|
|
676
676
|
const innerIterator = target[method](...args);
|
|
677
677
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
678
678
|
!isReadonly &&
|
|
679
|
-
track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
679
|
+
track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
680
680
|
// return a wrapped iterator which returns observed versions of the
|
|
681
681
|
// values emitted from the real iterator
|
|
682
682
|
return {
|
|
@@ -699,7 +699,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
|
|
|
699
699
|
}
|
|
700
700
|
function createReadonlyMethod(type) {
|
|
701
701
|
return function (...args) {
|
|
702
|
-
return type === "delete" /* DELETE */ ? false : this;
|
|
702
|
+
return type === "delete" /* TriggerOpTypes.DELETE */ ? false : this;
|
|
703
703
|
};
|
|
704
704
|
}
|
|
705
705
|
function createInstrumentations() {
|
|
@@ -741,10 +741,10 @@ function createInstrumentations() {
|
|
|
741
741
|
has(key) {
|
|
742
742
|
return has$1.call(this, key, true);
|
|
743
743
|
},
|
|
744
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
745
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
746
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
747
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
744
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
745
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
746
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
747
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
748
748
|
forEach: createForEach(true, false)
|
|
749
749
|
};
|
|
750
750
|
const shallowReadonlyInstrumentations = {
|
|
@@ -757,10 +757,10 @@ function createInstrumentations() {
|
|
|
757
757
|
has(key) {
|
|
758
758
|
return has$1.call(this, key, true);
|
|
759
759
|
},
|
|
760
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
761
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
762
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
763
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
760
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
761
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
762
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
763
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
764
764
|
forEach: createForEach(true, true)
|
|
765
765
|
};
|
|
766
766
|
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
@@ -787,13 +787,13 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
787
787
|
? readonlyInstrumentations
|
|
788
788
|
: mutableInstrumentations;
|
|
789
789
|
return (target, key, receiver) => {
|
|
790
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
790
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
791
791
|
return !isReadonly;
|
|
792
792
|
}
|
|
793
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
793
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
794
794
|
return isReadonly;
|
|
795
795
|
}
|
|
796
|
-
else if (key === "__v_raw" /* RAW */) {
|
|
796
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */) {
|
|
797
797
|
return target;
|
|
798
798
|
}
|
|
799
799
|
return Reflect.get(shared.hasOwn(instrumentations, key) && key in target
|
|
@@ -822,19 +822,19 @@ function targetTypeMap(rawType) {
|
|
|
822
822
|
switch (rawType) {
|
|
823
823
|
case 'Object':
|
|
824
824
|
case 'Array':
|
|
825
|
-
return 1 /* COMMON */;
|
|
825
|
+
return 1 /* TargetType.COMMON */;
|
|
826
826
|
case 'Map':
|
|
827
827
|
case 'Set':
|
|
828
828
|
case 'WeakMap':
|
|
829
829
|
case 'WeakSet':
|
|
830
|
-
return 2 /* COLLECTION */;
|
|
830
|
+
return 2 /* TargetType.COLLECTION */;
|
|
831
831
|
default:
|
|
832
|
-
return 0 /* INVALID */;
|
|
832
|
+
return 0 /* TargetType.INVALID */;
|
|
833
833
|
}
|
|
834
834
|
}
|
|
835
835
|
function getTargetType(value) {
|
|
836
|
-
return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
|
|
837
|
-
? 0 /* INVALID */
|
|
836
|
+
return value["__v_skip" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)
|
|
837
|
+
? 0 /* TargetType.INVALID */
|
|
838
838
|
: targetTypeMap(shared.toRawType(value));
|
|
839
839
|
}
|
|
840
840
|
function reactive(target) {
|
|
@@ -874,8 +874,8 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
874
874
|
}
|
|
875
875
|
// target is already a Proxy, return it.
|
|
876
876
|
// exception: calling readonly() on a reactive object
|
|
877
|
-
if (target["__v_raw" /* RAW */] &&
|
|
878
|
-
!(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
|
|
877
|
+
if (target["__v_raw" /* ReactiveFlags.RAW */] &&
|
|
878
|
+
!(isReadonly && target["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */])) {
|
|
879
879
|
return target;
|
|
880
880
|
}
|
|
881
881
|
// target already has corresponding Proxy
|
|
@@ -885,34 +885,34 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
885
885
|
}
|
|
886
886
|
// only specific value types can be observed.
|
|
887
887
|
const targetType = getTargetType(target);
|
|
888
|
-
if (targetType === 0 /* INVALID */) {
|
|
888
|
+
if (targetType === 0 /* TargetType.INVALID */) {
|
|
889
889
|
return target;
|
|
890
890
|
}
|
|
891
|
-
const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
891
|
+
const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
892
892
|
proxyMap.set(target, proxy);
|
|
893
893
|
return proxy;
|
|
894
894
|
}
|
|
895
895
|
function isReactive(value) {
|
|
896
896
|
if (isReadonly(value)) {
|
|
897
|
-
return isReactive(value["__v_raw" /* RAW */]);
|
|
897
|
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
|
898
898
|
}
|
|
899
|
-
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
899
|
+
return !!(value && value["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */]);
|
|
900
900
|
}
|
|
901
901
|
function isReadonly(value) {
|
|
902
|
-
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
902
|
+
return !!(value && value["__v_isReadonly" /* ReactiveFlags.IS_READONLY */]);
|
|
903
903
|
}
|
|
904
904
|
function isShallow(value) {
|
|
905
|
-
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
905
|
+
return !!(value && value["__v_isShallow" /* ReactiveFlags.IS_SHALLOW */]);
|
|
906
906
|
}
|
|
907
907
|
function isProxy(value) {
|
|
908
908
|
return isReactive(value) || isReadonly(value);
|
|
909
909
|
}
|
|
910
910
|
function toRaw(observed) {
|
|
911
|
-
const raw = observed && observed["__v_raw" /* RAW */];
|
|
911
|
+
const raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
912
912
|
return raw ? toRaw(raw) : observed;
|
|
913
913
|
}
|
|
914
914
|
function markRaw(value) {
|
|
915
|
-
shared.def(value, "__v_skip" /* SKIP */, true);
|
|
915
|
+
shared.def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
|
916
916
|
return value;
|
|
917
917
|
}
|
|
918
918
|
const toReactive = (value) => shared.isObject(value) ? reactive(value) : value;
|
|
@@ -962,10 +962,11 @@ class RefImpl {
|
|
|
962
962
|
return this._value;
|
|
963
963
|
}
|
|
964
964
|
set value(newVal) {
|
|
965
|
-
|
|
965
|
+
const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
|
|
966
|
+
newVal = useDirectValue ? newVal : toRaw(newVal);
|
|
966
967
|
if (shared.hasChanged(newVal, this._rawValue)) {
|
|
967
968
|
this._rawValue = newVal;
|
|
968
|
-
this._value =
|
|
969
|
+
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
969
970
|
triggerRefValue(this);
|
|
970
971
|
}
|
|
971
972
|
}
|
|
@@ -1041,11 +1042,13 @@ function toRef(object, key, defaultValue) {
|
|
|
1041
1042
|
: new ObjectRefImpl(object, key, defaultValue);
|
|
1042
1043
|
}
|
|
1043
1044
|
|
|
1045
|
+
var _a;
|
|
1044
1046
|
class ComputedRefImpl {
|
|
1045
1047
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1046
1048
|
this._setter = _setter;
|
|
1047
1049
|
this.dep = undefined;
|
|
1048
1050
|
this.__v_isRef = true;
|
|
1051
|
+
this[_a] = false;
|
|
1049
1052
|
this._dirty = true;
|
|
1050
1053
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1051
1054
|
if (!this._dirty) {
|
|
@@ -1055,7 +1058,7 @@ class ComputedRefImpl {
|
|
|
1055
1058
|
});
|
|
1056
1059
|
this.effect.computed = this;
|
|
1057
1060
|
this.effect.active = this._cacheable = !isSSR;
|
|
1058
|
-
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1061
|
+
this["__v_isReadonly" /* ReactiveFlags.IS_READONLY */] = isReadonly;
|
|
1059
1062
|
}
|
|
1060
1063
|
get value() {
|
|
1061
1064
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
@@ -1071,6 +1074,7 @@ class ComputedRefImpl {
|
|
|
1071
1074
|
this._setter(newValue);
|
|
1072
1075
|
}
|
|
1073
1076
|
}
|
|
1077
|
+
_a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1074
1078
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
1075
1079
|
let getter;
|
|
1076
1080
|
let setter;
|
|
@@ -1087,7 +1091,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
|
1087
1091
|
return cRef;
|
|
1088
1092
|
}
|
|
1089
1093
|
|
|
1090
|
-
var _a;
|
|
1094
|
+
var _a$1;
|
|
1091
1095
|
const tick = /*#__PURE__*/ Promise.resolve();
|
|
1092
1096
|
const queue = [];
|
|
1093
1097
|
let queued = false;
|
|
@@ -1110,7 +1114,7 @@ class DeferredComputedRefImpl {
|
|
|
1110
1114
|
this.dep = undefined;
|
|
1111
1115
|
this._dirty = true;
|
|
1112
1116
|
this.__v_isRef = true;
|
|
1113
|
-
this[_a] = true;
|
|
1117
|
+
this[_a$1] = true;
|
|
1114
1118
|
let compareTarget;
|
|
1115
1119
|
let hasCompareTarget = false;
|
|
1116
1120
|
let scheduled = false;
|
|
@@ -1157,7 +1161,7 @@ class DeferredComputedRefImpl {
|
|
|
1157
1161
|
return toRaw(this)._get();
|
|
1158
1162
|
}
|
|
1159
1163
|
}
|
|
1160
|
-
_a = "__v_isReadonly" /* IS_READONLY */;
|
|
1164
|
+
_a$1 = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1161
1165
|
function deferredComputed(getter) {
|
|
1162
1166
|
return new DeferredComputedRefImpl(getter);
|
|
1163
1167
|
}
|