@vue/compat 3.2.35 → 3.2.38
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/vue.cjs.js +1188 -1132
- package/dist/vue.cjs.prod.js +997 -947
- package/dist/vue.esm-browser.js +1130 -1074
- package/dist/vue.esm-browser.prod.js +1 -1
- package/dist/vue.esm-bundler.js +1134 -1080
- package/dist/vue.global.js +1130 -1074
- package/dist/vue.global.prod.js +1 -1
- package/dist/vue.runtime.esm-browser.js +550 -515
- package/dist/vue.runtime.esm-browser.prod.js +1 -1
- package/dist/vue.runtime.esm-bundler.js +554 -521
- package/dist/vue.runtime.global.js +550 -515
- package/dist/vue.runtime.global.prod.js +1 -1
- package/package.json +2 -2
|
@@ -640,7 +640,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
640
640
|
return;
|
|
641
641
|
}
|
|
642
642
|
let deps = [];
|
|
643
|
-
if (type === "clear" /* CLEAR */) {
|
|
643
|
+
if (type === "clear" /* TriggerOpTypes.CLEAR */) {
|
|
644
644
|
// collection being cleared
|
|
645
645
|
// trigger all effects for target
|
|
646
646
|
deps = [...depsMap.values()];
|
|
@@ -659,7 +659,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
659
659
|
}
|
|
660
660
|
// also run for iteration key on ADD | DELETE | Map.SET
|
|
661
661
|
switch (type) {
|
|
662
|
-
case "add" /* ADD */:
|
|
662
|
+
case "add" /* TriggerOpTypes.ADD */:
|
|
663
663
|
if (!isArray(target)) {
|
|
664
664
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
665
665
|
if (isMap(target)) {
|
|
@@ -671,7 +671,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
671
671
|
deps.push(depsMap.get('length'));
|
|
672
672
|
}
|
|
673
673
|
break;
|
|
674
|
-
case "delete" /* DELETE */:
|
|
674
|
+
case "delete" /* TriggerOpTypes.DELETE */:
|
|
675
675
|
if (!isArray(target)) {
|
|
676
676
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
677
677
|
if (isMap(target)) {
|
|
@@ -679,7 +679,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
679
679
|
}
|
|
680
680
|
}
|
|
681
681
|
break;
|
|
682
|
-
case "set" /* SET */:
|
|
682
|
+
case "set" /* TriggerOpTypes.SET */:
|
|
683
683
|
if (isMap(target)) {
|
|
684
684
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
685
685
|
}
|
|
@@ -763,7 +763,7 @@ function createArrayInstrumentations() {
|
|
|
763
763
|
instrumentations[key] = function (...args) {
|
|
764
764
|
const arr = toRaw(this);
|
|
765
765
|
for (let i = 0, l = this.length; i < l; i++) {
|
|
766
|
-
track(arr, "get" /* GET */, i + '');
|
|
766
|
+
track(arr, "get" /* TrackOpTypes.GET */, i + '');
|
|
767
767
|
}
|
|
768
768
|
// we run the method using the original args first (which may be reactive)
|
|
769
769
|
const res = arr[key](...args);
|
|
@@ -788,16 +788,16 @@ function createArrayInstrumentations() {
|
|
|
788
788
|
}
|
|
789
789
|
function createGetter(isReadonly = false, shallow = false) {
|
|
790
790
|
return function get(target, key, receiver) {
|
|
791
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
791
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
792
792
|
return !isReadonly;
|
|
793
793
|
}
|
|
794
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
794
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
795
795
|
return isReadonly;
|
|
796
796
|
}
|
|
797
|
-
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
797
|
+
else if (key === "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */) {
|
|
798
798
|
return shallow;
|
|
799
799
|
}
|
|
800
|
-
else if (key === "__v_raw" /* RAW */ &&
|
|
800
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */ &&
|
|
801
801
|
receiver ===
|
|
802
802
|
(isReadonly
|
|
803
803
|
? shallow
|
|
@@ -817,7 +817,7 @@ function createGetter(isReadonly = false, shallow = false) {
|
|
|
817
817
|
return res;
|
|
818
818
|
}
|
|
819
819
|
if (!isReadonly) {
|
|
820
|
-
track(target, "get" /* GET */, key);
|
|
820
|
+
track(target, "get" /* TrackOpTypes.GET */, key);
|
|
821
821
|
}
|
|
822
822
|
if (shallow) {
|
|
823
823
|
return res;
|
|
@@ -843,10 +843,10 @@ function createSetter(shallow = false) {
|
|
|
843
843
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
844
844
|
return false;
|
|
845
845
|
}
|
|
846
|
-
if (!shallow
|
|
847
|
-
if (!isShallow(value)) {
|
|
848
|
-
value = toRaw(value);
|
|
846
|
+
if (!shallow) {
|
|
847
|
+
if (!isShallow(value) && !isReadonly(value)) {
|
|
849
848
|
oldValue = toRaw(oldValue);
|
|
849
|
+
value = toRaw(value);
|
|
850
850
|
}
|
|
851
851
|
if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
852
852
|
oldValue.value = value;
|
|
@@ -860,10 +860,10 @@ function createSetter(shallow = false) {
|
|
|
860
860
|
// don't trigger if target is something up in the prototype chain of original
|
|
861
861
|
if (target === toRaw(receiver)) {
|
|
862
862
|
if (!hadKey) {
|
|
863
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
863
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
864
864
|
}
|
|
865
865
|
else if (hasChanged(value, oldValue)) {
|
|
866
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
866
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
869
|
return result;
|
|
@@ -874,19 +874,19 @@ function deleteProperty(target, key) {
|
|
|
874
874
|
const oldValue = target[key];
|
|
875
875
|
const result = Reflect.deleteProperty(target, key);
|
|
876
876
|
if (result && hadKey) {
|
|
877
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
877
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
878
878
|
}
|
|
879
879
|
return result;
|
|
880
880
|
}
|
|
881
881
|
function has(target, key) {
|
|
882
882
|
const result = Reflect.has(target, key);
|
|
883
883
|
if (!isSymbol(key) || !builtInSymbols.has(key)) {
|
|
884
|
-
track(target, "has" /* HAS */, key);
|
|
884
|
+
track(target, "has" /* TrackOpTypes.HAS */, key);
|
|
885
885
|
}
|
|
886
886
|
return result;
|
|
887
887
|
}
|
|
888
888
|
function ownKeys(target) {
|
|
889
|
-
track(target, "iterate" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
889
|
+
track(target, "iterate" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
890
890
|
return Reflect.ownKeys(target);
|
|
891
891
|
}
|
|
892
892
|
const mutableHandlers = {
|
|
@@ -927,14 +927,14 @@ const getProto = (v) => Reflect.getPrototypeOf(v);
|
|
|
927
927
|
function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
928
928
|
// #1772: readonly(reactive(Map)) should return readonly + reactive version
|
|
929
929
|
// of the value
|
|
930
|
-
target = target["__v_raw" /* RAW */];
|
|
930
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
931
931
|
const rawTarget = toRaw(target);
|
|
932
932
|
const rawKey = toRaw(key);
|
|
933
933
|
if (!isReadonly) {
|
|
934
934
|
if (key !== rawKey) {
|
|
935
|
-
track(rawTarget, "get" /* GET */, key);
|
|
935
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, key);
|
|
936
936
|
}
|
|
937
|
-
track(rawTarget, "get" /* GET */, rawKey);
|
|
937
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, rawKey);
|
|
938
938
|
}
|
|
939
939
|
const { has } = getProto(rawTarget);
|
|
940
940
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
@@ -951,22 +951,22 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
|
951
951
|
}
|
|
952
952
|
}
|
|
953
953
|
function has$1(key, isReadonly = false) {
|
|
954
|
-
const target = this["__v_raw" /* RAW */];
|
|
954
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
955
955
|
const rawTarget = toRaw(target);
|
|
956
956
|
const rawKey = toRaw(key);
|
|
957
957
|
if (!isReadonly) {
|
|
958
958
|
if (key !== rawKey) {
|
|
959
|
-
track(rawTarget, "has" /* HAS */, key);
|
|
959
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, key);
|
|
960
960
|
}
|
|
961
|
-
track(rawTarget, "has" /* HAS */, rawKey);
|
|
961
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, rawKey);
|
|
962
962
|
}
|
|
963
963
|
return key === rawKey
|
|
964
964
|
? target.has(key)
|
|
965
965
|
: target.has(key) || target.has(rawKey);
|
|
966
966
|
}
|
|
967
967
|
function size(target, isReadonly = false) {
|
|
968
|
-
target = target["__v_raw" /* RAW */];
|
|
969
|
-
!isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
|
|
968
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
969
|
+
!isReadonly && track(toRaw(target), "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
970
970
|
return Reflect.get(target, 'size', target);
|
|
971
971
|
}
|
|
972
972
|
function add(value) {
|
|
@@ -976,7 +976,7 @@ function add(value) {
|
|
|
976
976
|
const hadKey = proto.has.call(target, value);
|
|
977
977
|
if (!hadKey) {
|
|
978
978
|
target.add(value);
|
|
979
|
-
trigger(target, "add" /* ADD */, value, value);
|
|
979
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, value, value);
|
|
980
980
|
}
|
|
981
981
|
return this;
|
|
982
982
|
}
|
|
@@ -995,10 +995,10 @@ function set$1(key, value) {
|
|
|
995
995
|
const oldValue = get.call(target, key);
|
|
996
996
|
target.set(key, value);
|
|
997
997
|
if (!hadKey) {
|
|
998
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
998
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
999
999
|
}
|
|
1000
1000
|
else if (hasChanged(value, oldValue)) {
|
|
1001
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
1001
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
1002
1002
|
}
|
|
1003
1003
|
return this;
|
|
1004
1004
|
}
|
|
@@ -1017,7 +1017,7 @@ function deleteEntry(key) {
|
|
|
1017
1017
|
// forward the operation before queueing reactions
|
|
1018
1018
|
const result = target.delete(key);
|
|
1019
1019
|
if (hadKey) {
|
|
1020
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
1020
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
1021
1021
|
}
|
|
1022
1022
|
return result;
|
|
1023
1023
|
}
|
|
@@ -1032,17 +1032,17 @@ function clear() {
|
|
|
1032
1032
|
// forward the operation before queueing reactions
|
|
1033
1033
|
const result = target.clear();
|
|
1034
1034
|
if (hadItems) {
|
|
1035
|
-
trigger(target, "clear" /* CLEAR */, undefined, undefined, oldTarget);
|
|
1035
|
+
trigger(target, "clear" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);
|
|
1036
1036
|
}
|
|
1037
1037
|
return result;
|
|
1038
1038
|
}
|
|
1039
1039
|
function createForEach(isReadonly, isShallow) {
|
|
1040
1040
|
return function forEach(callback, thisArg) {
|
|
1041
1041
|
const observed = this;
|
|
1042
|
-
const target = observed["__v_raw" /* RAW */];
|
|
1042
|
+
const target = observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
1043
1043
|
const rawTarget = toRaw(target);
|
|
1044
1044
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
1045
|
-
!isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
|
|
1045
|
+
!isReadonly && track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
1046
1046
|
return target.forEach((value, key) => {
|
|
1047
1047
|
// important: make sure the callback is
|
|
1048
1048
|
// 1. invoked with the reactive map as `this` and 3rd arg
|
|
@@ -1053,7 +1053,7 @@ function createForEach(isReadonly, isShallow) {
|
|
|
1053
1053
|
}
|
|
1054
1054
|
function createIterableMethod(method, isReadonly, isShallow) {
|
|
1055
1055
|
return function (...args) {
|
|
1056
|
-
const target = this["__v_raw" /* RAW */];
|
|
1056
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
1057
1057
|
const rawTarget = toRaw(target);
|
|
1058
1058
|
const targetIsMap = isMap(rawTarget);
|
|
1059
1059
|
const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
|
|
@@ -1061,7 +1061,7 @@ function createIterableMethod(method, isReadonly, isShallow) {
|
|
|
1061
1061
|
const innerIterator = target[method](...args);
|
|
1062
1062
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
1063
1063
|
!isReadonly &&
|
|
1064
|
-
track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
1064
|
+
track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
1065
1065
|
// return a wrapped iterator which returns observed versions of the
|
|
1066
1066
|
// values emitted from the real iterator
|
|
1067
1067
|
return {
|
|
@@ -1088,7 +1088,7 @@ function createReadonlyMethod(type) {
|
|
|
1088
1088
|
const key = args[0] ? `on key "${args[0]}" ` : ``;
|
|
1089
1089
|
console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
|
|
1090
1090
|
}
|
|
1091
|
-
return type === "delete" /* DELETE */ ? false : this;
|
|
1091
|
+
return type === "delete" /* TriggerOpTypes.DELETE */ ? false : this;
|
|
1092
1092
|
};
|
|
1093
1093
|
}
|
|
1094
1094
|
function createInstrumentations() {
|
|
@@ -1130,10 +1130,10 @@ function createInstrumentations() {
|
|
|
1130
1130
|
has(key) {
|
|
1131
1131
|
return has$1.call(this, key, true);
|
|
1132
1132
|
},
|
|
1133
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
1134
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
1135
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
1136
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
1133
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
1134
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
1135
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
1136
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
1137
1137
|
forEach: createForEach(true, false)
|
|
1138
1138
|
};
|
|
1139
1139
|
const shallowReadonlyInstrumentations = {
|
|
@@ -1146,10 +1146,10 @@ function createInstrumentations() {
|
|
|
1146
1146
|
has(key) {
|
|
1147
1147
|
return has$1.call(this, key, true);
|
|
1148
1148
|
},
|
|
1149
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
1150
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
1151
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
1152
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
1149
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
1150
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
1151
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
1152
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
1153
1153
|
forEach: createForEach(true, true)
|
|
1154
1154
|
};
|
|
1155
1155
|
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
@@ -1176,13 +1176,13 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
1176
1176
|
? readonlyInstrumentations
|
|
1177
1177
|
: mutableInstrumentations;
|
|
1178
1178
|
return (target, key, receiver) => {
|
|
1179
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
1179
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
1180
1180
|
return !isReadonly;
|
|
1181
1181
|
}
|
|
1182
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
1182
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
1183
1183
|
return isReadonly;
|
|
1184
1184
|
}
|
|
1185
|
-
else if (key === "__v_raw" /* RAW */) {
|
|
1185
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */) {
|
|
1186
1186
|
return target;
|
|
1187
1187
|
}
|
|
1188
1188
|
return Reflect.get(hasOwn(instrumentations, key) && key in target
|
|
@@ -1222,19 +1222,19 @@ function targetTypeMap(rawType) {
|
|
|
1222
1222
|
switch (rawType) {
|
|
1223
1223
|
case 'Object':
|
|
1224
1224
|
case 'Array':
|
|
1225
|
-
return 1 /* COMMON */;
|
|
1225
|
+
return 1 /* TargetType.COMMON */;
|
|
1226
1226
|
case 'Map':
|
|
1227
1227
|
case 'Set':
|
|
1228
1228
|
case 'WeakMap':
|
|
1229
1229
|
case 'WeakSet':
|
|
1230
|
-
return 2 /* COLLECTION */;
|
|
1230
|
+
return 2 /* TargetType.COLLECTION */;
|
|
1231
1231
|
default:
|
|
1232
|
-
return 0 /* INVALID */;
|
|
1232
|
+
return 0 /* TargetType.INVALID */;
|
|
1233
1233
|
}
|
|
1234
1234
|
}
|
|
1235
1235
|
function getTargetType(value) {
|
|
1236
|
-
return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
|
|
1237
|
-
? 0 /* INVALID */
|
|
1236
|
+
return value["__v_skip" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)
|
|
1237
|
+
? 0 /* TargetType.INVALID */
|
|
1238
1238
|
: targetTypeMap(toRawType(value));
|
|
1239
1239
|
}
|
|
1240
1240
|
function reactive(target) {
|
|
@@ -1277,8 +1277,8 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
1277
1277
|
}
|
|
1278
1278
|
// target is already a Proxy, return it.
|
|
1279
1279
|
// exception: calling readonly() on a reactive object
|
|
1280
|
-
if (target["__v_raw" /* RAW */] &&
|
|
1281
|
-
!(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
|
|
1280
|
+
if (target["__v_raw" /* ReactiveFlags.RAW */] &&
|
|
1281
|
+
!(isReadonly && target["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */])) {
|
|
1282
1282
|
return target;
|
|
1283
1283
|
}
|
|
1284
1284
|
// target already has corresponding Proxy
|
|
@@ -1288,34 +1288,34 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
1288
1288
|
}
|
|
1289
1289
|
// only specific value types can be observed.
|
|
1290
1290
|
const targetType = getTargetType(target);
|
|
1291
|
-
if (targetType === 0 /* INVALID */) {
|
|
1291
|
+
if (targetType === 0 /* TargetType.INVALID */) {
|
|
1292
1292
|
return target;
|
|
1293
1293
|
}
|
|
1294
|
-
const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
1294
|
+
const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
1295
1295
|
proxyMap.set(target, proxy);
|
|
1296
1296
|
return proxy;
|
|
1297
1297
|
}
|
|
1298
1298
|
function isReactive(value) {
|
|
1299
1299
|
if (isReadonly(value)) {
|
|
1300
|
-
return isReactive(value["__v_raw" /* RAW */]);
|
|
1300
|
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
|
1301
1301
|
}
|
|
1302
|
-
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
1302
|
+
return !!(value && value["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */]);
|
|
1303
1303
|
}
|
|
1304
1304
|
function isReadonly(value) {
|
|
1305
|
-
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
1305
|
+
return !!(value && value["__v_isReadonly" /* ReactiveFlags.IS_READONLY */]);
|
|
1306
1306
|
}
|
|
1307
1307
|
function isShallow(value) {
|
|
1308
|
-
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
1308
|
+
return !!(value && value["__v_isShallow" /* ReactiveFlags.IS_SHALLOW */]);
|
|
1309
1309
|
}
|
|
1310
1310
|
function isProxy(value) {
|
|
1311
1311
|
return isReactive(value) || isReadonly(value);
|
|
1312
1312
|
}
|
|
1313
1313
|
function toRaw(observed) {
|
|
1314
|
-
const raw = observed && observed["__v_raw" /* RAW */];
|
|
1314
|
+
const raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
1315
1315
|
return raw ? toRaw(raw) : observed;
|
|
1316
1316
|
}
|
|
1317
1317
|
function markRaw(value) {
|
|
1318
|
-
def(value, "__v_skip" /* SKIP */, true);
|
|
1318
|
+
def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
|
1319
1319
|
return value;
|
|
1320
1320
|
}
|
|
1321
1321
|
const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
@@ -1327,7 +1327,7 @@ function trackRefValue(ref) {
|
|
|
1327
1327
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1328
1328
|
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
1329
1329
|
target: ref,
|
|
1330
|
-
type: "get" /* GET */,
|
|
1330
|
+
type: "get" /* TrackOpTypes.GET */,
|
|
1331
1331
|
key: 'value'
|
|
1332
1332
|
});
|
|
1333
1333
|
}
|
|
@@ -1342,7 +1342,7 @@ function triggerRefValue(ref, newVal) {
|
|
|
1342
1342
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1343
1343
|
triggerEffects(ref.dep, {
|
|
1344
1344
|
target: ref,
|
|
1345
|
-
type: "set" /* SET */,
|
|
1345
|
+
type: "set" /* TriggerOpTypes.SET */,
|
|
1346
1346
|
key: 'value',
|
|
1347
1347
|
newValue: newVal
|
|
1348
1348
|
});
|
|
@@ -1380,10 +1380,11 @@ class RefImpl {
|
|
|
1380
1380
|
return this._value;
|
|
1381
1381
|
}
|
|
1382
1382
|
set value(newVal) {
|
|
1383
|
-
|
|
1383
|
+
const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
|
|
1384
|
+
newVal = useDirectValue ? newVal : toRaw(newVal);
|
|
1384
1385
|
if (hasChanged(newVal, this._rawValue)) {
|
|
1385
1386
|
this._rawValue = newVal;
|
|
1386
|
-
this._value =
|
|
1387
|
+
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
1387
1388
|
triggerRefValue(this, newVal);
|
|
1388
1389
|
}
|
|
1389
1390
|
}
|
|
@@ -1462,11 +1463,13 @@ function toRef(object, key, defaultValue) {
|
|
|
1462
1463
|
: new ObjectRefImpl(object, key, defaultValue);
|
|
1463
1464
|
}
|
|
1464
1465
|
|
|
1466
|
+
var _a;
|
|
1465
1467
|
class ComputedRefImpl {
|
|
1466
1468
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1467
1469
|
this._setter = _setter;
|
|
1468
1470
|
this.dep = undefined;
|
|
1469
1471
|
this.__v_isRef = true;
|
|
1472
|
+
this[_a] = false;
|
|
1470
1473
|
this._dirty = true;
|
|
1471
1474
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1472
1475
|
if (!this._dirty) {
|
|
@@ -1476,7 +1479,7 @@ class ComputedRefImpl {
|
|
|
1476
1479
|
});
|
|
1477
1480
|
this.effect.computed = this;
|
|
1478
1481
|
this.effect.active = this._cacheable = !isSSR;
|
|
1479
|
-
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1482
|
+
this["__v_isReadonly" /* ReactiveFlags.IS_READONLY */] = isReadonly;
|
|
1480
1483
|
}
|
|
1481
1484
|
get value() {
|
|
1482
1485
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
@@ -1492,6 +1495,7 @@ class ComputedRefImpl {
|
|
|
1492
1495
|
this._setter(newValue);
|
|
1493
1496
|
}
|
|
1494
1497
|
}
|
|
1498
|
+
_a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1495
1499
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
1496
1500
|
let getter;
|
|
1497
1501
|
let setter;
|
|
@@ -1531,7 +1535,7 @@ function warn$1(msg, ...args) {
|
|
|
1531
1535
|
const appWarnHandler = instance && instance.appContext.config.warnHandler;
|
|
1532
1536
|
const trace = getComponentTrace();
|
|
1533
1537
|
if (appWarnHandler) {
|
|
1534
|
-
callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [
|
|
1538
|
+
callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [
|
|
1535
1539
|
msg + args.join(''),
|
|
1536
1540
|
instance && instance.proxy,
|
|
1537
1541
|
trace
|
|
@@ -1631,35 +1635,35 @@ function formatProp(key, value, raw) {
|
|
|
1631
1635
|
}
|
|
1632
1636
|
|
|
1633
1637
|
const ErrorTypeStrings = {
|
|
1634
|
-
["sp" /* SERVER_PREFETCH */]: 'serverPrefetch hook',
|
|
1635
|
-
["bc" /* BEFORE_CREATE */]: 'beforeCreate hook',
|
|
1636
|
-
["c" /* CREATED */]: 'created hook',
|
|
1637
|
-
["bm" /* BEFORE_MOUNT */]: 'beforeMount hook',
|
|
1638
|
-
["m" /* MOUNTED */]: 'mounted hook',
|
|
1639
|
-
["bu" /* BEFORE_UPDATE */]: 'beforeUpdate hook',
|
|
1640
|
-
["u" /* UPDATED */]: 'updated',
|
|
1641
|
-
["bum" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',
|
|
1642
|
-
["um" /* UNMOUNTED */]: 'unmounted hook',
|
|
1643
|
-
["a" /* ACTIVATED */]: 'activated hook',
|
|
1644
|
-
["da" /* DEACTIVATED */]: 'deactivated hook',
|
|
1645
|
-
["ec" /* ERROR_CAPTURED */]: 'errorCaptured hook',
|
|
1646
|
-
["rtc" /* RENDER_TRACKED */]: 'renderTracked hook',
|
|
1647
|
-
["rtg" /* RENDER_TRIGGERED */]: 'renderTriggered hook',
|
|
1648
|
-
[0 /* SETUP_FUNCTION */]: 'setup function',
|
|
1649
|
-
[1 /* RENDER_FUNCTION */]: 'render function',
|
|
1650
|
-
[2 /* WATCH_GETTER */]: 'watcher getter',
|
|
1651
|
-
[3 /* WATCH_CALLBACK */]: 'watcher callback',
|
|
1652
|
-
[4 /* WATCH_CLEANUP */]: 'watcher cleanup function',
|
|
1653
|
-
[5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',
|
|
1654
|
-
[6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',
|
|
1655
|
-
[7 /* VNODE_HOOK */]: 'vnode hook',
|
|
1656
|
-
[8 /* DIRECTIVE_HOOK */]: 'directive hook',
|
|
1657
|
-
[9 /* TRANSITION_HOOK */]: 'transition hook',
|
|
1658
|
-
[10 /* APP_ERROR_HANDLER */]: 'app errorHandler',
|
|
1659
|
-
[11 /* APP_WARN_HANDLER */]: 'app warnHandler',
|
|
1660
|
-
[12 /* FUNCTION_REF */]: 'ref function',
|
|
1661
|
-
[13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
|
|
1662
|
-
[14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
|
|
1638
|
+
["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
|
|
1639
|
+
["bc" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',
|
|
1640
|
+
["c" /* LifecycleHooks.CREATED */]: 'created hook',
|
|
1641
|
+
["bm" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',
|
|
1642
|
+
["m" /* LifecycleHooks.MOUNTED */]: 'mounted hook',
|
|
1643
|
+
["bu" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',
|
|
1644
|
+
["u" /* LifecycleHooks.UPDATED */]: 'updated',
|
|
1645
|
+
["bum" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',
|
|
1646
|
+
["um" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',
|
|
1647
|
+
["a" /* LifecycleHooks.ACTIVATED */]: 'activated hook',
|
|
1648
|
+
["da" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',
|
|
1649
|
+
["ec" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',
|
|
1650
|
+
["rtc" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',
|
|
1651
|
+
["rtg" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',
|
|
1652
|
+
[0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',
|
|
1653
|
+
[1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',
|
|
1654
|
+
[2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',
|
|
1655
|
+
[3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',
|
|
1656
|
+
[4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',
|
|
1657
|
+
[5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',
|
|
1658
|
+
[6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',
|
|
1659
|
+
[7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',
|
|
1660
|
+
[8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',
|
|
1661
|
+
[9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',
|
|
1662
|
+
[10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',
|
|
1663
|
+
[11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',
|
|
1664
|
+
[12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',
|
|
1665
|
+
[13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',
|
|
1666
|
+
[14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
|
|
1663
1667
|
'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
|
|
1664
1668
|
};
|
|
1665
1669
|
function callWithErrorHandling(fn, instance, type, args) {
|
|
@@ -1710,7 +1714,7 @@ function handleError(err, instance, type, throwInDev = true) {
|
|
|
1710
1714
|
// app-level handling
|
|
1711
1715
|
const appErrorHandler = instance.appContext.config.errorHandler;
|
|
1712
1716
|
if (appErrorHandler) {
|
|
1713
|
-
callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);
|
|
1717
|
+
callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);
|
|
1714
1718
|
return;
|
|
1715
1719
|
}
|
|
1716
1720
|
}
|
|
@@ -1744,15 +1748,11 @@ let isFlushing = false;
|
|
|
1744
1748
|
let isFlushPending = false;
|
|
1745
1749
|
const queue = [];
|
|
1746
1750
|
let flushIndex = 0;
|
|
1747
|
-
const pendingPreFlushCbs = [];
|
|
1748
|
-
let activePreFlushCbs = null;
|
|
1749
|
-
let preFlushIndex = 0;
|
|
1750
1751
|
const pendingPostFlushCbs = [];
|
|
1751
1752
|
let activePostFlushCbs = null;
|
|
1752
1753
|
let postFlushIndex = 0;
|
|
1753
1754
|
const resolvedPromise = /*#__PURE__*/ Promise.resolve();
|
|
1754
1755
|
let currentFlushPromise = null;
|
|
1755
|
-
let currentPreFlushParentJob = null;
|
|
1756
1756
|
const RECURSION_LIMIT = 100;
|
|
1757
1757
|
function nextTick(fn) {
|
|
1758
1758
|
const p = currentFlushPromise || resolvedPromise;
|
|
@@ -1780,9 +1780,8 @@ function queueJob(job) {
|
|
|
1780
1780
|
// if the job is a watch() callback, the search will start with a +1 index to
|
|
1781
1781
|
// allow it recursively trigger itself - it is the user's responsibility to
|
|
1782
1782
|
// ensure it doesn't end up in an infinite loop.
|
|
1783
|
-
if (
|
|
1784
|
-
!queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex))
|
|
1785
|
-
job !== currentPreFlushParentJob) {
|
|
1783
|
+
if (!queue.length ||
|
|
1784
|
+
!queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {
|
|
1786
1785
|
if (job.id == null) {
|
|
1787
1786
|
queue.push(job);
|
|
1788
1787
|
}
|
|
@@ -1804,52 +1803,38 @@ function invalidateJob(job) {
|
|
|
1804
1803
|
queue.splice(i, 1);
|
|
1805
1804
|
}
|
|
1806
1805
|
}
|
|
1807
|
-
function
|
|
1806
|
+
function queuePostFlushCb(cb) {
|
|
1808
1807
|
if (!isArray(cb)) {
|
|
1809
|
-
if (!
|
|
1810
|
-
!
|
|
1811
|
-
|
|
1808
|
+
if (!activePostFlushCbs ||
|
|
1809
|
+
!activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {
|
|
1810
|
+
pendingPostFlushCbs.push(cb);
|
|
1812
1811
|
}
|
|
1813
1812
|
}
|
|
1814
1813
|
else {
|
|
1815
1814
|
// if cb is an array, it is a component lifecycle hook which can only be
|
|
1816
1815
|
// triggered by a job, which is already deduped in the main queue, so
|
|
1817
1816
|
// we can skip duplicate check here to improve perf
|
|
1818
|
-
|
|
1817
|
+
pendingPostFlushCbs.push(...cb);
|
|
1819
1818
|
}
|
|
1820
1819
|
queueFlush();
|
|
1821
1820
|
}
|
|
1822
|
-
function
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
currentPreFlushParentJob = parentJob;
|
|
1831
|
-
activePreFlushCbs = [...new Set(pendingPreFlushCbs)];
|
|
1832
|
-
pendingPreFlushCbs.length = 0;
|
|
1833
|
-
if ((process.env.NODE_ENV !== 'production')) {
|
|
1834
|
-
seen = seen || new Map();
|
|
1835
|
-
}
|
|
1836
|
-
for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {
|
|
1837
|
-
if ((process.env.NODE_ENV !== 'production') &&
|
|
1838
|
-
checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {
|
|
1821
|
+
function flushPreFlushCbs(seen, i = flushIndex) {
|
|
1822
|
+
if ((process.env.NODE_ENV !== 'production')) {
|
|
1823
|
+
seen = seen || new Map();
|
|
1824
|
+
}
|
|
1825
|
+
for (; i < queue.length; i++) {
|
|
1826
|
+
const cb = queue[i];
|
|
1827
|
+
if (cb && cb.pre) {
|
|
1828
|
+
if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {
|
|
1839
1829
|
continue;
|
|
1840
1830
|
}
|
|
1841
|
-
|
|
1831
|
+
queue.splice(i, 1);
|
|
1832
|
+
i--;
|
|
1833
|
+
cb();
|
|
1842
1834
|
}
|
|
1843
|
-
activePreFlushCbs = null;
|
|
1844
|
-
preFlushIndex = 0;
|
|
1845
|
-
currentPreFlushParentJob = null;
|
|
1846
|
-
// recursively flush until it drains
|
|
1847
|
-
flushPreFlushCbs(seen, parentJob);
|
|
1848
1835
|
}
|
|
1849
1836
|
}
|
|
1850
1837
|
function flushPostFlushCbs(seen) {
|
|
1851
|
-
// flush any pre cbs queued during the flush (e.g. pre watchers)
|
|
1852
|
-
flushPreFlushCbs();
|
|
1853
1838
|
if (pendingPostFlushCbs.length) {
|
|
1854
1839
|
const deduped = [...new Set(pendingPostFlushCbs)];
|
|
1855
1840
|
pendingPostFlushCbs.length = 0;
|
|
@@ -1875,13 +1860,22 @@ function flushPostFlushCbs(seen) {
|
|
|
1875
1860
|
}
|
|
1876
1861
|
}
|
|
1877
1862
|
const getId = (job) => job.id == null ? Infinity : job.id;
|
|
1863
|
+
const comparator = (a, b) => {
|
|
1864
|
+
const diff = getId(a) - getId(b);
|
|
1865
|
+
if (diff === 0) {
|
|
1866
|
+
if (a.pre && !b.pre)
|
|
1867
|
+
return -1;
|
|
1868
|
+
if (b.pre && !a.pre)
|
|
1869
|
+
return 1;
|
|
1870
|
+
}
|
|
1871
|
+
return diff;
|
|
1872
|
+
};
|
|
1878
1873
|
function flushJobs(seen) {
|
|
1879
1874
|
isFlushPending = false;
|
|
1880
1875
|
isFlushing = true;
|
|
1881
1876
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
1882
1877
|
seen = seen || new Map();
|
|
1883
1878
|
}
|
|
1884
|
-
flushPreFlushCbs(seen);
|
|
1885
1879
|
// Sort queue before flush.
|
|
1886
1880
|
// This ensures that:
|
|
1887
1881
|
// 1. Components are updated from parent to child. (because parent is always
|
|
@@ -1889,7 +1883,7 @@ function flushJobs(seen) {
|
|
|
1889
1883
|
// priority number)
|
|
1890
1884
|
// 2. If a component is unmounted during a parent component's update,
|
|
1891
1885
|
// its update can be skipped.
|
|
1892
|
-
queue.sort(
|
|
1886
|
+
queue.sort(comparator);
|
|
1893
1887
|
// conditional usage of checkRecursiveUpdate must be determined out of
|
|
1894
1888
|
// try ... catch block since Rollup by default de-optimizes treeshaking
|
|
1895
1889
|
// inside try-catch. This can leave all warning code unshaked. Although
|
|
@@ -1906,7 +1900,7 @@ function flushJobs(seen) {
|
|
|
1906
1900
|
continue;
|
|
1907
1901
|
}
|
|
1908
1902
|
// console.log(`running:`, job.id)
|
|
1909
|
-
callWithErrorHandling(job, null, 14 /* SCHEDULER */);
|
|
1903
|
+
callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);
|
|
1910
1904
|
}
|
|
1911
1905
|
}
|
|
1912
1906
|
}
|
|
@@ -1918,9 +1912,7 @@ function flushJobs(seen) {
|
|
|
1918
1912
|
currentFlushPromise = null;
|
|
1919
1913
|
// some postFlushCb queued jobs!
|
|
1920
1914
|
// keep flushing until it drains.
|
|
1921
|
-
if (queue.length ||
|
|
1922
|
-
pendingPreFlushCbs.length ||
|
|
1923
|
-
pendingPostFlushCbs.length) {
|
|
1915
|
+
if (queue.length || pendingPostFlushCbs.length) {
|
|
1924
1916
|
flushJobs(seen);
|
|
1925
1917
|
}
|
|
1926
1918
|
}
|
|
@@ -2138,7 +2130,7 @@ function setDevtoolsHook(hook, target) {
|
|
|
2138
2130
|
}
|
|
2139
2131
|
}
|
|
2140
2132
|
function devtoolsInitApp(app, version) {
|
|
2141
|
-
emit("app:init" /* APP_INIT */, app, version, {
|
|
2133
|
+
emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
|
|
2142
2134
|
Fragment,
|
|
2143
2135
|
Text,
|
|
2144
2136
|
Comment,
|
|
@@ -2146,88 +2138,88 @@ function devtoolsInitApp(app, version) {
|
|
|
2146
2138
|
});
|
|
2147
2139
|
}
|
|
2148
2140
|
function devtoolsUnmountApp(app) {
|
|
2149
|
-
emit("app:unmount" /* APP_UNMOUNT */, app);
|
|
2141
|
+
emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
|
|
2150
2142
|
}
|
|
2151
|
-
const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* COMPONENT_ADDED */);
|
|
2143
|
+
const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
|
|
2152
2144
|
const devtoolsComponentUpdated =
|
|
2153
|
-
/*#__PURE__*/ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */);
|
|
2145
|
+
/*#__PURE__*/ createDevtoolsComponentHook("component:updated" /* DevtoolsHooks.COMPONENT_UPDATED */);
|
|
2154
2146
|
const devtoolsComponentRemoved =
|
|
2155
|
-
/*#__PURE__*/ createDevtoolsComponentHook("component:removed" /* COMPONENT_REMOVED */);
|
|
2147
|
+
/*#__PURE__*/ createDevtoolsComponentHook("component:removed" /* DevtoolsHooks.COMPONENT_REMOVED */);
|
|
2156
2148
|
function createDevtoolsComponentHook(hook) {
|
|
2157
2149
|
return (component) => {
|
|
2158
2150
|
emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
|
|
2159
2151
|
};
|
|
2160
2152
|
}
|
|
2161
|
-
const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* PERFORMANCE_START */);
|
|
2162
|
-
const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* PERFORMANCE_END */);
|
|
2153
|
+
const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
|
|
2154
|
+
const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
|
|
2163
2155
|
function createDevtoolsPerformanceHook(hook) {
|
|
2164
2156
|
return (component, type, time) => {
|
|
2165
2157
|
emit(hook, component.appContext.app, component.uid, component, type, time);
|
|
2166
2158
|
};
|
|
2167
2159
|
}
|
|
2168
2160
|
function devtoolsComponentEmit(component, event, params) {
|
|
2169
|
-
emit("component:emit" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);
|
|
2161
|
+
emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
|
|
2170
2162
|
}
|
|
2171
2163
|
|
|
2172
2164
|
const deprecationData = {
|
|
2173
|
-
["GLOBAL_MOUNT" /* GLOBAL_MOUNT */]: {
|
|
2165
|
+
["GLOBAL_MOUNT" /* DeprecationTypes.GLOBAL_MOUNT */]: {
|
|
2174
2166
|
message: `The global app bootstrapping API has changed: vm.$mount() and the "el" ` +
|
|
2175
2167
|
`option have been removed. Use createApp(RootComponent).mount() instead.`,
|
|
2176
2168
|
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#mounting-app-instance`
|
|
2177
2169
|
},
|
|
2178
|
-
["GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */]: {
|
|
2170
|
+
["GLOBAL_MOUNT_CONTAINER" /* DeprecationTypes.GLOBAL_MOUNT_CONTAINER */]: {
|
|
2179
2171
|
message: `Vue detected directives on the mount container. ` +
|
|
2180
2172
|
`In Vue 3, the container is no longer considered part of the template ` +
|
|
2181
2173
|
`and will not be processed/replaced.`,
|
|
2182
2174
|
link: `https://v3-migration.vuejs.org/breaking-changes/mount-changes.html`
|
|
2183
2175
|
},
|
|
2184
|
-
["GLOBAL_EXTEND" /* GLOBAL_EXTEND */]: {
|
|
2176
|
+
["GLOBAL_EXTEND" /* DeprecationTypes.GLOBAL_EXTEND */]: {
|
|
2185
2177
|
message: `Vue.extend() has been removed in Vue 3. ` +
|
|
2186
2178
|
`Use defineComponent() instead.`,
|
|
2187
2179
|
link: `https://vuejs.org/api/general.html#definecomponent`
|
|
2188
2180
|
},
|
|
2189
|
-
["GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */]: {
|
|
2181
|
+
["GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */]: {
|
|
2190
2182
|
message: `Vue.prototype is no longer available in Vue 3. ` +
|
|
2191
2183
|
`Use app.config.globalProperties instead.`,
|
|
2192
2184
|
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#vue-prototype-replaced-by-config-globalproperties`
|
|
2193
2185
|
},
|
|
2194
|
-
["GLOBAL_SET" /* GLOBAL_SET */]: {
|
|
2186
|
+
["GLOBAL_SET" /* DeprecationTypes.GLOBAL_SET */]: {
|
|
2195
2187
|
message: `Vue.set() has been removed as it is no longer needed in Vue 3. ` +
|
|
2196
2188
|
`Simply use native JavaScript mutations.`
|
|
2197
2189
|
},
|
|
2198
|
-
["GLOBAL_DELETE" /* GLOBAL_DELETE */]: {
|
|
2190
|
+
["GLOBAL_DELETE" /* DeprecationTypes.GLOBAL_DELETE */]: {
|
|
2199
2191
|
message: `Vue.delete() has been removed as it is no longer needed in Vue 3. ` +
|
|
2200
2192
|
`Simply use native JavaScript mutations.`
|
|
2201
2193
|
},
|
|
2202
|
-
["GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */]: {
|
|
2194
|
+
["GLOBAL_OBSERVABLE" /* DeprecationTypes.GLOBAL_OBSERVABLE */]: {
|
|
2203
2195
|
message: `Vue.observable() has been removed. ` +
|
|
2204
2196
|
`Use \`import { reactive } from "vue"\` from Composition API instead.`,
|
|
2205
2197
|
link: `https://vuejs.org/api/reactivity-core.html#reactive`
|
|
2206
2198
|
},
|
|
2207
|
-
["GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */]: {
|
|
2199
|
+
["GLOBAL_PRIVATE_UTIL" /* DeprecationTypes.GLOBAL_PRIVATE_UTIL */]: {
|
|
2208
2200
|
message: `Vue.util has been removed. Please refactor to avoid its usage ` +
|
|
2209
2201
|
`since it was an internal API even in Vue 2.`
|
|
2210
2202
|
},
|
|
2211
|
-
["CONFIG_SILENT" /* CONFIG_SILENT */]: {
|
|
2203
|
+
["CONFIG_SILENT" /* DeprecationTypes.CONFIG_SILENT */]: {
|
|
2212
2204
|
message: `config.silent has been removed because it is not good practice to ` +
|
|
2213
2205
|
`intentionally suppress warnings. You can use your browser console's ` +
|
|
2214
2206
|
`filter features to focus on relevant messages.`
|
|
2215
2207
|
},
|
|
2216
|
-
["CONFIG_DEVTOOLS" /* CONFIG_DEVTOOLS */]: {
|
|
2208
|
+
["CONFIG_DEVTOOLS" /* DeprecationTypes.CONFIG_DEVTOOLS */]: {
|
|
2217
2209
|
message: `config.devtools has been removed. To enable devtools for ` +
|
|
2218
2210
|
`production, configure the __VUE_PROD_DEVTOOLS__ compile-time flag.`,
|
|
2219
2211
|
link: `https://github.com/vuejs/core/tree/main/packages/vue#bundler-build-feature-flags`
|
|
2220
2212
|
},
|
|
2221
|
-
["CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */]: {
|
|
2213
|
+
["CONFIG_KEY_CODES" /* DeprecationTypes.CONFIG_KEY_CODES */]: {
|
|
2222
2214
|
message: `config.keyCodes has been removed. ` +
|
|
2223
2215
|
`In Vue 3, you can directly use the kebab-case key names as v-on modifiers.`,
|
|
2224
2216
|
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2225
2217
|
},
|
|
2226
|
-
["CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */]: {
|
|
2218
|
+
["CONFIG_PRODUCTION_TIP" /* DeprecationTypes.CONFIG_PRODUCTION_TIP */]: {
|
|
2227
2219
|
message: `config.productionTip has been removed.`,
|
|
2228
2220
|
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-productiontip-removed`
|
|
2229
2221
|
},
|
|
2230
|
-
["CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */]: {
|
|
2222
|
+
["CONFIG_IGNORED_ELEMENTS" /* DeprecationTypes.CONFIG_IGNORED_ELEMENTS */]: {
|
|
2231
2223
|
message: () => {
|
|
2232
2224
|
let msg = `config.ignoredElements has been removed.`;
|
|
2233
2225
|
if (isRuntimeOnly()) {
|
|
@@ -2240,35 +2232,35 @@ const deprecationData = {
|
|
|
2240
2232
|
},
|
|
2241
2233
|
link: `https://v3-migration.vuejs.org/breaking-changes/global-api.html#config-ignoredelements-is-now-config-iscustomelement`
|
|
2242
2234
|
},
|
|
2243
|
-
["CONFIG_WHITESPACE" /* CONFIG_WHITESPACE */]: {
|
|
2235
|
+
["CONFIG_WHITESPACE" /* DeprecationTypes.CONFIG_WHITESPACE */]: {
|
|
2244
2236
|
// this warning is only relevant in the full build when using runtime
|
|
2245
2237
|
// compilation, so it's put in the runtime compatConfig list.
|
|
2246
2238
|
message: `Vue 3 compiler's whitespace option will default to "condense" instead of ` +
|
|
2247
2239
|
`"preserve". To suppress this warning, provide an explicit value for ` +
|
|
2248
2240
|
`\`config.compilerOptions.whitespace\`.`
|
|
2249
2241
|
},
|
|
2250
|
-
["CONFIG_OPTION_MERGE_STRATS" /* CONFIG_OPTION_MERGE_STRATS */]: {
|
|
2242
|
+
["CONFIG_OPTION_MERGE_STRATS" /* DeprecationTypes.CONFIG_OPTION_MERGE_STRATS */]: {
|
|
2251
2243
|
message: `config.optionMergeStrategies no longer exposes internal strategies. ` +
|
|
2252
2244
|
`Use custom merge functions instead.`
|
|
2253
2245
|
},
|
|
2254
|
-
["INSTANCE_SET" /* INSTANCE_SET */]: {
|
|
2246
|
+
["INSTANCE_SET" /* DeprecationTypes.INSTANCE_SET */]: {
|
|
2255
2247
|
message: `vm.$set() has been removed as it is no longer needed in Vue 3. ` +
|
|
2256
2248
|
`Simply use native JavaScript mutations.`
|
|
2257
2249
|
},
|
|
2258
|
-
["INSTANCE_DELETE" /* INSTANCE_DELETE */]: {
|
|
2250
|
+
["INSTANCE_DELETE" /* DeprecationTypes.INSTANCE_DELETE */]: {
|
|
2259
2251
|
message: `vm.$delete() has been removed as it is no longer needed in Vue 3. ` +
|
|
2260
2252
|
`Simply use native JavaScript mutations.`
|
|
2261
2253
|
},
|
|
2262
|
-
["INSTANCE_DESTROY" /* INSTANCE_DESTROY */]: {
|
|
2254
|
+
["INSTANCE_DESTROY" /* DeprecationTypes.INSTANCE_DESTROY */]: {
|
|
2263
2255
|
message: `vm.$destroy() has been removed. Use app.unmount() instead.`,
|
|
2264
2256
|
link: `https://vuejs.org/api/application.html#app-unmount`
|
|
2265
2257
|
},
|
|
2266
|
-
["INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */]: {
|
|
2258
|
+
["INSTANCE_EVENT_EMITTER" /* DeprecationTypes.INSTANCE_EVENT_EMITTER */]: {
|
|
2267
2259
|
message: `vm.$on/$once/$off() have been removed. ` +
|
|
2268
2260
|
`Use an external event emitter library instead.`,
|
|
2269
2261
|
link: `https://v3-migration.vuejs.org/breaking-changes/events-api.html`
|
|
2270
2262
|
},
|
|
2271
|
-
["INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */]: {
|
|
2263
|
+
["INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */]: {
|
|
2272
2264
|
message: event => `"${event}" lifecycle events are no longer supported. From templates, ` +
|
|
2273
2265
|
`use the "vnode" prefix instead of "hook:". For example, @${event} ` +
|
|
2274
2266
|
`should be changed to @vnode-${event.slice(5)}. ` +
|
|
@@ -2276,23 +2268,23 @@ const deprecationData = {
|
|
|
2276
2268
|
`hooks.`,
|
|
2277
2269
|
link: `https://v3-migration.vuejs.org/breaking-changes/vnode-lifecycle-events.html`
|
|
2278
2270
|
},
|
|
2279
|
-
["INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */]: {
|
|
2271
|
+
["INSTANCE_CHILDREN" /* DeprecationTypes.INSTANCE_CHILDREN */]: {
|
|
2280
2272
|
message: `vm.$children has been removed. Consider refactoring your logic ` +
|
|
2281
2273
|
`to avoid relying on direct access to child components.`,
|
|
2282
2274
|
link: `https://v3-migration.vuejs.org/breaking-changes/children.html`
|
|
2283
2275
|
},
|
|
2284
|
-
["INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */]: {
|
|
2276
|
+
["INSTANCE_LISTENERS" /* DeprecationTypes.INSTANCE_LISTENERS */]: {
|
|
2285
2277
|
message: `vm.$listeners has been removed. In Vue 3, parent v-on listeners are ` +
|
|
2286
2278
|
`included in vm.$attrs and it is no longer necessary to separately use ` +
|
|
2287
2279
|
`v-on="$listeners" if you are already using v-bind="$attrs". ` +
|
|
2288
2280
|
`(Note: the Vue 3 behavior only applies if this compat config is disabled)`,
|
|
2289
2281
|
link: `https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html`
|
|
2290
2282
|
},
|
|
2291
|
-
["INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */]: {
|
|
2283
|
+
["INSTANCE_SCOPED_SLOTS" /* DeprecationTypes.INSTANCE_SCOPED_SLOTS */]: {
|
|
2292
2284
|
message: `vm.$scopedSlots has been removed. Use vm.$slots instead.`,
|
|
2293
2285
|
link: `https://v3-migration.vuejs.org/breaking-changes/slots-unification.html`
|
|
2294
2286
|
},
|
|
2295
|
-
["INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */]: {
|
|
2287
|
+
["INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */]: {
|
|
2296
2288
|
message: componentName => `Component <${componentName || 'Anonymous'}> has \`inheritAttrs: false\` but is ` +
|
|
2297
2289
|
`relying on class/style fallthrough from parent. In Vue 3, class/style ` +
|
|
2298
2290
|
`are now included in $attrs and will no longer fallthrough when ` +
|
|
@@ -2303,75 +2295,75 @@ const deprecationData = {
|
|
|
2303
2295
|
`them on root via :class="$attrs.class".`,
|
|
2304
2296
|
link: `https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html`
|
|
2305
2297
|
},
|
|
2306
|
-
["OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */]: {
|
|
2298
|
+
["OPTIONS_DATA_FN" /* DeprecationTypes.OPTIONS_DATA_FN */]: {
|
|
2307
2299
|
message: `The "data" option can no longer be a plain object. ` +
|
|
2308
2300
|
`Always use a function.`,
|
|
2309
2301
|
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html`
|
|
2310
2302
|
},
|
|
2311
|
-
["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */]: {
|
|
2303
|
+
["OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */]: {
|
|
2312
2304
|
message: (key) => `Detected conflicting key "${key}" when merging data option values. ` +
|
|
2313
2305
|
`In Vue 3, data keys are merged shallowly and will override one another.`,
|
|
2314
2306
|
link: `https://v3-migration.vuejs.org/breaking-changes/data-option.html#mixin-merge-behavior-change`
|
|
2315
2307
|
},
|
|
2316
|
-
["OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */]: {
|
|
2308
|
+
["OPTIONS_BEFORE_DESTROY" /* DeprecationTypes.OPTIONS_BEFORE_DESTROY */]: {
|
|
2317
2309
|
message: `\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`
|
|
2318
2310
|
},
|
|
2319
|
-
["OPTIONS_DESTROYED" /* OPTIONS_DESTROYED */]: {
|
|
2311
|
+
["OPTIONS_DESTROYED" /* DeprecationTypes.OPTIONS_DESTROYED */]: {
|
|
2320
2312
|
message: `\`destroyed\` has been renamed to \`unmounted\`.`
|
|
2321
2313
|
},
|
|
2322
|
-
["WATCH_ARRAY" /* WATCH_ARRAY */]: {
|
|
2314
|
+
["WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */]: {
|
|
2323
2315
|
message: `"watch" option or vm.$watch on an array value will no longer ` +
|
|
2324
2316
|
`trigger on array mutation unless the "deep" option is specified. ` +
|
|
2325
2317
|
`If current usage is intended, you can disable the compat behavior and ` +
|
|
2326
2318
|
`suppress this warning with:` +
|
|
2327
|
-
`\n\n configureCompat({ ${"WATCH_ARRAY" /* WATCH_ARRAY */}: false })\n`,
|
|
2319
|
+
`\n\n configureCompat({ ${"WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */}: false })\n`,
|
|
2328
2320
|
link: `https://v3-migration.vuejs.org/breaking-changes/watch.html`
|
|
2329
2321
|
},
|
|
2330
|
-
["PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */]: {
|
|
2322
|
+
["PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */]: {
|
|
2331
2323
|
message: (key) => `props default value function no longer has access to "this". The compat ` +
|
|
2332
2324
|
`build only offers access to this.$options.` +
|
|
2333
2325
|
`(found in prop "${key}")`,
|
|
2334
2326
|
link: `https://v3-migration.vuejs.org/breaking-changes/props-default-this.html`
|
|
2335
2327
|
},
|
|
2336
|
-
["CUSTOM_DIR" /* CUSTOM_DIR */]: {
|
|
2328
|
+
["CUSTOM_DIR" /* DeprecationTypes.CUSTOM_DIR */]: {
|
|
2337
2329
|
message: (legacyHook, newHook) => `Custom directive hook "${legacyHook}" has been removed. ` +
|
|
2338
2330
|
`Use "${newHook}" instead.`,
|
|
2339
2331
|
link: `https://v3-migration.vuejs.org/breaking-changes/custom-directives.html`
|
|
2340
2332
|
},
|
|
2341
|
-
["V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */]: {
|
|
2333
|
+
["V_ON_KEYCODE_MODIFIER" /* DeprecationTypes.V_ON_KEYCODE_MODIFIER */]: {
|
|
2342
2334
|
message: `Using keyCode as v-on modifier is no longer supported. ` +
|
|
2343
2335
|
`Use kebab-case key name modifiers instead.`,
|
|
2344
2336
|
link: `https://v3-migration.vuejs.org/breaking-changes/keycode-modifiers.html`
|
|
2345
2337
|
},
|
|
2346
|
-
["ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */]: {
|
|
2338
|
+
["ATTR_FALSE_VALUE" /* DeprecationTypes.ATTR_FALSE_VALUE */]: {
|
|
2347
2339
|
message: (name) => `Attribute "${name}" with v-bind value \`false\` will render ` +
|
|
2348
2340
|
`${name}="false" instead of removing it in Vue 3. To remove the attribute, ` +
|
|
2349
2341
|
`use \`null\` or \`undefined\` instead. If the usage is intended, ` +
|
|
2350
2342
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2351
|
-
`\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */}: false })\n`,
|
|
2343
|
+
`\n\n configureCompat({ ${"ATTR_FALSE_VALUE" /* DeprecationTypes.ATTR_FALSE_VALUE */}: false })\n`,
|
|
2352
2344
|
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2353
2345
|
},
|
|
2354
|
-
["ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */]: {
|
|
2346
|
+
["ATTR_ENUMERATED_COERCION" /* DeprecationTypes.ATTR_ENUMERATED_COERCION */]: {
|
|
2355
2347
|
message: (name, value, coerced) => `Enumerated attribute "${name}" with v-bind value \`${value}\` will ` +
|
|
2356
2348
|
`${value === null ? `be removed` : `render the value as-is`} instead of coercing the value to "${coerced}" in Vue 3. ` +
|
|
2357
2349
|
`Always use explicit "true" or "false" values for enumerated attributes. ` +
|
|
2358
2350
|
`If the usage is intended, ` +
|
|
2359
2351
|
`you can disable the compat behavior and suppress this warning with:` +
|
|
2360
|
-
`\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */}: false })\n`,
|
|
2352
|
+
`\n\n configureCompat({ ${"ATTR_ENUMERATED_COERCION" /* DeprecationTypes.ATTR_ENUMERATED_COERCION */}: false })\n`,
|
|
2361
2353
|
link: `https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html`
|
|
2362
2354
|
},
|
|
2363
|
-
["TRANSITION_CLASSES" /* TRANSITION_CLASSES */]: {
|
|
2355
|
+
["TRANSITION_CLASSES" /* DeprecationTypes.TRANSITION_CLASSES */]: {
|
|
2364
2356
|
message: `` // this feature cannot be runtime-detected
|
|
2365
2357
|
},
|
|
2366
|
-
["TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */]: {
|
|
2358
|
+
["TRANSITION_GROUP_ROOT" /* DeprecationTypes.TRANSITION_GROUP_ROOT */]: {
|
|
2367
2359
|
message: `<TransitionGroup> no longer renders a root <span> element by ` +
|
|
2368
2360
|
`default if no "tag" prop is specified. If you do not rely on the span ` +
|
|
2369
2361
|
`for styling, you can disable the compat behavior and suppress this ` +
|
|
2370
2362
|
`warning with:` +
|
|
2371
|
-
`\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */}: false })\n`,
|
|
2363
|
+
`\n\n configureCompat({ ${"TRANSITION_GROUP_ROOT" /* DeprecationTypes.TRANSITION_GROUP_ROOT */}: false })\n`,
|
|
2372
2364
|
link: `https://v3-migration.vuejs.org/breaking-changes/transition-group.html`
|
|
2373
2365
|
},
|
|
2374
|
-
["COMPONENT_ASYNC" /* COMPONENT_ASYNC */]: {
|
|
2366
|
+
["COMPONENT_ASYNC" /* DeprecationTypes.COMPONENT_ASYNC */]: {
|
|
2375
2367
|
message: (comp) => {
|
|
2376
2368
|
const name = getComponentName(comp);
|
|
2377
2369
|
return (`Async component${name ? ` <${name}>` : `s`} should be explicitly created via \`defineAsyncComponent()\` ` +
|
|
@@ -2380,11 +2372,11 @@ const deprecationData = {
|
|
|
2380
2372
|
`usage and intend to use plain functions for functional components, ` +
|
|
2381
2373
|
`you can disable the compat behavior and suppress this ` +
|
|
2382
2374
|
`warning with:` +
|
|
2383
|
-
`\n\n configureCompat({ ${"COMPONENT_ASYNC" /* COMPONENT_ASYNC */}: false })\n`);
|
|
2375
|
+
`\n\n configureCompat({ ${"COMPONENT_ASYNC" /* DeprecationTypes.COMPONENT_ASYNC */}: false })\n`);
|
|
2384
2376
|
},
|
|
2385
2377
|
link: `https://v3-migration.vuejs.org/breaking-changes/async-components.html`
|
|
2386
2378
|
},
|
|
2387
|
-
["COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */]: {
|
|
2379
|
+
["COMPONENT_FUNCTIONAL" /* DeprecationTypes.COMPONENT_FUNCTIONAL */]: {
|
|
2388
2380
|
message: (comp) => {
|
|
2389
2381
|
const name = getComponentName(comp);
|
|
2390
2382
|
return (`Functional component${name ? ` <${name}>` : `s`} should be defined as a plain function in Vue 3. The "functional" ` +
|
|
@@ -2395,10 +2387,10 @@ const deprecationData = {
|
|
|
2395
2387
|
},
|
|
2396
2388
|
link: `https://v3-migration.vuejs.org/breaking-changes/functional-components.html`
|
|
2397
2389
|
},
|
|
2398
|
-
["COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */]: {
|
|
2390
|
+
["COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */]: {
|
|
2399
2391
|
message: (comp) => {
|
|
2400
2392
|
const configMsg = `opt-in to ` +
|
|
2401
|
-
`Vue 3 behavior on a per-component basis with \`compatConfig: { ${"COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */}: false }\`.`;
|
|
2393
|
+
`Vue 3 behavior on a per-component basis with \`compatConfig: { ${"COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */}: false }\`.`;
|
|
2402
2394
|
if (comp.props &&
|
|
2403
2395
|
(isArray(comp.props)
|
|
2404
2396
|
? comp.props.includes('modelValue')
|
|
@@ -2412,20 +2404,20 @@ const deprecationData = {
|
|
|
2412
2404
|
},
|
|
2413
2405
|
link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`
|
|
2414
2406
|
},
|
|
2415
|
-
["RENDER_FUNCTION" /* RENDER_FUNCTION */]: {
|
|
2407
|
+
["RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */]: {
|
|
2416
2408
|
message: `Vue 3's render function API has changed. ` +
|
|
2417
2409
|
`You can opt-in to the new API with:` +
|
|
2418
|
-
`\n\n configureCompat({ ${"RENDER_FUNCTION" /* RENDER_FUNCTION */}: false })\n` +
|
|
2410
|
+
`\n\n configureCompat({ ${"RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */}: false })\n` +
|
|
2419
2411
|
`\n (This can also be done per-component via the "compatConfig" option.)`,
|
|
2420
2412
|
link: `https://v3-migration.vuejs.org/breaking-changes/render-function-api.html`
|
|
2421
2413
|
},
|
|
2422
|
-
["FILTERS" /* FILTERS */]: {
|
|
2414
|
+
["FILTERS" /* DeprecationTypes.FILTERS */]: {
|
|
2423
2415
|
message: `filters have been removed in Vue 3. ` +
|
|
2424
2416
|
`The "|" symbol will be treated as native JavaScript bitwise OR operator. ` +
|
|
2425
2417
|
`Use method calls or computed properties instead.`,
|
|
2426
2418
|
link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
|
|
2427
2419
|
},
|
|
2428
|
-
["PRIVATE_APIS" /* PRIVATE_APIS */]: {
|
|
2420
|
+
["PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */]: {
|
|
2429
2421
|
message: name => `"${name}" is a Vue 2 private API that no longer exists in Vue 3. ` +
|
|
2430
2422
|
`If you are seeing this warning only due to a dependency, you can ` +
|
|
2431
2423
|
`suppress this warning via { PRIVATE_APIS: 'suppress-warning' }.`
|
|
@@ -2503,8 +2495,8 @@ function validateCompatConfig(config, instance) {
|
|
|
2503
2495
|
warnedInvalidKeys[key] = true;
|
|
2504
2496
|
}
|
|
2505
2497
|
}
|
|
2506
|
-
if (instance && config["OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */] != null) {
|
|
2507
|
-
warn$1(`Deprecation config "${"OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */}" can only be configured globally.`);
|
|
2498
|
+
if (instance && config["OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */] != null) {
|
|
2499
|
+
warn$1(`Deprecation config "${"OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */}" can only be configured globally.`);
|
|
2508
2500
|
}
|
|
2509
2501
|
}
|
|
2510
2502
|
function getCompatConfigForKey(key, instance) {
|
|
@@ -2579,10 +2571,10 @@ function on(instance, event, fn) {
|
|
|
2579
2571
|
}
|
|
2580
2572
|
else {
|
|
2581
2573
|
if (event.startsWith('hook:')) {
|
|
2582
|
-
assertCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance, event);
|
|
2574
|
+
assertCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance, event);
|
|
2583
2575
|
}
|
|
2584
2576
|
else {
|
|
2585
|
-
assertCompatEnabled("INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */, instance);
|
|
2577
|
+
assertCompatEnabled("INSTANCE_EVENT_EMITTER" /* DeprecationTypes.INSTANCE_EVENT_EMITTER */, instance);
|
|
2586
2578
|
}
|
|
2587
2579
|
const events = getRegistry(instance);
|
|
2588
2580
|
(events[event] || (events[event] = [])).push(fn);
|
|
@@ -2599,7 +2591,7 @@ function once(instance, event, fn) {
|
|
|
2599
2591
|
return instance.proxy;
|
|
2600
2592
|
}
|
|
2601
2593
|
function off(instance, event, fn) {
|
|
2602
|
-
assertCompatEnabled("INSTANCE_EVENT_EMITTER" /* INSTANCE_EVENT_EMITTER */, instance);
|
|
2594
|
+
assertCompatEnabled("INSTANCE_EVENT_EMITTER" /* DeprecationTypes.INSTANCE_EVENT_EMITTER */, instance);
|
|
2603
2595
|
const vm = instance.proxy;
|
|
2604
2596
|
// all
|
|
2605
2597
|
if (!event) {
|
|
@@ -2627,7 +2619,7 @@ function off(instance, event, fn) {
|
|
|
2627
2619
|
function emit$1(instance, event, args) {
|
|
2628
2620
|
const cbs = getRegistry(instance)[event];
|
|
2629
2621
|
if (cbs) {
|
|
2630
|
-
callWithAsyncErrorHandling(cbs.map(cb => cb.bind(instance.proxy)), instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2622
|
+
callWithAsyncErrorHandling(cbs.map(cb => cb.bind(instance.proxy)), instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2631
2623
|
}
|
|
2632
2624
|
return instance.proxy;
|
|
2633
2625
|
}
|
|
@@ -2637,8 +2629,8 @@ const warnedTypes = new WeakSet();
|
|
|
2637
2629
|
function convertLegacyVModelProps(vnode) {
|
|
2638
2630
|
const { type, shapeFlag, props, dynamicProps } = vnode;
|
|
2639
2631
|
const comp = type;
|
|
2640
|
-
if (shapeFlag & 6 /* COMPONENT */ && props && 'modelValue' in props) {
|
|
2641
|
-
if (!isCompatEnabled("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */,
|
|
2632
|
+
if (shapeFlag & 6 /* ShapeFlags.COMPONENT */ && props && 'modelValue' in props) {
|
|
2633
|
+
if (!isCompatEnabled("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */,
|
|
2642
2634
|
// this is a special case where we want to use the vnode component's
|
|
2643
2635
|
// compat config instead of the current rendering instance (which is the
|
|
2644
2636
|
// parent of the component that exposes v-model)
|
|
@@ -2647,7 +2639,7 @@ function convertLegacyVModelProps(vnode) {
|
|
|
2647
2639
|
}
|
|
2648
2640
|
if ((process.env.NODE_ENV !== 'production') && !warnedTypes.has(comp)) {
|
|
2649
2641
|
pushWarningContext(vnode);
|
|
2650
|
-
warnDeprecation("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */, { type }, comp);
|
|
2642
|
+
warnDeprecation("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, { type }, comp);
|
|
2651
2643
|
popWarningContext();
|
|
2652
2644
|
warnedTypes.add(comp);
|
|
2653
2645
|
}
|
|
@@ -2680,13 +2672,13 @@ function applyModelFromMixins(model, mixins) {
|
|
|
2680
2672
|
}
|
|
2681
2673
|
}
|
|
2682
2674
|
function compatModelEmit(instance, event, args) {
|
|
2683
|
-
if (!isCompatEnabled("COMPONENT_V_MODEL" /* COMPONENT_V_MODEL */, instance)) {
|
|
2675
|
+
if (!isCompatEnabled("COMPONENT_V_MODEL" /* DeprecationTypes.COMPONENT_V_MODEL */, instance)) {
|
|
2684
2676
|
return;
|
|
2685
2677
|
}
|
|
2686
2678
|
const props = instance.vnode.props;
|
|
2687
2679
|
const modelHandler = props && props[compatModelEventPrefix + event];
|
|
2688
2680
|
if (modelHandler) {
|
|
2689
|
-
callWithErrorHandling(modelHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2681
|
+
callWithErrorHandling(modelHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2690
2682
|
}
|
|
2691
2683
|
}
|
|
2692
2684
|
|
|
@@ -2753,7 +2745,7 @@ function emit$2(instance, event, ...rawArgs) {
|
|
|
2753
2745
|
handler = props[(handlerName = toHandlerKey(hyphenate(event)))];
|
|
2754
2746
|
}
|
|
2755
2747
|
if (handler) {
|
|
2756
|
-
callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2748
|
+
callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2757
2749
|
}
|
|
2758
2750
|
const onceHandler = props[handlerName + `Once`];
|
|
2759
2751
|
if (onceHandler) {
|
|
@@ -2764,7 +2756,7 @@ function emit$2(instance, event, ...rawArgs) {
|
|
|
2764
2756
|
return;
|
|
2765
2757
|
}
|
|
2766
2758
|
instance.emitted[handlerName] = true;
|
|
2767
|
-
callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2759
|
+
callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2768
2760
|
}
|
|
2769
2761
|
{
|
|
2770
2762
|
compatModelEmit(instance, event, args);
|
|
@@ -2800,7 +2792,9 @@ function normalizeEmitsOptions(comp, appContext, asMixin = false) {
|
|
|
2800
2792
|
}
|
|
2801
2793
|
}
|
|
2802
2794
|
if (!raw && !hasExtends) {
|
|
2803
|
-
|
|
2795
|
+
if (isObject(comp)) {
|
|
2796
|
+
cache.set(comp, null);
|
|
2797
|
+
}
|
|
2804
2798
|
return null;
|
|
2805
2799
|
}
|
|
2806
2800
|
if (isArray(raw)) {
|
|
@@ -2809,7 +2803,9 @@ function normalizeEmitsOptions(comp, appContext, asMixin = false) {
|
|
|
2809
2803
|
else {
|
|
2810
2804
|
extend(normalized, raw);
|
|
2811
2805
|
}
|
|
2812
|
-
|
|
2806
|
+
if (isObject(comp)) {
|
|
2807
|
+
cache.set(comp, normalized);
|
|
2808
|
+
}
|
|
2813
2809
|
return normalized;
|
|
2814
2810
|
}
|
|
2815
2811
|
// Check if an incoming prop key is a declared emit event listener.
|
|
@@ -2939,7 +2935,7 @@ function renderComponentRoot(instance) {
|
|
|
2939
2935
|
accessedAttrs = false;
|
|
2940
2936
|
}
|
|
2941
2937
|
try {
|
|
2942
|
-
if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {
|
|
2938
|
+
if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {
|
|
2943
2939
|
// withProxy is a proxy with a different `has` trap only for
|
|
2944
2940
|
// runtime-compiled render functions using `with` block.
|
|
2945
2941
|
const proxyToUse = withProxy || proxy;
|
|
@@ -2972,7 +2968,7 @@ function renderComponentRoot(instance) {
|
|
|
2972
2968
|
}
|
|
2973
2969
|
catch (err) {
|
|
2974
2970
|
blockStack.length = 0;
|
|
2975
|
-
handleError(err, instance, 1 /* RENDER_FUNCTION */);
|
|
2971
|
+
handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);
|
|
2976
2972
|
result = createVNode(Comment);
|
|
2977
2973
|
}
|
|
2978
2974
|
// attr merging
|
|
@@ -2982,14 +2978,14 @@ function renderComponentRoot(instance) {
|
|
|
2982
2978
|
let setRoot = undefined;
|
|
2983
2979
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
2984
2980
|
result.patchFlag > 0 &&
|
|
2985
|
-
result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
|
|
2981
|
+
result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {
|
|
2986
2982
|
[root, setRoot] = getChildRoot(result);
|
|
2987
2983
|
}
|
|
2988
2984
|
if (fallthroughAttrs && inheritAttrs !== false) {
|
|
2989
2985
|
const keys = Object.keys(fallthroughAttrs);
|
|
2990
2986
|
const { shapeFlag } = root;
|
|
2991
2987
|
if (keys.length) {
|
|
2992
|
-
if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {
|
|
2988
|
+
if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {
|
|
2993
2989
|
if (propsOptions && keys.some(isModelListener)) {
|
|
2994
2990
|
// If a v-model listener (onUpdate:xxx) has a corresponding declared
|
|
2995
2991
|
// prop, it indicates this component expects to handle v-model and
|
|
@@ -3034,13 +3030,13 @@ function renderComponentRoot(instance) {
|
|
|
3034
3030
|
}
|
|
3035
3031
|
}
|
|
3036
3032
|
}
|
|
3037
|
-
if (isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */, instance) &&
|
|
3038
|
-
vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */ &&
|
|
3039
|
-
root.shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {
|
|
3033
|
+
if (isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance) &&
|
|
3034
|
+
vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ &&
|
|
3035
|
+
root.shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {
|
|
3040
3036
|
const { class: cls, style } = vnode.props || {};
|
|
3041
3037
|
if (cls || style) {
|
|
3042
3038
|
if ((process.env.NODE_ENV !== 'production') && inheritAttrs === false) {
|
|
3043
|
-
warnDeprecation("INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */, instance, getComponentName(instance.type));
|
|
3039
|
+
warnDeprecation("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance, getComponentName(instance.type));
|
|
3044
3040
|
}
|
|
3045
3041
|
root = cloneVNode(root, {
|
|
3046
3042
|
class: cls,
|
|
@@ -3144,7 +3140,7 @@ const filterModelListeners = (attrs, props) => {
|
|
|
3144
3140
|
return res;
|
|
3145
3141
|
};
|
|
3146
3142
|
const isElementRoot = (vnode) => {
|
|
3147
|
-
return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||
|
|
3143
|
+
return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||
|
|
3148
3144
|
vnode.type === Comment // potential v-if branch switch
|
|
3149
3145
|
);
|
|
3150
3146
|
};
|
|
@@ -3163,19 +3159,19 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
3163
3159
|
return true;
|
|
3164
3160
|
}
|
|
3165
3161
|
if (optimized && patchFlag >= 0) {
|
|
3166
|
-
if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {
|
|
3162
|
+
if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {
|
|
3167
3163
|
// slot content that references values that might have changed,
|
|
3168
3164
|
// e.g. in a v-for
|
|
3169
3165
|
return true;
|
|
3170
3166
|
}
|
|
3171
|
-
if (patchFlag & 16 /* FULL_PROPS */) {
|
|
3167
|
+
if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {
|
|
3172
3168
|
if (!prevProps) {
|
|
3173
3169
|
return !!nextProps;
|
|
3174
3170
|
}
|
|
3175
3171
|
// presence of this flag indicates props are always non-null
|
|
3176
3172
|
return hasPropsChanged(prevProps, nextProps, emits);
|
|
3177
3173
|
}
|
|
3178
|
-
else if (patchFlag & 8 /* PROPS */) {
|
|
3174
|
+
else if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
3179
3175
|
const dynamicProps = nextVNode.dynamicProps;
|
|
3180
3176
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
3181
3177
|
const key = dynamicProps[i];
|
|
@@ -3433,7 +3429,7 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
|
|
|
3433
3429
|
if (delayEnter) {
|
|
3434
3430
|
activeBranch.transition.afterLeave = () => {
|
|
3435
3431
|
if (pendingId === suspense.pendingId) {
|
|
3436
|
-
move(pendingBranch, container, anchor, 0 /* ENTER */);
|
|
3432
|
+
move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);
|
|
3437
3433
|
}
|
|
3438
3434
|
};
|
|
3439
3435
|
}
|
|
@@ -3448,7 +3444,7 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
|
|
|
3448
3444
|
}
|
|
3449
3445
|
if (!delayEnter) {
|
|
3450
3446
|
// move content from off-dom container to actual container
|
|
3451
|
-
move(pendingBranch, container, anchor, 0 /* ENTER */);
|
|
3447
|
+
move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);
|
|
3452
3448
|
}
|
|
3453
3449
|
}
|
|
3454
3450
|
setActiveBranch(suspense, pendingBranch);
|
|
@@ -3522,7 +3518,7 @@ function createSuspenseBoundary(vnode, parent, parentComponent, container, hidde
|
|
|
3522
3518
|
const hydratedEl = instance.vnode.el;
|
|
3523
3519
|
instance
|
|
3524
3520
|
.asyncDep.catch(err => {
|
|
3525
|
-
handleError(err, instance, 0 /* SETUP_FUNCTION */);
|
|
3521
|
+
handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);
|
|
3526
3522
|
})
|
|
3527
3523
|
.then(asyncSetupResult => {
|
|
3528
3524
|
// retry when the setup() promise resolves.
|
|
@@ -3596,7 +3592,7 @@ function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, sl
|
|
|
3596
3592
|
}
|
|
3597
3593
|
function normalizeSuspenseChildren(vnode) {
|
|
3598
3594
|
const { shapeFlag, children } = vnode;
|
|
3599
|
-
const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;
|
|
3595
|
+
const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
3600
3596
|
vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
|
|
3601
3597
|
vnode.ssFallback = isSlotChildren
|
|
3602
3598
|
? normalizeSuspenseSlot(children.fallback)
|
|
@@ -3769,7 +3765,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3769
3765
|
return traverse(s);
|
|
3770
3766
|
}
|
|
3771
3767
|
else if (isFunction(s)) {
|
|
3772
|
-
return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);
|
|
3768
|
+
return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);
|
|
3773
3769
|
}
|
|
3774
3770
|
else {
|
|
3775
3771
|
(process.env.NODE_ENV !== 'production') && warnInvalidSource(s);
|
|
@@ -3779,7 +3775,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3779
3775
|
else if (isFunction(source)) {
|
|
3780
3776
|
if (cb) {
|
|
3781
3777
|
// getter with cb
|
|
3782
|
-
getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);
|
|
3778
|
+
getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);
|
|
3783
3779
|
}
|
|
3784
3780
|
else {
|
|
3785
3781
|
// no cb -> simple effect
|
|
@@ -3790,7 +3786,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3790
3786
|
if (cleanup) {
|
|
3791
3787
|
cleanup();
|
|
3792
3788
|
}
|
|
3793
|
-
return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);
|
|
3789
|
+
return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);
|
|
3794
3790
|
};
|
|
3795
3791
|
}
|
|
3796
3792
|
}
|
|
@@ -3804,7 +3800,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3804
3800
|
getter = () => {
|
|
3805
3801
|
const val = baseGetter();
|
|
3806
3802
|
if (isArray(val) &&
|
|
3807
|
-
checkCompatEnabled("WATCH_ARRAY" /* WATCH_ARRAY */, instance)) {
|
|
3803
|
+
checkCompatEnabled("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance)) {
|
|
3808
3804
|
traverse(val);
|
|
3809
3805
|
}
|
|
3810
3806
|
return val;
|
|
@@ -3817,7 +3813,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3817
3813
|
let cleanup;
|
|
3818
3814
|
let onCleanup = (fn) => {
|
|
3819
3815
|
cleanup = effect.onStop = () => {
|
|
3820
|
-
callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);
|
|
3816
|
+
callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);
|
|
3821
3817
|
};
|
|
3822
3818
|
};
|
|
3823
3819
|
// in SSR there is no need to setup an actual effect, and it should be noop
|
|
@@ -3829,7 +3825,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3829
3825
|
getter();
|
|
3830
3826
|
}
|
|
3831
3827
|
else if (immediate) {
|
|
3832
|
-
callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
|
|
3828
|
+
callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [
|
|
3833
3829
|
getter(),
|
|
3834
3830
|
isMultiSource ? [] : undefined,
|
|
3835
3831
|
onCleanup
|
|
@@ -3851,12 +3847,12 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3851
3847
|
? newValue.some((v, i) => hasChanged(v, oldValue[i]))
|
|
3852
3848
|
: hasChanged(newValue, oldValue)) ||
|
|
3853
3849
|
(isArray(newValue) &&
|
|
3854
|
-
isCompatEnabled("WATCH_ARRAY" /* WATCH_ARRAY */, instance))) {
|
|
3850
|
+
isCompatEnabled("WATCH_ARRAY" /* DeprecationTypes.WATCH_ARRAY */, instance))) {
|
|
3855
3851
|
// cleanup before running cb again
|
|
3856
3852
|
if (cleanup) {
|
|
3857
3853
|
cleanup();
|
|
3858
3854
|
}
|
|
3859
|
-
callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
|
|
3855
|
+
callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [
|
|
3860
3856
|
newValue,
|
|
3861
3857
|
// pass undefined as the old value when it's changed for the first time
|
|
3862
3858
|
oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,
|
|
@@ -3882,7 +3878,10 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
|
|
|
3882
3878
|
}
|
|
3883
3879
|
else {
|
|
3884
3880
|
// default: 'pre'
|
|
3885
|
-
|
|
3881
|
+
job.pre = true;
|
|
3882
|
+
if (instance)
|
|
3883
|
+
job.id = instance.uid;
|
|
3884
|
+
scheduler = () => queueJob(job);
|
|
3886
3885
|
}
|
|
3887
3886
|
const effect = new ReactiveEffect(getter, scheduler);
|
|
3888
3887
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -3949,7 +3948,7 @@ function createPathGetter(ctx, path) {
|
|
|
3949
3948
|
};
|
|
3950
3949
|
}
|
|
3951
3950
|
function traverse(value, seen) {
|
|
3952
|
-
if (!isObject(value) || value["__v_skip" /* SKIP */]) {
|
|
3951
|
+
if (!isObject(value) || value["__v_skip" /* ReactiveFlags.SKIP */]) {
|
|
3953
3952
|
return value;
|
|
3954
3953
|
}
|
|
3955
3954
|
seen = seen || new Set();
|
|
@@ -4139,7 +4138,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
|
|
|
4139
4138
|
const leavingVNodesCache = getLeavingNodesForType(state, vnode);
|
|
4140
4139
|
const callHook = (hook, args) => {
|
|
4141
4140
|
hook &&
|
|
4142
|
-
callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);
|
|
4141
|
+
callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);
|
|
4143
4142
|
};
|
|
4144
4143
|
const callAsyncHook = (hook, args) => {
|
|
4145
4144
|
const done = args[1];
|
|
@@ -4275,10 +4274,10 @@ function getKeepAliveChild(vnode) {
|
|
|
4275
4274
|
: vnode;
|
|
4276
4275
|
}
|
|
4277
4276
|
function setTransitionHooks(vnode, hooks) {
|
|
4278
|
-
if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {
|
|
4277
|
+
if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {
|
|
4279
4278
|
setTransitionHooks(vnode.component.subTree, hooks);
|
|
4280
4279
|
}
|
|
4281
|
-
else if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
4280
|
+
else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
4282
4281
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
4283
4282
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
4284
4283
|
}
|
|
@@ -4297,7 +4296,7 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
|
4297
4296
|
: String(parentKey) + String(child.key != null ? child.key : i);
|
|
4298
4297
|
// handle fragment children case, e.g. v-for
|
|
4299
4298
|
if (child.type === Fragment) {
|
|
4300
|
-
if (child.patchFlag & 128 /* KEYED_FRAGMENT */)
|
|
4299
|
+
if (child.patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */)
|
|
4301
4300
|
keyedFragmentCount++;
|
|
4302
4301
|
ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));
|
|
4303
4302
|
}
|
|
@@ -4312,7 +4311,7 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
|
4312
4311
|
// these children to force full diffs to ensure correct behavior.
|
|
4313
4312
|
if (keyedFragmentCount > 1) {
|
|
4314
4313
|
for (let i = 0; i < ret.length; i++) {
|
|
4315
|
-
ret[i].patchFlag = -2 /* BAIL */;
|
|
4314
|
+
ret[i].patchFlag = -2 /* PatchFlags.BAIL */;
|
|
4316
4315
|
}
|
|
4317
4316
|
}
|
|
4318
4317
|
return ret;
|
|
@@ -4390,7 +4389,7 @@ function defineAsyncComponent(source) {
|
|
|
4390
4389
|
}
|
|
4391
4390
|
const onError = (err) => {
|
|
4392
4391
|
pendingRequest = null;
|
|
4393
|
-
handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);
|
|
4392
|
+
handleError(err, instance, 13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);
|
|
4394
4393
|
};
|
|
4395
4394
|
// suspense-controlled or SSR.
|
|
4396
4395
|
if ((suspensible && instance.suspense) ||
|
|
@@ -4500,7 +4499,7 @@ const KeepAliveImpl = {
|
|
|
4500
4499
|
const storageContainer = createElement('div');
|
|
4501
4500
|
sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
|
|
4502
4501
|
const instance = vnode.component;
|
|
4503
|
-
move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);
|
|
4502
|
+
move(vnode, container, anchor, 0 /* MoveType.ENTER */, parentSuspense);
|
|
4504
4503
|
// in case props have changed
|
|
4505
4504
|
patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);
|
|
4506
4505
|
queuePostRenderEffect(() => {
|
|
@@ -4520,7 +4519,7 @@ const KeepAliveImpl = {
|
|
|
4520
4519
|
};
|
|
4521
4520
|
sharedContext.deactivate = (vnode) => {
|
|
4522
4521
|
const instance = vnode.component;
|
|
4523
|
-
move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);
|
|
4522
|
+
move(vnode, storageContainer, null, 1 /* MoveType.LEAVE */, parentSuspense);
|
|
4524
4523
|
queuePostRenderEffect(() => {
|
|
4525
4524
|
if (instance.da) {
|
|
4526
4525
|
invokeArrayFns(instance.da);
|
|
@@ -4609,8 +4608,8 @@ const KeepAliveImpl = {
|
|
|
4609
4608
|
return children;
|
|
4610
4609
|
}
|
|
4611
4610
|
else if (!isVNode(rawVNode) ||
|
|
4612
|
-
(!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&
|
|
4613
|
-
!(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {
|
|
4611
|
+
(!(rawVNode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) &&
|
|
4612
|
+
!(rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */))) {
|
|
4614
4613
|
current = null;
|
|
4615
4614
|
return rawVNode;
|
|
4616
4615
|
}
|
|
@@ -4632,7 +4631,7 @@ const KeepAliveImpl = {
|
|
|
4632
4631
|
// clone vnode if it's reused because we are going to mutate it
|
|
4633
4632
|
if (vnode.el) {
|
|
4634
4633
|
vnode = cloneVNode(vnode);
|
|
4635
|
-
if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {
|
|
4634
|
+
if (rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
4636
4635
|
rawVNode.ssContent = vnode;
|
|
4637
4636
|
}
|
|
4638
4637
|
}
|
|
@@ -4651,7 +4650,7 @@ const KeepAliveImpl = {
|
|
|
4651
4650
|
setTransitionHooks(vnode, vnode.transition);
|
|
4652
4651
|
}
|
|
4653
4652
|
// avoid vnode being mounted as fresh
|
|
4654
|
-
vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;
|
|
4653
|
+
vnode.shapeFlag |= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
|
|
4655
4654
|
// make this key the freshest
|
|
4656
4655
|
keys.delete(key);
|
|
4657
4656
|
keys.add(key);
|
|
@@ -4664,7 +4663,7 @@ const KeepAliveImpl = {
|
|
|
4664
4663
|
}
|
|
4665
4664
|
}
|
|
4666
4665
|
// avoid vnode being unmounted
|
|
4667
|
-
vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4666
|
+
vnode.shapeFlag |= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4668
4667
|
current = vnode;
|
|
4669
4668
|
return isSuspense(rawVNode.type) ? rawVNode : vnode;
|
|
4670
4669
|
};
|
|
@@ -4690,10 +4689,10 @@ function matches(pattern, name) {
|
|
|
4690
4689
|
return false;
|
|
4691
4690
|
}
|
|
4692
4691
|
function onActivated(hook, target) {
|
|
4693
|
-
registerKeepAliveHook(hook, "a" /* ACTIVATED */, target);
|
|
4692
|
+
registerKeepAliveHook(hook, "a" /* LifecycleHooks.ACTIVATED */, target);
|
|
4694
4693
|
}
|
|
4695
4694
|
function onDeactivated(hook, target) {
|
|
4696
|
-
registerKeepAliveHook(hook, "da" /* DEACTIVATED */, target);
|
|
4695
|
+
registerKeepAliveHook(hook, "da" /* LifecycleHooks.DEACTIVATED */, target);
|
|
4697
4696
|
}
|
|
4698
4697
|
function registerKeepAliveHook(hook, type, target = currentInstance) {
|
|
4699
4698
|
// cache the deactivate branch check wrapper for injected hooks so the same
|
|
@@ -4737,16 +4736,16 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
|
|
|
4737
4736
|
}
|
|
4738
4737
|
function resetShapeFlag(vnode) {
|
|
4739
4738
|
let shapeFlag = vnode.shapeFlag;
|
|
4740
|
-
if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
4741
|
-
shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4739
|
+
if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
4740
|
+
shapeFlag -= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4742
4741
|
}
|
|
4743
|
-
if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
|
|
4744
|
-
shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;
|
|
4742
|
+
if (shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {
|
|
4743
|
+
shapeFlag -= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
|
|
4745
4744
|
}
|
|
4746
4745
|
vnode.shapeFlag = shapeFlag;
|
|
4747
4746
|
}
|
|
4748
4747
|
function getInnerChild(vnode) {
|
|
4749
|
-
return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;
|
|
4748
|
+
return vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */ ? vnode.ssContent : vnode;
|
|
4750
4749
|
}
|
|
4751
4750
|
|
|
4752
4751
|
function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
@@ -4792,23 +4791,23 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
|
4792
4791
|
}
|
|
4793
4792
|
const createHook = (lifecycle) => (hook, target = currentInstance) =>
|
|
4794
4793
|
// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
|
|
4795
|
-
(!isInSSRComponentSetup || lifecycle === "sp" /* SERVER_PREFETCH */) &&
|
|
4794
|
+
(!isInSSRComponentSetup || lifecycle === "sp" /* LifecycleHooks.SERVER_PREFETCH */) &&
|
|
4796
4795
|
injectHook(lifecycle, hook, target);
|
|
4797
|
-
const onBeforeMount = createHook("bm" /* BEFORE_MOUNT */);
|
|
4798
|
-
const onMounted = createHook("m" /* MOUNTED */);
|
|
4799
|
-
const onBeforeUpdate = createHook("bu" /* BEFORE_UPDATE */);
|
|
4800
|
-
const onUpdated = createHook("u" /* UPDATED */);
|
|
4801
|
-
const onBeforeUnmount = createHook("bum" /* BEFORE_UNMOUNT */);
|
|
4802
|
-
const onUnmounted = createHook("um" /* UNMOUNTED */);
|
|
4803
|
-
const onServerPrefetch = createHook("sp" /* SERVER_PREFETCH */);
|
|
4804
|
-
const onRenderTriggered = createHook("rtg" /* RENDER_TRIGGERED */);
|
|
4805
|
-
const onRenderTracked = createHook("rtc" /* RENDER_TRACKED */);
|
|
4796
|
+
const onBeforeMount = createHook("bm" /* LifecycleHooks.BEFORE_MOUNT */);
|
|
4797
|
+
const onMounted = createHook("m" /* LifecycleHooks.MOUNTED */);
|
|
4798
|
+
const onBeforeUpdate = createHook("bu" /* LifecycleHooks.BEFORE_UPDATE */);
|
|
4799
|
+
const onUpdated = createHook("u" /* LifecycleHooks.UPDATED */);
|
|
4800
|
+
const onBeforeUnmount = createHook("bum" /* LifecycleHooks.BEFORE_UNMOUNT */);
|
|
4801
|
+
const onUnmounted = createHook("um" /* LifecycleHooks.UNMOUNTED */);
|
|
4802
|
+
const onServerPrefetch = createHook("sp" /* LifecycleHooks.SERVER_PREFETCH */);
|
|
4803
|
+
const onRenderTriggered = createHook("rtg" /* LifecycleHooks.RENDER_TRIGGERED */);
|
|
4804
|
+
const onRenderTracked = createHook("rtc" /* LifecycleHooks.RENDER_TRACKED */);
|
|
4806
4805
|
function onErrorCaptured(hook, target = currentInstance) {
|
|
4807
|
-
injectHook("ec" /* ERROR_CAPTURED */, hook, target);
|
|
4806
|
+
injectHook("ec" /* LifecycleHooks.ERROR_CAPTURED */, hook, target);
|
|
4808
4807
|
}
|
|
4809
4808
|
|
|
4810
4809
|
function getCompatChildren(instance) {
|
|
4811
|
-
assertCompatEnabled("INSTANCE_CHILDREN" /* INSTANCE_CHILDREN */, instance);
|
|
4810
|
+
assertCompatEnabled("INSTANCE_CHILDREN" /* DeprecationTypes.INSTANCE_CHILDREN */, instance);
|
|
4812
4811
|
const root = instance.subTree;
|
|
4813
4812
|
const children = [];
|
|
4814
4813
|
if (root) {
|
|
@@ -4820,7 +4819,7 @@ function walk(vnode, children) {
|
|
|
4820
4819
|
if (vnode.component) {
|
|
4821
4820
|
children.push(vnode.component.proxy);
|
|
4822
4821
|
}
|
|
4823
|
-
else if (vnode.shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
4822
|
+
else if (vnode.shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
4824
4823
|
const vnodes = vnode.children;
|
|
4825
4824
|
for (let i = 0; i < vnodes.length; i++) {
|
|
4826
4825
|
walk(vnodes[i], children);
|
|
@@ -4829,7 +4828,7 @@ function walk(vnode, children) {
|
|
|
4829
4828
|
}
|
|
4830
4829
|
|
|
4831
4830
|
function getCompatListeners(instance) {
|
|
4832
|
-
assertCompatEnabled("INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */, instance);
|
|
4831
|
+
assertCompatEnabled("INSTANCE_LISTENERS" /* DeprecationTypes.INSTANCE_LISTENERS */, instance);
|
|
4833
4832
|
const listeners = {};
|
|
4834
4833
|
const rawProps = instance.vnode.props;
|
|
4835
4834
|
if (!rawProps) {
|
|
@@ -4857,7 +4856,7 @@ function mapCompatDirectiveHook(name, dir, instance) {
|
|
|
4857
4856
|
mappedName.forEach(mapped => {
|
|
4858
4857
|
const mappedHook = dir[mapped];
|
|
4859
4858
|
if (mappedHook) {
|
|
4860
|
-
softAssertCompatEnabled("CUSTOM_DIR" /* CUSTOM_DIR */, instance, mapped, name);
|
|
4859
|
+
softAssertCompatEnabled("CUSTOM_DIR" /* DeprecationTypes.CUSTOM_DIR */, instance, mapped, name);
|
|
4861
4860
|
hook.push(mappedHook);
|
|
4862
4861
|
}
|
|
4863
4862
|
});
|
|
@@ -4865,7 +4864,7 @@ function mapCompatDirectiveHook(name, dir, instance) {
|
|
|
4865
4864
|
}
|
|
4866
4865
|
else {
|
|
4867
4866
|
if (dir[mappedName]) {
|
|
4868
|
-
softAssertCompatEnabled("CUSTOM_DIR" /* CUSTOM_DIR */, instance, mappedName, name);
|
|
4867
|
+
softAssertCompatEnabled("CUSTOM_DIR" /* DeprecationTypes.CUSTOM_DIR */, instance, mappedName, name);
|
|
4869
4868
|
}
|
|
4870
4869
|
return dir[mappedName];
|
|
4871
4870
|
}
|
|
@@ -4939,7 +4938,7 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
|
|
|
4939
4938
|
// disable tracking inside all lifecycle hooks
|
|
4940
4939
|
// since they can potentially be called inside effects.
|
|
4941
4940
|
pauseTracking();
|
|
4942
|
-
callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [
|
|
4941
|
+
callWithAsyncErrorHandling(hook, instance, 8 /* ErrorCodes.DIRECTIVE_HOOK */, [
|
|
4943
4942
|
vnode.el,
|
|
4944
4943
|
binding,
|
|
4945
4944
|
vnode,
|
|
@@ -4992,7 +4991,7 @@ function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false
|
|
|
4992
4991
|
const Component = instance.type;
|
|
4993
4992
|
// explicit self name has highest priority
|
|
4994
4993
|
if (type === COMPONENTS) {
|
|
4995
|
-
const selfName = getComponentName(Component);
|
|
4994
|
+
const selfName = getComponentName(Component, false /* do not include inferred name to avoid breaking existing code */);
|
|
4996
4995
|
if (selfName &&
|
|
4997
4996
|
(selfName === name ||
|
|
4998
4997
|
selfName === camelize(name) ||
|
|
@@ -5046,7 +5045,7 @@ function convertLegacyRenderFn(instance) {
|
|
|
5046
5045
|
return;
|
|
5047
5046
|
}
|
|
5048
5047
|
// v2 render function, try to provide compat
|
|
5049
|
-
if (checkCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, instance)) {
|
|
5048
|
+
if (checkCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance)) {
|
|
5050
5049
|
const wrapped = (Component.render = function compatRender() {
|
|
5051
5050
|
// @ts-ignore
|
|
5052
5051
|
return render.call(this, compatH);
|
|
@@ -5168,7 +5167,7 @@ function convertLegacyDirectives(vnode, props) {
|
|
|
5168
5167
|
function convertLegacySlots(vnode) {
|
|
5169
5168
|
const { props, children } = vnode;
|
|
5170
5169
|
let slots;
|
|
5171
|
-
if (vnode.shapeFlag & 6 /* COMPONENT */ && isArray(children)) {
|
|
5170
|
+
if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && isArray(children)) {
|
|
5172
5171
|
slots = {};
|
|
5173
5172
|
// check "slot" property on vnodes and turn them into v3 function slots
|
|
5174
5173
|
for (let i = 0; i < children.length; i++) {
|
|
@@ -5207,8 +5206,8 @@ function convertLegacySlots(vnode) {
|
|
|
5207
5206
|
}
|
|
5208
5207
|
function defineLegacyVNodeProperties(vnode) {
|
|
5209
5208
|
/* istanbul ignore if */
|
|
5210
|
-
if (isCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, currentRenderingInstance, true /* enable for built-ins */) &&
|
|
5211
|
-
isCompatEnabled("PRIVATE_APIS" /* PRIVATE_APIS */, currentRenderingInstance, true /* enable for built-ins */)) {
|
|
5209
|
+
if (isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, currentRenderingInstance, true /* enable for built-ins */) &&
|
|
5210
|
+
isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, currentRenderingInstance, true /* enable for built-ins */)) {
|
|
5212
5211
|
const context = currentRenderingInstance;
|
|
5213
5212
|
const getInstance = () => vnode.component && vnode.component.proxy;
|
|
5214
5213
|
let componentOptions;
|
|
@@ -5222,7 +5221,7 @@ function defineLegacyVNodeProperties(vnode) {
|
|
|
5222
5221
|
context: { get: () => context && context.proxy },
|
|
5223
5222
|
componentOptions: {
|
|
5224
5223
|
get: () => {
|
|
5225
|
-
if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {
|
|
5224
|
+
if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {
|
|
5226
5225
|
if (componentOptions) {
|
|
5227
5226
|
return componentOptions;
|
|
5228
5227
|
}
|
|
@@ -5342,7 +5341,13 @@ function createSlots(slots, dynamicSlots) {
|
|
|
5342
5341
|
}
|
|
5343
5342
|
else if (slot) {
|
|
5344
5343
|
// conditional single slot generated by <template v-if="..." #foo>
|
|
5345
|
-
slots[slot.name] = slot.
|
|
5344
|
+
slots[slot.name] = slot.key
|
|
5345
|
+
? (...args) => {
|
|
5346
|
+
const res = slot.fn(...args);
|
|
5347
|
+
res.key = slot.key;
|
|
5348
|
+
return res;
|
|
5349
|
+
}
|
|
5350
|
+
: slot.fn;
|
|
5346
5351
|
}
|
|
5347
5352
|
}
|
|
5348
5353
|
return slots;
|
|
@@ -5378,9 +5383,15 @@ fallback, noSlotted) {
|
|
|
5378
5383
|
}
|
|
5379
5384
|
openBlock();
|
|
5380
5385
|
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
5381
|
-
const rendered = createBlock(Fragment, {
|
|
5382
|
-
|
|
5383
|
-
|
|
5386
|
+
const rendered = createBlock(Fragment, {
|
|
5387
|
+
key: props.key ||
|
|
5388
|
+
// slot content array of a dynamic conditional slot may have a branch
|
|
5389
|
+
// key attached in the `createSlots` helper, respect that
|
|
5390
|
+
(validSlotContent && validSlotContent.key) ||
|
|
5391
|
+
`_${name}`
|
|
5392
|
+
}, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* SlotFlags.STABLE */
|
|
5393
|
+
? 64 /* PatchFlags.STABLE_FRAGMENT */
|
|
5394
|
+
: -2 /* PatchFlags.BAIL */);
|
|
5384
5395
|
if (!noSlotted && rendered.scopeId) {
|
|
5385
5396
|
rendered.slotScopeIds = [rendered.scopeId + '-s'];
|
|
5386
5397
|
}
|
|
@@ -5408,14 +5419,16 @@ function ensureValidVNode(vnodes) {
|
|
|
5408
5419
|
* For prefixing keys in v-on="obj" with "on"
|
|
5409
5420
|
* @private
|
|
5410
5421
|
*/
|
|
5411
|
-
function toHandlers(obj) {
|
|
5422
|
+
function toHandlers(obj, preserveCaseIfNecessary) {
|
|
5412
5423
|
const ret = {};
|
|
5413
5424
|
if ((process.env.NODE_ENV !== 'production') && !isObject(obj)) {
|
|
5414
5425
|
warn$1(`v-on with no argument expects an object value.`);
|
|
5415
5426
|
return ret;
|
|
5416
5427
|
}
|
|
5417
5428
|
for (const key in obj) {
|
|
5418
|
-
ret[
|
|
5429
|
+
ret[preserveCaseIfNecessary && /[A-Z]/.test(key)
|
|
5430
|
+
? `on:${key}`
|
|
5431
|
+
: toHandlerKey(key)] = obj[key];
|
|
5419
5432
|
}
|
|
5420
5433
|
return ret;
|
|
5421
5434
|
}
|
|
@@ -5551,26 +5564,26 @@ function installCompatInstanceProperties(map) {
|
|
|
5551
5564
|
};
|
|
5552
5565
|
extend(map, {
|
|
5553
5566
|
$set: i => {
|
|
5554
|
-
assertCompatEnabled("INSTANCE_SET" /* INSTANCE_SET */, i);
|
|
5567
|
+
assertCompatEnabled("INSTANCE_SET" /* DeprecationTypes.INSTANCE_SET */, i);
|
|
5555
5568
|
return set;
|
|
5556
5569
|
},
|
|
5557
5570
|
$delete: i => {
|
|
5558
|
-
assertCompatEnabled("INSTANCE_DELETE" /* INSTANCE_DELETE */, i);
|
|
5571
|
+
assertCompatEnabled("INSTANCE_DELETE" /* DeprecationTypes.INSTANCE_DELETE */, i);
|
|
5559
5572
|
return del;
|
|
5560
5573
|
},
|
|
5561
5574
|
$mount: i => {
|
|
5562
|
-
assertCompatEnabled("GLOBAL_MOUNT" /* GLOBAL_MOUNT */, null /* this warning is global */);
|
|
5575
|
+
assertCompatEnabled("GLOBAL_MOUNT" /* DeprecationTypes.GLOBAL_MOUNT */, null /* this warning is global */);
|
|
5563
5576
|
// root mount override from ./global.ts in installCompatMount
|
|
5564
5577
|
return i.ctx._compat_mount || NOOP;
|
|
5565
5578
|
},
|
|
5566
5579
|
$destroy: i => {
|
|
5567
|
-
assertCompatEnabled("INSTANCE_DESTROY" /* INSTANCE_DESTROY */, i);
|
|
5580
|
+
assertCompatEnabled("INSTANCE_DESTROY" /* DeprecationTypes.INSTANCE_DESTROY */, i);
|
|
5568
5581
|
// root destroy override from ./global.ts in installCompatMount
|
|
5569
5582
|
return i.ctx._compat_destroy || NOOP;
|
|
5570
5583
|
},
|
|
5571
5584
|
// overrides existing accessor
|
|
5572
5585
|
$slots: i => {
|
|
5573
|
-
if (isCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, i) &&
|
|
5586
|
+
if (isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, i) &&
|
|
5574
5587
|
i.render &&
|
|
5575
5588
|
i.render._compatWrapped) {
|
|
5576
5589
|
return new Proxy(i.slots, legacySlotProxyHandlers);
|
|
@@ -5578,7 +5591,7 @@ function installCompatInstanceProperties(map) {
|
|
|
5578
5591
|
return (process.env.NODE_ENV !== 'production') ? shallowReadonly(i.slots) : i.slots;
|
|
5579
5592
|
},
|
|
5580
5593
|
$scopedSlots: i => {
|
|
5581
|
-
assertCompatEnabled("INSTANCE_SCOPED_SLOTS" /* INSTANCE_SCOPED_SLOTS */, i);
|
|
5594
|
+
assertCompatEnabled("INSTANCE_SCOPED_SLOTS" /* DeprecationTypes.INSTANCE_SCOPED_SLOTS */, i);
|
|
5582
5595
|
const res = {};
|
|
5583
5596
|
for (const key in i.slots) {
|
|
5584
5597
|
const fn = i.slots[key];
|
|
@@ -5595,7 +5608,7 @@ function installCompatInstanceProperties(map) {
|
|
|
5595
5608
|
$listeners: getCompatListeners
|
|
5596
5609
|
});
|
|
5597
5610
|
/* istanbul ignore if */
|
|
5598
|
-
if (isCompatEnabled("PRIVATE_APIS" /* PRIVATE_APIS */, null)) {
|
|
5611
|
+
if (isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, null)) {
|
|
5599
5612
|
extend(map, {
|
|
5600
5613
|
// needed by many libs / render fns
|
|
5601
5614
|
$vnode: i => i.vnode,
|
|
@@ -5700,23 +5713,23 @@ const PublicInstanceProxyHandlers = {
|
|
|
5700
5713
|
const n = accessCache[key];
|
|
5701
5714
|
if (n !== undefined) {
|
|
5702
5715
|
switch (n) {
|
|
5703
|
-
case 1 /* SETUP */:
|
|
5716
|
+
case 1 /* AccessTypes.SETUP */:
|
|
5704
5717
|
return setupState[key];
|
|
5705
|
-
case 2 /* DATA */:
|
|
5718
|
+
case 2 /* AccessTypes.DATA */:
|
|
5706
5719
|
return data[key];
|
|
5707
|
-
case 4 /* CONTEXT */:
|
|
5720
|
+
case 4 /* AccessTypes.CONTEXT */:
|
|
5708
5721
|
return ctx[key];
|
|
5709
|
-
case 3 /* PROPS */:
|
|
5722
|
+
case 3 /* AccessTypes.PROPS */:
|
|
5710
5723
|
return props[key];
|
|
5711
5724
|
// default: just fallthrough
|
|
5712
5725
|
}
|
|
5713
5726
|
}
|
|
5714
5727
|
else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
|
|
5715
|
-
accessCache[key] = 1 /* SETUP */;
|
|
5728
|
+
accessCache[key] = 1 /* AccessTypes.SETUP */;
|
|
5716
5729
|
return setupState[key];
|
|
5717
5730
|
}
|
|
5718
5731
|
else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
|
|
5719
|
-
accessCache[key] = 2 /* DATA */;
|
|
5732
|
+
accessCache[key] = 2 /* AccessTypes.DATA */;
|
|
5720
5733
|
return data[key];
|
|
5721
5734
|
}
|
|
5722
5735
|
else if (
|
|
@@ -5724,15 +5737,15 @@ const PublicInstanceProxyHandlers = {
|
|
|
5724
5737
|
// props
|
|
5725
5738
|
(normalizedProps = instance.propsOptions[0]) &&
|
|
5726
5739
|
hasOwn(normalizedProps, key)) {
|
|
5727
|
-
accessCache[key] = 3 /* PROPS */;
|
|
5740
|
+
accessCache[key] = 3 /* AccessTypes.PROPS */;
|
|
5728
5741
|
return props[key];
|
|
5729
5742
|
}
|
|
5730
5743
|
else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
|
|
5731
|
-
accessCache[key] = 4 /* CONTEXT */;
|
|
5744
|
+
accessCache[key] = 4 /* AccessTypes.CONTEXT */;
|
|
5732
5745
|
return ctx[key];
|
|
5733
5746
|
}
|
|
5734
5747
|
else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {
|
|
5735
|
-
accessCache[key] = 0 /* OTHER */;
|
|
5748
|
+
accessCache[key] = 0 /* AccessTypes.OTHER */;
|
|
5736
5749
|
}
|
|
5737
5750
|
}
|
|
5738
5751
|
const publicGetter = publicPropertiesMap[key];
|
|
@@ -5740,7 +5753,7 @@ const PublicInstanceProxyHandlers = {
|
|
|
5740
5753
|
// public $xxx properties
|
|
5741
5754
|
if (publicGetter) {
|
|
5742
5755
|
if (key === '$attrs') {
|
|
5743
|
-
track(instance, "get" /* GET */, key);
|
|
5756
|
+
track(instance, "get" /* TrackOpTypes.GET */, key);
|
|
5744
5757
|
(process.env.NODE_ENV !== 'production') && markAttrsAccessed();
|
|
5745
5758
|
}
|
|
5746
5759
|
return publicGetter(instance);
|
|
@@ -5753,7 +5766,7 @@ const PublicInstanceProxyHandlers = {
|
|
|
5753
5766
|
}
|
|
5754
5767
|
else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
|
|
5755
5768
|
// user may set custom properties to `this` that start with `$`
|
|
5756
|
-
accessCache[key] = 4 /* CONTEXT */;
|
|
5769
|
+
accessCache[key] = 4 /* AccessTypes.CONTEXT */;
|
|
5757
5770
|
return ctx[key];
|
|
5758
5771
|
}
|
|
5759
5772
|
else if (
|
|
@@ -5932,7 +5945,7 @@ function deepMergeData(to, from) {
|
|
|
5932
5945
|
const toVal = to[key];
|
|
5933
5946
|
const fromVal = from[key];
|
|
5934
5947
|
if (key in to && isPlainObject(toVal) && isPlainObject(fromVal)) {
|
|
5935
|
-
(process.env.NODE_ENV !== 'production') && warnDeprecation("OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */, null, key);
|
|
5948
|
+
(process.env.NODE_ENV !== 'production') && warnDeprecation("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null, key);
|
|
5936
5949
|
deepMergeData(toVal, fromVal);
|
|
5937
5950
|
}
|
|
5938
5951
|
else {
|
|
@@ -5963,7 +5976,7 @@ function applyOptions(instance) {
|
|
|
5963
5976
|
// call beforeCreate first before accessing other options since
|
|
5964
5977
|
// the hook may mutate resolved options (#2791)
|
|
5965
5978
|
if (options.beforeCreate) {
|
|
5966
|
-
callHook(options.beforeCreate, instance, "bc" /* BEFORE_CREATE */);
|
|
5979
|
+
callHook(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
|
|
5967
5980
|
}
|
|
5968
5981
|
const {
|
|
5969
5982
|
// state
|
|
@@ -5979,7 +5992,7 @@ function applyOptions(instance) {
|
|
|
5979
5992
|
const [propsOptions] = instance.propsOptions;
|
|
5980
5993
|
if (propsOptions) {
|
|
5981
5994
|
for (const key in propsOptions) {
|
|
5982
|
-
checkDuplicateProperties("Props" /* PROPS */, key);
|
|
5995
|
+
checkDuplicateProperties("Props" /* OptionTypes.PROPS */, key);
|
|
5983
5996
|
}
|
|
5984
5997
|
}
|
|
5985
5998
|
}
|
|
@@ -6012,7 +6025,7 @@ function applyOptions(instance) {
|
|
|
6012
6025
|
ctx[key] = methodHandler.bind(publicThis);
|
|
6013
6026
|
}
|
|
6014
6027
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
6015
|
-
checkDuplicateProperties("Methods" /* METHODS */, key);
|
|
6028
|
+
checkDuplicateProperties("Methods" /* OptionTypes.METHODS */, key);
|
|
6016
6029
|
}
|
|
6017
6030
|
}
|
|
6018
6031
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -6039,7 +6052,7 @@ function applyOptions(instance) {
|
|
|
6039
6052
|
instance.data = reactive(data);
|
|
6040
6053
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
6041
6054
|
for (const key in data) {
|
|
6042
|
-
checkDuplicateProperties("Data" /* DATA */, key);
|
|
6055
|
+
checkDuplicateProperties("Data" /* OptionTypes.DATA */, key);
|
|
6043
6056
|
// expose data on ctx during dev
|
|
6044
6057
|
if (!isReservedPrefix(key[0])) {
|
|
6045
6058
|
Object.defineProperty(ctx, key, {
|
|
@@ -6084,7 +6097,7 @@ function applyOptions(instance) {
|
|
|
6084
6097
|
set: v => (c.value = v)
|
|
6085
6098
|
});
|
|
6086
6099
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
6087
|
-
checkDuplicateProperties("Computed" /* COMPUTED */, key);
|
|
6100
|
+
checkDuplicateProperties("Computed" /* OptionTypes.COMPUTED */, key);
|
|
6088
6101
|
}
|
|
6089
6102
|
}
|
|
6090
6103
|
}
|
|
@@ -6102,7 +6115,7 @@ function applyOptions(instance) {
|
|
|
6102
6115
|
});
|
|
6103
6116
|
}
|
|
6104
6117
|
if (created) {
|
|
6105
|
-
callHook(created, instance, "c" /* CREATED */);
|
|
6118
|
+
callHook(created, instance, "c" /* LifecycleHooks.CREATED */);
|
|
6106
6119
|
}
|
|
6107
6120
|
function registerLifecycleHook(register, hook) {
|
|
6108
6121
|
if (isArray(hook)) {
|
|
@@ -6126,11 +6139,11 @@ function applyOptions(instance) {
|
|
|
6126
6139
|
registerLifecycleHook(onServerPrefetch, serverPrefetch);
|
|
6127
6140
|
{
|
|
6128
6141
|
if (beforeDestroy &&
|
|
6129
|
-
softAssertCompatEnabled("OPTIONS_BEFORE_DESTROY" /* OPTIONS_BEFORE_DESTROY */, instance)) {
|
|
6142
|
+
softAssertCompatEnabled("OPTIONS_BEFORE_DESTROY" /* DeprecationTypes.OPTIONS_BEFORE_DESTROY */, instance)) {
|
|
6130
6143
|
registerLifecycleHook(onBeforeUnmount, beforeDestroy);
|
|
6131
6144
|
}
|
|
6132
6145
|
if (destroyed &&
|
|
6133
|
-
softAssertCompatEnabled("OPTIONS_DESTROYED" /* OPTIONS_DESTROYED */, instance)) {
|
|
6146
|
+
softAssertCompatEnabled("OPTIONS_DESTROYED" /* DeprecationTypes.OPTIONS_DESTROYED */, instance)) {
|
|
6134
6147
|
registerLifecycleHook(onUnmounted, destroyed);
|
|
6135
6148
|
}
|
|
6136
6149
|
}
|
|
@@ -6162,7 +6175,7 @@ function applyOptions(instance) {
|
|
|
6162
6175
|
if (directives)
|
|
6163
6176
|
instance.directives = directives;
|
|
6164
6177
|
if (filters &&
|
|
6165
|
-
isCompatEnabled("FILTERS" /* FILTERS */, instance)) {
|
|
6178
|
+
isCompatEnabled("FILTERS" /* DeprecationTypes.FILTERS */, instance)) {
|
|
6166
6179
|
instance.filters = filters;
|
|
6167
6180
|
}
|
|
6168
6181
|
}
|
|
@@ -6209,7 +6222,7 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP,
|
|
|
6209
6222
|
ctx[key] = injected;
|
|
6210
6223
|
}
|
|
6211
6224
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
6212
|
-
checkDuplicateProperties("Inject" /* INJECT */, key);
|
|
6225
|
+
checkDuplicateProperties("Inject" /* OptionTypes.INJECT */, key);
|
|
6213
6226
|
}
|
|
6214
6227
|
}
|
|
6215
6228
|
}
|
|
@@ -6269,7 +6282,7 @@ function resolveMergedOptions(instance) {
|
|
|
6269
6282
|
resolved = cached;
|
|
6270
6283
|
}
|
|
6271
6284
|
else if (!globalMixins.length && !mixins && !extendsOptions) {
|
|
6272
|
-
if (isCompatEnabled("PRIVATE_APIS" /* PRIVATE_APIS */, instance)) {
|
|
6285
|
+
if (isCompatEnabled("PRIVATE_APIS" /* DeprecationTypes.PRIVATE_APIS */, instance)) {
|
|
6273
6286
|
resolved = extend({}, base);
|
|
6274
6287
|
resolved.parent = instance.parent && instance.parent.proxy;
|
|
6275
6288
|
resolved.propsData = instance.vnode.props;
|
|
@@ -6285,7 +6298,9 @@ function resolveMergedOptions(instance) {
|
|
|
6285
6298
|
}
|
|
6286
6299
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
6287
6300
|
}
|
|
6288
|
-
|
|
6301
|
+
if (isObject(base)) {
|
|
6302
|
+
cache.set(base, resolved);
|
|
6303
|
+
}
|
|
6289
6304
|
return resolved;
|
|
6290
6305
|
}
|
|
6291
6306
|
function mergeOptions(to, from, strats, asMixin = false) {
|
|
@@ -6354,7 +6369,7 @@ function mergeDataFn(to, from) {
|
|
|
6354
6369
|
return from;
|
|
6355
6370
|
}
|
|
6356
6371
|
return function mergedDataFn() {
|
|
6357
|
-
return (isCompatEnabled("OPTIONS_DATA_MERGE" /* OPTIONS_DATA_MERGE */, null)
|
|
6372
|
+
return (isCompatEnabled("OPTIONS_DATA_MERGE" /* DeprecationTypes.OPTIONS_DATA_MERGE */, null)
|
|
6358
6373
|
? deepMergeData
|
|
6359
6374
|
: extend)(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);
|
|
6360
6375
|
};
|
|
@@ -6394,7 +6409,7 @@ function createPropsDefaultThis(instance, rawProps, propKey) {
|
|
|
6394
6409
|
return new Proxy({}, {
|
|
6395
6410
|
get(_, key) {
|
|
6396
6411
|
(process.env.NODE_ENV !== 'production') &&
|
|
6397
|
-
warnDeprecation("PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */, null, propKey);
|
|
6412
|
+
warnDeprecation("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, null, propKey);
|
|
6398
6413
|
// $options
|
|
6399
6414
|
if (key === '$options') {
|
|
6400
6415
|
return resolveMergedOptions(instance);
|
|
@@ -6424,11 +6439,11 @@ function shouldSkipAttr(key, instance) {
|
|
|
6424
6439
|
return true;
|
|
6425
6440
|
}
|
|
6426
6441
|
if ((key === 'class' || key === 'style') &&
|
|
6427
|
-
isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* INSTANCE_ATTRS_CLASS_STYLE */, instance)) {
|
|
6442
|
+
isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE" /* DeprecationTypes.INSTANCE_ATTRS_CLASS_STYLE */, instance)) {
|
|
6428
6443
|
return true;
|
|
6429
6444
|
}
|
|
6430
6445
|
if (isOn(key) &&
|
|
6431
|
-
isCompatEnabled("INSTANCE_LISTENERS" /* INSTANCE_LISTENERS */, instance)) {
|
|
6446
|
+
isCompatEnabled("INSTANCE_LISTENERS" /* DeprecationTypes.INSTANCE_LISTENERS */, instance)) {
|
|
6432
6447
|
return true;
|
|
6433
6448
|
}
|
|
6434
6449
|
// vue-router
|
|
@@ -6471,6 +6486,13 @@ isSSR = false) {
|
|
|
6471
6486
|
}
|
|
6472
6487
|
instance.attrs = attrs;
|
|
6473
6488
|
}
|
|
6489
|
+
function isInHmrContext(instance) {
|
|
6490
|
+
while (instance) {
|
|
6491
|
+
if (instance.type.__hmrId)
|
|
6492
|
+
return true;
|
|
6493
|
+
instance = instance.parent;
|
|
6494
|
+
}
|
|
6495
|
+
}
|
|
6474
6496
|
function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
6475
6497
|
const { props, attrs, vnode: { patchFlag } } = instance;
|
|
6476
6498
|
const rawCurrentProps = toRaw(props);
|
|
@@ -6480,12 +6502,10 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6480
6502
|
// always force full diff in dev
|
|
6481
6503
|
// - #1942 if hmr is enabled with sfc component
|
|
6482
6504
|
// - vite#872 non-sfc component used by sfc component
|
|
6483
|
-
!((process.env.NODE_ENV !== 'production') &&
|
|
6484
|
-
(instance.type.__hmrId ||
|
|
6485
|
-
(instance.parent && instance.parent.type.__hmrId))) &&
|
|
6505
|
+
!((process.env.NODE_ENV !== 'production') && isInHmrContext(instance)) &&
|
|
6486
6506
|
(optimized || patchFlag > 0) &&
|
|
6487
|
-
!(patchFlag & 16 /* FULL_PROPS */)) {
|
|
6488
|
-
if (patchFlag & 8 /* PROPS */) {
|
|
6507
|
+
!(patchFlag & 16 /* PatchFlags.FULL_PROPS */)) {
|
|
6508
|
+
if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
6489
6509
|
// Compiler-generated props & no keys change, just set the updated
|
|
6490
6510
|
// the props.
|
|
6491
6511
|
const propsToUpdate = instance.vnode.dynamicProps;
|
|
@@ -6572,7 +6592,7 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6572
6592
|
}
|
|
6573
6593
|
// trigger updates for $attrs in case it's used in component slots
|
|
6574
6594
|
if (hasAttrsChanged) {
|
|
6575
|
-
trigger(instance, "set" /* SET */, '$attrs');
|
|
6595
|
+
trigger(instance, "set" /* TriggerOpTypes.SET */, '$attrs');
|
|
6576
6596
|
}
|
|
6577
6597
|
if ((process.env.NODE_ENV !== 'production')) {
|
|
6578
6598
|
validateProps(rawProps || {}, props, instance);
|
|
@@ -6590,7 +6610,7 @@ function setFullProps(instance, rawProps, props, attrs) {
|
|
|
6590
6610
|
}
|
|
6591
6611
|
{
|
|
6592
6612
|
if (key.startsWith('onHook:')) {
|
|
6593
|
-
softAssertCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance, key.slice(2).toLowerCase());
|
|
6613
|
+
softAssertCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance, key.slice(2).toLowerCase());
|
|
6594
6614
|
}
|
|
6595
6615
|
if (key === 'inline-template') {
|
|
6596
6616
|
continue;
|
|
@@ -6651,7 +6671,7 @@ function resolvePropValue(options, props, key, value, instance, isAbsent) {
|
|
|
6651
6671
|
}
|
|
6652
6672
|
else {
|
|
6653
6673
|
setCurrentInstance(instance);
|
|
6654
|
-
value = propsDefaults[key] = defaultValue.call(isCompatEnabled("PROPS_DEFAULT_THIS" /* PROPS_DEFAULT_THIS */, instance)
|
|
6674
|
+
value = propsDefaults[key] = defaultValue.call(isCompatEnabled("PROPS_DEFAULT_THIS" /* DeprecationTypes.PROPS_DEFAULT_THIS */, instance)
|
|
6655
6675
|
? createPropsDefaultThis(instance, props, key)
|
|
6656
6676
|
: null, props);
|
|
6657
6677
|
unsetCurrentInstance();
|
|
@@ -6662,11 +6682,11 @@ function resolvePropValue(options, props, key, value, instance, isAbsent) {
|
|
|
6662
6682
|
}
|
|
6663
6683
|
}
|
|
6664
6684
|
// boolean casting
|
|
6665
|
-
if (opt[0 /* shouldCast */]) {
|
|
6685
|
+
if (opt[0 /* BooleanFlags.shouldCast */]) {
|
|
6666
6686
|
if (isAbsent && !hasDefault) {
|
|
6667
6687
|
value = false;
|
|
6668
6688
|
}
|
|
6669
|
-
else if (opt[1 /* shouldCastTrue */] &&
|
|
6689
|
+
else if (opt[1 /* BooleanFlags.shouldCastTrue */] &&
|
|
6670
6690
|
(value === '' || value === hyphenate(key))) {
|
|
6671
6691
|
value = true;
|
|
6672
6692
|
}
|
|
@@ -6707,7 +6727,9 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
|
6707
6727
|
}
|
|
6708
6728
|
}
|
|
6709
6729
|
if (!raw && !hasExtends) {
|
|
6710
|
-
|
|
6730
|
+
if (isObject(comp)) {
|
|
6731
|
+
cache.set(comp, EMPTY_ARR);
|
|
6732
|
+
}
|
|
6711
6733
|
return EMPTY_ARR;
|
|
6712
6734
|
}
|
|
6713
6735
|
if (isArray(raw)) {
|
|
@@ -6734,8 +6756,8 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
|
6734
6756
|
if (prop) {
|
|
6735
6757
|
const booleanIndex = getTypeIndex(Boolean, prop.type);
|
|
6736
6758
|
const stringIndex = getTypeIndex(String, prop.type);
|
|
6737
|
-
prop[0 /* shouldCast */] = booleanIndex > -1;
|
|
6738
|
-
prop[1 /* shouldCastTrue */] =
|
|
6759
|
+
prop[0 /* BooleanFlags.shouldCast */] = booleanIndex > -1;
|
|
6760
|
+
prop[1 /* BooleanFlags.shouldCastTrue */] =
|
|
6739
6761
|
stringIndex < 0 || booleanIndex < stringIndex;
|
|
6740
6762
|
// if the prop needs boolean casting or default value
|
|
6741
6763
|
if (booleanIndex > -1 || hasOwn(prop, 'default')) {
|
|
@@ -6746,7 +6768,9 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
|
6746
6768
|
}
|
|
6747
6769
|
}
|
|
6748
6770
|
const res = [normalized, needCastKeys];
|
|
6749
|
-
|
|
6771
|
+
if (isObject(comp)) {
|
|
6772
|
+
cache.set(comp, res);
|
|
6773
|
+
}
|
|
6750
6774
|
return res;
|
|
6751
6775
|
}
|
|
6752
6776
|
function validatePropName(key) {
|
|
@@ -6938,7 +6962,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
|
|
|
6938
6962
|
}
|
|
6939
6963
|
else if (value != null) {
|
|
6940
6964
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
6941
|
-
!(isCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, instance))) {
|
|
6965
|
+
!(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
|
|
6942
6966
|
warn$1(`Non-function value encountered for slot "${key}". ` +
|
|
6943
6967
|
`Prefer function slots for better performance.`);
|
|
6944
6968
|
}
|
|
@@ -6950,7 +6974,7 @@ const normalizeObjectSlots = (rawSlots, slots, instance) => {
|
|
|
6950
6974
|
const normalizeVNodeSlots = (instance, children) => {
|
|
6951
6975
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
6952
6976
|
!isKeepAlive(instance.vnode) &&
|
|
6953
|
-
!(isCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, instance))) {
|
|
6977
|
+
!(isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, instance))) {
|
|
6954
6978
|
warn$1(`Non-function value encountered for default slot. ` +
|
|
6955
6979
|
`Prefer function slots for better performance.`);
|
|
6956
6980
|
}
|
|
@@ -6958,7 +6982,7 @@ const normalizeVNodeSlots = (instance, children) => {
|
|
|
6958
6982
|
instance.slots.default = () => normalized;
|
|
6959
6983
|
};
|
|
6960
6984
|
const initSlots = (instance, children) => {
|
|
6961
|
-
if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
|
|
6985
|
+
if (instance.vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {
|
|
6962
6986
|
const type = children._;
|
|
6963
6987
|
if (type) {
|
|
6964
6988
|
// users can get the shallow readonly version of the slots object through `this.$slots`,
|
|
@@ -6983,7 +7007,7 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
6983
7007
|
const { vnode, slots } = instance;
|
|
6984
7008
|
let needDeletionCheck = true;
|
|
6985
7009
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
6986
|
-
if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
|
|
7010
|
+
if (vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {
|
|
6987
7011
|
const type = children._;
|
|
6988
7012
|
if (type) {
|
|
6989
7013
|
// compiled slots.
|
|
@@ -6992,7 +7016,7 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
6992
7016
|
// force update slots and mark instance for hmr as well
|
|
6993
7017
|
extend(slots, children);
|
|
6994
7018
|
}
|
|
6995
|
-
else if (optimized && type === 1 /* STABLE */) {
|
|
7019
|
+
else if (optimized && type === 1 /* SlotFlags.STABLE */) {
|
|
6996
7020
|
// compiled AND stable.
|
|
6997
7021
|
// no need to update, and skip stale slots removal.
|
|
6998
7022
|
needDeletionCheck = false;
|
|
@@ -7005,7 +7029,7 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
7005
7029
|
// when rendering the optimized slots by manually written render function,
|
|
7006
7030
|
// we need to delete the `slots._` flag if necessary to make subsequent updates reliable,
|
|
7007
7031
|
// i.e. let the `renderSlot` create the bailed Fragment
|
|
7008
|
-
if (!optimized && type === 1 /* STABLE */) {
|
|
7032
|
+
if (!optimized && type === 1 /* SlotFlags.STABLE */) {
|
|
7009
7033
|
delete slots._;
|
|
7010
7034
|
}
|
|
7011
7035
|
}
|
|
@@ -7034,11 +7058,11 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
7034
7058
|
// dev only
|
|
7035
7059
|
function installLegacyConfigWarnings(config) {
|
|
7036
7060
|
const legacyConfigOptions = {
|
|
7037
|
-
silent: "CONFIG_SILENT" /* CONFIG_SILENT */,
|
|
7038
|
-
devtools: "CONFIG_DEVTOOLS" /* CONFIG_DEVTOOLS */,
|
|
7039
|
-
ignoredElements: "CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */,
|
|
7040
|
-
keyCodes: "CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */,
|
|
7041
|
-
productionTip: "CONFIG_PRODUCTION_TIP" /* CONFIG_PRODUCTION_TIP */
|
|
7061
|
+
silent: "CONFIG_SILENT" /* DeprecationTypes.CONFIG_SILENT */,
|
|
7062
|
+
devtools: "CONFIG_DEVTOOLS" /* DeprecationTypes.CONFIG_DEVTOOLS */,
|
|
7063
|
+
ignoredElements: "CONFIG_IGNORED_ELEMENTS" /* DeprecationTypes.CONFIG_IGNORED_ELEMENTS */,
|
|
7064
|
+
keyCodes: "CONFIG_KEY_CODES" /* DeprecationTypes.CONFIG_KEY_CODES */,
|
|
7065
|
+
productionTip: "CONFIG_PRODUCTION_TIP" /* DeprecationTypes.CONFIG_PRODUCTION_TIP */
|
|
7042
7066
|
};
|
|
7043
7067
|
Object.keys(legacyConfigOptions).forEach(key => {
|
|
7044
7068
|
let val = config[key];
|
|
@@ -7063,7 +7087,7 @@ function installLegacyOptionMergeStrats(config) {
|
|
|
7063
7087
|
return target[key];
|
|
7064
7088
|
}
|
|
7065
7089
|
if (key in internalOptionMergeStrats &&
|
|
7066
|
-
softAssertCompatEnabled("CONFIG_OPTION_MERGE_STRATS" /* CONFIG_OPTION_MERGE_STRATS */, null)) {
|
|
7090
|
+
softAssertCompatEnabled("CONFIG_OPTION_MERGE_STRATS" /* DeprecationTypes.CONFIG_OPTION_MERGE_STRATS */, null)) {
|
|
7067
7091
|
return internalOptionMergeStrats[key];
|
|
7068
7092
|
}
|
|
7069
7093
|
}
|
|
@@ -7081,11 +7105,11 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
7081
7105
|
return createCompatApp(options, Vue);
|
|
7082
7106
|
});
|
|
7083
7107
|
function createCompatApp(options = {}, Ctor) {
|
|
7084
|
-
assertCompatEnabled("GLOBAL_MOUNT" /* GLOBAL_MOUNT */, null);
|
|
7108
|
+
assertCompatEnabled("GLOBAL_MOUNT" /* DeprecationTypes.GLOBAL_MOUNT */, null);
|
|
7085
7109
|
const { data } = options;
|
|
7086
7110
|
if (data &&
|
|
7087
7111
|
!isFunction(data) &&
|
|
7088
|
-
softAssertCompatEnabled("OPTIONS_DATA_FN" /* OPTIONS_DATA_FN */, null)) {
|
|
7112
|
+
softAssertCompatEnabled("OPTIONS_DATA_FN" /* DeprecationTypes.OPTIONS_DATA_FN */, null)) {
|
|
7089
7113
|
options.data = () => data;
|
|
7090
7114
|
}
|
|
7091
7115
|
const app = createApp(options);
|
|
@@ -7100,7 +7124,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
7100
7124
|
return vm;
|
|
7101
7125
|
}
|
|
7102
7126
|
}
|
|
7103
|
-
Vue.version = `2.6.14-compat:${"3.2.
|
|
7127
|
+
Vue.version = `2.6.14-compat:${"3.2.38"}`;
|
|
7104
7128
|
Vue.config = singletonApp.config;
|
|
7105
7129
|
Vue.use = (p, ...options) => {
|
|
7106
7130
|
if (p && isFunction(p.install)) {
|
|
@@ -7139,7 +7163,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
7139
7163
|
Vue.nextTick = nextTick;
|
|
7140
7164
|
const extendCache = new WeakMap();
|
|
7141
7165
|
function extendCtor(extendOptions = {}) {
|
|
7142
|
-
assertCompatEnabled("GLOBAL_EXTEND" /* GLOBAL_EXTEND */, null);
|
|
7166
|
+
assertCompatEnabled("GLOBAL_EXTEND" /* DeprecationTypes.GLOBAL_EXTEND */, null);
|
|
7143
7167
|
if (isFunction(extendOptions)) {
|
|
7144
7168
|
extendOptions = extendOptions.options;
|
|
7145
7169
|
}
|
|
@@ -7180,15 +7204,15 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
7180
7204
|
}
|
|
7181
7205
|
Vue.extend = extendCtor.bind(Vue);
|
|
7182
7206
|
Vue.set = (target, key, value) => {
|
|
7183
|
-
assertCompatEnabled("GLOBAL_SET" /* GLOBAL_SET */, null);
|
|
7207
|
+
assertCompatEnabled("GLOBAL_SET" /* DeprecationTypes.GLOBAL_SET */, null);
|
|
7184
7208
|
target[key] = value;
|
|
7185
7209
|
};
|
|
7186
7210
|
Vue.delete = (target, key) => {
|
|
7187
|
-
assertCompatEnabled("GLOBAL_DELETE" /* GLOBAL_DELETE */, null);
|
|
7211
|
+
assertCompatEnabled("GLOBAL_DELETE" /* DeprecationTypes.GLOBAL_DELETE */, null);
|
|
7188
7212
|
delete target[key];
|
|
7189
7213
|
};
|
|
7190
7214
|
Vue.observable = (target) => {
|
|
7191
|
-
assertCompatEnabled("GLOBAL_OBSERVABLE" /* GLOBAL_OBSERVABLE */, null);
|
|
7215
|
+
assertCompatEnabled("GLOBAL_OBSERVABLE" /* DeprecationTypes.GLOBAL_OBSERVABLE */, null);
|
|
7192
7216
|
return reactive(target);
|
|
7193
7217
|
};
|
|
7194
7218
|
Vue.filter = ((name, filter) => {
|
|
@@ -7209,7 +7233,7 @@ function createCompatVue(createApp, createSingletonApp) {
|
|
|
7209
7233
|
};
|
|
7210
7234
|
Object.defineProperty(Vue, 'util', {
|
|
7211
7235
|
get() {
|
|
7212
|
-
assertCompatEnabled("GLOBAL_PRIVATE_UTIL" /* GLOBAL_PRIVATE_UTIL */, null);
|
|
7236
|
+
assertCompatEnabled("GLOBAL_PRIVATE_UTIL" /* DeprecationTypes.GLOBAL_PRIVATE_UTIL */, null);
|
|
7213
7237
|
return util;
|
|
7214
7238
|
}
|
|
7215
7239
|
});
|
|
@@ -7233,7 +7257,7 @@ function installAppCompatProperties(app, context, render) {
|
|
|
7233
7257
|
function installFilterMethod(app, context) {
|
|
7234
7258
|
context.filters = {};
|
|
7235
7259
|
app.filter = (name, filter) => {
|
|
7236
|
-
assertCompatEnabled("FILTERS" /* FILTERS */, null);
|
|
7260
|
+
assertCompatEnabled("FILTERS" /* DeprecationTypes.FILTERS */, null);
|
|
7237
7261
|
if (!filter) {
|
|
7238
7262
|
return context.filters[name];
|
|
7239
7263
|
}
|
|
@@ -7250,7 +7274,7 @@ function installLegacyAPIs(app) {
|
|
|
7250
7274
|
// so that app.use() can work with legacy plugins that extend prototypes
|
|
7251
7275
|
prototype: {
|
|
7252
7276
|
get() {
|
|
7253
|
-
(process.env.NODE_ENV !== 'production') && warnDeprecation("GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */, null);
|
|
7277
|
+
(process.env.NODE_ENV !== 'production') && warnDeprecation("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
|
|
7254
7278
|
return app.config.globalProperties;
|
|
7255
7279
|
}
|
|
7256
7280
|
},
|
|
@@ -7267,9 +7291,11 @@ function installLegacyAPIs(app) {
|
|
|
7267
7291
|
});
|
|
7268
7292
|
}
|
|
7269
7293
|
function applySingletonAppMutations(app) {
|
|
7270
|
-
|
|
7294
|
+
// copy over asset registries and deopt flag
|
|
7295
|
+
app._context.mixins = [...singletonApp._context.mixins];
|
|
7296
|
+
['components', 'directives', 'filters'].forEach(key => {
|
|
7271
7297
|
// @ts-ignore
|
|
7272
|
-
app._context[key] = singletonApp._context[key];
|
|
7298
|
+
app._context[key] = Object.create(singletonApp._context[key]);
|
|
7273
7299
|
});
|
|
7274
7300
|
// copy over global config mutations
|
|
7275
7301
|
isCopyingConfig = true;
|
|
@@ -7282,10 +7308,10 @@ function applySingletonAppMutations(app) {
|
|
|
7282
7308
|
}
|
|
7283
7309
|
const val = singletonApp.config[key];
|
|
7284
7310
|
// @ts-ignore
|
|
7285
|
-
app.config[key] = val;
|
|
7311
|
+
app.config[key] = isObject(val) ? Object.create(val) : val;
|
|
7286
7312
|
// compat for runtime ignoredElements -> isCustomElement
|
|
7287
7313
|
if (key === 'ignoredElements' &&
|
|
7288
|
-
isCompatEnabled("CONFIG_IGNORED_ELEMENTS" /* CONFIG_IGNORED_ELEMENTS */, null) &&
|
|
7314
|
+
isCompatEnabled("CONFIG_IGNORED_ELEMENTS" /* DeprecationTypes.CONFIG_IGNORED_ELEMENTS */, null) &&
|
|
7289
7315
|
!isRuntimeOnly() &&
|
|
7290
7316
|
isArray(val)) {
|
|
7291
7317
|
app.config.compilerOptions.isCustomElement = tag => {
|
|
@@ -7298,7 +7324,7 @@ function applySingletonAppMutations(app) {
|
|
|
7298
7324
|
}
|
|
7299
7325
|
function applySingletonPrototype(app, Ctor) {
|
|
7300
7326
|
// copy prototype augmentations as config.globalProperties
|
|
7301
|
-
const enabled = isCompatEnabled("GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */, null);
|
|
7327
|
+
const enabled = isCompatEnabled("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
|
|
7302
7328
|
if (enabled) {
|
|
7303
7329
|
app.config.globalProperties = Object.create(Ctor.prototype);
|
|
7304
7330
|
}
|
|
@@ -7313,7 +7339,7 @@ function applySingletonPrototype(app, Ctor) {
|
|
|
7313
7339
|
}
|
|
7314
7340
|
}
|
|
7315
7341
|
if ((process.env.NODE_ENV !== 'production') && hasPrototypeAugmentations) {
|
|
7316
|
-
warnDeprecation("GLOBAL_PROTOTYPE" /* GLOBAL_PROTOTYPE */, null);
|
|
7342
|
+
warnDeprecation("GLOBAL_PROTOTYPE" /* DeprecationTypes.GLOBAL_PROTOTYPE */, null);
|
|
7317
7343
|
}
|
|
7318
7344
|
}
|
|
7319
7345
|
function installCompatMount(app, context, render) {
|
|
@@ -7384,7 +7410,7 @@ function installCompatMount(app, context, render) {
|
|
|
7384
7410
|
for (let i = 0; i < container.attributes.length; i++) {
|
|
7385
7411
|
const attr = container.attributes[i];
|
|
7386
7412
|
if (attr.name !== 'v-cloak' && /^(v-|:|@)/.test(attr.name)) {
|
|
7387
|
-
warnDeprecation("GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */, null);
|
|
7413
|
+
warnDeprecation("GLOBAL_MOUNT_CONTAINER" /* DeprecationTypes.GLOBAL_MOUNT_CONTAINER */, null);
|
|
7388
7414
|
break;
|
|
7389
7415
|
}
|
|
7390
7416
|
}
|
|
@@ -7423,7 +7449,7 @@ function installCompatMount(app, context, render) {
|
|
|
7423
7449
|
if (bum) {
|
|
7424
7450
|
invokeArrayFns(bum);
|
|
7425
7451
|
}
|
|
7426
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
7452
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
7427
7453
|
instance.emit('hook:beforeDestroy');
|
|
7428
7454
|
}
|
|
7429
7455
|
// stop effects
|
|
@@ -7434,7 +7460,7 @@ function installCompatMount(app, context, render) {
|
|
|
7434
7460
|
if (um) {
|
|
7435
7461
|
invokeArrayFns(um);
|
|
7436
7462
|
}
|
|
7437
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
7463
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
7438
7464
|
instance.emit('hook:destroyed');
|
|
7439
7465
|
}
|
|
7440
7466
|
}
|
|
@@ -7495,12 +7521,12 @@ function defineReactiveSimple(obj, key, val) {
|
|
|
7495
7521
|
enumerable: true,
|
|
7496
7522
|
configurable: true,
|
|
7497
7523
|
get() {
|
|
7498
|
-
track(obj, "get" /* GET */, key);
|
|
7524
|
+
track(obj, "get" /* TrackOpTypes.GET */, key);
|
|
7499
7525
|
return val;
|
|
7500
7526
|
},
|
|
7501
7527
|
set(newVal) {
|
|
7502
7528
|
val = isObject(newVal) ? reactive(newVal) : newVal;
|
|
7503
|
-
trigger(obj, "set" /* SET */, key, newVal);
|
|
7529
|
+
trigger(obj, "set" /* TriggerOpTypes.SET */, key, newVal);
|
|
7504
7530
|
}
|
|
7505
7531
|
});
|
|
7506
7532
|
}
|
|
@@ -7696,7 +7722,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7696
7722
|
// because the template ref is forwarded to inner component
|
|
7697
7723
|
return;
|
|
7698
7724
|
}
|
|
7699
|
-
const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */
|
|
7725
|
+
const refValue = vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */
|
|
7700
7726
|
? getExposeProxy(vnode.component) || vnode.component.proxy
|
|
7701
7727
|
: vnode.el;
|
|
7702
7728
|
const value = isUnmount ? null : refValue;
|
|
@@ -7722,7 +7748,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7722
7748
|
}
|
|
7723
7749
|
}
|
|
7724
7750
|
if (isFunction(ref)) {
|
|
7725
|
-
callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);
|
|
7751
|
+
callWithErrorHandling(ref, owner, 12 /* ErrorCodes.FUNCTION_REF */, [value, refs]);
|
|
7726
7752
|
}
|
|
7727
7753
|
else {
|
|
7728
7754
|
const _isString = isString(ref);
|
|
@@ -7759,7 +7785,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7759
7785
|
setupState[ref] = value;
|
|
7760
7786
|
}
|
|
7761
7787
|
}
|
|
7762
|
-
else if (
|
|
7788
|
+
else if (_isRef) {
|
|
7763
7789
|
ref.value = value;
|
|
7764
7790
|
if (rawRef.k)
|
|
7765
7791
|
refs[rawRef.k] = value;
|
|
@@ -7784,7 +7810,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
7784
7810
|
|
|
7785
7811
|
let hasMismatch = false;
|
|
7786
7812
|
const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';
|
|
7787
|
-
const isComment = (node) => node.nodeType === 8 /* COMMENT */;
|
|
7813
|
+
const isComment = (node) => node.nodeType === 8 /* DOMNodeTypes.COMMENT */;
|
|
7788
7814
|
// Note: hydration is DOM-specific
|
|
7789
7815
|
// But we have to place it in core due to tight coupling with core - splitting
|
|
7790
7816
|
// it out creates a ton of unnecessary complexity.
|
|
@@ -7799,11 +7825,13 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7799
7825
|
`Performing full mount instead.`);
|
|
7800
7826
|
patch(null, vnode, container);
|
|
7801
7827
|
flushPostFlushCbs();
|
|
7828
|
+
container._vnode = vnode;
|
|
7802
7829
|
return;
|
|
7803
7830
|
}
|
|
7804
7831
|
hasMismatch = false;
|
|
7805
7832
|
hydrateNode(container.firstChild, vnode, null, null, null);
|
|
7806
7833
|
flushPostFlushCbs();
|
|
7834
|
+
container._vnode = vnode;
|
|
7807
7835
|
if (hasMismatch && !false) {
|
|
7808
7836
|
// this error should show up in production
|
|
7809
7837
|
console.error(`Hydration completed but contains mismatches.`);
|
|
@@ -7815,14 +7843,14 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7815
7843
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
7816
7844
|
const domType = node.nodeType;
|
|
7817
7845
|
vnode.el = node;
|
|
7818
|
-
if (patchFlag === -2 /* BAIL */) {
|
|
7846
|
+
if (patchFlag === -2 /* PatchFlags.BAIL */) {
|
|
7819
7847
|
optimized = false;
|
|
7820
7848
|
vnode.dynamicChildren = null;
|
|
7821
7849
|
}
|
|
7822
7850
|
let nextNode = null;
|
|
7823
7851
|
switch (type) {
|
|
7824
7852
|
case Text:
|
|
7825
|
-
if (domType !== 3 /* TEXT */) {
|
|
7853
|
+
if (domType !== 3 /* DOMNodeTypes.TEXT */) {
|
|
7826
7854
|
// #5728 empty text node inside a slot can cause hydration failure
|
|
7827
7855
|
// because the server rendered HTML won't contain a text node
|
|
7828
7856
|
if (vnode.children === '') {
|
|
@@ -7846,7 +7874,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7846
7874
|
}
|
|
7847
7875
|
break;
|
|
7848
7876
|
case Comment:
|
|
7849
|
-
if (domType !== 8 /* COMMENT */ || isFragmentStart) {
|
|
7877
|
+
if (domType !== 8 /* DOMNodeTypes.COMMENT */ || isFragmentStart) {
|
|
7850
7878
|
nextNode = onMismatch();
|
|
7851
7879
|
}
|
|
7852
7880
|
else {
|
|
@@ -7854,7 +7882,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7854
7882
|
}
|
|
7855
7883
|
break;
|
|
7856
7884
|
case Static:
|
|
7857
|
-
if (domType !== 1 /* ELEMENT */) {
|
|
7885
|
+
if (domType !== 1 /* DOMNodeTypes.ELEMENT */ && domType !== 3 /* DOMNodeTypes.TEXT */) {
|
|
7858
7886
|
nextNode = onMismatch();
|
|
7859
7887
|
}
|
|
7860
7888
|
else {
|
|
@@ -7865,7 +7893,10 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7865
7893
|
const needToAdoptContent = !vnode.children.length;
|
|
7866
7894
|
for (let i = 0; i < vnode.staticCount; i++) {
|
|
7867
7895
|
if (needToAdoptContent)
|
|
7868
|
-
vnode.children +=
|
|
7896
|
+
vnode.children +=
|
|
7897
|
+
nextNode.nodeType === 1 /* DOMNodeTypes.ELEMENT */
|
|
7898
|
+
? nextNode.outerHTML
|
|
7899
|
+
: nextNode.data;
|
|
7869
7900
|
if (i === vnode.staticCount - 1) {
|
|
7870
7901
|
vnode.anchor = nextNode;
|
|
7871
7902
|
}
|
|
@@ -7883,8 +7914,8 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7883
7914
|
}
|
|
7884
7915
|
break;
|
|
7885
7916
|
default:
|
|
7886
|
-
if (shapeFlag & 1 /* ELEMENT */) {
|
|
7887
|
-
if (domType !== 1 /* ELEMENT */ ||
|
|
7917
|
+
if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {
|
|
7918
|
+
if (domType !== 1 /* DOMNodeTypes.ELEMENT */ ||
|
|
7888
7919
|
vnode.type.toLowerCase() !==
|
|
7889
7920
|
node.tagName.toLowerCase()) {
|
|
7890
7921
|
nextNode = onMismatch();
|
|
@@ -7893,7 +7924,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7893
7924
|
nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
7894
7925
|
}
|
|
7895
7926
|
}
|
|
7896
|
-
else if (shapeFlag & 6 /* COMPONENT */) {
|
|
7927
|
+
else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
7897
7928
|
// when setting up the render effect, if the initial vnode already
|
|
7898
7929
|
// has .el set, the component will perform hydration instead of mount
|
|
7899
7930
|
// on its sub-tree.
|
|
@@ -7932,15 +7963,15 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7932
7963
|
vnode.component.subTree = subTree;
|
|
7933
7964
|
}
|
|
7934
7965
|
}
|
|
7935
|
-
else if (shapeFlag & 64 /* TELEPORT */) {
|
|
7936
|
-
if (domType !== 8 /* COMMENT */) {
|
|
7966
|
+
else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
7967
|
+
if (domType !== 8 /* DOMNodeTypes.COMMENT */) {
|
|
7937
7968
|
nextNode = onMismatch();
|
|
7938
7969
|
}
|
|
7939
7970
|
else {
|
|
7940
7971
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
|
|
7941
7972
|
}
|
|
7942
7973
|
}
|
|
7943
|
-
else if (shapeFlag & 128 /* SUSPENSE */) {
|
|
7974
|
+
else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
7944
7975
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
|
|
7945
7976
|
}
|
|
7946
7977
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -7960,7 +7991,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7960
7991
|
const forcePatchValue = (type === 'input' && dirs) || type === 'option';
|
|
7961
7992
|
// skip props & children if this is hoisted static nodes
|
|
7962
7993
|
// #5405 in dev, always hydrate children for HMR
|
|
7963
|
-
if ((process.env.NODE_ENV !== 'production') || forcePatchValue || patchFlag !== -1 /* HOISTED */) {
|
|
7994
|
+
if ((process.env.NODE_ENV !== 'production') || forcePatchValue || patchFlag !== -1 /* PatchFlags.HOISTED */) {
|
|
7964
7995
|
if (dirs) {
|
|
7965
7996
|
invokeDirectiveHook(vnode, null, parentComponent, 'created');
|
|
7966
7997
|
}
|
|
@@ -7968,7 +7999,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7968
7999
|
if (props) {
|
|
7969
8000
|
if (forcePatchValue ||
|
|
7970
8001
|
!optimized ||
|
|
7971
|
-
patchFlag & (16 /* FULL_PROPS */ | 32 /* HYDRATE_EVENTS */)) {
|
|
8002
|
+
patchFlag & (16 /* PatchFlags.FULL_PROPS */ | 32 /* PatchFlags.HYDRATE_EVENTS */)) {
|
|
7972
8003
|
for (const key in props) {
|
|
7973
8004
|
if ((forcePatchValue && key.endsWith('value')) ||
|
|
7974
8005
|
(isOn(key) && !isReservedProp(key))) {
|
|
@@ -7997,7 +8028,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
7997
8028
|
}, parentSuspense);
|
|
7998
8029
|
}
|
|
7999
8030
|
// children
|
|
8000
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&
|
|
8031
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */ &&
|
|
8001
8032
|
// skip if element has innerHTML / textContent
|
|
8002
8033
|
!(props && (props.innerHTML || props.textContent))) {
|
|
8003
8034
|
let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
@@ -8015,7 +8046,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
8015
8046
|
remove(cur);
|
|
8016
8047
|
}
|
|
8017
8048
|
}
|
|
8018
|
-
else if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
8049
|
+
else if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
8019
8050
|
if (el.textContent !== vnode.children) {
|
|
8020
8051
|
hasMismatch = true;
|
|
8021
8052
|
(process.env.NODE_ENV !== 'production') &&
|
|
@@ -8080,7 +8111,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
8080
8111
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
8081
8112
|
hasMismatch = true;
|
|
8082
8113
|
(process.env.NODE_ENV !== 'production') &&
|
|
8083
|
-
warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */
|
|
8114
|
+
warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
|
|
8084
8115
|
? `(text)`
|
|
8085
8116
|
: isComment(node) && node.data === '['
|
|
8086
8117
|
? `(start of fragment)`
|
|
@@ -8242,7 +8273,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8242
8273
|
unmount(n1, parentComponent, parentSuspense, true);
|
|
8243
8274
|
n1 = null;
|
|
8244
8275
|
}
|
|
8245
|
-
if (n2.patchFlag === -2 /* BAIL */) {
|
|
8276
|
+
if (n2.patchFlag === -2 /* PatchFlags.BAIL */) {
|
|
8246
8277
|
optimized = false;
|
|
8247
8278
|
n2.dynamicChildren = null;
|
|
8248
8279
|
}
|
|
@@ -8266,16 +8297,16 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8266
8297
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
8267
8298
|
break;
|
|
8268
8299
|
default:
|
|
8269
|
-
if (shapeFlag & 1 /* ELEMENT */) {
|
|
8300
|
+
if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {
|
|
8270
8301
|
processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
8271
8302
|
}
|
|
8272
|
-
else if (shapeFlag & 6 /* COMPONENT */) {
|
|
8303
|
+
else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
8273
8304
|
processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
8274
8305
|
}
|
|
8275
|
-
else if (shapeFlag & 64 /* TELEPORT */) {
|
|
8306
|
+
else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
8276
8307
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
8277
8308
|
}
|
|
8278
|
-
else if (shapeFlag & 128 /* SUSPENSE */) {
|
|
8309
|
+
else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
8279
8310
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
8280
8311
|
}
|
|
8281
8312
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
@@ -8360,7 +8391,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8360
8391
|
if (!(process.env.NODE_ENV !== 'production') &&
|
|
8361
8392
|
vnode.el &&
|
|
8362
8393
|
hostCloneNode !== undefined &&
|
|
8363
|
-
patchFlag === -1 /* HOISTED */) {
|
|
8394
|
+
patchFlag === -1 /* PatchFlags.HOISTED */) {
|
|
8364
8395
|
// If a vnode has non-null el, it means it's being reused.
|
|
8365
8396
|
// Only static vnodes can be reused, so its mounted DOM nodes should be
|
|
8366
8397
|
// exactly the same, and we can simply do a clone here.
|
|
@@ -8371,10 +8402,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8371
8402
|
el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);
|
|
8372
8403
|
// mount children first, since some props may rely on child content
|
|
8373
8404
|
// being already rendered, e.g. `<select value>`
|
|
8374
|
-
if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
8405
|
+
if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
8375
8406
|
hostSetElementText(el, vnode.children);
|
|
8376
8407
|
}
|
|
8377
|
-
else if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
8408
|
+
else if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
8378
8409
|
mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== 'foreignObject', slotScopeIds, optimized);
|
|
8379
8410
|
}
|
|
8380
8411
|
if (dirs) {
|
|
@@ -8451,7 +8482,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8451
8482
|
let subTree = parentComponent.subTree;
|
|
8452
8483
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
8453
8484
|
subTree.patchFlag > 0 &&
|
|
8454
|
-
subTree.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
|
|
8485
|
+
subTree.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {
|
|
8455
8486
|
subTree =
|
|
8456
8487
|
filterSingleRoot(subTree.children) || subTree;
|
|
8457
8488
|
}
|
|
@@ -8474,7 +8505,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8474
8505
|
let { patchFlag, dynamicChildren, dirs } = n2;
|
|
8475
8506
|
// #1426 take the old vnode's patch flag into account since user may clone a
|
|
8476
8507
|
// compiler-generated vnode, which de-opts to FULL_PROPS
|
|
8477
|
-
patchFlag |= n1.patchFlag & 16 /* FULL_PROPS */;
|
|
8508
|
+
patchFlag |= n1.patchFlag & 16 /* PatchFlags.FULL_PROPS */;
|
|
8478
8509
|
const oldProps = n1.props || EMPTY_OBJ;
|
|
8479
8510
|
const newProps = n2.props || EMPTY_OBJ;
|
|
8480
8511
|
let vnodeHook;
|
|
@@ -8509,21 +8540,21 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8509
8540
|
// generated by the compiler and can take the fast path.
|
|
8510
8541
|
// in this path old node and new node are guaranteed to have the same shape
|
|
8511
8542
|
// (i.e. at the exact same position in the source template)
|
|
8512
|
-
if (patchFlag & 16 /* FULL_PROPS */) {
|
|
8543
|
+
if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {
|
|
8513
8544
|
// element props contain dynamic keys, full diff needed
|
|
8514
8545
|
patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
|
|
8515
8546
|
}
|
|
8516
8547
|
else {
|
|
8517
8548
|
// class
|
|
8518
8549
|
// this flag is matched when the element has dynamic class bindings.
|
|
8519
|
-
if (patchFlag & 2 /* CLASS */) {
|
|
8550
|
+
if (patchFlag & 2 /* PatchFlags.CLASS */) {
|
|
8520
8551
|
if (oldProps.class !== newProps.class) {
|
|
8521
8552
|
hostPatchProp(el, 'class', null, newProps.class, isSVG);
|
|
8522
8553
|
}
|
|
8523
8554
|
}
|
|
8524
8555
|
// style
|
|
8525
8556
|
// this flag is matched when the element has dynamic style bindings
|
|
8526
|
-
if (patchFlag & 4 /* STYLE */) {
|
|
8557
|
+
if (patchFlag & 4 /* PatchFlags.STYLE */) {
|
|
8527
8558
|
hostPatchProp(el, 'style', oldProps.style, newProps.style, isSVG);
|
|
8528
8559
|
}
|
|
8529
8560
|
// props
|
|
@@ -8532,7 +8563,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8532
8563
|
// faster iteration.
|
|
8533
8564
|
// Note dynamic keys like :[foo]="bar" will cause this optimization to
|
|
8534
8565
|
// bail out and go through a full diff because we need to unset the old key
|
|
8535
|
-
if (patchFlag & 8 /* PROPS */) {
|
|
8566
|
+
if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
8536
8567
|
// if the flag is present then dynamicProps must be non-null
|
|
8537
8568
|
const propsToUpdate = n2.dynamicProps;
|
|
8538
8569
|
for (let i = 0; i < propsToUpdate.length; i++) {
|
|
@@ -8548,7 +8579,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8548
8579
|
}
|
|
8549
8580
|
// text
|
|
8550
8581
|
// This flag is matched when the element has only dynamic text children.
|
|
8551
|
-
if (patchFlag & 1 /* TEXT */) {
|
|
8582
|
+
if (patchFlag & 1 /* PatchFlags.TEXT */) {
|
|
8552
8583
|
if (n1.children !== n2.children) {
|
|
8553
8584
|
hostSetElementText(el, n2.children);
|
|
8554
8585
|
}
|
|
@@ -8582,7 +8613,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8582
8613
|
// which also requires the correct parent container
|
|
8583
8614
|
!isSameVNodeType(oldVNode, newVNode) ||
|
|
8584
8615
|
// - In the case of a component, it could contain anything.
|
|
8585
|
-
oldVNode.shapeFlag & (6 /* COMPONENT */ | 64 /* TELEPORT */))
|
|
8616
|
+
oldVNode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 64 /* ShapeFlags.TELEPORT */))
|
|
8586
8617
|
? hostParentNode(oldVNode.el)
|
|
8587
8618
|
: // In other cases, the parent container is not actually used so we
|
|
8588
8619
|
// just pass the block element here to avoid a DOM parentNode call.
|
|
@@ -8621,7 +8652,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8621
8652
|
let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
|
|
8622
8653
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
8623
8654
|
// #5523 dev root fragment may inherit directives
|
|
8624
|
-
(isHmrUpdating || patchFlag & 2048 /* DEV_ROOT_FRAGMENT */)) {
|
|
8655
|
+
(isHmrUpdating || patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */)) {
|
|
8625
8656
|
// HMR updated / Dev root fragment (w/ comments), force full diff
|
|
8626
8657
|
patchFlag = 0;
|
|
8627
8658
|
optimized = false;
|
|
@@ -8643,7 +8674,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8643
8674
|
}
|
|
8644
8675
|
else {
|
|
8645
8676
|
if (patchFlag > 0 &&
|
|
8646
|
-
patchFlag & 64 /* STABLE_FRAGMENT */ &&
|
|
8677
|
+
patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */ &&
|
|
8647
8678
|
dynamicChildren &&
|
|
8648
8679
|
// #2715 the previous fragment could've been a BAILed one as a result
|
|
8649
8680
|
// of renderSlot() with no valid children
|
|
@@ -8676,7 +8707,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8676
8707
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
8677
8708
|
n2.slotScopeIds = slotScopeIds;
|
|
8678
8709
|
if (n1 == null) {
|
|
8679
|
-
if (n2.shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
|
|
8710
|
+
if (n2.shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {
|
|
8680
8711
|
parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);
|
|
8681
8712
|
}
|
|
8682
8713
|
else {
|
|
@@ -8781,7 +8812,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8781
8812
|
(vnodeHook = props && props.onVnodeBeforeMount)) {
|
|
8782
8813
|
invokeVNodeHook(vnodeHook, parent, initialVNode);
|
|
8783
8814
|
}
|
|
8784
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8815
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8785
8816
|
instance.emit('hook:beforeMount');
|
|
8786
8817
|
}
|
|
8787
8818
|
toggleRecurse(instance, true);
|
|
@@ -8842,18 +8873,18 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8842
8873
|
const scopedInitialVNode = initialVNode;
|
|
8843
8874
|
queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);
|
|
8844
8875
|
}
|
|
8845
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8876
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8846
8877
|
queuePostRenderEffect(() => instance.emit('hook:mounted'), parentSuspense);
|
|
8847
8878
|
}
|
|
8848
8879
|
// activated hook for keep-alive roots.
|
|
8849
8880
|
// #1742 activated hook must be accessed after first render
|
|
8850
8881
|
// since the hook may be injected by a child keep-alive
|
|
8851
|
-
if (initialVNode.shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */ ||
|
|
8882
|
+
if (initialVNode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */ ||
|
|
8852
8883
|
(parent &&
|
|
8853
8884
|
isAsyncWrapper(parent.vnode) &&
|
|
8854
|
-
parent.vnode.shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */)) {
|
|
8885
|
+
parent.vnode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */)) {
|
|
8855
8886
|
instance.a && queuePostRenderEffect(instance.a, parentSuspense);
|
|
8856
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8887
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8857
8888
|
queuePostRenderEffect(() => instance.emit('hook:activated'), parentSuspense);
|
|
8858
8889
|
}
|
|
8859
8890
|
}
|
|
@@ -8891,7 +8922,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8891
8922
|
if ((vnodeHook = next.props && next.props.onVnodeBeforeUpdate)) {
|
|
8892
8923
|
invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
8893
8924
|
}
|
|
8894
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8925
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8895
8926
|
instance.emit('hook:beforeUpdate');
|
|
8896
8927
|
}
|
|
8897
8928
|
toggleRecurse(instance, true);
|
|
@@ -8931,7 +8962,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8931
8962
|
if ((vnodeHook = next.props && next.props.onVnodeUpdated)) {
|
|
8932
8963
|
queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);
|
|
8933
8964
|
}
|
|
8934
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8965
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
8935
8966
|
queuePostRenderEffect(() => instance.emit('hook:updated'), parentSuspense);
|
|
8936
8967
|
}
|
|
8937
8968
|
if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {
|
|
@@ -8971,7 +9002,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8971
9002
|
pauseTracking();
|
|
8972
9003
|
// props update may have triggered pre-flush watchers.
|
|
8973
9004
|
// flush them before the render update.
|
|
8974
|
-
flushPreFlushCbs(
|
|
9005
|
+
flushPreFlushCbs();
|
|
8975
9006
|
resetTracking();
|
|
8976
9007
|
};
|
|
8977
9008
|
const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
|
|
@@ -8981,22 +9012,22 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8981
9012
|
const { patchFlag, shapeFlag } = n2;
|
|
8982
9013
|
// fast path
|
|
8983
9014
|
if (patchFlag > 0) {
|
|
8984
|
-
if (patchFlag & 128 /* KEYED_FRAGMENT */) {
|
|
9015
|
+
if (patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */) {
|
|
8985
9016
|
// this could be either fully-keyed or mixed (some keyed some not)
|
|
8986
9017
|
// presence of patchFlag means children are guaranteed to be arrays
|
|
8987
9018
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
8988
9019
|
return;
|
|
8989
9020
|
}
|
|
8990
|
-
else if (patchFlag & 256 /* UNKEYED_FRAGMENT */) {
|
|
9021
|
+
else if (patchFlag & 256 /* PatchFlags.UNKEYED_FRAGMENT */) {
|
|
8991
9022
|
// unkeyed
|
|
8992
9023
|
patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
8993
9024
|
return;
|
|
8994
9025
|
}
|
|
8995
9026
|
}
|
|
8996
9027
|
// children has 3 possibilities: text, array or no children.
|
|
8997
|
-
if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
9028
|
+
if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
8998
9029
|
// text children fast path
|
|
8999
|
-
if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9030
|
+
if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9000
9031
|
unmountChildren(c1, parentComponent, parentSuspense);
|
|
9001
9032
|
}
|
|
9002
9033
|
if (c2 !== c1) {
|
|
@@ -9004,9 +9035,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9004
9035
|
}
|
|
9005
9036
|
}
|
|
9006
9037
|
else {
|
|
9007
|
-
if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9038
|
+
if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9008
9039
|
// prev children was array
|
|
9009
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9040
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9010
9041
|
// two arrays, cannot assume anything, do full diff
|
|
9011
9042
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
9012
9043
|
}
|
|
@@ -9018,11 +9049,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9018
9049
|
else {
|
|
9019
9050
|
// prev children was text OR null
|
|
9020
9051
|
// new children is array OR null
|
|
9021
|
-
if (prevShapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
9052
|
+
if (prevShapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
9022
9053
|
hostSetElementText(container, '');
|
|
9023
9054
|
}
|
|
9024
9055
|
// mount new if array
|
|
9025
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9056
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9026
9057
|
mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
9027
9058
|
}
|
|
9028
9059
|
}
|
|
@@ -9213,7 +9244,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9213
9244
|
// There is no stable subsequence (e.g. a reverse)
|
|
9214
9245
|
// OR current node is not among the stable sequence
|
|
9215
9246
|
if (j < 0 || i !== increasingNewIndexSequence[j]) {
|
|
9216
|
-
move(nextChild, container, anchor, 2 /* REORDER */);
|
|
9247
|
+
move(nextChild, container, anchor, 2 /* MoveType.REORDER */);
|
|
9217
9248
|
}
|
|
9218
9249
|
else {
|
|
9219
9250
|
j--;
|
|
@@ -9224,15 +9255,15 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9224
9255
|
};
|
|
9225
9256
|
const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
|
|
9226
9257
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
9227
|
-
if (shapeFlag & 6 /* COMPONENT */) {
|
|
9258
|
+
if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
9228
9259
|
move(vnode.component.subTree, container, anchor, moveType);
|
|
9229
9260
|
return;
|
|
9230
9261
|
}
|
|
9231
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
9262
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
9232
9263
|
vnode.suspense.move(container, anchor, moveType);
|
|
9233
9264
|
return;
|
|
9234
9265
|
}
|
|
9235
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
9266
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
9236
9267
|
type.move(vnode, container, anchor, internals);
|
|
9237
9268
|
return;
|
|
9238
9269
|
}
|
|
@@ -9249,11 +9280,11 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9249
9280
|
return;
|
|
9250
9281
|
}
|
|
9251
9282
|
// single nodes
|
|
9252
|
-
const needTransition = moveType !== 2 /* REORDER */ &&
|
|
9253
|
-
shapeFlag & 1 /* ELEMENT */ &&
|
|
9283
|
+
const needTransition = moveType !== 2 /* MoveType.REORDER */ &&
|
|
9284
|
+
shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&
|
|
9254
9285
|
transition;
|
|
9255
9286
|
if (needTransition) {
|
|
9256
|
-
if (moveType === 0 /* ENTER */) {
|
|
9287
|
+
if (moveType === 0 /* MoveType.ENTER */) {
|
|
9257
9288
|
transition.beforeEnter(el);
|
|
9258
9289
|
hostInsert(el, container, anchor);
|
|
9259
9290
|
queuePostRenderEffect(() => transition.enter(el), parentSuspense);
|
|
@@ -9285,42 +9316,42 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9285
9316
|
if (ref != null) {
|
|
9286
9317
|
setRef(ref, null, parentSuspense, vnode, true);
|
|
9287
9318
|
}
|
|
9288
|
-
if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
9319
|
+
if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
9289
9320
|
parentComponent.ctx.deactivate(vnode);
|
|
9290
9321
|
return;
|
|
9291
9322
|
}
|
|
9292
|
-
const shouldInvokeDirs = shapeFlag & 1 /* ELEMENT */ && dirs;
|
|
9323
|
+
const shouldInvokeDirs = shapeFlag & 1 /* ShapeFlags.ELEMENT */ && dirs;
|
|
9293
9324
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
9294
9325
|
let vnodeHook;
|
|
9295
9326
|
if (shouldInvokeVnodeHook &&
|
|
9296
9327
|
(vnodeHook = props && props.onVnodeBeforeUnmount)) {
|
|
9297
9328
|
invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
9298
9329
|
}
|
|
9299
|
-
if (shapeFlag & 6 /* COMPONENT */) {
|
|
9330
|
+
if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
9300
9331
|
unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
9301
9332
|
}
|
|
9302
9333
|
else {
|
|
9303
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
9334
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
9304
9335
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
9305
9336
|
return;
|
|
9306
9337
|
}
|
|
9307
9338
|
if (shouldInvokeDirs) {
|
|
9308
9339
|
invokeDirectiveHook(vnode, null, parentComponent, 'beforeUnmount');
|
|
9309
9340
|
}
|
|
9310
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
9341
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
9311
9342
|
vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);
|
|
9312
9343
|
}
|
|
9313
9344
|
else if (dynamicChildren &&
|
|
9314
9345
|
// #1153: fast path should not be taken for non-stable (v-for) fragments
|
|
9315
9346
|
(type !== Fragment ||
|
|
9316
|
-
(patchFlag > 0 && patchFlag & 64 /* STABLE_FRAGMENT */))) {
|
|
9347
|
+
(patchFlag > 0 && patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */))) {
|
|
9317
9348
|
// fast path for block nodes: only need to unmount dynamic children.
|
|
9318
9349
|
unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
|
|
9319
9350
|
}
|
|
9320
9351
|
else if ((type === Fragment &&
|
|
9321
9352
|
patchFlag &
|
|
9322
|
-
(128 /* KEYED_FRAGMENT */ | 256 /* UNKEYED_FRAGMENT */)) ||
|
|
9323
|
-
(!optimized && shapeFlag & 16 /* ARRAY_CHILDREN */)) {
|
|
9353
|
+
(128 /* PatchFlags.KEYED_FRAGMENT */ | 256 /* PatchFlags.UNKEYED_FRAGMENT */)) ||
|
|
9354
|
+
(!optimized && shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */)) {
|
|
9324
9355
|
unmountChildren(children, parentComponent, parentSuspense);
|
|
9325
9356
|
}
|
|
9326
9357
|
if (doRemove) {
|
|
@@ -9342,7 +9373,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9342
9373
|
if (type === Fragment) {
|
|
9343
9374
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
9344
9375
|
vnode.patchFlag > 0 &&
|
|
9345
|
-
vnode.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */ &&
|
|
9376
|
+
vnode.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */ &&
|
|
9346
9377
|
transition &&
|
|
9347
9378
|
!transition.persisted) {
|
|
9348
9379
|
vnode.children.forEach(child => {
|
|
@@ -9369,7 +9400,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9369
9400
|
transition.afterLeave();
|
|
9370
9401
|
}
|
|
9371
9402
|
};
|
|
9372
|
-
if (vnode.shapeFlag & 1 /* ELEMENT */ &&
|
|
9403
|
+
if (vnode.shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&
|
|
9373
9404
|
transition &&
|
|
9374
9405
|
!transition.persisted) {
|
|
9375
9406
|
const { leave, delayLeave } = transition;
|
|
@@ -9405,7 +9436,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9405
9436
|
if (bum) {
|
|
9406
9437
|
invokeArrayFns(bum);
|
|
9407
9438
|
}
|
|
9408
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
9439
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
9409
9440
|
instance.emit('hook:beforeDestroy');
|
|
9410
9441
|
}
|
|
9411
9442
|
// stop effects in component scope
|
|
@@ -9421,7 +9452,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9421
9452
|
if (um) {
|
|
9422
9453
|
queuePostRenderEffect(um, parentSuspense);
|
|
9423
9454
|
}
|
|
9424
|
-
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* INSTANCE_EVENT_HOOKS */, instance)) {
|
|
9455
|
+
if (isCompatEnabled("INSTANCE_EVENT_HOOKS" /* DeprecationTypes.INSTANCE_EVENT_HOOKS */, instance)) {
|
|
9425
9456
|
queuePostRenderEffect(() => instance.emit('hook:destroyed'), parentSuspense);
|
|
9426
9457
|
}
|
|
9427
9458
|
queuePostRenderEffect(() => {
|
|
@@ -9451,10 +9482,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9451
9482
|
}
|
|
9452
9483
|
};
|
|
9453
9484
|
const getNextHostNode = vnode => {
|
|
9454
|
-
if (vnode.shapeFlag & 6 /* COMPONENT */) {
|
|
9485
|
+
if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
9455
9486
|
return getNextHostNode(vnode.component.subTree);
|
|
9456
9487
|
}
|
|
9457
|
-
if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
9488
|
+
if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
9458
9489
|
return vnode.suspense.next();
|
|
9459
9490
|
}
|
|
9460
9491
|
return hostNextSibling((vnode.anchor || vnode.el));
|
|
@@ -9468,6 +9499,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9468
9499
|
else {
|
|
9469
9500
|
patch(container._vnode || null, vnode, container, null, null, null, isSVG);
|
|
9470
9501
|
}
|
|
9502
|
+
flushPreFlushCbs();
|
|
9471
9503
|
flushPostFlushCbs();
|
|
9472
9504
|
container._vnode = vnode;
|
|
9473
9505
|
};
|
|
@@ -9517,8 +9549,8 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
9517
9549
|
// guaranteed to be vnodes
|
|
9518
9550
|
const c1 = ch1[i];
|
|
9519
9551
|
let c2 = ch2[i];
|
|
9520
|
-
if (c2.shapeFlag & 1 /* ELEMENT */ && !c2.dynamicChildren) {
|
|
9521
|
-
if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* HYDRATE_EVENTS */) {
|
|
9552
|
+
if (c2.shapeFlag & 1 /* ShapeFlags.ELEMENT */ && !c2.dynamicChildren) {
|
|
9553
|
+
if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* PatchFlags.HYDRATE_EVENTS */) {
|
|
9522
9554
|
c2 = ch2[i] = cloneIfMounted(ch2[i]);
|
|
9523
9555
|
c2.el = c1.el;
|
|
9524
9556
|
}
|
|
@@ -9642,7 +9674,7 @@ const TeleportImpl = {
|
|
|
9642
9674
|
const mount = (container, anchor) => {
|
|
9643
9675
|
// Teleport *always* has Array children. This is enforced in both the
|
|
9644
9676
|
// compiler and vnode children normalization.
|
|
9645
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9677
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9646
9678
|
mountChildren(children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
9647
9679
|
}
|
|
9648
9680
|
};
|
|
@@ -9678,7 +9710,7 @@ const TeleportImpl = {
|
|
|
9678
9710
|
if (!wasDisabled) {
|
|
9679
9711
|
// enabled -> disabled
|
|
9680
9712
|
// move into main container
|
|
9681
|
-
moveTeleport(n2, container, mainAnchor, internals, 1 /* TOGGLE */);
|
|
9713
|
+
moveTeleport(n2, container, mainAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);
|
|
9682
9714
|
}
|
|
9683
9715
|
}
|
|
9684
9716
|
else {
|
|
@@ -9686,7 +9718,7 @@ const TeleportImpl = {
|
|
|
9686
9718
|
if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
|
|
9687
9719
|
const nextTarget = (n2.target = resolveTarget(n2.props, querySelector));
|
|
9688
9720
|
if (nextTarget) {
|
|
9689
|
-
moveTeleport(n2, nextTarget, null, internals, 0 /* TARGET_CHANGE */);
|
|
9721
|
+
moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);
|
|
9690
9722
|
}
|
|
9691
9723
|
else if ((process.env.NODE_ENV !== 'production')) {
|
|
9692
9724
|
warn$1('Invalid Teleport target on update:', target, `(${typeof target})`);
|
|
@@ -9695,7 +9727,7 @@ const TeleportImpl = {
|
|
|
9695
9727
|
else if (wasDisabled) {
|
|
9696
9728
|
// disabled -> enabled
|
|
9697
9729
|
// move into teleport target
|
|
9698
|
-
moveTeleport(n2, target, targetAnchor, internals, 1 /* TOGGLE */);
|
|
9730
|
+
moveTeleport(n2, target, targetAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);
|
|
9699
9731
|
}
|
|
9700
9732
|
}
|
|
9701
9733
|
}
|
|
@@ -9708,7 +9740,7 @@ const TeleportImpl = {
|
|
|
9708
9740
|
// an unmounted teleport should always remove its children if not disabled
|
|
9709
9741
|
if (doRemove || !isTeleportDisabled(props)) {
|
|
9710
9742
|
hostRemove(anchor);
|
|
9711
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9743
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9712
9744
|
for (let i = 0; i < children.length; i++) {
|
|
9713
9745
|
const child = children[i];
|
|
9714
9746
|
unmount(child, parentComponent, parentSuspense, true, !!child.dynamicChildren);
|
|
@@ -9719,13 +9751,13 @@ const TeleportImpl = {
|
|
|
9719
9751
|
move: moveTeleport,
|
|
9720
9752
|
hydrate: hydrateTeleport
|
|
9721
9753
|
};
|
|
9722
|
-
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* REORDER */) {
|
|
9754
|
+
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* TeleportMoveTypes.REORDER */) {
|
|
9723
9755
|
// move target anchor if this is a target change.
|
|
9724
|
-
if (moveType === 0 /* TARGET_CHANGE */) {
|
|
9756
|
+
if (moveType === 0 /* TeleportMoveTypes.TARGET_CHANGE */) {
|
|
9725
9757
|
insert(vnode.targetAnchor, container, parentAnchor);
|
|
9726
9758
|
}
|
|
9727
9759
|
const { el, anchor, shapeFlag, children, props } = vnode;
|
|
9728
|
-
const isReorder = moveType === 2 /* REORDER */;
|
|
9760
|
+
const isReorder = moveType === 2 /* TeleportMoveTypes.REORDER */;
|
|
9729
9761
|
// move main view anchor if this is a re-order.
|
|
9730
9762
|
if (isReorder) {
|
|
9731
9763
|
insert(el, container, parentAnchor);
|
|
@@ -9735,9 +9767,9 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
9735
9767
|
// is not a reorder, or the teleport is disabled
|
|
9736
9768
|
if (!isReorder || isTeleportDisabled(props)) {
|
|
9737
9769
|
// Teleport has either Array children or no children.
|
|
9738
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9770
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9739
9771
|
for (let i = 0; i < children.length; i++) {
|
|
9740
|
-
move(children[i], container, parentAnchor, 2 /* REORDER */);
|
|
9772
|
+
move(children[i], container, parentAnchor, 2 /* MoveType.REORDER */);
|
|
9741
9773
|
}
|
|
9742
9774
|
}
|
|
9743
9775
|
}
|
|
@@ -9752,7 +9784,7 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
9752
9784
|
// if multiple teleports rendered to the same target element, we need to
|
|
9753
9785
|
// pick up from where the last teleport finished instead of the first node
|
|
9754
9786
|
const targetNode = target._lpa || target.firstChild;
|
|
9755
|
-
if (vnode.shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
9787
|
+
if (vnode.shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
9756
9788
|
if (isTeleportDisabled(vnode.props)) {
|
|
9757
9789
|
vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
9758
9790
|
vnode.targetAnchor = targetNode;
|
|
@@ -9829,7 +9861,7 @@ function convertLegacyComponent(comp, instance) {
|
|
|
9829
9861
|
}
|
|
9830
9862
|
// 2.x async component
|
|
9831
9863
|
if (isFunction(comp) &&
|
|
9832
|
-
checkCompatEnabled("COMPONENT_ASYNC" /* COMPONENT_ASYNC */, instance, comp)) {
|
|
9864
|
+
checkCompatEnabled("COMPONENT_ASYNC" /* DeprecationTypes.COMPONENT_ASYNC */, instance, comp)) {
|
|
9833
9865
|
// since after disabling this, plain functions are still valid usage, do not
|
|
9834
9866
|
// use softAssert here.
|
|
9835
9867
|
return convertLegacyAsyncComponent(comp);
|
|
@@ -9837,7 +9869,7 @@ function convertLegacyComponent(comp, instance) {
|
|
|
9837
9869
|
// 2.x functional component
|
|
9838
9870
|
if (isObject(comp) &&
|
|
9839
9871
|
comp.functional &&
|
|
9840
|
-
softAssertCompatEnabled("COMPONENT_FUNCTIONAL" /* COMPONENT_FUNCTIONAL */, instance, comp)) {
|
|
9872
|
+
softAssertCompatEnabled("COMPONENT_FUNCTIONAL" /* DeprecationTypes.COMPONENT_FUNCTIONAL */, instance, comp)) {
|
|
9841
9873
|
return convertLegacyFunctionalComponent(comp);
|
|
9842
9874
|
}
|
|
9843
9875
|
return comp;
|
|
@@ -9935,7 +9967,7 @@ function isVNode(value) {
|
|
|
9935
9967
|
}
|
|
9936
9968
|
function isSameVNodeType(n1, n2) {
|
|
9937
9969
|
if ((process.env.NODE_ENV !== 'production') &&
|
|
9938
|
-
n2.shapeFlag & 6 /* COMPONENT */ &&
|
|
9970
|
+
n2.shapeFlag & 6 /* ShapeFlags.COMPONENT */ &&
|
|
9939
9971
|
hmrDirtyComponents.has(n2.type)) {
|
|
9940
9972
|
// HMR only: if the component has been hot-updated, force a reload.
|
|
9941
9973
|
return false;
|
|
@@ -9966,7 +9998,7 @@ const normalizeRef = ({ ref, ref_key, ref_for }) => {
|
|
|
9966
9998
|
: ref
|
|
9967
9999
|
: null);
|
|
9968
10000
|
};
|
|
9969
|
-
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1 /* ELEMENT */, isBlockNode = false, needFullChildrenNormalization = false) {
|
|
10001
|
+
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1 /* ShapeFlags.ELEMENT */, isBlockNode = false, needFullChildrenNormalization = false) {
|
|
9970
10002
|
const vnode = {
|
|
9971
10003
|
__v_isVNode: true,
|
|
9972
10004
|
__v_skip: true,
|
|
@@ -9997,7 +10029,7 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
9997
10029
|
if (needFullChildrenNormalization) {
|
|
9998
10030
|
normalizeChildren(vnode, children);
|
|
9999
10031
|
// normalize suspense children
|
|
10000
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
10032
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
10001
10033
|
type.normalize(vnode);
|
|
10002
10034
|
}
|
|
10003
10035
|
}
|
|
@@ -10005,8 +10037,8 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
10005
10037
|
// compiled element vnode - if children is passed, only possible types are
|
|
10006
10038
|
// string or Array.
|
|
10007
10039
|
vnode.shapeFlag |= isString(children)
|
|
10008
|
-
? 8 /* TEXT_CHILDREN */
|
|
10009
|
-
: 16 /* ARRAY_CHILDREN */;
|
|
10040
|
+
? 8 /* ShapeFlags.TEXT_CHILDREN */
|
|
10041
|
+
: 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
10010
10042
|
}
|
|
10011
10043
|
// validate key
|
|
10012
10044
|
if ((process.env.NODE_ENV !== 'production') && vnode.key !== vnode.key) {
|
|
@@ -10022,10 +10054,10 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
10022
10054
|
// component nodes also should always be patched, because even if the
|
|
10023
10055
|
// component doesn't need to update, it needs to persist the instance on to
|
|
10024
10056
|
// the next vnode so that it can be properly unmounted later.
|
|
10025
|
-
(vnode.patchFlag > 0 || shapeFlag & 6 /* COMPONENT */) &&
|
|
10057
|
+
(vnode.patchFlag > 0 || shapeFlag & 6 /* ShapeFlags.COMPONENT */) &&
|
|
10026
10058
|
// the EVENTS flag is only for hydration and if it is the only flag, the
|
|
10027
10059
|
// vnode should not be considered dynamic due to handler caching.
|
|
10028
|
-
vnode.patchFlag !== 32 /* HYDRATE_EVENTS */) {
|
|
10060
|
+
vnode.patchFlag !== 32 /* PatchFlags.HYDRATE_EVENTS */) {
|
|
10029
10061
|
currentBlock.push(vnode);
|
|
10030
10062
|
}
|
|
10031
10063
|
{
|
|
@@ -10051,14 +10083,14 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
10051
10083
|
normalizeChildren(cloned, children);
|
|
10052
10084
|
}
|
|
10053
10085
|
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
10054
|
-
if (cloned.shapeFlag & 6 /* COMPONENT */) {
|
|
10086
|
+
if (cloned.shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
10055
10087
|
currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
10056
10088
|
}
|
|
10057
10089
|
else {
|
|
10058
10090
|
currentBlock.push(cloned);
|
|
10059
10091
|
}
|
|
10060
10092
|
}
|
|
10061
|
-
cloned.patchFlag |= -2 /* BAIL */;
|
|
10093
|
+
cloned.patchFlag |= -2 /* PatchFlags.BAIL */;
|
|
10062
10094
|
return cloned;
|
|
10063
10095
|
}
|
|
10064
10096
|
// class component normalization.
|
|
@@ -10088,17 +10120,17 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
10088
10120
|
}
|
|
10089
10121
|
// encode the vnode type information into a bitmap
|
|
10090
10122
|
const shapeFlag = isString(type)
|
|
10091
|
-
? 1 /* ELEMENT */
|
|
10123
|
+
? 1 /* ShapeFlags.ELEMENT */
|
|
10092
10124
|
: isSuspense(type)
|
|
10093
|
-
? 128 /* SUSPENSE */
|
|
10125
|
+
? 128 /* ShapeFlags.SUSPENSE */
|
|
10094
10126
|
: isTeleport(type)
|
|
10095
|
-
? 64 /* TELEPORT */
|
|
10127
|
+
? 64 /* ShapeFlags.TELEPORT */
|
|
10096
10128
|
: isObject(type)
|
|
10097
|
-
? 4 /* STATEFUL_COMPONENT */
|
|
10129
|
+
? 4 /* ShapeFlags.STATEFUL_COMPONENT */
|
|
10098
10130
|
: isFunction(type)
|
|
10099
|
-
? 2 /* FUNCTIONAL_COMPONENT */
|
|
10131
|
+
? 2 /* ShapeFlags.FUNCTIONAL_COMPONENT */
|
|
10100
10132
|
: 0;
|
|
10101
|
-
if ((process.env.NODE_ENV !== 'production') && shapeFlag & 4 /* STATEFUL_COMPONENT */ && isProxy(type)) {
|
|
10133
|
+
if ((process.env.NODE_ENV !== 'production') && shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ && isProxy(type)) {
|
|
10102
10134
|
type = toRaw(type);
|
|
10103
10135
|
warn$1(`Vue received a Component which was made a reactive object. This can ` +
|
|
10104
10136
|
`lead to unnecessary performance overhead, and should be avoided by ` +
|
|
@@ -10137,7 +10169,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
10137
10169
|
: ref,
|
|
10138
10170
|
scopeId: vnode.scopeId,
|
|
10139
10171
|
slotScopeIds: vnode.slotScopeIds,
|
|
10140
|
-
children: (process.env.NODE_ENV !== 'production') && patchFlag === -1 /* HOISTED */ && isArray(children)
|
|
10172
|
+
children: (process.env.NODE_ENV !== 'production') && patchFlag === -1 /* PatchFlags.HOISTED */ && isArray(children)
|
|
10141
10173
|
? children.map(deepCloneVNode)
|
|
10142
10174
|
: children,
|
|
10143
10175
|
target: vnode.target,
|
|
@@ -10150,8 +10182,8 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
|
10150
10182
|
// fast paths only.
|
|
10151
10183
|
patchFlag: extraProps && vnode.type !== Fragment
|
|
10152
10184
|
? patchFlag === -1 // hoisted node
|
|
10153
|
-
? 16 /* FULL_PROPS */
|
|
10154
|
-
: patchFlag | 16 /* FULL_PROPS */
|
|
10185
|
+
? 16 /* PatchFlags.FULL_PROPS */
|
|
10186
|
+
: patchFlag | 16 /* PatchFlags.FULL_PROPS */
|
|
10155
10187
|
: patchFlag,
|
|
10156
10188
|
dynamicProps: vnode.dynamicProps,
|
|
10157
10189
|
dynamicChildren: vnode.dynamicChildren,
|
|
@@ -10244,10 +10276,10 @@ function normalizeChildren(vnode, children) {
|
|
|
10244
10276
|
children = null;
|
|
10245
10277
|
}
|
|
10246
10278
|
else if (isArray(children)) {
|
|
10247
|
-
type = 16 /* ARRAY_CHILDREN */;
|
|
10279
|
+
type = 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
10248
10280
|
}
|
|
10249
10281
|
else if (typeof children === 'object') {
|
|
10250
|
-
if (shapeFlag & (1 /* ELEMENT */ | 64 /* TELEPORT */)) {
|
|
10282
|
+
if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 64 /* ShapeFlags.TELEPORT */)) {
|
|
10251
10283
|
// Normalize slot to plain children for plain element and Teleport
|
|
10252
10284
|
const slot = children.default;
|
|
10253
10285
|
if (slot) {
|
|
@@ -10259,37 +10291,37 @@ function normalizeChildren(vnode, children) {
|
|
|
10259
10291
|
return;
|
|
10260
10292
|
}
|
|
10261
10293
|
else {
|
|
10262
|
-
type = 32 /* SLOTS_CHILDREN */;
|
|
10294
|
+
type = 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
10263
10295
|
const slotFlag = children._;
|
|
10264
10296
|
if (!slotFlag && !(InternalObjectKey in children)) {
|
|
10265
10297
|
children._ctx = currentRenderingInstance;
|
|
10266
10298
|
}
|
|
10267
|
-
else if (slotFlag === 3 /* FORWARDED */ && currentRenderingInstance) {
|
|
10299
|
+
else if (slotFlag === 3 /* SlotFlags.FORWARDED */ && currentRenderingInstance) {
|
|
10268
10300
|
// a child component receives forwarded slots from the parent.
|
|
10269
10301
|
// its slot type is determined by its parent's slot type.
|
|
10270
|
-
if (currentRenderingInstance.slots._ === 1 /* STABLE */) {
|
|
10271
|
-
children._ = 1 /* STABLE */;
|
|
10302
|
+
if (currentRenderingInstance.slots._ === 1 /* SlotFlags.STABLE */) {
|
|
10303
|
+
children._ = 1 /* SlotFlags.STABLE */;
|
|
10272
10304
|
}
|
|
10273
10305
|
else {
|
|
10274
|
-
children._ = 2 /* DYNAMIC */;
|
|
10275
|
-
vnode.patchFlag |= 1024 /* DYNAMIC_SLOTS */;
|
|
10306
|
+
children._ = 2 /* SlotFlags.DYNAMIC */;
|
|
10307
|
+
vnode.patchFlag |= 1024 /* PatchFlags.DYNAMIC_SLOTS */;
|
|
10276
10308
|
}
|
|
10277
10309
|
}
|
|
10278
10310
|
}
|
|
10279
10311
|
}
|
|
10280
10312
|
else if (isFunction(children)) {
|
|
10281
10313
|
children = { default: children, _ctx: currentRenderingInstance };
|
|
10282
|
-
type = 32 /* SLOTS_CHILDREN */;
|
|
10314
|
+
type = 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
10283
10315
|
}
|
|
10284
10316
|
else {
|
|
10285
10317
|
children = String(children);
|
|
10286
10318
|
// force teleport children to array so it can be moved around
|
|
10287
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
10288
|
-
type = 16 /* ARRAY_CHILDREN */;
|
|
10319
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
10320
|
+
type = 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
10289
10321
|
children = [createTextVNode(children)];
|
|
10290
10322
|
}
|
|
10291
10323
|
else {
|
|
10292
|
-
type = 8 /* TEXT_CHILDREN */;
|
|
10324
|
+
type = 8 /* ShapeFlags.TEXT_CHILDREN */;
|
|
10293
10325
|
}
|
|
10294
10326
|
}
|
|
10295
10327
|
vnode.children = children;
|
|
@@ -10327,7 +10359,7 @@ function mergeProps(...args) {
|
|
|
10327
10359
|
return ret;
|
|
10328
10360
|
}
|
|
10329
10361
|
function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
|
|
10330
|
-
callWithAsyncErrorHandling(hook, instance, 7 /* VNODE_HOOK */, [
|
|
10362
|
+
callWithAsyncErrorHandling(hook, instance, 7 /* ErrorCodes.VNODE_HOOK */, [
|
|
10331
10363
|
vnode,
|
|
10332
10364
|
prevVNode
|
|
10333
10365
|
]);
|
|
@@ -10438,7 +10470,7 @@ function validateComponentName(name, config) {
|
|
|
10438
10470
|
}
|
|
10439
10471
|
}
|
|
10440
10472
|
function isStatefulComponent(instance) {
|
|
10441
|
-
return instance.vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */;
|
|
10473
|
+
return instance.vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */;
|
|
10442
10474
|
}
|
|
10443
10475
|
let isInSSRComponentSetup = false;
|
|
10444
10476
|
function setupComponent(instance, isSSR = false) {
|
|
@@ -10493,7 +10525,7 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
10493
10525
|
setup.length > 1 ? createSetupContext(instance) : null);
|
|
10494
10526
|
setCurrentInstance(instance);
|
|
10495
10527
|
pauseTracking();
|
|
10496
|
-
const setupResult = callWithErrorHandling(setup, instance, 0 /* SETUP_FUNCTION */, [(process.env.NODE_ENV !== 'production') ? shallowReadonly(instance.props) : instance.props, setupContext]);
|
|
10528
|
+
const setupResult = callWithErrorHandling(setup, instance, 0 /* ErrorCodes.SETUP_FUNCTION */, [(process.env.NODE_ENV !== 'production') ? shallowReadonly(instance.props) : instance.props, setupContext]);
|
|
10497
10529
|
resetTracking();
|
|
10498
10530
|
unsetCurrentInstance();
|
|
10499
10531
|
if (isPromise(setupResult)) {
|
|
@@ -10505,7 +10537,7 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
10505
10537
|
handleSetupResult(instance, resolvedResult, isSSR);
|
|
10506
10538
|
})
|
|
10507
10539
|
.catch(e => {
|
|
10508
|
-
handleError(e, instance, 0 /* SETUP_FUNCTION */);
|
|
10540
|
+
handleError(e, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);
|
|
10509
10541
|
});
|
|
10510
10542
|
}
|
|
10511
10543
|
else {
|
|
@@ -10608,6 +10640,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
|
10608
10640
|
// pass runtime compat config into the compiler
|
|
10609
10641
|
finalCompilerOptions.compatConfig = Object.create(globalCompatConfig);
|
|
10610
10642
|
if (Component.compatConfig) {
|
|
10643
|
+
// @ts-expect-error types are not compatible
|
|
10611
10644
|
extend(finalCompilerOptions.compatConfig, Component.compatConfig);
|
|
10612
10645
|
}
|
|
10613
10646
|
}
|
|
@@ -10653,7 +10686,7 @@ function createAttrsProxy(instance) {
|
|
|
10653
10686
|
? {
|
|
10654
10687
|
get(target, key) {
|
|
10655
10688
|
markAttrsAccessed();
|
|
10656
|
-
track(instance, "get" /* GET */, '$attrs');
|
|
10689
|
+
track(instance, "get" /* TrackOpTypes.GET */, '$attrs');
|
|
10657
10690
|
return target[key];
|
|
10658
10691
|
},
|
|
10659
10692
|
set() {
|
|
@@ -10667,7 +10700,7 @@ function createAttrsProxy(instance) {
|
|
|
10667
10700
|
}
|
|
10668
10701
|
: {
|
|
10669
10702
|
get(target, key) {
|
|
10670
|
-
track(instance, "get" /* GET */, '$attrs');
|
|
10703
|
+
track(instance, "get" /* TrackOpTypes.GET */, '$attrs');
|
|
10671
10704
|
return target[key];
|
|
10672
10705
|
}
|
|
10673
10706
|
});
|
|
@@ -10724,10 +10757,10 @@ function getExposeProxy(instance) {
|
|
|
10724
10757
|
}
|
|
10725
10758
|
const classifyRE = /(?:^|[-_])(\w)/g;
|
|
10726
10759
|
const classify = (str) => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');
|
|
10727
|
-
function getComponentName(Component) {
|
|
10760
|
+
function getComponentName(Component, includeInferred = true) {
|
|
10728
10761
|
return isFunction(Component)
|
|
10729
10762
|
? Component.displayName || Component.name
|
|
10730
|
-
: Component.name;
|
|
10763
|
+
: Component.name || (includeInferred && Component.__name);
|
|
10731
10764
|
}
|
|
10732
10765
|
/* istanbul ignore next */
|
|
10733
10766
|
function formatComponentName(instance, Component, isRoot = false) {
|
|
@@ -11171,7 +11204,7 @@ function isMemoSame(cached, memo) {
|
|
|
11171
11204
|
}
|
|
11172
11205
|
|
|
11173
11206
|
// Core API ------------------------------------------------------------------
|
|
11174
|
-
const version = "3.2.
|
|
11207
|
+
const version = "3.2.38";
|
|
11175
11208
|
const _ssrUtils = {
|
|
11176
11209
|
createComponentInstance,
|
|
11177
11210
|
setupComponent,
|
|
@@ -11181,7 +11214,7 @@ const _ssrUtils = {
|
|
|
11181
11214
|
normalizeVNode
|
|
11182
11215
|
};
|
|
11183
11216
|
/**
|
|
11184
|
-
* SSR utils for \@vue/server-renderer. Only exposed in
|
|
11217
|
+
* SSR utils for \@vue/server-renderer. Only exposed in ssr-possible builds.
|
|
11185
11218
|
* @internal
|
|
11186
11219
|
*/
|
|
11187
11220
|
const ssrUtils = (_ssrUtils );
|
|
@@ -11429,14 +11462,14 @@ function compatCoerceAttr(el, key, value, instance = null) {
|
|
|
11429
11462
|
? 'true'
|
|
11430
11463
|
: null;
|
|
11431
11464
|
if (v2CocercedValue &&
|
|
11432
|
-
compatUtils.softAssertCompatEnabled("ATTR_ENUMERATED_COERCION" /* ATTR_ENUMERATED_COERCION */, instance, key, value, v2CocercedValue)) {
|
|
11465
|
+
compatUtils.softAssertCompatEnabled("ATTR_ENUMERATED_COERCION" /* DeprecationTypes.ATTR_ENUMERATED_COERCION */, instance, key, value, v2CocercedValue)) {
|
|
11433
11466
|
el.setAttribute(key, v2CocercedValue);
|
|
11434
11467
|
return true;
|
|
11435
11468
|
}
|
|
11436
11469
|
}
|
|
11437
11470
|
else if (value === false &&
|
|
11438
11471
|
!isSpecialBooleanAttr(key) &&
|
|
11439
|
-
compatUtils.softAssertCompatEnabled("ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */, instance, key)) {
|
|
11472
|
+
compatUtils.softAssertCompatEnabled("ATTR_FALSE_VALUE" /* DeprecationTypes.ATTR_FALSE_VALUE */, instance, key)) {
|
|
11440
11473
|
el.removeAttribute(key);
|
|
11441
11474
|
return true;
|
|
11442
11475
|
}
|
|
@@ -11498,11 +11531,11 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
|
|
|
11498
11531
|
}
|
|
11499
11532
|
else {
|
|
11500
11533
|
if (value === false &&
|
|
11501
|
-
compatUtils.isCompatEnabled("ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */, parentComponent)) {
|
|
11534
|
+
compatUtils.isCompatEnabled("ATTR_FALSE_VALUE" /* DeprecationTypes.ATTR_FALSE_VALUE */, parentComponent)) {
|
|
11502
11535
|
const type = typeof el[key];
|
|
11503
11536
|
if (type === 'string' || type === 'number') {
|
|
11504
11537
|
(process.env.NODE_ENV !== 'production') &&
|
|
11505
|
-
compatUtils.warnDeprecation("ATTR_FALSE_VALUE" /* ATTR_FALSE_VALUE */, parentComponent, key);
|
|
11538
|
+
compatUtils.warnDeprecation("ATTR_FALSE_VALUE" /* DeprecationTypes.ATTR_FALSE_VALUE */, parentComponent, key);
|
|
11506
11539
|
value = type === 'number' ? 0 : '';
|
|
11507
11540
|
needRemove = true;
|
|
11508
11541
|
}
|
|
@@ -11536,7 +11569,7 @@ const [_getNow, skipTimestampCheck] = /*#__PURE__*/ (() => {
|
|
|
11536
11569
|
// if the low-res timestamp which is bigger than the event timestamp
|
|
11537
11570
|
// (which is evaluated AFTER) it means the event is using a hi-res timestamp,
|
|
11538
11571
|
// and we need to use the hi-res version for event listeners as well.
|
|
11539
|
-
_getNow =
|
|
11572
|
+
_getNow = performance.now.bind(performance);
|
|
11540
11573
|
}
|
|
11541
11574
|
// #3485: Firefox <= 53 has incorrect Event.timeStamp implementation
|
|
11542
11575
|
// and does not fire microtasks in between event propagation, so safe to exclude.
|
|
@@ -11592,7 +11625,8 @@ function parseName(name) {
|
|
|
11592
11625
|
options[m[0].toLowerCase()] = true;
|
|
11593
11626
|
}
|
|
11594
11627
|
}
|
|
11595
|
-
|
|
11628
|
+
const event = name[2] === ':' ? name.slice(3) : hyphenate(name.slice(2));
|
|
11629
|
+
return [event, options];
|
|
11596
11630
|
}
|
|
11597
11631
|
function createInvoker(initialValue, instance) {
|
|
11598
11632
|
const invoker = (e) => {
|
|
@@ -11604,7 +11638,7 @@ function createInvoker(initialValue, instance) {
|
|
|
11604
11638
|
// AFTER it was attached.
|
|
11605
11639
|
const timeStamp = e.timeStamp || _getNow();
|
|
11606
11640
|
if (skipTimestampCheck || timeStamp >= invoker.attached - 1) {
|
|
11607
|
-
callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5 /* NATIVE_EVENT_HANDLER */, [e]);
|
|
11641
|
+
callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5 /* ErrorCodes.NATIVE_EVENT_HANDLER */, [e]);
|
|
11608
11642
|
}
|
|
11609
11643
|
};
|
|
11610
11644
|
invoker.value = initialValue;
|
|
@@ -11961,7 +11995,7 @@ function useCssVars(getter) {
|
|
|
11961
11995
|
});
|
|
11962
11996
|
}
|
|
11963
11997
|
function setVarsOnVNode(vnode, vars) {
|
|
11964
|
-
if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
11998
|
+
if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
11965
11999
|
const suspense = vnode.suspense;
|
|
11966
12000
|
vnode = suspense.activeBranch;
|
|
11967
12001
|
if (suspense.pendingBranch && !suspense.isHydrating) {
|
|
@@ -11974,7 +12008,7 @@ function setVarsOnVNode(vnode, vars) {
|
|
|
11974
12008
|
while (vnode.component) {
|
|
11975
12009
|
vnode = vnode.component.subTree;
|
|
11976
12010
|
}
|
|
11977
|
-
if (vnode.shapeFlag & 1 /* ELEMENT */ && vnode.el) {
|
|
12011
|
+
if (vnode.shapeFlag & 1 /* ShapeFlags.ELEMENT */ && vnode.el) {
|
|
11978
12012
|
setVarsOnNode(vnode.el, vars);
|
|
11979
12013
|
}
|
|
11980
12014
|
else if (vnode.type === Fragment) {
|
|
@@ -12063,7 +12097,7 @@ function resolveTransitionProps(rawProps) {
|
|
|
12063
12097
|
}
|
|
12064
12098
|
const { name = 'v', type, duration, enterFromClass = `${name}-enter-from`, enterActiveClass = `${name}-enter-active`, enterToClass = `${name}-enter-to`, appearFromClass = enterFromClass, appearActiveClass = enterActiveClass, appearToClass = enterToClass, leaveFromClass = `${name}-leave-from`, leaveActiveClass = `${name}-leave-active`, leaveToClass = `${name}-leave-to` } = rawProps;
|
|
12065
12099
|
// legacy transition class compat
|
|
12066
|
-
const legacyClassEnabled = compatUtils.isCompatEnabled("TRANSITION_CLASSES" /* TRANSITION_CLASSES */, null);
|
|
12100
|
+
const legacyClassEnabled = compatUtils.isCompatEnabled("TRANSITION_CLASSES" /* DeprecationTypes.TRANSITION_CLASSES */, null);
|
|
12067
12101
|
let legacyEnterFromClass;
|
|
12068
12102
|
let legacyAppearFromClass;
|
|
12069
12103
|
let legacyLeaveFromClass;
|
|
@@ -12088,9 +12122,8 @@ function resolveTransitionProps(rawProps) {
|
|
|
12088
12122
|
removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
|
|
12089
12123
|
done && done();
|
|
12090
12124
|
};
|
|
12091
|
-
let isLeaving = false;
|
|
12092
12125
|
const finishLeave = (el, done) => {
|
|
12093
|
-
|
|
12126
|
+
el._isLeaving = false;
|
|
12094
12127
|
removeTransitionClass(el, leaveFromClass);
|
|
12095
12128
|
removeTransitionClass(el, leaveToClass);
|
|
12096
12129
|
removeTransitionClass(el, leaveActiveClass);
|
|
@@ -12133,7 +12166,7 @@ function resolveTransitionProps(rawProps) {
|
|
|
12133
12166
|
onEnter: makeEnterHook(false),
|
|
12134
12167
|
onAppear: makeEnterHook(true),
|
|
12135
12168
|
onLeave(el, done) {
|
|
12136
|
-
|
|
12169
|
+
el._isLeaving = true;
|
|
12137
12170
|
const resolve = () => finishLeave(el, done);
|
|
12138
12171
|
addTransitionClass(el, leaveFromClass);
|
|
12139
12172
|
if (legacyClassEnabled) {
|
|
@@ -12143,7 +12176,7 @@ function resolveTransitionProps(rawProps) {
|
|
|
12143
12176
|
forceReflow();
|
|
12144
12177
|
addTransitionClass(el, leaveActiveClass);
|
|
12145
12178
|
nextFrame(() => {
|
|
12146
|
-
if (!
|
|
12179
|
+
if (!el._isLeaving) {
|
|
12147
12180
|
// cancelled
|
|
12148
12181
|
return;
|
|
12149
12182
|
}
|
|
@@ -12374,7 +12407,7 @@ const TransitionGroupImpl = {
|
|
|
12374
12407
|
const cssTransitionProps = resolveTransitionProps(rawProps);
|
|
12375
12408
|
let tag = rawProps.tag || Fragment;
|
|
12376
12409
|
if (!rawProps.tag &&
|
|
12377
|
-
compatUtils.checkCompatEnabled("TRANSITION_GROUP_ROOT" /* TRANSITION_GROUP_ROOT */, instance.parent)) {
|
|
12410
|
+
compatUtils.checkCompatEnabled("TRANSITION_GROUP_ROOT" /* DeprecationTypes.TRANSITION_GROUP_ROOT */, instance.parent)) {
|
|
12378
12411
|
tag = 'span';
|
|
12379
12412
|
}
|
|
12380
12413
|
prevChildren = children;
|
|
@@ -12781,13 +12814,13 @@ const withKeys = (fn, modifiers) => {
|
|
|
12781
12814
|
let instance = null;
|
|
12782
12815
|
{
|
|
12783
12816
|
instance = getCurrentInstance();
|
|
12784
|
-
if (compatUtils.isCompatEnabled("CONFIG_KEY_CODES" /* CONFIG_KEY_CODES */, instance)) {
|
|
12817
|
+
if (compatUtils.isCompatEnabled("CONFIG_KEY_CODES" /* DeprecationTypes.CONFIG_KEY_CODES */, instance)) {
|
|
12785
12818
|
if (instance) {
|
|
12786
12819
|
globalKeyCodes = instance.appContext.config.keyCodes;
|
|
12787
12820
|
}
|
|
12788
12821
|
}
|
|
12789
12822
|
if ((process.env.NODE_ENV !== 'production') && modifiers.some(m => /^\d+$/.test(m))) {
|
|
12790
|
-
compatUtils.warnDeprecation("V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */, instance);
|
|
12823
|
+
compatUtils.warnDeprecation("V_ON_KEYCODE_MODIFIER" /* DeprecationTypes.V_ON_KEYCODE_MODIFIER */, instance);
|
|
12791
12824
|
}
|
|
12792
12825
|
}
|
|
12793
12826
|
return (event) => {
|
|
@@ -12800,7 +12833,7 @@ const withKeys = (fn, modifiers) => {
|
|
|
12800
12833
|
}
|
|
12801
12834
|
{
|
|
12802
12835
|
const keyCode = String(event.keyCode);
|
|
12803
|
-
if (compatUtils.isCompatEnabled("V_ON_KEYCODE_MODIFIER" /* V_ON_KEYCODE_MODIFIER */, instance) &&
|
|
12836
|
+
if (compatUtils.isCompatEnabled("V_ON_KEYCODE_MODIFIER" /* DeprecationTypes.V_ON_KEYCODE_MODIFIER */, instance) &&
|
|
12804
12837
|
modifiers.some(mod => mod == keyCode)) {
|
|
12805
12838
|
return fn(event);
|
|
12806
12839
|
}
|
|
@@ -12918,7 +12951,7 @@ const createApp = ((...args) => {
|
|
|
12918
12951
|
for (let i = 0; i < container.attributes.length; i++) {
|
|
12919
12952
|
const attr = container.attributes[i];
|
|
12920
12953
|
if (attr.name !== 'v-cloak' && /^(v-|:|@)/.test(attr.name)) {
|
|
12921
|
-
compatUtils.warnDeprecation("GLOBAL_MOUNT_CONTAINER" /* GLOBAL_MOUNT_CONTAINER */, null);
|
|
12954
|
+
compatUtils.warnDeprecation("GLOBAL_MOUNT_CONTAINER" /* DeprecationTypes.GLOBAL_MOUNT_CONTAINER */, null);
|
|
12922
12955
|
break;
|
|
12923
12956
|
}
|
|
12924
12957
|
}
|
|
@@ -13180,7 +13213,7 @@ if ((process.env.NODE_ENV !== 'production')) {
|
|
|
13180
13213
|
function wrappedCreateApp(...args) {
|
|
13181
13214
|
// @ts-ignore
|
|
13182
13215
|
const app = createApp(...args);
|
|
13183
|
-
if (compatUtils.isCompatEnabled("RENDER_FUNCTION" /* RENDER_FUNCTION */, null)) {
|
|
13216
|
+
if (compatUtils.isCompatEnabled("RENDER_FUNCTION" /* DeprecationTypes.RENDER_FUNCTION */, null)) {
|
|
13184
13217
|
// register built-in components so that they can be resolved via strings
|
|
13185
13218
|
// in the legacy h() call. The __compat__ prefix is to ensure that v3 h()
|
|
13186
13219
|
// doesn't get affected.
|