@vue/runtime-dom 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/runtime-dom.cjs.js +7 -7
- package/dist/runtime-dom.cjs.prod.js +7 -7
- package/dist/runtime-dom.esm-browser.js +404 -372
- package/dist/runtime-dom.esm-browser.prod.js +1 -1
- package/dist/runtime-dom.esm-bundler.js +9 -9
- package/dist/runtime-dom.global.js +404 -372
- package/dist/runtime-dom.global.prod.js +1 -1
- package/package.json +3 -3
|
@@ -641,7 +641,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
641
641
|
return;
|
|
642
642
|
}
|
|
643
643
|
let deps = [];
|
|
644
|
-
if (type === "clear" /* CLEAR */) {
|
|
644
|
+
if (type === "clear" /* TriggerOpTypes.CLEAR */) {
|
|
645
645
|
// collection being cleared
|
|
646
646
|
// trigger all effects for target
|
|
647
647
|
deps = [...depsMap.values()];
|
|
@@ -660,7 +660,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
660
660
|
}
|
|
661
661
|
// also run for iteration key on ADD | DELETE | Map.SET
|
|
662
662
|
switch (type) {
|
|
663
|
-
case "add" /* ADD */:
|
|
663
|
+
case "add" /* TriggerOpTypes.ADD */:
|
|
664
664
|
if (!isArray(target)) {
|
|
665
665
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
666
666
|
if (isMap(target)) {
|
|
@@ -672,7 +672,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
672
672
|
deps.push(depsMap.get('length'));
|
|
673
673
|
}
|
|
674
674
|
break;
|
|
675
|
-
case "delete" /* DELETE */:
|
|
675
|
+
case "delete" /* TriggerOpTypes.DELETE */:
|
|
676
676
|
if (!isArray(target)) {
|
|
677
677
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
678
678
|
if (isMap(target)) {
|
|
@@ -680,7 +680,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
break;
|
|
683
|
-
case "set" /* SET */:
|
|
683
|
+
case "set" /* TriggerOpTypes.SET */:
|
|
684
684
|
if (isMap(target)) {
|
|
685
685
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
686
686
|
}
|
|
@@ -757,7 +757,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
757
757
|
instrumentations[key] = function (...args) {
|
|
758
758
|
const arr = toRaw(this);
|
|
759
759
|
for (let i = 0, l = this.length; i < l; i++) {
|
|
760
|
-
track(arr, "get" /* GET */, i + '');
|
|
760
|
+
track(arr, "get" /* TrackOpTypes.GET */, i + '');
|
|
761
761
|
}
|
|
762
762
|
// we run the method using the original args first (which may be reactive)
|
|
763
763
|
const res = arr[key](...args);
|
|
@@ -782,16 +782,16 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
782
782
|
}
|
|
783
783
|
function createGetter(isReadonly = false, shallow = false) {
|
|
784
784
|
return function get(target, key, receiver) {
|
|
785
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
785
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
786
786
|
return !isReadonly;
|
|
787
787
|
}
|
|
788
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
788
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
789
789
|
return isReadonly;
|
|
790
790
|
}
|
|
791
|
-
else if (key === "__v_isShallow" /* IS_SHALLOW */) {
|
|
791
|
+
else if (key === "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */) {
|
|
792
792
|
return shallow;
|
|
793
793
|
}
|
|
794
|
-
else if (key === "__v_raw" /* RAW */ &&
|
|
794
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */ &&
|
|
795
795
|
receiver ===
|
|
796
796
|
(isReadonly
|
|
797
797
|
? shallow
|
|
@@ -811,7 +811,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
811
811
|
return res;
|
|
812
812
|
}
|
|
813
813
|
if (!isReadonly) {
|
|
814
|
-
track(target, "get" /* GET */, key);
|
|
814
|
+
track(target, "get" /* TrackOpTypes.GET */, key);
|
|
815
815
|
}
|
|
816
816
|
if (shallow) {
|
|
817
817
|
return res;
|
|
@@ -837,10 +837,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
837
837
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
838
838
|
return false;
|
|
839
839
|
}
|
|
840
|
-
if (!shallow
|
|
841
|
-
if (!isShallow(value)) {
|
|
842
|
-
value = toRaw(value);
|
|
840
|
+
if (!shallow) {
|
|
841
|
+
if (!isShallow(value) && !isReadonly(value)) {
|
|
843
842
|
oldValue = toRaw(oldValue);
|
|
843
|
+
value = toRaw(value);
|
|
844
844
|
}
|
|
845
845
|
if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
|
|
846
846
|
oldValue.value = value;
|
|
@@ -854,10 +854,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
854
854
|
// don't trigger if target is something up in the prototype chain of original
|
|
855
855
|
if (target === toRaw(receiver)) {
|
|
856
856
|
if (!hadKey) {
|
|
857
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
857
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
858
858
|
}
|
|
859
859
|
else if (hasChanged(value, oldValue)) {
|
|
860
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
860
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
861
861
|
}
|
|
862
862
|
}
|
|
863
863
|
return result;
|
|
@@ -868,19 +868,19 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
868
868
|
const oldValue = target[key];
|
|
869
869
|
const result = Reflect.deleteProperty(target, key);
|
|
870
870
|
if (result && hadKey) {
|
|
871
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
871
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
872
872
|
}
|
|
873
873
|
return result;
|
|
874
874
|
}
|
|
875
875
|
function has(target, key) {
|
|
876
876
|
const result = Reflect.has(target, key);
|
|
877
877
|
if (!isSymbol(key) || !builtInSymbols.has(key)) {
|
|
878
|
-
track(target, "has" /* HAS */, key);
|
|
878
|
+
track(target, "has" /* TrackOpTypes.HAS */, key);
|
|
879
879
|
}
|
|
880
880
|
return result;
|
|
881
881
|
}
|
|
882
882
|
function ownKeys(target) {
|
|
883
|
-
track(target, "iterate" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
883
|
+
track(target, "iterate" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);
|
|
884
884
|
return Reflect.ownKeys(target);
|
|
885
885
|
}
|
|
886
886
|
const mutableHandlers = {
|
|
@@ -921,14 +921,14 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
921
921
|
function get$1(target, key, isReadonly = false, isShallow = false) {
|
|
922
922
|
// #1772: readonly(reactive(Map)) should return readonly + reactive version
|
|
923
923
|
// of the value
|
|
924
|
-
target = target["__v_raw" /* RAW */];
|
|
924
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
925
925
|
const rawTarget = toRaw(target);
|
|
926
926
|
const rawKey = toRaw(key);
|
|
927
927
|
if (!isReadonly) {
|
|
928
928
|
if (key !== rawKey) {
|
|
929
|
-
track(rawTarget, "get" /* GET */, key);
|
|
929
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, key);
|
|
930
930
|
}
|
|
931
|
-
track(rawTarget, "get" /* GET */, rawKey);
|
|
931
|
+
track(rawTarget, "get" /* TrackOpTypes.GET */, rawKey);
|
|
932
932
|
}
|
|
933
933
|
const { has } = getProto(rawTarget);
|
|
934
934
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
@@ -945,22 +945,22 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
945
945
|
}
|
|
946
946
|
}
|
|
947
947
|
function has$1(key, isReadonly = false) {
|
|
948
|
-
const target = this["__v_raw" /* RAW */];
|
|
948
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
949
949
|
const rawTarget = toRaw(target);
|
|
950
950
|
const rawKey = toRaw(key);
|
|
951
951
|
if (!isReadonly) {
|
|
952
952
|
if (key !== rawKey) {
|
|
953
|
-
track(rawTarget, "has" /* HAS */, key);
|
|
953
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, key);
|
|
954
954
|
}
|
|
955
|
-
track(rawTarget, "has" /* HAS */, rawKey);
|
|
955
|
+
track(rawTarget, "has" /* TrackOpTypes.HAS */, rawKey);
|
|
956
956
|
}
|
|
957
957
|
return key === rawKey
|
|
958
958
|
? target.has(key)
|
|
959
959
|
: target.has(key) || target.has(rawKey);
|
|
960
960
|
}
|
|
961
961
|
function size(target, isReadonly = false) {
|
|
962
|
-
target = target["__v_raw" /* RAW */];
|
|
963
|
-
!isReadonly && track(toRaw(target), "iterate" /* ITERATE */, ITERATE_KEY);
|
|
962
|
+
target = target["__v_raw" /* ReactiveFlags.RAW */];
|
|
963
|
+
!isReadonly && track(toRaw(target), "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
964
964
|
return Reflect.get(target, 'size', target);
|
|
965
965
|
}
|
|
966
966
|
function add(value) {
|
|
@@ -970,7 +970,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
970
970
|
const hadKey = proto.has.call(target, value);
|
|
971
971
|
if (!hadKey) {
|
|
972
972
|
target.add(value);
|
|
973
|
-
trigger(target, "add" /* ADD */, value, value);
|
|
973
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, value, value);
|
|
974
974
|
}
|
|
975
975
|
return this;
|
|
976
976
|
}
|
|
@@ -989,10 +989,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
989
989
|
const oldValue = get.call(target, key);
|
|
990
990
|
target.set(key, value);
|
|
991
991
|
if (!hadKey) {
|
|
992
|
-
trigger(target, "add" /* ADD */, key, value);
|
|
992
|
+
trigger(target, "add" /* TriggerOpTypes.ADD */, key, value);
|
|
993
993
|
}
|
|
994
994
|
else if (hasChanged(value, oldValue)) {
|
|
995
|
-
trigger(target, "set" /* SET */, key, value, oldValue);
|
|
995
|
+
trigger(target, "set" /* TriggerOpTypes.SET */, key, value, oldValue);
|
|
996
996
|
}
|
|
997
997
|
return this;
|
|
998
998
|
}
|
|
@@ -1011,7 +1011,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1011
1011
|
// forward the operation before queueing reactions
|
|
1012
1012
|
const result = target.delete(key);
|
|
1013
1013
|
if (hadKey) {
|
|
1014
|
-
trigger(target, "delete" /* DELETE */, key, undefined, oldValue);
|
|
1014
|
+
trigger(target, "delete" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);
|
|
1015
1015
|
}
|
|
1016
1016
|
return result;
|
|
1017
1017
|
}
|
|
@@ -1025,17 +1025,17 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1025
1025
|
// forward the operation before queueing reactions
|
|
1026
1026
|
const result = target.clear();
|
|
1027
1027
|
if (hadItems) {
|
|
1028
|
-
trigger(target, "clear" /* CLEAR */, undefined, undefined, oldTarget);
|
|
1028
|
+
trigger(target, "clear" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);
|
|
1029
1029
|
}
|
|
1030
1030
|
return result;
|
|
1031
1031
|
}
|
|
1032
1032
|
function createForEach(isReadonly, isShallow) {
|
|
1033
1033
|
return function forEach(callback, thisArg) {
|
|
1034
1034
|
const observed = this;
|
|
1035
|
-
const target = observed["__v_raw" /* RAW */];
|
|
1035
|
+
const target = observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
1036
1036
|
const rawTarget = toRaw(target);
|
|
1037
1037
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
1038
|
-
!isReadonly && track(rawTarget, "iterate" /* ITERATE */, ITERATE_KEY);
|
|
1038
|
+
!isReadonly && track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, ITERATE_KEY);
|
|
1039
1039
|
return target.forEach((value, key) => {
|
|
1040
1040
|
// important: make sure the callback is
|
|
1041
1041
|
// 1. invoked with the reactive map as `this` and 3rd arg
|
|
@@ -1046,7 +1046,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
function createIterableMethod(method, isReadonly, isShallow) {
|
|
1048
1048
|
return function (...args) {
|
|
1049
|
-
const target = this["__v_raw" /* RAW */];
|
|
1049
|
+
const target = this["__v_raw" /* ReactiveFlags.RAW */];
|
|
1050
1050
|
const rawTarget = toRaw(target);
|
|
1051
1051
|
const targetIsMap = isMap(rawTarget);
|
|
1052
1052
|
const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);
|
|
@@ -1054,7 +1054,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1054
1054
|
const innerIterator = target[method](...args);
|
|
1055
1055
|
const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
|
|
1056
1056
|
!isReadonly &&
|
|
1057
|
-
track(rawTarget, "iterate" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
1057
|
+
track(rawTarget, "iterate" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
1058
1058
|
// return a wrapped iterator which returns observed versions of the
|
|
1059
1059
|
// values emitted from the real iterator
|
|
1060
1060
|
return {
|
|
@@ -1081,7 +1081,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1081
1081
|
const key = args[0] ? `on key "${args[0]}" ` : ``;
|
|
1082
1082
|
console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));
|
|
1083
1083
|
}
|
|
1084
|
-
return type === "delete" /* DELETE */ ? false : this;
|
|
1084
|
+
return type === "delete" /* TriggerOpTypes.DELETE */ ? false : this;
|
|
1085
1085
|
};
|
|
1086
1086
|
}
|
|
1087
1087
|
function createInstrumentations() {
|
|
@@ -1123,10 +1123,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1123
1123
|
has(key) {
|
|
1124
1124
|
return has$1.call(this, key, true);
|
|
1125
1125
|
},
|
|
1126
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
1127
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
1128
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
1129
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
1126
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
1127
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
1128
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
1129
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
1130
1130
|
forEach: createForEach(true, false)
|
|
1131
1131
|
};
|
|
1132
1132
|
const shallowReadonlyInstrumentations = {
|
|
@@ -1139,10 +1139,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1139
1139
|
has(key) {
|
|
1140
1140
|
return has$1.call(this, key, true);
|
|
1141
1141
|
},
|
|
1142
|
-
add: createReadonlyMethod("add" /* ADD */),
|
|
1143
|
-
set: createReadonlyMethod("set" /* SET */),
|
|
1144
|
-
delete: createReadonlyMethod("delete" /* DELETE */),
|
|
1145
|
-
clear: createReadonlyMethod("clear" /* CLEAR */),
|
|
1142
|
+
add: createReadonlyMethod("add" /* TriggerOpTypes.ADD */),
|
|
1143
|
+
set: createReadonlyMethod("set" /* TriggerOpTypes.SET */),
|
|
1144
|
+
delete: createReadonlyMethod("delete" /* TriggerOpTypes.DELETE */),
|
|
1145
|
+
clear: createReadonlyMethod("clear" /* TriggerOpTypes.CLEAR */),
|
|
1146
1146
|
forEach: createForEach(true, true)
|
|
1147
1147
|
};
|
|
1148
1148
|
const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];
|
|
@@ -1169,13 +1169,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1169
1169
|
? readonlyInstrumentations
|
|
1170
1170
|
: mutableInstrumentations;
|
|
1171
1171
|
return (target, key, receiver) => {
|
|
1172
|
-
if (key === "__v_isReactive" /* IS_REACTIVE */) {
|
|
1172
|
+
if (key === "__v_isReactive" /* ReactiveFlags.IS_REACTIVE */) {
|
|
1173
1173
|
return !isReadonly;
|
|
1174
1174
|
}
|
|
1175
|
-
else if (key === "__v_isReadonly" /* IS_READONLY */) {
|
|
1175
|
+
else if (key === "__v_isReadonly" /* ReactiveFlags.IS_READONLY */) {
|
|
1176
1176
|
return isReadonly;
|
|
1177
1177
|
}
|
|
1178
|
-
else if (key === "__v_raw" /* RAW */) {
|
|
1178
|
+
else if (key === "__v_raw" /* ReactiveFlags.RAW */) {
|
|
1179
1179
|
return target;
|
|
1180
1180
|
}
|
|
1181
1181
|
return Reflect.get(hasOwn(instrumentations, key) && key in target
|
|
@@ -1215,19 +1215,19 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1215
1215
|
switch (rawType) {
|
|
1216
1216
|
case 'Object':
|
|
1217
1217
|
case 'Array':
|
|
1218
|
-
return 1 /* COMMON */;
|
|
1218
|
+
return 1 /* TargetType.COMMON */;
|
|
1219
1219
|
case 'Map':
|
|
1220
1220
|
case 'Set':
|
|
1221
1221
|
case 'WeakMap':
|
|
1222
1222
|
case 'WeakSet':
|
|
1223
|
-
return 2 /* COLLECTION */;
|
|
1223
|
+
return 2 /* TargetType.COLLECTION */;
|
|
1224
1224
|
default:
|
|
1225
|
-
return 0 /* INVALID */;
|
|
1225
|
+
return 0 /* TargetType.INVALID */;
|
|
1226
1226
|
}
|
|
1227
1227
|
}
|
|
1228
1228
|
function getTargetType(value) {
|
|
1229
|
-
return value["__v_skip" /* SKIP */] || !Object.isExtensible(value)
|
|
1230
|
-
? 0 /* INVALID */
|
|
1229
|
+
return value["__v_skip" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)
|
|
1230
|
+
? 0 /* TargetType.INVALID */
|
|
1231
1231
|
: targetTypeMap(toRawType(value));
|
|
1232
1232
|
}
|
|
1233
1233
|
function reactive(target) {
|
|
@@ -1270,8 +1270,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1270
1270
|
}
|
|
1271
1271
|
// target is already a Proxy, return it.
|
|
1272
1272
|
// exception: calling readonly() on a reactive object
|
|
1273
|
-
if (target["__v_raw" /* RAW */] &&
|
|
1274
|
-
!(isReadonly && target["__v_isReactive" /* IS_REACTIVE */])) {
|
|
1273
|
+
if (target["__v_raw" /* ReactiveFlags.RAW */] &&
|
|
1274
|
+
!(isReadonly && target["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */])) {
|
|
1275
1275
|
return target;
|
|
1276
1276
|
}
|
|
1277
1277
|
// target already has corresponding Proxy
|
|
@@ -1281,34 +1281,34 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1281
1281
|
}
|
|
1282
1282
|
// only specific value types can be observed.
|
|
1283
1283
|
const targetType = getTargetType(target);
|
|
1284
|
-
if (targetType === 0 /* INVALID */) {
|
|
1284
|
+
if (targetType === 0 /* TargetType.INVALID */) {
|
|
1285
1285
|
return target;
|
|
1286
1286
|
}
|
|
1287
|
-
const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
1287
|
+
const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);
|
|
1288
1288
|
proxyMap.set(target, proxy);
|
|
1289
1289
|
return proxy;
|
|
1290
1290
|
}
|
|
1291
1291
|
function isReactive(value) {
|
|
1292
1292
|
if (isReadonly(value)) {
|
|
1293
|
-
return isReactive(value["__v_raw" /* RAW */]);
|
|
1293
|
+
return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
|
|
1294
1294
|
}
|
|
1295
|
-
return !!(value && value["__v_isReactive" /* IS_REACTIVE */]);
|
|
1295
|
+
return !!(value && value["__v_isReactive" /* ReactiveFlags.IS_REACTIVE */]);
|
|
1296
1296
|
}
|
|
1297
1297
|
function isReadonly(value) {
|
|
1298
|
-
return !!(value && value["__v_isReadonly" /* IS_READONLY */]);
|
|
1298
|
+
return !!(value && value["__v_isReadonly" /* ReactiveFlags.IS_READONLY */]);
|
|
1299
1299
|
}
|
|
1300
1300
|
function isShallow(value) {
|
|
1301
|
-
return !!(value && value["__v_isShallow" /* IS_SHALLOW */]);
|
|
1301
|
+
return !!(value && value["__v_isShallow" /* ReactiveFlags.IS_SHALLOW */]);
|
|
1302
1302
|
}
|
|
1303
1303
|
function isProxy(value) {
|
|
1304
1304
|
return isReactive(value) || isReadonly(value);
|
|
1305
1305
|
}
|
|
1306
1306
|
function toRaw(observed) {
|
|
1307
|
-
const raw = observed && observed["__v_raw" /* RAW */];
|
|
1307
|
+
const raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
|
|
1308
1308
|
return raw ? toRaw(raw) : observed;
|
|
1309
1309
|
}
|
|
1310
1310
|
function markRaw(value) {
|
|
1311
|
-
def(value, "__v_skip" /* SKIP */, true);
|
|
1311
|
+
def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
|
|
1312
1312
|
return value;
|
|
1313
1313
|
}
|
|
1314
1314
|
const toReactive = (value) => isObject(value) ? reactive(value) : value;
|
|
@@ -1320,7 +1320,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1320
1320
|
{
|
|
1321
1321
|
trackEffects(ref.dep || (ref.dep = createDep()), {
|
|
1322
1322
|
target: ref,
|
|
1323
|
-
type: "get" /* GET */,
|
|
1323
|
+
type: "get" /* TrackOpTypes.GET */,
|
|
1324
1324
|
key: 'value'
|
|
1325
1325
|
});
|
|
1326
1326
|
}
|
|
@@ -1332,7 +1332,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1332
1332
|
{
|
|
1333
1333
|
triggerEffects(ref.dep, {
|
|
1334
1334
|
target: ref,
|
|
1335
|
-
type: "set" /* SET */,
|
|
1335
|
+
type: "set" /* TriggerOpTypes.SET */,
|
|
1336
1336
|
key: 'value',
|
|
1337
1337
|
newValue: newVal
|
|
1338
1338
|
});
|
|
@@ -1367,10 +1367,11 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1367
1367
|
return this._value;
|
|
1368
1368
|
}
|
|
1369
1369
|
set value(newVal) {
|
|
1370
|
-
|
|
1370
|
+
const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);
|
|
1371
|
+
newVal = useDirectValue ? newVal : toRaw(newVal);
|
|
1371
1372
|
if (hasChanged(newVal, this._rawValue)) {
|
|
1372
1373
|
this._rawValue = newVal;
|
|
1373
|
-
this._value =
|
|
1374
|
+
this._value = useDirectValue ? newVal : toReactive(newVal);
|
|
1374
1375
|
triggerRefValue(this, newVal);
|
|
1375
1376
|
}
|
|
1376
1377
|
}
|
|
@@ -1449,11 +1450,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1449
1450
|
: new ObjectRefImpl(object, key, defaultValue);
|
|
1450
1451
|
}
|
|
1451
1452
|
|
|
1453
|
+
var _a;
|
|
1452
1454
|
class ComputedRefImpl {
|
|
1453
1455
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
1454
1456
|
this._setter = _setter;
|
|
1455
1457
|
this.dep = undefined;
|
|
1456
1458
|
this.__v_isRef = true;
|
|
1459
|
+
this[_a] = false;
|
|
1457
1460
|
this._dirty = true;
|
|
1458
1461
|
this.effect = new ReactiveEffect(getter, () => {
|
|
1459
1462
|
if (!this._dirty) {
|
|
@@ -1463,7 +1466,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1463
1466
|
});
|
|
1464
1467
|
this.effect.computed = this;
|
|
1465
1468
|
this.effect.active = this._cacheable = !isSSR;
|
|
1466
|
-
this["__v_isReadonly" /* IS_READONLY */] = isReadonly;
|
|
1469
|
+
this["__v_isReadonly" /* ReactiveFlags.IS_READONLY */] = isReadonly;
|
|
1467
1470
|
}
|
|
1468
1471
|
get value() {
|
|
1469
1472
|
// the computed ref may get wrapped by other proxies e.g. readonly() #3376
|
|
@@ -1479,6 +1482,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1479
1482
|
this._setter(newValue);
|
|
1480
1483
|
}
|
|
1481
1484
|
}
|
|
1485
|
+
_a = "__v_isReadonly" /* ReactiveFlags.IS_READONLY */;
|
|
1482
1486
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
1483
1487
|
let getter;
|
|
1484
1488
|
let setter;
|
|
@@ -1517,7 +1521,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1517
1521
|
const appWarnHandler = instance && instance.appContext.config.warnHandler;
|
|
1518
1522
|
const trace = getComponentTrace();
|
|
1519
1523
|
if (appWarnHandler) {
|
|
1520
|
-
callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [
|
|
1524
|
+
callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [
|
|
1521
1525
|
msg + args.join(''),
|
|
1522
1526
|
instance && instance.proxy,
|
|
1523
1527
|
trace
|
|
@@ -1617,35 +1621,35 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1617
1621
|
}
|
|
1618
1622
|
|
|
1619
1623
|
const ErrorTypeStrings = {
|
|
1620
|
-
["sp" /* SERVER_PREFETCH */]: 'serverPrefetch hook',
|
|
1621
|
-
["bc" /* BEFORE_CREATE */]: 'beforeCreate hook',
|
|
1622
|
-
["c" /* CREATED */]: 'created hook',
|
|
1623
|
-
["bm" /* BEFORE_MOUNT */]: 'beforeMount hook',
|
|
1624
|
-
["m" /* MOUNTED */]: 'mounted hook',
|
|
1625
|
-
["bu" /* BEFORE_UPDATE */]: 'beforeUpdate hook',
|
|
1626
|
-
["u" /* UPDATED */]: 'updated',
|
|
1627
|
-
["bum" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',
|
|
1628
|
-
["um" /* UNMOUNTED */]: 'unmounted hook',
|
|
1629
|
-
["a" /* ACTIVATED */]: 'activated hook',
|
|
1630
|
-
["da" /* DEACTIVATED */]: 'deactivated hook',
|
|
1631
|
-
["ec" /* ERROR_CAPTURED */]: 'errorCaptured hook',
|
|
1632
|
-
["rtc" /* RENDER_TRACKED */]: 'renderTracked hook',
|
|
1633
|
-
["rtg" /* RENDER_TRIGGERED */]: 'renderTriggered hook',
|
|
1634
|
-
[0 /* SETUP_FUNCTION */]: 'setup function',
|
|
1635
|
-
[1 /* RENDER_FUNCTION */]: 'render function',
|
|
1636
|
-
[2 /* WATCH_GETTER */]: 'watcher getter',
|
|
1637
|
-
[3 /* WATCH_CALLBACK */]: 'watcher callback',
|
|
1638
|
-
[4 /* WATCH_CLEANUP */]: 'watcher cleanup function',
|
|
1639
|
-
[5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',
|
|
1640
|
-
[6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',
|
|
1641
|
-
[7 /* VNODE_HOOK */]: 'vnode hook',
|
|
1642
|
-
[8 /* DIRECTIVE_HOOK */]: 'directive hook',
|
|
1643
|
-
[9 /* TRANSITION_HOOK */]: 'transition hook',
|
|
1644
|
-
[10 /* APP_ERROR_HANDLER */]: 'app errorHandler',
|
|
1645
|
-
[11 /* APP_WARN_HANDLER */]: 'app warnHandler',
|
|
1646
|
-
[12 /* FUNCTION_REF */]: 'ref function',
|
|
1647
|
-
[13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',
|
|
1648
|
-
[14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
|
|
1624
|
+
["sp" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',
|
|
1625
|
+
["bc" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',
|
|
1626
|
+
["c" /* LifecycleHooks.CREATED */]: 'created hook',
|
|
1627
|
+
["bm" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',
|
|
1628
|
+
["m" /* LifecycleHooks.MOUNTED */]: 'mounted hook',
|
|
1629
|
+
["bu" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',
|
|
1630
|
+
["u" /* LifecycleHooks.UPDATED */]: 'updated',
|
|
1631
|
+
["bum" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',
|
|
1632
|
+
["um" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',
|
|
1633
|
+
["a" /* LifecycleHooks.ACTIVATED */]: 'activated hook',
|
|
1634
|
+
["da" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',
|
|
1635
|
+
["ec" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',
|
|
1636
|
+
["rtc" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',
|
|
1637
|
+
["rtg" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',
|
|
1638
|
+
[0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',
|
|
1639
|
+
[1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',
|
|
1640
|
+
[2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',
|
|
1641
|
+
[3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',
|
|
1642
|
+
[4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',
|
|
1643
|
+
[5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',
|
|
1644
|
+
[6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',
|
|
1645
|
+
[7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',
|
|
1646
|
+
[8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',
|
|
1647
|
+
[9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',
|
|
1648
|
+
[10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',
|
|
1649
|
+
[11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',
|
|
1650
|
+
[12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',
|
|
1651
|
+
[13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',
|
|
1652
|
+
[14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +
|
|
1649
1653
|
'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'
|
|
1650
1654
|
};
|
|
1651
1655
|
function callWithErrorHandling(fn, instance, type, args) {
|
|
@@ -1696,7 +1700,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1696
1700
|
// app-level handling
|
|
1697
1701
|
const appErrorHandler = instance.appContext.config.errorHandler;
|
|
1698
1702
|
if (appErrorHandler) {
|
|
1699
|
-
callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);
|
|
1703
|
+
callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);
|
|
1700
1704
|
return;
|
|
1701
1705
|
}
|
|
1702
1706
|
}
|
|
@@ -1726,15 +1730,11 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1726
1730
|
let isFlushPending = false;
|
|
1727
1731
|
const queue = [];
|
|
1728
1732
|
let flushIndex = 0;
|
|
1729
|
-
const pendingPreFlushCbs = [];
|
|
1730
|
-
let activePreFlushCbs = null;
|
|
1731
|
-
let preFlushIndex = 0;
|
|
1732
1733
|
const pendingPostFlushCbs = [];
|
|
1733
1734
|
let activePostFlushCbs = null;
|
|
1734
1735
|
let postFlushIndex = 0;
|
|
1735
1736
|
const resolvedPromise = /*#__PURE__*/ Promise.resolve();
|
|
1736
1737
|
let currentFlushPromise = null;
|
|
1737
|
-
let currentPreFlushParentJob = null;
|
|
1738
1738
|
const RECURSION_LIMIT = 100;
|
|
1739
1739
|
function nextTick(fn) {
|
|
1740
1740
|
const p = currentFlushPromise || resolvedPromise;
|
|
@@ -1762,9 +1762,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1762
1762
|
// if the job is a watch() callback, the search will start with a +1 index to
|
|
1763
1763
|
// allow it recursively trigger itself - it is the user's responsibility to
|
|
1764
1764
|
// ensure it doesn't end up in an infinite loop.
|
|
1765
|
-
if (
|
|
1766
|
-
!queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex))
|
|
1767
|
-
job !== currentPreFlushParentJob) {
|
|
1765
|
+
if (!queue.length ||
|
|
1766
|
+
!queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {
|
|
1768
1767
|
if (job.id == null) {
|
|
1769
1768
|
queue.push(job);
|
|
1770
1769
|
}
|
|
@@ -1786,51 +1785,38 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1786
1785
|
queue.splice(i, 1);
|
|
1787
1786
|
}
|
|
1788
1787
|
}
|
|
1789
|
-
function
|
|
1788
|
+
function queuePostFlushCb(cb) {
|
|
1790
1789
|
if (!isArray(cb)) {
|
|
1791
|
-
if (!
|
|
1792
|
-
!
|
|
1793
|
-
|
|
1790
|
+
if (!activePostFlushCbs ||
|
|
1791
|
+
!activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {
|
|
1792
|
+
pendingPostFlushCbs.push(cb);
|
|
1794
1793
|
}
|
|
1795
1794
|
}
|
|
1796
1795
|
else {
|
|
1797
1796
|
// if cb is an array, it is a component lifecycle hook which can only be
|
|
1798
1797
|
// triggered by a job, which is already deduped in the main queue, so
|
|
1799
1798
|
// we can skip duplicate check here to improve perf
|
|
1800
|
-
|
|
1799
|
+
pendingPostFlushCbs.push(...cb);
|
|
1801
1800
|
}
|
|
1802
1801
|
queueFlush();
|
|
1803
1802
|
}
|
|
1804
|
-
function
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
currentPreFlushParentJob = parentJob;
|
|
1813
|
-
activePreFlushCbs = [...new Set(pendingPreFlushCbs)];
|
|
1814
|
-
pendingPreFlushCbs.length = 0;
|
|
1815
|
-
{
|
|
1816
|
-
seen = seen || new Map();
|
|
1817
|
-
}
|
|
1818
|
-
for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {
|
|
1819
|
-
if (checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {
|
|
1803
|
+
function flushPreFlushCbs(seen, i = flushIndex) {
|
|
1804
|
+
{
|
|
1805
|
+
seen = seen || new Map();
|
|
1806
|
+
}
|
|
1807
|
+
for (; i < queue.length; i++) {
|
|
1808
|
+
const cb = queue[i];
|
|
1809
|
+
if (cb && cb.pre) {
|
|
1810
|
+
if (checkRecursiveUpdates(seen, cb)) {
|
|
1820
1811
|
continue;
|
|
1821
1812
|
}
|
|
1822
|
-
|
|
1813
|
+
queue.splice(i, 1);
|
|
1814
|
+
i--;
|
|
1815
|
+
cb();
|
|
1823
1816
|
}
|
|
1824
|
-
activePreFlushCbs = null;
|
|
1825
|
-
preFlushIndex = 0;
|
|
1826
|
-
currentPreFlushParentJob = null;
|
|
1827
|
-
// recursively flush until it drains
|
|
1828
|
-
flushPreFlushCbs(seen, parentJob);
|
|
1829
1817
|
}
|
|
1830
1818
|
}
|
|
1831
1819
|
function flushPostFlushCbs(seen) {
|
|
1832
|
-
// flush any pre cbs queued during the flush (e.g. pre watchers)
|
|
1833
|
-
flushPreFlushCbs();
|
|
1834
1820
|
if (pendingPostFlushCbs.length) {
|
|
1835
1821
|
const deduped = [...new Set(pendingPostFlushCbs)];
|
|
1836
1822
|
pendingPostFlushCbs.length = 0;
|
|
@@ -1855,13 +1841,22 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1855
1841
|
}
|
|
1856
1842
|
}
|
|
1857
1843
|
const getId = (job) => job.id == null ? Infinity : job.id;
|
|
1844
|
+
const comparator = (a, b) => {
|
|
1845
|
+
const diff = getId(a) - getId(b);
|
|
1846
|
+
if (diff === 0) {
|
|
1847
|
+
if (a.pre && !b.pre)
|
|
1848
|
+
return -1;
|
|
1849
|
+
if (b.pre && !a.pre)
|
|
1850
|
+
return 1;
|
|
1851
|
+
}
|
|
1852
|
+
return diff;
|
|
1853
|
+
};
|
|
1858
1854
|
function flushJobs(seen) {
|
|
1859
1855
|
isFlushPending = false;
|
|
1860
1856
|
isFlushing = true;
|
|
1861
1857
|
{
|
|
1862
1858
|
seen = seen || new Map();
|
|
1863
1859
|
}
|
|
1864
|
-
flushPreFlushCbs(seen);
|
|
1865
1860
|
// Sort queue before flush.
|
|
1866
1861
|
// This ensures that:
|
|
1867
1862
|
// 1. Components are updated from parent to child. (because parent is always
|
|
@@ -1869,7 +1864,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1869
1864
|
// priority number)
|
|
1870
1865
|
// 2. If a component is unmounted during a parent component's update,
|
|
1871
1866
|
// its update can be skipped.
|
|
1872
|
-
queue.sort(
|
|
1867
|
+
queue.sort(comparator);
|
|
1873
1868
|
// conditional usage of checkRecursiveUpdate must be determined out of
|
|
1874
1869
|
// try ... catch block since Rollup by default de-optimizes treeshaking
|
|
1875
1870
|
// inside try-catch. This can leave all warning code unshaked. Although
|
|
@@ -1885,7 +1880,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1885
1880
|
continue;
|
|
1886
1881
|
}
|
|
1887
1882
|
// console.log(`running:`, job.id)
|
|
1888
|
-
callWithErrorHandling(job, null, 14 /* SCHEDULER */);
|
|
1883
|
+
callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);
|
|
1889
1884
|
}
|
|
1890
1885
|
}
|
|
1891
1886
|
}
|
|
@@ -1897,9 +1892,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
1897
1892
|
currentFlushPromise = null;
|
|
1898
1893
|
// some postFlushCb queued jobs!
|
|
1899
1894
|
// keep flushing until it drains.
|
|
1900
|
-
if (queue.length ||
|
|
1901
|
-
pendingPreFlushCbs.length ||
|
|
1902
|
-
pendingPostFlushCbs.length) {
|
|
1895
|
+
if (queue.length || pendingPostFlushCbs.length) {
|
|
1903
1896
|
flushJobs(seen);
|
|
1904
1897
|
}
|
|
1905
1898
|
}
|
|
@@ -2116,7 +2109,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2116
2109
|
}
|
|
2117
2110
|
}
|
|
2118
2111
|
function devtoolsInitApp(app, version) {
|
|
2119
|
-
emit("app:init" /* APP_INIT */, app, version, {
|
|
2112
|
+
emit("app:init" /* DevtoolsHooks.APP_INIT */, app, version, {
|
|
2120
2113
|
Fragment,
|
|
2121
2114
|
Text,
|
|
2122
2115
|
Comment,
|
|
@@ -2124,27 +2117,27 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2124
2117
|
});
|
|
2125
2118
|
}
|
|
2126
2119
|
function devtoolsUnmountApp(app) {
|
|
2127
|
-
emit("app:unmount" /* APP_UNMOUNT */, app);
|
|
2120
|
+
emit("app:unmount" /* DevtoolsHooks.APP_UNMOUNT */, app);
|
|
2128
2121
|
}
|
|
2129
|
-
const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* COMPONENT_ADDED */);
|
|
2122
|
+
const devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook("component:added" /* DevtoolsHooks.COMPONENT_ADDED */);
|
|
2130
2123
|
const devtoolsComponentUpdated =
|
|
2131
|
-
/*#__PURE__*/ createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */);
|
|
2124
|
+
/*#__PURE__*/ createDevtoolsComponentHook("component:updated" /* DevtoolsHooks.COMPONENT_UPDATED */);
|
|
2132
2125
|
const devtoolsComponentRemoved =
|
|
2133
|
-
/*#__PURE__*/ createDevtoolsComponentHook("component:removed" /* COMPONENT_REMOVED */);
|
|
2126
|
+
/*#__PURE__*/ createDevtoolsComponentHook("component:removed" /* DevtoolsHooks.COMPONENT_REMOVED */);
|
|
2134
2127
|
function createDevtoolsComponentHook(hook) {
|
|
2135
2128
|
return (component) => {
|
|
2136
2129
|
emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);
|
|
2137
2130
|
};
|
|
2138
2131
|
}
|
|
2139
|
-
const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* PERFORMANCE_START */);
|
|
2140
|
-
const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* PERFORMANCE_END */);
|
|
2132
|
+
const devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:start" /* DevtoolsHooks.PERFORMANCE_START */);
|
|
2133
|
+
const devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook("perf:end" /* DevtoolsHooks.PERFORMANCE_END */);
|
|
2141
2134
|
function createDevtoolsPerformanceHook(hook) {
|
|
2142
2135
|
return (component, type, time) => {
|
|
2143
2136
|
emit(hook, component.appContext.app, component.uid, component, type, time);
|
|
2144
2137
|
};
|
|
2145
2138
|
}
|
|
2146
2139
|
function devtoolsComponentEmit(component, event, params) {
|
|
2147
|
-
emit("component:emit" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);
|
|
2140
|
+
emit("component:emit" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);
|
|
2148
2141
|
}
|
|
2149
2142
|
|
|
2150
2143
|
function emit$1(instance, event, ...rawArgs) {
|
|
@@ -2209,7 +2202,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2209
2202
|
handler = props[(handlerName = toHandlerKey(hyphenate(event)))];
|
|
2210
2203
|
}
|
|
2211
2204
|
if (handler) {
|
|
2212
|
-
callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2205
|
+
callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2213
2206
|
}
|
|
2214
2207
|
const onceHandler = props[handlerName + `Once`];
|
|
2215
2208
|
if (onceHandler) {
|
|
@@ -2220,7 +2213,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2220
2213
|
return;
|
|
2221
2214
|
}
|
|
2222
2215
|
instance.emitted[handlerName] = true;
|
|
2223
|
-
callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);
|
|
2216
|
+
callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);
|
|
2224
2217
|
}
|
|
2225
2218
|
}
|
|
2226
2219
|
function normalizeEmitsOptions(comp, appContext, asMixin = false) {
|
|
@@ -2252,7 +2245,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2252
2245
|
}
|
|
2253
2246
|
}
|
|
2254
2247
|
if (!raw && !hasExtends) {
|
|
2255
|
-
|
|
2248
|
+
if (isObject(comp)) {
|
|
2249
|
+
cache.set(comp, null);
|
|
2250
|
+
}
|
|
2256
2251
|
return null;
|
|
2257
2252
|
}
|
|
2258
2253
|
if (isArray(raw)) {
|
|
@@ -2261,7 +2256,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2261
2256
|
else {
|
|
2262
2257
|
extend(normalized, raw);
|
|
2263
2258
|
}
|
|
2264
|
-
|
|
2259
|
+
if (isObject(comp)) {
|
|
2260
|
+
cache.set(comp, normalized);
|
|
2261
|
+
}
|
|
2265
2262
|
return normalized;
|
|
2266
2263
|
}
|
|
2267
2264
|
// Check if an incoming prop key is a declared emit event listener.
|
|
@@ -2380,7 +2377,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2380
2377
|
accessedAttrs = false;
|
|
2381
2378
|
}
|
|
2382
2379
|
try {
|
|
2383
|
-
if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {
|
|
2380
|
+
if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {
|
|
2384
2381
|
// withProxy is a proxy with a different `has` trap only for
|
|
2385
2382
|
// runtime-compiled render functions using `with` block.
|
|
2386
2383
|
const proxyToUse = withProxy || proxy;
|
|
@@ -2413,7 +2410,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2413
2410
|
}
|
|
2414
2411
|
catch (err) {
|
|
2415
2412
|
blockStack.length = 0;
|
|
2416
|
-
handleError(err, instance, 1 /* RENDER_FUNCTION */);
|
|
2413
|
+
handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);
|
|
2417
2414
|
result = createVNode(Comment);
|
|
2418
2415
|
}
|
|
2419
2416
|
// attr merging
|
|
@@ -2422,14 +2419,14 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2422
2419
|
let root = result;
|
|
2423
2420
|
let setRoot = undefined;
|
|
2424
2421
|
if (result.patchFlag > 0 &&
|
|
2425
|
-
result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
|
|
2422
|
+
result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {
|
|
2426
2423
|
[root, setRoot] = getChildRoot(result);
|
|
2427
2424
|
}
|
|
2428
2425
|
if (fallthroughAttrs && inheritAttrs !== false) {
|
|
2429
2426
|
const keys = Object.keys(fallthroughAttrs);
|
|
2430
2427
|
const { shapeFlag } = root;
|
|
2431
2428
|
if (keys.length) {
|
|
2432
|
-
if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {
|
|
2429
|
+
if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {
|
|
2433
2430
|
if (propsOptions && keys.some(isModelListener)) {
|
|
2434
2431
|
// If a v-model listener (onUpdate:xxx) has a corresponding declared
|
|
2435
2432
|
// prop, it indicates this component expects to handle v-model and
|
|
@@ -2570,7 +2567,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2570
2567
|
return res;
|
|
2571
2568
|
};
|
|
2572
2569
|
const isElementRoot = (vnode) => {
|
|
2573
|
-
return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||
|
|
2570
|
+
return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||
|
|
2574
2571
|
vnode.type === Comment // potential v-if branch switch
|
|
2575
2572
|
);
|
|
2576
2573
|
};
|
|
@@ -2589,19 +2586,19 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2589
2586
|
return true;
|
|
2590
2587
|
}
|
|
2591
2588
|
if (optimized && patchFlag >= 0) {
|
|
2592
|
-
if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {
|
|
2589
|
+
if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {
|
|
2593
2590
|
// slot content that references values that might have changed,
|
|
2594
2591
|
// e.g. in a v-for
|
|
2595
2592
|
return true;
|
|
2596
2593
|
}
|
|
2597
|
-
if (patchFlag & 16 /* FULL_PROPS */) {
|
|
2594
|
+
if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {
|
|
2598
2595
|
if (!prevProps) {
|
|
2599
2596
|
return !!nextProps;
|
|
2600
2597
|
}
|
|
2601
2598
|
// presence of this flag indicates props are always non-null
|
|
2602
2599
|
return hasPropsChanged(prevProps, nextProps, emits);
|
|
2603
2600
|
}
|
|
2604
|
-
else if (patchFlag & 8 /* PROPS */) {
|
|
2601
|
+
else if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
2605
2602
|
const dynamicProps = nextVNode.dynamicProps;
|
|
2606
2603
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
2607
2604
|
const key = dynamicProps[i];
|
|
@@ -2859,7 +2856,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2859
2856
|
if (delayEnter) {
|
|
2860
2857
|
activeBranch.transition.afterLeave = () => {
|
|
2861
2858
|
if (pendingId === suspense.pendingId) {
|
|
2862
|
-
move(pendingBranch, container, anchor, 0 /* ENTER */);
|
|
2859
|
+
move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);
|
|
2863
2860
|
}
|
|
2864
2861
|
};
|
|
2865
2862
|
}
|
|
@@ -2874,7 +2871,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2874
2871
|
}
|
|
2875
2872
|
if (!delayEnter) {
|
|
2876
2873
|
// move content from off-dom container to actual container
|
|
2877
|
-
move(pendingBranch, container, anchor, 0 /* ENTER */);
|
|
2874
|
+
move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);
|
|
2878
2875
|
}
|
|
2879
2876
|
}
|
|
2880
2877
|
setActiveBranch(suspense, pendingBranch);
|
|
@@ -2948,7 +2945,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
2948
2945
|
const hydratedEl = instance.vnode.el;
|
|
2949
2946
|
instance
|
|
2950
2947
|
.asyncDep.catch(err => {
|
|
2951
|
-
handleError(err, instance, 0 /* SETUP_FUNCTION */);
|
|
2948
|
+
handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);
|
|
2952
2949
|
})
|
|
2953
2950
|
.then(asyncSetupResult => {
|
|
2954
2951
|
// retry when the setup() promise resolves.
|
|
@@ -3022,7 +3019,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3022
3019
|
}
|
|
3023
3020
|
function normalizeSuspenseChildren(vnode) {
|
|
3024
3021
|
const { shapeFlag, children } = vnode;
|
|
3025
|
-
const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;
|
|
3022
|
+
const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
3026
3023
|
vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
|
|
3027
3024
|
vnode.ssFallback = isSlotChildren
|
|
3028
3025
|
? normalizeSuspenseSlot(children.fallback)
|
|
@@ -3193,7 +3190,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3193
3190
|
return traverse(s);
|
|
3194
3191
|
}
|
|
3195
3192
|
else if (isFunction(s)) {
|
|
3196
|
-
return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);
|
|
3193
|
+
return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);
|
|
3197
3194
|
}
|
|
3198
3195
|
else {
|
|
3199
3196
|
warnInvalidSource(s);
|
|
@@ -3203,7 +3200,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3203
3200
|
else if (isFunction(source)) {
|
|
3204
3201
|
if (cb) {
|
|
3205
3202
|
// getter with cb
|
|
3206
|
-
getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);
|
|
3203
|
+
getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);
|
|
3207
3204
|
}
|
|
3208
3205
|
else {
|
|
3209
3206
|
// no cb -> simple effect
|
|
@@ -3214,7 +3211,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3214
3211
|
if (cleanup) {
|
|
3215
3212
|
cleanup();
|
|
3216
3213
|
}
|
|
3217
|
-
return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);
|
|
3214
|
+
return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);
|
|
3218
3215
|
};
|
|
3219
3216
|
}
|
|
3220
3217
|
}
|
|
@@ -3229,7 +3226,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3229
3226
|
let cleanup;
|
|
3230
3227
|
let onCleanup = (fn) => {
|
|
3231
3228
|
cleanup = effect.onStop = () => {
|
|
3232
|
-
callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);
|
|
3229
|
+
callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);
|
|
3233
3230
|
};
|
|
3234
3231
|
};
|
|
3235
3232
|
let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
|
|
@@ -3250,7 +3247,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3250
3247
|
if (cleanup) {
|
|
3251
3248
|
cleanup();
|
|
3252
3249
|
}
|
|
3253
|
-
callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [
|
|
3250
|
+
callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [
|
|
3254
3251
|
newValue,
|
|
3255
3252
|
// pass undefined as the old value when it's changed for the first time
|
|
3256
3253
|
oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,
|
|
@@ -3276,7 +3273,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3276
3273
|
}
|
|
3277
3274
|
else {
|
|
3278
3275
|
// default: 'pre'
|
|
3279
|
-
|
|
3276
|
+
job.pre = true;
|
|
3277
|
+
if (instance)
|
|
3278
|
+
job.id = instance.uid;
|
|
3279
|
+
scheduler = () => queueJob(job);
|
|
3280
3280
|
}
|
|
3281
3281
|
const effect = new ReactiveEffect(getter, scheduler);
|
|
3282
3282
|
{
|
|
@@ -3343,7 +3343,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3343
3343
|
};
|
|
3344
3344
|
}
|
|
3345
3345
|
function traverse(value, seen) {
|
|
3346
|
-
if (!isObject(value) || value["__v_skip" /* SKIP */]) {
|
|
3346
|
+
if (!isObject(value) || value["__v_skip" /* ReactiveFlags.SKIP */]) {
|
|
3347
3347
|
return value;
|
|
3348
3348
|
}
|
|
3349
3349
|
seen = seen || new Set();
|
|
@@ -3527,7 +3527,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3527
3527
|
const leavingVNodesCache = getLeavingNodesForType(state, vnode);
|
|
3528
3528
|
const callHook = (hook, args) => {
|
|
3529
3529
|
hook &&
|
|
3530
|
-
callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);
|
|
3530
|
+
callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);
|
|
3531
3531
|
};
|
|
3532
3532
|
const callAsyncHook = (hook, args) => {
|
|
3533
3533
|
const done = args[1];
|
|
@@ -3663,10 +3663,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3663
3663
|
: vnode;
|
|
3664
3664
|
}
|
|
3665
3665
|
function setTransitionHooks(vnode, hooks) {
|
|
3666
|
-
if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {
|
|
3666
|
+
if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {
|
|
3667
3667
|
setTransitionHooks(vnode.component.subTree, hooks);
|
|
3668
3668
|
}
|
|
3669
|
-
else if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
3669
|
+
else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
3670
3670
|
vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
3671
3671
|
vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
3672
3672
|
}
|
|
@@ -3685,7 +3685,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3685
3685
|
: String(parentKey) + String(child.key != null ? child.key : i);
|
|
3686
3686
|
// handle fragment children case, e.g. v-for
|
|
3687
3687
|
if (child.type === Fragment) {
|
|
3688
|
-
if (child.patchFlag & 128 /* KEYED_FRAGMENT */)
|
|
3688
|
+
if (child.patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */)
|
|
3689
3689
|
keyedFragmentCount++;
|
|
3690
3690
|
ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));
|
|
3691
3691
|
}
|
|
@@ -3700,7 +3700,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3700
3700
|
// these children to force full diffs to ensure correct behavior.
|
|
3701
3701
|
if (keyedFragmentCount > 1) {
|
|
3702
3702
|
for (let i = 0; i < ret.length; i++) {
|
|
3703
|
-
ret[i].patchFlag = -2 /* BAIL */;
|
|
3703
|
+
ret[i].patchFlag = -2 /* PatchFlags.BAIL */;
|
|
3704
3704
|
}
|
|
3705
3705
|
}
|
|
3706
3706
|
return ret;
|
|
@@ -3778,7 +3778,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3778
3778
|
}
|
|
3779
3779
|
const onError = (err) => {
|
|
3780
3780
|
pendingRequest = null;
|
|
3781
|
-
handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);
|
|
3781
|
+
handleError(err, instance, 13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);
|
|
3782
3782
|
};
|
|
3783
3783
|
// suspense-controlled or SSR.
|
|
3784
3784
|
if ((suspensible && instance.suspense) ||
|
|
@@ -3880,7 +3880,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3880
3880
|
const storageContainer = createElement('div');
|
|
3881
3881
|
sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
|
|
3882
3882
|
const instance = vnode.component;
|
|
3883
|
-
move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);
|
|
3883
|
+
move(vnode, container, anchor, 0 /* MoveType.ENTER */, parentSuspense);
|
|
3884
3884
|
// in case props have changed
|
|
3885
3885
|
patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);
|
|
3886
3886
|
queuePostRenderEffect(() => {
|
|
@@ -3900,7 +3900,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3900
3900
|
};
|
|
3901
3901
|
sharedContext.deactivate = (vnode) => {
|
|
3902
3902
|
const instance = vnode.component;
|
|
3903
|
-
move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);
|
|
3903
|
+
move(vnode, storageContainer, null, 1 /* MoveType.LEAVE */, parentSuspense);
|
|
3904
3904
|
queuePostRenderEffect(() => {
|
|
3905
3905
|
if (instance.da) {
|
|
3906
3906
|
invokeArrayFns(instance.da);
|
|
@@ -3989,8 +3989,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
3989
3989
|
return children;
|
|
3990
3990
|
}
|
|
3991
3991
|
else if (!isVNode(rawVNode) ||
|
|
3992
|
-
(!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&
|
|
3993
|
-
!(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {
|
|
3992
|
+
(!(rawVNode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) &&
|
|
3993
|
+
!(rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */))) {
|
|
3994
3994
|
current = null;
|
|
3995
3995
|
return rawVNode;
|
|
3996
3996
|
}
|
|
@@ -4012,7 +4012,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4012
4012
|
// clone vnode if it's reused because we are going to mutate it
|
|
4013
4013
|
if (vnode.el) {
|
|
4014
4014
|
vnode = cloneVNode(vnode);
|
|
4015
|
-
if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {
|
|
4015
|
+
if (rawVNode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
4016
4016
|
rawVNode.ssContent = vnode;
|
|
4017
4017
|
}
|
|
4018
4018
|
}
|
|
@@ -4031,7 +4031,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4031
4031
|
setTransitionHooks(vnode, vnode.transition);
|
|
4032
4032
|
}
|
|
4033
4033
|
// avoid vnode being mounted as fresh
|
|
4034
|
-
vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;
|
|
4034
|
+
vnode.shapeFlag |= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
|
|
4035
4035
|
// make this key the freshest
|
|
4036
4036
|
keys.delete(key);
|
|
4037
4037
|
keys.add(key);
|
|
@@ -4044,7 +4044,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4044
4044
|
}
|
|
4045
4045
|
}
|
|
4046
4046
|
// avoid vnode being unmounted
|
|
4047
|
-
vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4047
|
+
vnode.shapeFlag |= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4048
4048
|
current = vnode;
|
|
4049
4049
|
return isSuspense(rawVNode.type) ? rawVNode : vnode;
|
|
4050
4050
|
};
|
|
@@ -4067,10 +4067,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4067
4067
|
return false;
|
|
4068
4068
|
}
|
|
4069
4069
|
function onActivated(hook, target) {
|
|
4070
|
-
registerKeepAliveHook(hook, "a" /* ACTIVATED */, target);
|
|
4070
|
+
registerKeepAliveHook(hook, "a" /* LifecycleHooks.ACTIVATED */, target);
|
|
4071
4071
|
}
|
|
4072
4072
|
function onDeactivated(hook, target) {
|
|
4073
|
-
registerKeepAliveHook(hook, "da" /* DEACTIVATED */, target);
|
|
4073
|
+
registerKeepAliveHook(hook, "da" /* LifecycleHooks.DEACTIVATED */, target);
|
|
4074
4074
|
}
|
|
4075
4075
|
function registerKeepAliveHook(hook, type, target = currentInstance) {
|
|
4076
4076
|
// cache the deactivate branch check wrapper for injected hooks so the same
|
|
@@ -4114,16 +4114,16 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4114
4114
|
}
|
|
4115
4115
|
function resetShapeFlag(vnode) {
|
|
4116
4116
|
let shapeFlag = vnode.shapeFlag;
|
|
4117
|
-
if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
4118
|
-
shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4117
|
+
if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
4118
|
+
shapeFlag -= 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */;
|
|
4119
4119
|
}
|
|
4120
|
-
if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
|
|
4121
|
-
shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;
|
|
4120
|
+
if (shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {
|
|
4121
|
+
shapeFlag -= 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */;
|
|
4122
4122
|
}
|
|
4123
4123
|
vnode.shapeFlag = shapeFlag;
|
|
4124
4124
|
}
|
|
4125
4125
|
function getInnerChild(vnode) {
|
|
4126
|
-
return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;
|
|
4126
|
+
return vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */ ? vnode.ssContent : vnode;
|
|
4127
4127
|
}
|
|
4128
4128
|
|
|
4129
4129
|
function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
@@ -4169,19 +4169,19 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4169
4169
|
}
|
|
4170
4170
|
const createHook = (lifecycle) => (hook, target = currentInstance) =>
|
|
4171
4171
|
// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
|
|
4172
|
-
(!isInSSRComponentSetup || lifecycle === "sp" /* SERVER_PREFETCH */) &&
|
|
4172
|
+
(!isInSSRComponentSetup || lifecycle === "sp" /* LifecycleHooks.SERVER_PREFETCH */) &&
|
|
4173
4173
|
injectHook(lifecycle, hook, target);
|
|
4174
|
-
const onBeforeMount = createHook("bm" /* BEFORE_MOUNT */);
|
|
4175
|
-
const onMounted = createHook("m" /* MOUNTED */);
|
|
4176
|
-
const onBeforeUpdate = createHook("bu" /* BEFORE_UPDATE */);
|
|
4177
|
-
const onUpdated = createHook("u" /* UPDATED */);
|
|
4178
|
-
const onBeforeUnmount = createHook("bum" /* BEFORE_UNMOUNT */);
|
|
4179
|
-
const onUnmounted = createHook("um" /* UNMOUNTED */);
|
|
4180
|
-
const onServerPrefetch = createHook("sp" /* SERVER_PREFETCH */);
|
|
4181
|
-
const onRenderTriggered = createHook("rtg" /* RENDER_TRIGGERED */);
|
|
4182
|
-
const onRenderTracked = createHook("rtc" /* RENDER_TRACKED */);
|
|
4174
|
+
const onBeforeMount = createHook("bm" /* LifecycleHooks.BEFORE_MOUNT */);
|
|
4175
|
+
const onMounted = createHook("m" /* LifecycleHooks.MOUNTED */);
|
|
4176
|
+
const onBeforeUpdate = createHook("bu" /* LifecycleHooks.BEFORE_UPDATE */);
|
|
4177
|
+
const onUpdated = createHook("u" /* LifecycleHooks.UPDATED */);
|
|
4178
|
+
const onBeforeUnmount = createHook("bum" /* LifecycleHooks.BEFORE_UNMOUNT */);
|
|
4179
|
+
const onUnmounted = createHook("um" /* LifecycleHooks.UNMOUNTED */);
|
|
4180
|
+
const onServerPrefetch = createHook("sp" /* LifecycleHooks.SERVER_PREFETCH */);
|
|
4181
|
+
const onRenderTriggered = createHook("rtg" /* LifecycleHooks.RENDER_TRIGGERED */);
|
|
4182
|
+
const onRenderTracked = createHook("rtc" /* LifecycleHooks.RENDER_TRACKED */);
|
|
4183
4183
|
function onErrorCaptured(hook, target = currentInstance) {
|
|
4184
|
-
injectHook("ec" /* ERROR_CAPTURED */, hook, target);
|
|
4184
|
+
injectHook("ec" /* LifecycleHooks.ERROR_CAPTURED */, hook, target);
|
|
4185
4185
|
}
|
|
4186
4186
|
|
|
4187
4187
|
/**
|
|
@@ -4248,7 +4248,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4248
4248
|
// disable tracking inside all lifecycle hooks
|
|
4249
4249
|
// since they can potentially be called inside effects.
|
|
4250
4250
|
pauseTracking();
|
|
4251
|
-
callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [
|
|
4251
|
+
callWithAsyncErrorHandling(hook, instance, 8 /* ErrorCodes.DIRECTIVE_HOOK */, [
|
|
4252
4252
|
vnode.el,
|
|
4253
4253
|
binding,
|
|
4254
4254
|
vnode,
|
|
@@ -4293,7 +4293,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4293
4293
|
const Component = instance.type;
|
|
4294
4294
|
// explicit self name has highest priority
|
|
4295
4295
|
if (type === COMPONENTS) {
|
|
4296
|
-
const selfName = getComponentName(Component);
|
|
4296
|
+
const selfName = getComponentName(Component, false /* do not include inferred name to avoid breaking existing code */);
|
|
4297
4297
|
if (selfName &&
|
|
4298
4298
|
(selfName === name ||
|
|
4299
4299
|
selfName === camelize(name) ||
|
|
@@ -4390,7 +4390,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4390
4390
|
}
|
|
4391
4391
|
else if (slot) {
|
|
4392
4392
|
// conditional single slot generated by <template v-if="..." #foo>
|
|
4393
|
-
slots[slot.name] = slot.
|
|
4393
|
+
slots[slot.name] = slot.key
|
|
4394
|
+
? (...args) => {
|
|
4395
|
+
const res = slot.fn(...args);
|
|
4396
|
+
res.key = slot.key;
|
|
4397
|
+
return res;
|
|
4398
|
+
}
|
|
4399
|
+
: slot.fn;
|
|
4394
4400
|
}
|
|
4395
4401
|
}
|
|
4396
4402
|
return slots;
|
|
@@ -4426,9 +4432,15 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4426
4432
|
}
|
|
4427
4433
|
openBlock();
|
|
4428
4434
|
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
4429
|
-
const rendered = createBlock(Fragment, {
|
|
4430
|
-
|
|
4431
|
-
|
|
4435
|
+
const rendered = createBlock(Fragment, {
|
|
4436
|
+
key: props.key ||
|
|
4437
|
+
// slot content array of a dynamic conditional slot may have a branch
|
|
4438
|
+
// key attached in the `createSlots` helper, respect that
|
|
4439
|
+
(validSlotContent && validSlotContent.key) ||
|
|
4440
|
+
`_${name}`
|
|
4441
|
+
}, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* SlotFlags.STABLE */
|
|
4442
|
+
? 64 /* PatchFlags.STABLE_FRAGMENT */
|
|
4443
|
+
: -2 /* PatchFlags.BAIL */);
|
|
4432
4444
|
if (!noSlotted && rendered.scopeId) {
|
|
4433
4445
|
rendered.slotScopeIds = [rendered.scopeId + '-s'];
|
|
4434
4446
|
}
|
|
@@ -4456,14 +4468,16 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4456
4468
|
* For prefixing keys in v-on="obj" with "on"
|
|
4457
4469
|
* @private
|
|
4458
4470
|
*/
|
|
4459
|
-
function toHandlers(obj) {
|
|
4471
|
+
function toHandlers(obj, preserveCaseIfNecessary) {
|
|
4460
4472
|
const ret = {};
|
|
4461
4473
|
if (!isObject(obj)) {
|
|
4462
4474
|
warn$1(`v-on with no argument expects an object value.`);
|
|
4463
4475
|
return ret;
|
|
4464
4476
|
}
|
|
4465
4477
|
for (const key in obj) {
|
|
4466
|
-
ret[
|
|
4478
|
+
ret[preserveCaseIfNecessary && /[A-Z]/.test(key)
|
|
4479
|
+
? `on:${key}`
|
|
4480
|
+
: toHandlerKey(key)] = obj[key];
|
|
4467
4481
|
}
|
|
4468
4482
|
return ret;
|
|
4469
4483
|
}
|
|
@@ -4527,23 +4541,23 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4527
4541
|
const n = accessCache[key];
|
|
4528
4542
|
if (n !== undefined) {
|
|
4529
4543
|
switch (n) {
|
|
4530
|
-
case 1 /* SETUP */:
|
|
4544
|
+
case 1 /* AccessTypes.SETUP */:
|
|
4531
4545
|
return setupState[key];
|
|
4532
|
-
case 2 /* DATA */:
|
|
4546
|
+
case 2 /* AccessTypes.DATA */:
|
|
4533
4547
|
return data[key];
|
|
4534
|
-
case 4 /* CONTEXT */:
|
|
4548
|
+
case 4 /* AccessTypes.CONTEXT */:
|
|
4535
4549
|
return ctx[key];
|
|
4536
|
-
case 3 /* PROPS */:
|
|
4550
|
+
case 3 /* AccessTypes.PROPS */:
|
|
4537
4551
|
return props[key];
|
|
4538
4552
|
// default: just fallthrough
|
|
4539
4553
|
}
|
|
4540
4554
|
}
|
|
4541
4555
|
else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
|
|
4542
|
-
accessCache[key] = 1 /* SETUP */;
|
|
4556
|
+
accessCache[key] = 1 /* AccessTypes.SETUP */;
|
|
4543
4557
|
return setupState[key];
|
|
4544
4558
|
}
|
|
4545
4559
|
else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
|
|
4546
|
-
accessCache[key] = 2 /* DATA */;
|
|
4560
|
+
accessCache[key] = 2 /* AccessTypes.DATA */;
|
|
4547
4561
|
return data[key];
|
|
4548
4562
|
}
|
|
4549
4563
|
else if (
|
|
@@ -4551,15 +4565,15 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4551
4565
|
// props
|
|
4552
4566
|
(normalizedProps = instance.propsOptions[0]) &&
|
|
4553
4567
|
hasOwn(normalizedProps, key)) {
|
|
4554
|
-
accessCache[key] = 3 /* PROPS */;
|
|
4568
|
+
accessCache[key] = 3 /* AccessTypes.PROPS */;
|
|
4555
4569
|
return props[key];
|
|
4556
4570
|
}
|
|
4557
4571
|
else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
|
|
4558
|
-
accessCache[key] = 4 /* CONTEXT */;
|
|
4572
|
+
accessCache[key] = 4 /* AccessTypes.CONTEXT */;
|
|
4559
4573
|
return ctx[key];
|
|
4560
4574
|
}
|
|
4561
4575
|
else if (shouldCacheAccess) {
|
|
4562
|
-
accessCache[key] = 0 /* OTHER */;
|
|
4576
|
+
accessCache[key] = 0 /* AccessTypes.OTHER */;
|
|
4563
4577
|
}
|
|
4564
4578
|
}
|
|
4565
4579
|
const publicGetter = publicPropertiesMap[key];
|
|
@@ -4567,7 +4581,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4567
4581
|
// public $xxx properties
|
|
4568
4582
|
if (publicGetter) {
|
|
4569
4583
|
if (key === '$attrs') {
|
|
4570
|
-
track(instance, "get" /* GET */, key);
|
|
4584
|
+
track(instance, "get" /* TrackOpTypes.GET */, key);
|
|
4571
4585
|
markAttrsAccessed();
|
|
4572
4586
|
}
|
|
4573
4587
|
return publicGetter(instance);
|
|
@@ -4580,7 +4594,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4580
4594
|
}
|
|
4581
4595
|
else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
|
|
4582
4596
|
// user may set custom properties to `this` that start with `$`
|
|
4583
|
-
accessCache[key] = 4 /* CONTEXT */;
|
|
4597
|
+
accessCache[key] = 4 /* AccessTypes.CONTEXT */;
|
|
4584
4598
|
return ctx[key];
|
|
4585
4599
|
}
|
|
4586
4600
|
else if (
|
|
@@ -4763,7 +4777,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4763
4777
|
// call beforeCreate first before accessing other options since
|
|
4764
4778
|
// the hook may mutate resolved options (#2791)
|
|
4765
4779
|
if (options.beforeCreate) {
|
|
4766
|
-
callHook(options.beforeCreate, instance, "bc" /* BEFORE_CREATE */);
|
|
4780
|
+
callHook(options.beforeCreate, instance, "bc" /* LifecycleHooks.BEFORE_CREATE */);
|
|
4767
4781
|
}
|
|
4768
4782
|
const {
|
|
4769
4783
|
// state
|
|
@@ -4779,7 +4793,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4779
4793
|
const [propsOptions] = instance.propsOptions;
|
|
4780
4794
|
if (propsOptions) {
|
|
4781
4795
|
for (const key in propsOptions) {
|
|
4782
|
-
checkDuplicateProperties("Props" /* PROPS */, key);
|
|
4796
|
+
checkDuplicateProperties("Props" /* OptionTypes.PROPS */, key);
|
|
4783
4797
|
}
|
|
4784
4798
|
}
|
|
4785
4799
|
}
|
|
@@ -4809,7 +4823,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4809
4823
|
});
|
|
4810
4824
|
}
|
|
4811
4825
|
{
|
|
4812
|
-
checkDuplicateProperties("Methods" /* METHODS */, key);
|
|
4826
|
+
checkDuplicateProperties("Methods" /* OptionTypes.METHODS */, key);
|
|
4813
4827
|
}
|
|
4814
4828
|
}
|
|
4815
4829
|
else {
|
|
@@ -4836,7 +4850,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4836
4850
|
instance.data = reactive(data);
|
|
4837
4851
|
{
|
|
4838
4852
|
for (const key in data) {
|
|
4839
|
-
checkDuplicateProperties("Data" /* DATA */, key);
|
|
4853
|
+
checkDuplicateProperties("Data" /* OptionTypes.DATA */, key);
|
|
4840
4854
|
// expose data on ctx during dev
|
|
4841
4855
|
if (!isReservedPrefix(key[0])) {
|
|
4842
4856
|
Object.defineProperty(ctx, key, {
|
|
@@ -4880,7 +4894,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4880
4894
|
set: v => (c.value = v)
|
|
4881
4895
|
});
|
|
4882
4896
|
{
|
|
4883
|
-
checkDuplicateProperties("Computed" /* COMPUTED */, key);
|
|
4897
|
+
checkDuplicateProperties("Computed" /* OptionTypes.COMPUTED */, key);
|
|
4884
4898
|
}
|
|
4885
4899
|
}
|
|
4886
4900
|
}
|
|
@@ -4898,7 +4912,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4898
4912
|
});
|
|
4899
4913
|
}
|
|
4900
4914
|
if (created) {
|
|
4901
|
-
callHook(created, instance, "c" /* CREATED */);
|
|
4915
|
+
callHook(created, instance, "c" /* LifecycleHooks.CREATED */);
|
|
4902
4916
|
}
|
|
4903
4917
|
function registerLifecycleHook(register, hook) {
|
|
4904
4918
|
if (isArray(hook)) {
|
|
@@ -4991,7 +5005,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
4991
5005
|
ctx[key] = injected;
|
|
4992
5006
|
}
|
|
4993
5007
|
{
|
|
4994
|
-
checkDuplicateProperties("Inject" /* INJECT */, key);
|
|
5008
|
+
checkDuplicateProperties("Inject" /* OptionTypes.INJECT */, key);
|
|
4995
5009
|
}
|
|
4996
5010
|
}
|
|
4997
5011
|
}
|
|
@@ -5062,7 +5076,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5062
5076
|
}
|
|
5063
5077
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
5064
5078
|
}
|
|
5065
|
-
|
|
5079
|
+
if (isObject(base)) {
|
|
5080
|
+
cache.set(base, resolved);
|
|
5081
|
+
}
|
|
5066
5082
|
return resolved;
|
|
5067
5083
|
}
|
|
5068
5084
|
function mergeOptions(to, from, strats, asMixin = false) {
|
|
@@ -5191,6 +5207,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5191
5207
|
}
|
|
5192
5208
|
instance.attrs = attrs;
|
|
5193
5209
|
}
|
|
5210
|
+
function isInHmrContext(instance) {
|
|
5211
|
+
while (instance) {
|
|
5212
|
+
if (instance.type.__hmrId)
|
|
5213
|
+
return true;
|
|
5214
|
+
instance = instance.parent;
|
|
5215
|
+
}
|
|
5216
|
+
}
|
|
5194
5217
|
function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
5195
5218
|
const { props, attrs, vnode: { patchFlag } } = instance;
|
|
5196
5219
|
const rawCurrentProps = toRaw(props);
|
|
@@ -5200,11 +5223,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5200
5223
|
// always force full diff in dev
|
|
5201
5224
|
// - #1942 if hmr is enabled with sfc component
|
|
5202
5225
|
// - vite#872 non-sfc component used by sfc component
|
|
5203
|
-
!((instance
|
|
5204
|
-
(instance.parent && instance.parent.type.__hmrId))) &&
|
|
5226
|
+
!(isInHmrContext(instance)) &&
|
|
5205
5227
|
(optimized || patchFlag > 0) &&
|
|
5206
|
-
!(patchFlag & 16 /* FULL_PROPS */)) {
|
|
5207
|
-
if (patchFlag & 8 /* PROPS */) {
|
|
5228
|
+
!(patchFlag & 16 /* PatchFlags.FULL_PROPS */)) {
|
|
5229
|
+
if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
5208
5230
|
// Compiler-generated props & no keys change, just set the updated
|
|
5209
5231
|
// the props.
|
|
5210
5232
|
const propsToUpdate = instance.vnode.dynamicProps;
|
|
@@ -5283,7 +5305,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5283
5305
|
}
|
|
5284
5306
|
// trigger updates for $attrs in case it's used in component slots
|
|
5285
5307
|
if (hasAttrsChanged) {
|
|
5286
|
-
trigger(instance, "set" /* SET */, '$attrs');
|
|
5308
|
+
trigger(instance, "set" /* TriggerOpTypes.SET */, '$attrs');
|
|
5287
5309
|
}
|
|
5288
5310
|
{
|
|
5289
5311
|
validateProps(rawProps || {}, props, instance);
|
|
@@ -5352,11 +5374,11 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5352
5374
|
}
|
|
5353
5375
|
}
|
|
5354
5376
|
// boolean casting
|
|
5355
|
-
if (opt[0 /* shouldCast */]) {
|
|
5377
|
+
if (opt[0 /* BooleanFlags.shouldCast */]) {
|
|
5356
5378
|
if (isAbsent && !hasDefault) {
|
|
5357
5379
|
value = false;
|
|
5358
5380
|
}
|
|
5359
|
-
else if (opt[1 /* shouldCastTrue */] &&
|
|
5381
|
+
else if (opt[1 /* BooleanFlags.shouldCastTrue */] &&
|
|
5360
5382
|
(value === '' || value === hyphenate(key))) {
|
|
5361
5383
|
value = true;
|
|
5362
5384
|
}
|
|
@@ -5394,7 +5416,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5394
5416
|
}
|
|
5395
5417
|
}
|
|
5396
5418
|
if (!raw && !hasExtends) {
|
|
5397
|
-
|
|
5419
|
+
if (isObject(comp)) {
|
|
5420
|
+
cache.set(comp, EMPTY_ARR);
|
|
5421
|
+
}
|
|
5398
5422
|
return EMPTY_ARR;
|
|
5399
5423
|
}
|
|
5400
5424
|
if (isArray(raw)) {
|
|
@@ -5421,8 +5445,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5421
5445
|
if (prop) {
|
|
5422
5446
|
const booleanIndex = getTypeIndex(Boolean, prop.type);
|
|
5423
5447
|
const stringIndex = getTypeIndex(String, prop.type);
|
|
5424
|
-
prop[0 /* shouldCast */] = booleanIndex > -1;
|
|
5425
|
-
prop[1 /* shouldCastTrue */] =
|
|
5448
|
+
prop[0 /* BooleanFlags.shouldCast */] = booleanIndex > -1;
|
|
5449
|
+
prop[1 /* BooleanFlags.shouldCastTrue */] =
|
|
5426
5450
|
stringIndex < 0 || booleanIndex < stringIndex;
|
|
5427
5451
|
// if the prop needs boolean casting or default value
|
|
5428
5452
|
if (booleanIndex > -1 || hasOwn(prop, 'default')) {
|
|
@@ -5433,7 +5457,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5433
5457
|
}
|
|
5434
5458
|
}
|
|
5435
5459
|
const res = [normalized, needCastKeys];
|
|
5436
|
-
|
|
5460
|
+
if (isObject(comp)) {
|
|
5461
|
+
cache.set(comp, res);
|
|
5462
|
+
}
|
|
5437
5463
|
return res;
|
|
5438
5464
|
}
|
|
5439
5465
|
function validatePropName(key) {
|
|
@@ -5643,7 +5669,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5643
5669
|
instance.slots.default = () => normalized;
|
|
5644
5670
|
};
|
|
5645
5671
|
const initSlots = (instance, children) => {
|
|
5646
|
-
if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
|
|
5672
|
+
if (instance.vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {
|
|
5647
5673
|
const type = children._;
|
|
5648
5674
|
if (type) {
|
|
5649
5675
|
// users can get the shallow readonly version of the slots object through `this.$slots`,
|
|
@@ -5668,7 +5694,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5668
5694
|
const { vnode, slots } = instance;
|
|
5669
5695
|
let needDeletionCheck = true;
|
|
5670
5696
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
5671
|
-
if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {
|
|
5697
|
+
if (vnode.shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */) {
|
|
5672
5698
|
const type = children._;
|
|
5673
5699
|
if (type) {
|
|
5674
5700
|
// compiled slots.
|
|
@@ -5677,7 +5703,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5677
5703
|
// force update slots and mark instance for hmr as well
|
|
5678
5704
|
extend(slots, children);
|
|
5679
5705
|
}
|
|
5680
|
-
else if (optimized && type === 1 /* STABLE */) {
|
|
5706
|
+
else if (optimized && type === 1 /* SlotFlags.STABLE */) {
|
|
5681
5707
|
// compiled AND stable.
|
|
5682
5708
|
// no need to update, and skip stale slots removal.
|
|
5683
5709
|
needDeletionCheck = false;
|
|
@@ -5690,7 +5716,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5690
5716
|
// when rendering the optimized slots by manually written render function,
|
|
5691
5717
|
// we need to delete the `slots._` flag if necessary to make subsequent updates reliable,
|
|
5692
5718
|
// i.e. let the `renderSlot` create the bailed Fragment
|
|
5693
|
-
if (!optimized && type === 1 /* STABLE */) {
|
|
5719
|
+
if (!optimized && type === 1 /* SlotFlags.STABLE */) {
|
|
5694
5720
|
delete slots._;
|
|
5695
5721
|
}
|
|
5696
5722
|
}
|
|
@@ -5901,7 +5927,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5901
5927
|
// because the template ref is forwarded to inner component
|
|
5902
5928
|
return;
|
|
5903
5929
|
}
|
|
5904
|
-
const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */
|
|
5930
|
+
const refValue = vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */
|
|
5905
5931
|
? getExposeProxy(vnode.component) || vnode.component.proxy
|
|
5906
5932
|
: vnode.el;
|
|
5907
5933
|
const value = isUnmount ? null : refValue;
|
|
@@ -5927,7 +5953,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5927
5953
|
}
|
|
5928
5954
|
}
|
|
5929
5955
|
if (isFunction(ref)) {
|
|
5930
|
-
callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);
|
|
5956
|
+
callWithErrorHandling(ref, owner, 12 /* ErrorCodes.FUNCTION_REF */, [value, refs]);
|
|
5931
5957
|
}
|
|
5932
5958
|
else {
|
|
5933
5959
|
const _isString = isString(ref);
|
|
@@ -5964,7 +5990,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5964
5990
|
setupState[ref] = value;
|
|
5965
5991
|
}
|
|
5966
5992
|
}
|
|
5967
|
-
else if (
|
|
5993
|
+
else if (_isRef) {
|
|
5968
5994
|
ref.value = value;
|
|
5969
5995
|
if (rawRef.k)
|
|
5970
5996
|
refs[rawRef.k] = value;
|
|
@@ -5989,7 +6015,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
5989
6015
|
|
|
5990
6016
|
let hasMismatch = false;
|
|
5991
6017
|
const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';
|
|
5992
|
-
const isComment = (node) => node.nodeType === 8 /* COMMENT */;
|
|
6018
|
+
const isComment = (node) => node.nodeType === 8 /* DOMNodeTypes.COMMENT */;
|
|
5993
6019
|
// Note: hydration is DOM-specific
|
|
5994
6020
|
// But we have to place it in core due to tight coupling with core - splitting
|
|
5995
6021
|
// it out creates a ton of unnecessary complexity.
|
|
@@ -6003,11 +6029,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6003
6029
|
`Performing full mount instead.`);
|
|
6004
6030
|
patch(null, vnode, container);
|
|
6005
6031
|
flushPostFlushCbs();
|
|
6032
|
+
container._vnode = vnode;
|
|
6006
6033
|
return;
|
|
6007
6034
|
}
|
|
6008
6035
|
hasMismatch = false;
|
|
6009
6036
|
hydrateNode(container.firstChild, vnode, null, null, null);
|
|
6010
6037
|
flushPostFlushCbs();
|
|
6038
|
+
container._vnode = vnode;
|
|
6011
6039
|
if (hasMismatch && !false) {
|
|
6012
6040
|
// this error should show up in production
|
|
6013
6041
|
console.error(`Hydration completed but contains mismatches.`);
|
|
@@ -6019,14 +6047,14 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6019
6047
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
6020
6048
|
const domType = node.nodeType;
|
|
6021
6049
|
vnode.el = node;
|
|
6022
|
-
if (patchFlag === -2 /* BAIL */) {
|
|
6050
|
+
if (patchFlag === -2 /* PatchFlags.BAIL */) {
|
|
6023
6051
|
optimized = false;
|
|
6024
6052
|
vnode.dynamicChildren = null;
|
|
6025
6053
|
}
|
|
6026
6054
|
let nextNode = null;
|
|
6027
6055
|
switch (type) {
|
|
6028
6056
|
case Text:
|
|
6029
|
-
if (domType !== 3 /* TEXT */) {
|
|
6057
|
+
if (domType !== 3 /* DOMNodeTypes.TEXT */) {
|
|
6030
6058
|
// #5728 empty text node inside a slot can cause hydration failure
|
|
6031
6059
|
// because the server rendered HTML won't contain a text node
|
|
6032
6060
|
if (vnode.children === '') {
|
|
@@ -6049,7 +6077,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6049
6077
|
}
|
|
6050
6078
|
break;
|
|
6051
6079
|
case Comment:
|
|
6052
|
-
if (domType !== 8 /* COMMENT */ || isFragmentStart) {
|
|
6080
|
+
if (domType !== 8 /* DOMNodeTypes.COMMENT */ || isFragmentStart) {
|
|
6053
6081
|
nextNode = onMismatch();
|
|
6054
6082
|
}
|
|
6055
6083
|
else {
|
|
@@ -6057,7 +6085,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6057
6085
|
}
|
|
6058
6086
|
break;
|
|
6059
6087
|
case Static:
|
|
6060
|
-
if (domType !== 1 /* ELEMENT */) {
|
|
6088
|
+
if (domType !== 1 /* DOMNodeTypes.ELEMENT */ && domType !== 3 /* DOMNodeTypes.TEXT */) {
|
|
6061
6089
|
nextNode = onMismatch();
|
|
6062
6090
|
}
|
|
6063
6091
|
else {
|
|
@@ -6068,7 +6096,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6068
6096
|
const needToAdoptContent = !vnode.children.length;
|
|
6069
6097
|
for (let i = 0; i < vnode.staticCount; i++) {
|
|
6070
6098
|
if (needToAdoptContent)
|
|
6071
|
-
vnode.children +=
|
|
6099
|
+
vnode.children +=
|
|
6100
|
+
nextNode.nodeType === 1 /* DOMNodeTypes.ELEMENT */
|
|
6101
|
+
? nextNode.outerHTML
|
|
6102
|
+
: nextNode.data;
|
|
6072
6103
|
if (i === vnode.staticCount - 1) {
|
|
6073
6104
|
vnode.anchor = nextNode;
|
|
6074
6105
|
}
|
|
@@ -6086,8 +6117,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6086
6117
|
}
|
|
6087
6118
|
break;
|
|
6088
6119
|
default:
|
|
6089
|
-
if (shapeFlag & 1 /* ELEMENT */) {
|
|
6090
|
-
if (domType !== 1 /* ELEMENT */ ||
|
|
6120
|
+
if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {
|
|
6121
|
+
if (domType !== 1 /* DOMNodeTypes.ELEMENT */ ||
|
|
6091
6122
|
vnode.type.toLowerCase() !==
|
|
6092
6123
|
node.tagName.toLowerCase()) {
|
|
6093
6124
|
nextNode = onMismatch();
|
|
@@ -6096,7 +6127,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6096
6127
|
nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
6097
6128
|
}
|
|
6098
6129
|
}
|
|
6099
|
-
else if (shapeFlag & 6 /* COMPONENT */) {
|
|
6130
|
+
else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
6100
6131
|
// when setting up the render effect, if the initial vnode already
|
|
6101
6132
|
// has .el set, the component will perform hydration instead of mount
|
|
6102
6133
|
// on its sub-tree.
|
|
@@ -6135,15 +6166,15 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6135
6166
|
vnode.component.subTree = subTree;
|
|
6136
6167
|
}
|
|
6137
6168
|
}
|
|
6138
|
-
else if (shapeFlag & 64 /* TELEPORT */) {
|
|
6139
|
-
if (domType !== 8 /* COMMENT */) {
|
|
6169
|
+
else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
6170
|
+
if (domType !== 8 /* DOMNodeTypes.COMMENT */) {
|
|
6140
6171
|
nextNode = onMismatch();
|
|
6141
6172
|
}
|
|
6142
6173
|
else {
|
|
6143
6174
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
|
|
6144
6175
|
}
|
|
6145
6176
|
}
|
|
6146
|
-
else if (shapeFlag & 128 /* SUSPENSE */) {
|
|
6177
|
+
else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
6147
6178
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
|
|
6148
6179
|
}
|
|
6149
6180
|
else {
|
|
@@ -6171,7 +6202,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6171
6202
|
if (props) {
|
|
6172
6203
|
if (forcePatchValue ||
|
|
6173
6204
|
!optimized ||
|
|
6174
|
-
patchFlag & (16 /* FULL_PROPS */ | 32 /* HYDRATE_EVENTS */)) {
|
|
6205
|
+
patchFlag & (16 /* PatchFlags.FULL_PROPS */ | 32 /* PatchFlags.HYDRATE_EVENTS */)) {
|
|
6175
6206
|
for (const key in props) {
|
|
6176
6207
|
if ((forcePatchValue && key.endsWith('value')) ||
|
|
6177
6208
|
(isOn(key) && !isReservedProp(key))) {
|
|
@@ -6200,7 +6231,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6200
6231
|
}, parentSuspense);
|
|
6201
6232
|
}
|
|
6202
6233
|
// children
|
|
6203
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */ &&
|
|
6234
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */ &&
|
|
6204
6235
|
// skip if element has innerHTML / textContent
|
|
6205
6236
|
!(props && (props.innerHTML || props.textContent))) {
|
|
6206
6237
|
let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
@@ -6218,7 +6249,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6218
6249
|
remove(cur);
|
|
6219
6250
|
}
|
|
6220
6251
|
}
|
|
6221
|
-
else if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
6252
|
+
else if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
6222
6253
|
if (el.textContent !== vnode.children) {
|
|
6223
6254
|
hasMismatch = true;
|
|
6224
6255
|
warn$1(`Hydration text content mismatch in <${vnode.type}>:\n` +
|
|
@@ -6281,7 +6312,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6281
6312
|
};
|
|
6282
6313
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
6283
6314
|
hasMismatch = true;
|
|
6284
|
-
warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* TEXT */
|
|
6315
|
+
warn$1(`Hydration node mismatch:\n- Client vnode:`, vnode.type, `\n- Server rendered DOM:`, node, node.nodeType === 3 /* DOMNodeTypes.TEXT */
|
|
6285
6316
|
? `(text)`
|
|
6286
6317
|
: isComment(node) && node.data === '['
|
|
6287
6318
|
? `(start of fragment)`
|
|
@@ -6412,7 +6443,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6412
6443
|
unmount(n1, parentComponent, parentSuspense, true);
|
|
6413
6444
|
n1 = null;
|
|
6414
6445
|
}
|
|
6415
|
-
if (n2.patchFlag === -2 /* BAIL */) {
|
|
6446
|
+
if (n2.patchFlag === -2 /* PatchFlags.BAIL */) {
|
|
6416
6447
|
optimized = false;
|
|
6417
6448
|
n2.dynamicChildren = null;
|
|
6418
6449
|
}
|
|
@@ -6436,16 +6467,16 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6436
6467
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
6437
6468
|
break;
|
|
6438
6469
|
default:
|
|
6439
|
-
if (shapeFlag & 1 /* ELEMENT */) {
|
|
6470
|
+
if (shapeFlag & 1 /* ShapeFlags.ELEMENT */) {
|
|
6440
6471
|
processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
6441
6472
|
}
|
|
6442
|
-
else if (shapeFlag & 6 /* COMPONENT */) {
|
|
6473
|
+
else if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
6443
6474
|
processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
6444
6475
|
}
|
|
6445
|
-
else if (shapeFlag & 64 /* TELEPORT */) {
|
|
6476
|
+
else if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
6446
6477
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
6447
6478
|
}
|
|
6448
|
-
else if (shapeFlag & 128 /* SUSPENSE */) {
|
|
6479
|
+
else if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
6449
6480
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
6450
6481
|
}
|
|
6451
6482
|
else {
|
|
@@ -6531,10 +6562,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6531
6562
|
el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);
|
|
6532
6563
|
// mount children first, since some props may rely on child content
|
|
6533
6564
|
// being already rendered, e.g. `<select value>`
|
|
6534
|
-
if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
6565
|
+
if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
6535
6566
|
hostSetElementText(el, vnode.children);
|
|
6536
6567
|
}
|
|
6537
|
-
else if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
6568
|
+
else if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
6538
6569
|
mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== 'foreignObject', slotScopeIds, optimized);
|
|
6539
6570
|
}
|
|
6540
6571
|
if (dirs) {
|
|
@@ -6610,7 +6641,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6610
6641
|
if (parentComponent) {
|
|
6611
6642
|
let subTree = parentComponent.subTree;
|
|
6612
6643
|
if (subTree.patchFlag > 0 &&
|
|
6613
|
-
subTree.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {
|
|
6644
|
+
subTree.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {
|
|
6614
6645
|
subTree =
|
|
6615
6646
|
filterSingleRoot(subTree.children) || subTree;
|
|
6616
6647
|
}
|
|
@@ -6633,7 +6664,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6633
6664
|
let { patchFlag, dynamicChildren, dirs } = n2;
|
|
6634
6665
|
// #1426 take the old vnode's patch flag into account since user may clone a
|
|
6635
6666
|
// compiler-generated vnode, which de-opts to FULL_PROPS
|
|
6636
|
-
patchFlag |= n1.patchFlag & 16 /* FULL_PROPS */;
|
|
6667
|
+
patchFlag |= n1.patchFlag & 16 /* PatchFlags.FULL_PROPS */;
|
|
6637
6668
|
const oldProps = n1.props || EMPTY_OBJ;
|
|
6638
6669
|
const newProps = n2.props || EMPTY_OBJ;
|
|
6639
6670
|
let vnodeHook;
|
|
@@ -6668,21 +6699,21 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6668
6699
|
// generated by the compiler and can take the fast path.
|
|
6669
6700
|
// in this path old node and new node are guaranteed to have the same shape
|
|
6670
6701
|
// (i.e. at the exact same position in the source template)
|
|
6671
|
-
if (patchFlag & 16 /* FULL_PROPS */) {
|
|
6702
|
+
if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {
|
|
6672
6703
|
// element props contain dynamic keys, full diff needed
|
|
6673
6704
|
patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
|
|
6674
6705
|
}
|
|
6675
6706
|
else {
|
|
6676
6707
|
// class
|
|
6677
6708
|
// this flag is matched when the element has dynamic class bindings.
|
|
6678
|
-
if (patchFlag & 2 /* CLASS */) {
|
|
6709
|
+
if (patchFlag & 2 /* PatchFlags.CLASS */) {
|
|
6679
6710
|
if (oldProps.class !== newProps.class) {
|
|
6680
6711
|
hostPatchProp(el, 'class', null, newProps.class, isSVG);
|
|
6681
6712
|
}
|
|
6682
6713
|
}
|
|
6683
6714
|
// style
|
|
6684
6715
|
// this flag is matched when the element has dynamic style bindings
|
|
6685
|
-
if (patchFlag & 4 /* STYLE */) {
|
|
6716
|
+
if (patchFlag & 4 /* PatchFlags.STYLE */) {
|
|
6686
6717
|
hostPatchProp(el, 'style', oldProps.style, newProps.style, isSVG);
|
|
6687
6718
|
}
|
|
6688
6719
|
// props
|
|
@@ -6691,7 +6722,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6691
6722
|
// faster iteration.
|
|
6692
6723
|
// Note dynamic keys like :[foo]="bar" will cause this optimization to
|
|
6693
6724
|
// bail out and go through a full diff because we need to unset the old key
|
|
6694
|
-
if (patchFlag & 8 /* PROPS */) {
|
|
6725
|
+
if (patchFlag & 8 /* PatchFlags.PROPS */) {
|
|
6695
6726
|
// if the flag is present then dynamicProps must be non-null
|
|
6696
6727
|
const propsToUpdate = n2.dynamicProps;
|
|
6697
6728
|
for (let i = 0; i < propsToUpdate.length; i++) {
|
|
@@ -6707,7 +6738,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6707
6738
|
}
|
|
6708
6739
|
// text
|
|
6709
6740
|
// This flag is matched when the element has only dynamic text children.
|
|
6710
|
-
if (patchFlag & 1 /* TEXT */) {
|
|
6741
|
+
if (patchFlag & 1 /* PatchFlags.TEXT */) {
|
|
6711
6742
|
if (n1.children !== n2.children) {
|
|
6712
6743
|
hostSetElementText(el, n2.children);
|
|
6713
6744
|
}
|
|
@@ -6741,7 +6772,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6741
6772
|
// which also requires the correct parent container
|
|
6742
6773
|
!isSameVNodeType(oldVNode, newVNode) ||
|
|
6743
6774
|
// - In the case of a component, it could contain anything.
|
|
6744
|
-
oldVNode.shapeFlag & (6 /* COMPONENT */ | 64 /* TELEPORT */))
|
|
6775
|
+
oldVNode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 64 /* ShapeFlags.TELEPORT */))
|
|
6745
6776
|
? hostParentNode(oldVNode.el)
|
|
6746
6777
|
: // In other cases, the parent container is not actually used so we
|
|
6747
6778
|
// just pass the block element here to avoid a DOM parentNode call.
|
|
@@ -6779,7 +6810,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6779
6810
|
const fragmentEndAnchor = (n2.anchor = n1 ? n1.anchor : hostCreateText(''));
|
|
6780
6811
|
let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
|
|
6781
6812
|
if (// #5523 dev root fragment may inherit directives
|
|
6782
|
-
(isHmrUpdating || patchFlag & 2048 /* DEV_ROOT_FRAGMENT */)) {
|
|
6813
|
+
(isHmrUpdating || patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */)) {
|
|
6783
6814
|
// HMR updated / Dev root fragment (w/ comments), force full diff
|
|
6784
6815
|
patchFlag = 0;
|
|
6785
6816
|
optimized = false;
|
|
@@ -6801,7 +6832,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6801
6832
|
}
|
|
6802
6833
|
else {
|
|
6803
6834
|
if (patchFlag > 0 &&
|
|
6804
|
-
patchFlag & 64 /* STABLE_FRAGMENT */ &&
|
|
6835
|
+
patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */ &&
|
|
6805
6836
|
dynamicChildren &&
|
|
6806
6837
|
// #2715 the previous fragment could've been a BAILed one as a result
|
|
6807
6838
|
// of renderSlot() with no valid children
|
|
@@ -6834,7 +6865,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6834
6865
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
6835
6866
|
n2.slotScopeIds = slotScopeIds;
|
|
6836
6867
|
if (n1 == null) {
|
|
6837
|
-
if (n2.shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {
|
|
6868
|
+
if (n2.shapeFlag & 512 /* ShapeFlags.COMPONENT_KEPT_ALIVE */) {
|
|
6838
6869
|
parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);
|
|
6839
6870
|
}
|
|
6840
6871
|
else {
|
|
@@ -6996,10 +7027,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
6996
7027
|
// activated hook for keep-alive roots.
|
|
6997
7028
|
// #1742 activated hook must be accessed after first render
|
|
6998
7029
|
// since the hook may be injected by a child keep-alive
|
|
6999
|
-
if (initialVNode.shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */ ||
|
|
7030
|
+
if (initialVNode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */ ||
|
|
7000
7031
|
(parent &&
|
|
7001
7032
|
isAsyncWrapper(parent.vnode) &&
|
|
7002
|
-
parent.vnode.shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */)) {
|
|
7033
|
+
parent.vnode.shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */)) {
|
|
7003
7034
|
instance.a && queuePostRenderEffect(instance.a, parentSuspense);
|
|
7004
7035
|
}
|
|
7005
7036
|
instance.isMounted = true;
|
|
@@ -7110,7 +7141,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7110
7141
|
pauseTracking();
|
|
7111
7142
|
// props update may have triggered pre-flush watchers.
|
|
7112
7143
|
// flush them before the render update.
|
|
7113
|
-
flushPreFlushCbs(
|
|
7144
|
+
flushPreFlushCbs();
|
|
7114
7145
|
resetTracking();
|
|
7115
7146
|
};
|
|
7116
7147
|
const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
|
|
@@ -7120,22 +7151,22 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7120
7151
|
const { patchFlag, shapeFlag } = n2;
|
|
7121
7152
|
// fast path
|
|
7122
7153
|
if (patchFlag > 0) {
|
|
7123
|
-
if (patchFlag & 128 /* KEYED_FRAGMENT */) {
|
|
7154
|
+
if (patchFlag & 128 /* PatchFlags.KEYED_FRAGMENT */) {
|
|
7124
7155
|
// this could be either fully-keyed or mixed (some keyed some not)
|
|
7125
7156
|
// presence of patchFlag means children are guaranteed to be arrays
|
|
7126
7157
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
7127
7158
|
return;
|
|
7128
7159
|
}
|
|
7129
|
-
else if (patchFlag & 256 /* UNKEYED_FRAGMENT */) {
|
|
7160
|
+
else if (patchFlag & 256 /* PatchFlags.UNKEYED_FRAGMENT */) {
|
|
7130
7161
|
// unkeyed
|
|
7131
7162
|
patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
7132
7163
|
return;
|
|
7133
7164
|
}
|
|
7134
7165
|
}
|
|
7135
7166
|
// children has 3 possibilities: text, array or no children.
|
|
7136
|
-
if (shapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
7167
|
+
if (shapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
7137
7168
|
// text children fast path
|
|
7138
|
-
if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7169
|
+
if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7139
7170
|
unmountChildren(c1, parentComponent, parentSuspense);
|
|
7140
7171
|
}
|
|
7141
7172
|
if (c2 !== c1) {
|
|
@@ -7143,9 +7174,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7143
7174
|
}
|
|
7144
7175
|
}
|
|
7145
7176
|
else {
|
|
7146
|
-
if (prevShapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7177
|
+
if (prevShapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7147
7178
|
// prev children was array
|
|
7148
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7179
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7149
7180
|
// two arrays, cannot assume anything, do full diff
|
|
7150
7181
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
7151
7182
|
}
|
|
@@ -7157,11 +7188,11 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7157
7188
|
else {
|
|
7158
7189
|
// prev children was text OR null
|
|
7159
7190
|
// new children is array OR null
|
|
7160
|
-
if (prevShapeFlag & 8 /* TEXT_CHILDREN */) {
|
|
7191
|
+
if (prevShapeFlag & 8 /* ShapeFlags.TEXT_CHILDREN */) {
|
|
7161
7192
|
hostSetElementText(container, '');
|
|
7162
7193
|
}
|
|
7163
7194
|
// mount new if array
|
|
7164
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7195
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7165
7196
|
mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
7166
7197
|
}
|
|
7167
7198
|
}
|
|
@@ -7352,7 +7383,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7352
7383
|
// There is no stable subsequence (e.g. a reverse)
|
|
7353
7384
|
// OR current node is not among the stable sequence
|
|
7354
7385
|
if (j < 0 || i !== increasingNewIndexSequence[j]) {
|
|
7355
|
-
move(nextChild, container, anchor, 2 /* REORDER */);
|
|
7386
|
+
move(nextChild, container, anchor, 2 /* MoveType.REORDER */);
|
|
7356
7387
|
}
|
|
7357
7388
|
else {
|
|
7358
7389
|
j--;
|
|
@@ -7363,15 +7394,15 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7363
7394
|
};
|
|
7364
7395
|
const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
|
|
7365
7396
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
7366
|
-
if (shapeFlag & 6 /* COMPONENT */) {
|
|
7397
|
+
if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
7367
7398
|
move(vnode.component.subTree, container, anchor, moveType);
|
|
7368
7399
|
return;
|
|
7369
7400
|
}
|
|
7370
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
7401
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
7371
7402
|
vnode.suspense.move(container, anchor, moveType);
|
|
7372
7403
|
return;
|
|
7373
7404
|
}
|
|
7374
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
7405
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
7375
7406
|
type.move(vnode, container, anchor, internals);
|
|
7376
7407
|
return;
|
|
7377
7408
|
}
|
|
@@ -7388,11 +7419,11 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7388
7419
|
return;
|
|
7389
7420
|
}
|
|
7390
7421
|
// single nodes
|
|
7391
|
-
const needTransition = moveType !== 2 /* REORDER */ &&
|
|
7392
|
-
shapeFlag & 1 /* ELEMENT */ &&
|
|
7422
|
+
const needTransition = moveType !== 2 /* MoveType.REORDER */ &&
|
|
7423
|
+
shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&
|
|
7393
7424
|
transition;
|
|
7394
7425
|
if (needTransition) {
|
|
7395
|
-
if (moveType === 0 /* ENTER */) {
|
|
7426
|
+
if (moveType === 0 /* MoveType.ENTER */) {
|
|
7396
7427
|
transition.beforeEnter(el);
|
|
7397
7428
|
hostInsert(el, container, anchor);
|
|
7398
7429
|
queuePostRenderEffect(() => transition.enter(el), parentSuspense);
|
|
@@ -7424,42 +7455,42 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7424
7455
|
if (ref != null) {
|
|
7425
7456
|
setRef(ref, null, parentSuspense, vnode, true);
|
|
7426
7457
|
}
|
|
7427
|
-
if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
7458
|
+
if (shapeFlag & 256 /* ShapeFlags.COMPONENT_SHOULD_KEEP_ALIVE */) {
|
|
7428
7459
|
parentComponent.ctx.deactivate(vnode);
|
|
7429
7460
|
return;
|
|
7430
7461
|
}
|
|
7431
|
-
const shouldInvokeDirs = shapeFlag & 1 /* ELEMENT */ && dirs;
|
|
7462
|
+
const shouldInvokeDirs = shapeFlag & 1 /* ShapeFlags.ELEMENT */ && dirs;
|
|
7432
7463
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
7433
7464
|
let vnodeHook;
|
|
7434
7465
|
if (shouldInvokeVnodeHook &&
|
|
7435
7466
|
(vnodeHook = props && props.onVnodeBeforeUnmount)) {
|
|
7436
7467
|
invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
7437
7468
|
}
|
|
7438
|
-
if (shapeFlag & 6 /* COMPONENT */) {
|
|
7469
|
+
if (shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
7439
7470
|
unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
7440
7471
|
}
|
|
7441
7472
|
else {
|
|
7442
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
7473
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
7443
7474
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
7444
7475
|
return;
|
|
7445
7476
|
}
|
|
7446
7477
|
if (shouldInvokeDirs) {
|
|
7447
7478
|
invokeDirectiveHook(vnode, null, parentComponent, 'beforeUnmount');
|
|
7448
7479
|
}
|
|
7449
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
7480
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
7450
7481
|
vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);
|
|
7451
7482
|
}
|
|
7452
7483
|
else if (dynamicChildren &&
|
|
7453
7484
|
// #1153: fast path should not be taken for non-stable (v-for) fragments
|
|
7454
7485
|
(type !== Fragment ||
|
|
7455
|
-
(patchFlag > 0 && patchFlag & 64 /* STABLE_FRAGMENT */))) {
|
|
7486
|
+
(patchFlag > 0 && patchFlag & 64 /* PatchFlags.STABLE_FRAGMENT */))) {
|
|
7456
7487
|
// fast path for block nodes: only need to unmount dynamic children.
|
|
7457
7488
|
unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
|
|
7458
7489
|
}
|
|
7459
7490
|
else if ((type === Fragment &&
|
|
7460
7491
|
patchFlag &
|
|
7461
|
-
(128 /* KEYED_FRAGMENT */ | 256 /* UNKEYED_FRAGMENT */)) ||
|
|
7462
|
-
(!optimized && shapeFlag & 16 /* ARRAY_CHILDREN */)) {
|
|
7492
|
+
(128 /* PatchFlags.KEYED_FRAGMENT */ | 256 /* PatchFlags.UNKEYED_FRAGMENT */)) ||
|
|
7493
|
+
(!optimized && shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */)) {
|
|
7463
7494
|
unmountChildren(children, parentComponent, parentSuspense);
|
|
7464
7495
|
}
|
|
7465
7496
|
if (doRemove) {
|
|
@@ -7480,7 +7511,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7480
7511
|
const { type, el, anchor, transition } = vnode;
|
|
7481
7512
|
if (type === Fragment) {
|
|
7482
7513
|
if (vnode.patchFlag > 0 &&
|
|
7483
|
-
vnode.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */ &&
|
|
7514
|
+
vnode.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */ &&
|
|
7484
7515
|
transition &&
|
|
7485
7516
|
!transition.persisted) {
|
|
7486
7517
|
vnode.children.forEach(child => {
|
|
@@ -7507,7 +7538,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7507
7538
|
transition.afterLeave();
|
|
7508
7539
|
}
|
|
7509
7540
|
};
|
|
7510
|
-
if (vnode.shapeFlag & 1 /* ELEMENT */ &&
|
|
7541
|
+
if (vnode.shapeFlag & 1 /* ShapeFlags.ELEMENT */ &&
|
|
7511
7542
|
transition &&
|
|
7512
7543
|
!transition.persisted) {
|
|
7513
7544
|
const { leave, delayLeave } = transition;
|
|
@@ -7583,10 +7614,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7583
7614
|
}
|
|
7584
7615
|
};
|
|
7585
7616
|
const getNextHostNode = vnode => {
|
|
7586
|
-
if (vnode.shapeFlag & 6 /* COMPONENT */) {
|
|
7617
|
+
if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
7587
7618
|
return getNextHostNode(vnode.component.subTree);
|
|
7588
7619
|
}
|
|
7589
|
-
if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
7620
|
+
if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
7590
7621
|
return vnode.suspense.next();
|
|
7591
7622
|
}
|
|
7592
7623
|
return hostNextSibling((vnode.anchor || vnode.el));
|
|
@@ -7600,6 +7631,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7600
7631
|
else {
|
|
7601
7632
|
patch(container._vnode || null, vnode, container, null, null, null, isSVG);
|
|
7602
7633
|
}
|
|
7634
|
+
flushPreFlushCbs();
|
|
7603
7635
|
flushPostFlushCbs();
|
|
7604
7636
|
container._vnode = vnode;
|
|
7605
7637
|
};
|
|
@@ -7649,8 +7681,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7649
7681
|
// guaranteed to be vnodes
|
|
7650
7682
|
const c1 = ch1[i];
|
|
7651
7683
|
let c2 = ch2[i];
|
|
7652
|
-
if (c2.shapeFlag & 1 /* ELEMENT */ && !c2.dynamicChildren) {
|
|
7653
|
-
if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* HYDRATE_EVENTS */) {
|
|
7684
|
+
if (c2.shapeFlag & 1 /* ShapeFlags.ELEMENT */ && !c2.dynamicChildren) {
|
|
7685
|
+
if (c2.patchFlag <= 0 || c2.patchFlag === 32 /* PatchFlags.HYDRATE_EVENTS */) {
|
|
7654
7686
|
c2 = ch2[i] = cloneIfMounted(ch2[i]);
|
|
7655
7687
|
c2.el = c1.el;
|
|
7656
7688
|
}
|
|
@@ -7770,7 +7802,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7770
7802
|
const mount = (container, anchor) => {
|
|
7771
7803
|
// Teleport *always* has Array children. This is enforced in both the
|
|
7772
7804
|
// compiler and vnode children normalization.
|
|
7773
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7805
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7774
7806
|
mountChildren(children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
7775
7807
|
}
|
|
7776
7808
|
};
|
|
@@ -7806,7 +7838,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7806
7838
|
if (!wasDisabled) {
|
|
7807
7839
|
// enabled -> disabled
|
|
7808
7840
|
// move into main container
|
|
7809
|
-
moveTeleport(n2, container, mainAnchor, internals, 1 /* TOGGLE */);
|
|
7841
|
+
moveTeleport(n2, container, mainAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);
|
|
7810
7842
|
}
|
|
7811
7843
|
}
|
|
7812
7844
|
else {
|
|
@@ -7814,7 +7846,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7814
7846
|
if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
|
|
7815
7847
|
const nextTarget = (n2.target = resolveTarget(n2.props, querySelector));
|
|
7816
7848
|
if (nextTarget) {
|
|
7817
|
-
moveTeleport(n2, nextTarget, null, internals, 0 /* TARGET_CHANGE */);
|
|
7849
|
+
moveTeleport(n2, nextTarget, null, internals, 0 /* TeleportMoveTypes.TARGET_CHANGE */);
|
|
7818
7850
|
}
|
|
7819
7851
|
else {
|
|
7820
7852
|
warn$1('Invalid Teleport target on update:', target, `(${typeof target})`);
|
|
@@ -7823,7 +7855,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7823
7855
|
else if (wasDisabled) {
|
|
7824
7856
|
// disabled -> enabled
|
|
7825
7857
|
// move into teleport target
|
|
7826
|
-
moveTeleport(n2, target, targetAnchor, internals, 1 /* TOGGLE */);
|
|
7858
|
+
moveTeleport(n2, target, targetAnchor, internals, 1 /* TeleportMoveTypes.TOGGLE */);
|
|
7827
7859
|
}
|
|
7828
7860
|
}
|
|
7829
7861
|
}
|
|
@@ -7836,7 +7868,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7836
7868
|
// an unmounted teleport should always remove its children if not disabled
|
|
7837
7869
|
if (doRemove || !isTeleportDisabled(props)) {
|
|
7838
7870
|
hostRemove(anchor);
|
|
7839
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7871
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7840
7872
|
for (let i = 0; i < children.length; i++) {
|
|
7841
7873
|
const child = children[i];
|
|
7842
7874
|
unmount(child, parentComponent, parentSuspense, true, !!child.dynamicChildren);
|
|
@@ -7847,13 +7879,13 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7847
7879
|
move: moveTeleport,
|
|
7848
7880
|
hydrate: hydrateTeleport
|
|
7849
7881
|
};
|
|
7850
|
-
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* REORDER */) {
|
|
7882
|
+
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2 /* TeleportMoveTypes.REORDER */) {
|
|
7851
7883
|
// move target anchor if this is a target change.
|
|
7852
|
-
if (moveType === 0 /* TARGET_CHANGE */) {
|
|
7884
|
+
if (moveType === 0 /* TeleportMoveTypes.TARGET_CHANGE */) {
|
|
7853
7885
|
insert(vnode.targetAnchor, container, parentAnchor);
|
|
7854
7886
|
}
|
|
7855
7887
|
const { el, anchor, shapeFlag, children, props } = vnode;
|
|
7856
|
-
const isReorder = moveType === 2 /* REORDER */;
|
|
7888
|
+
const isReorder = moveType === 2 /* TeleportMoveTypes.REORDER */;
|
|
7857
7889
|
// move main view anchor if this is a re-order.
|
|
7858
7890
|
if (isReorder) {
|
|
7859
7891
|
insert(el, container, parentAnchor);
|
|
@@ -7863,9 +7895,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7863
7895
|
// is not a reorder, or the teleport is disabled
|
|
7864
7896
|
if (!isReorder || isTeleportDisabled(props)) {
|
|
7865
7897
|
// Teleport has either Array children or no children.
|
|
7866
|
-
if (shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7898
|
+
if (shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7867
7899
|
for (let i = 0; i < children.length; i++) {
|
|
7868
|
-
move(children[i], container, parentAnchor, 2 /* REORDER */);
|
|
7900
|
+
move(children[i], container, parentAnchor, 2 /* MoveType.REORDER */);
|
|
7869
7901
|
}
|
|
7870
7902
|
}
|
|
7871
7903
|
}
|
|
@@ -7880,7 +7912,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
7880
7912
|
// if multiple teleports rendered to the same target element, we need to
|
|
7881
7913
|
// pick up from where the last teleport finished instead of the first node
|
|
7882
7914
|
const targetNode = target._lpa || target.firstChild;
|
|
7883
|
-
if (vnode.shapeFlag & 16 /* ARRAY_CHILDREN */) {
|
|
7915
|
+
if (vnode.shapeFlag & 16 /* ShapeFlags.ARRAY_CHILDREN */) {
|
|
7884
7916
|
if (isTeleportDisabled(vnode.props)) {
|
|
7885
7917
|
vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
7886
7918
|
vnode.targetAnchor = targetNode;
|
|
@@ -8002,7 +8034,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8002
8034
|
return value ? value.__v_isVNode === true : false;
|
|
8003
8035
|
}
|
|
8004
8036
|
function isSameVNodeType(n1, n2) {
|
|
8005
|
-
if (n2.shapeFlag & 6 /* COMPONENT */ &&
|
|
8037
|
+
if (n2.shapeFlag & 6 /* ShapeFlags.COMPONENT */ &&
|
|
8006
8038
|
hmrDirtyComponents.has(n2.type)) {
|
|
8007
8039
|
// HMR only: if the component has been hot-updated, force a reload.
|
|
8008
8040
|
return false;
|
|
@@ -8033,7 +8065,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8033
8065
|
: ref
|
|
8034
8066
|
: null);
|
|
8035
8067
|
};
|
|
8036
|
-
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1 /* ELEMENT */, isBlockNode = false, needFullChildrenNormalization = false) {
|
|
8068
|
+
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1 /* ShapeFlags.ELEMENT */, isBlockNode = false, needFullChildrenNormalization = false) {
|
|
8037
8069
|
const vnode = {
|
|
8038
8070
|
__v_isVNode: true,
|
|
8039
8071
|
__v_skip: true,
|
|
@@ -8064,7 +8096,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8064
8096
|
if (needFullChildrenNormalization) {
|
|
8065
8097
|
normalizeChildren(vnode, children);
|
|
8066
8098
|
// normalize suspense children
|
|
8067
|
-
if (shapeFlag & 128 /* SUSPENSE */) {
|
|
8099
|
+
if (shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
8068
8100
|
type.normalize(vnode);
|
|
8069
8101
|
}
|
|
8070
8102
|
}
|
|
@@ -8072,8 +8104,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8072
8104
|
// compiled element vnode - if children is passed, only possible types are
|
|
8073
8105
|
// string or Array.
|
|
8074
8106
|
vnode.shapeFlag |= isString(children)
|
|
8075
|
-
? 8 /* TEXT_CHILDREN */
|
|
8076
|
-
: 16 /* ARRAY_CHILDREN */;
|
|
8107
|
+
? 8 /* ShapeFlags.TEXT_CHILDREN */
|
|
8108
|
+
: 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
8077
8109
|
}
|
|
8078
8110
|
// validate key
|
|
8079
8111
|
if (vnode.key !== vnode.key) {
|
|
@@ -8089,10 +8121,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8089
8121
|
// component nodes also should always be patched, because even if the
|
|
8090
8122
|
// component doesn't need to update, it needs to persist the instance on to
|
|
8091
8123
|
// the next vnode so that it can be properly unmounted later.
|
|
8092
|
-
(vnode.patchFlag > 0 || shapeFlag & 6 /* COMPONENT */) &&
|
|
8124
|
+
(vnode.patchFlag > 0 || shapeFlag & 6 /* ShapeFlags.COMPONENT */) &&
|
|
8093
8125
|
// the EVENTS flag is only for hydration and if it is the only flag, the
|
|
8094
8126
|
// vnode should not be considered dynamic due to handler caching.
|
|
8095
|
-
vnode.patchFlag !== 32 /* HYDRATE_EVENTS */) {
|
|
8127
|
+
vnode.patchFlag !== 32 /* PatchFlags.HYDRATE_EVENTS */) {
|
|
8096
8128
|
currentBlock.push(vnode);
|
|
8097
8129
|
}
|
|
8098
8130
|
return vnode;
|
|
@@ -8114,14 +8146,14 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8114
8146
|
normalizeChildren(cloned, children);
|
|
8115
8147
|
}
|
|
8116
8148
|
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
8117
|
-
if (cloned.shapeFlag & 6 /* COMPONENT */) {
|
|
8149
|
+
if (cloned.shapeFlag & 6 /* ShapeFlags.COMPONENT */) {
|
|
8118
8150
|
currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
8119
8151
|
}
|
|
8120
8152
|
else {
|
|
8121
8153
|
currentBlock.push(cloned);
|
|
8122
8154
|
}
|
|
8123
8155
|
}
|
|
8124
|
-
cloned.patchFlag |= -2 /* BAIL */;
|
|
8156
|
+
cloned.patchFlag |= -2 /* PatchFlags.BAIL */;
|
|
8125
8157
|
return cloned;
|
|
8126
8158
|
}
|
|
8127
8159
|
// class component normalization.
|
|
@@ -8147,17 +8179,17 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8147
8179
|
}
|
|
8148
8180
|
// encode the vnode type information into a bitmap
|
|
8149
8181
|
const shapeFlag = isString(type)
|
|
8150
|
-
? 1 /* ELEMENT */
|
|
8182
|
+
? 1 /* ShapeFlags.ELEMENT */
|
|
8151
8183
|
: isSuspense(type)
|
|
8152
|
-
? 128 /* SUSPENSE */
|
|
8184
|
+
? 128 /* ShapeFlags.SUSPENSE */
|
|
8153
8185
|
: isTeleport(type)
|
|
8154
|
-
? 64 /* TELEPORT */
|
|
8186
|
+
? 64 /* ShapeFlags.TELEPORT */
|
|
8155
8187
|
: isObject(type)
|
|
8156
|
-
? 4 /* STATEFUL_COMPONENT */
|
|
8188
|
+
? 4 /* ShapeFlags.STATEFUL_COMPONENT */
|
|
8157
8189
|
: isFunction(type)
|
|
8158
|
-
? 2 /* FUNCTIONAL_COMPONENT */
|
|
8190
|
+
? 2 /* ShapeFlags.FUNCTIONAL_COMPONENT */
|
|
8159
8191
|
: 0;
|
|
8160
|
-
if (shapeFlag & 4 /* STATEFUL_COMPONENT */ && isProxy(type)) {
|
|
8192
|
+
if (shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */ && isProxy(type)) {
|
|
8161
8193
|
type = toRaw(type);
|
|
8162
8194
|
warn$1(`Vue received a Component which was made a reactive object. This can ` +
|
|
8163
8195
|
`lead to unnecessary performance overhead, and should be avoided by ` +
|
|
@@ -8196,7 +8228,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8196
8228
|
: ref,
|
|
8197
8229
|
scopeId: vnode.scopeId,
|
|
8198
8230
|
slotScopeIds: vnode.slotScopeIds,
|
|
8199
|
-
children: patchFlag === -1 /* HOISTED */ && isArray(children)
|
|
8231
|
+
children: patchFlag === -1 /* PatchFlags.HOISTED */ && isArray(children)
|
|
8200
8232
|
? children.map(deepCloneVNode)
|
|
8201
8233
|
: children,
|
|
8202
8234
|
target: vnode.target,
|
|
@@ -8209,8 +8241,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8209
8241
|
// fast paths only.
|
|
8210
8242
|
patchFlag: extraProps && vnode.type !== Fragment
|
|
8211
8243
|
? patchFlag === -1 // hoisted node
|
|
8212
|
-
? 16 /* FULL_PROPS */
|
|
8213
|
-
: patchFlag | 16 /* FULL_PROPS */
|
|
8244
|
+
? 16 /* PatchFlags.FULL_PROPS */
|
|
8245
|
+
: patchFlag | 16 /* PatchFlags.FULL_PROPS */
|
|
8214
8246
|
: patchFlag,
|
|
8215
8247
|
dynamicProps: vnode.dynamicProps,
|
|
8216
8248
|
dynamicChildren: vnode.dynamicChildren,
|
|
@@ -8300,10 +8332,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8300
8332
|
children = null;
|
|
8301
8333
|
}
|
|
8302
8334
|
else if (isArray(children)) {
|
|
8303
|
-
type = 16 /* ARRAY_CHILDREN */;
|
|
8335
|
+
type = 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
8304
8336
|
}
|
|
8305
8337
|
else if (typeof children === 'object') {
|
|
8306
|
-
if (shapeFlag & (1 /* ELEMENT */ | 64 /* TELEPORT */)) {
|
|
8338
|
+
if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 64 /* ShapeFlags.TELEPORT */)) {
|
|
8307
8339
|
// Normalize slot to plain children for plain element and Teleport
|
|
8308
8340
|
const slot = children.default;
|
|
8309
8341
|
if (slot) {
|
|
@@ -8315,37 +8347,37 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8315
8347
|
return;
|
|
8316
8348
|
}
|
|
8317
8349
|
else {
|
|
8318
|
-
type = 32 /* SLOTS_CHILDREN */;
|
|
8350
|
+
type = 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
8319
8351
|
const slotFlag = children._;
|
|
8320
8352
|
if (!slotFlag && !(InternalObjectKey in children)) {
|
|
8321
8353
|
children._ctx = currentRenderingInstance;
|
|
8322
8354
|
}
|
|
8323
|
-
else if (slotFlag === 3 /* FORWARDED */ && currentRenderingInstance) {
|
|
8355
|
+
else if (slotFlag === 3 /* SlotFlags.FORWARDED */ && currentRenderingInstance) {
|
|
8324
8356
|
// a child component receives forwarded slots from the parent.
|
|
8325
8357
|
// its slot type is determined by its parent's slot type.
|
|
8326
|
-
if (currentRenderingInstance.slots._ === 1 /* STABLE */) {
|
|
8327
|
-
children._ = 1 /* STABLE */;
|
|
8358
|
+
if (currentRenderingInstance.slots._ === 1 /* SlotFlags.STABLE */) {
|
|
8359
|
+
children._ = 1 /* SlotFlags.STABLE */;
|
|
8328
8360
|
}
|
|
8329
8361
|
else {
|
|
8330
|
-
children._ = 2 /* DYNAMIC */;
|
|
8331
|
-
vnode.patchFlag |= 1024 /* DYNAMIC_SLOTS */;
|
|
8362
|
+
children._ = 2 /* SlotFlags.DYNAMIC */;
|
|
8363
|
+
vnode.patchFlag |= 1024 /* PatchFlags.DYNAMIC_SLOTS */;
|
|
8332
8364
|
}
|
|
8333
8365
|
}
|
|
8334
8366
|
}
|
|
8335
8367
|
}
|
|
8336
8368
|
else if (isFunction(children)) {
|
|
8337
8369
|
children = { default: children, _ctx: currentRenderingInstance };
|
|
8338
|
-
type = 32 /* SLOTS_CHILDREN */;
|
|
8370
|
+
type = 32 /* ShapeFlags.SLOTS_CHILDREN */;
|
|
8339
8371
|
}
|
|
8340
8372
|
else {
|
|
8341
8373
|
children = String(children);
|
|
8342
8374
|
// force teleport children to array so it can be moved around
|
|
8343
|
-
if (shapeFlag & 64 /* TELEPORT */) {
|
|
8344
|
-
type = 16 /* ARRAY_CHILDREN */;
|
|
8375
|
+
if (shapeFlag & 64 /* ShapeFlags.TELEPORT */) {
|
|
8376
|
+
type = 16 /* ShapeFlags.ARRAY_CHILDREN */;
|
|
8345
8377
|
children = [createTextVNode(children)];
|
|
8346
8378
|
}
|
|
8347
8379
|
else {
|
|
8348
|
-
type = 8 /* TEXT_CHILDREN */;
|
|
8380
|
+
type = 8 /* ShapeFlags.TEXT_CHILDREN */;
|
|
8349
8381
|
}
|
|
8350
8382
|
}
|
|
8351
8383
|
vnode.children = children;
|
|
@@ -8383,7 +8415,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8383
8415
|
return ret;
|
|
8384
8416
|
}
|
|
8385
8417
|
function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
|
|
8386
|
-
callWithAsyncErrorHandling(hook, instance, 7 /* VNODE_HOOK */, [
|
|
8418
|
+
callWithAsyncErrorHandling(hook, instance, 7 /* ErrorCodes.VNODE_HOOK */, [
|
|
8387
8419
|
vnode,
|
|
8388
8420
|
prevVNode
|
|
8389
8421
|
]);
|
|
@@ -8491,7 +8523,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8491
8523
|
}
|
|
8492
8524
|
}
|
|
8493
8525
|
function isStatefulComponent(instance) {
|
|
8494
|
-
return instance.vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */;
|
|
8526
|
+
return instance.vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */;
|
|
8495
8527
|
}
|
|
8496
8528
|
let isInSSRComponentSetup = false;
|
|
8497
8529
|
function setupComponent(instance, isSSR = false) {
|
|
@@ -8546,7 +8578,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8546
8578
|
setup.length > 1 ? createSetupContext(instance) : null);
|
|
8547
8579
|
setCurrentInstance(instance);
|
|
8548
8580
|
pauseTracking();
|
|
8549
|
-
const setupResult = callWithErrorHandling(setup, instance, 0 /* SETUP_FUNCTION */, [shallowReadonly(instance.props) , setupContext]);
|
|
8581
|
+
const setupResult = callWithErrorHandling(setup, instance, 0 /* ErrorCodes.SETUP_FUNCTION */, [shallowReadonly(instance.props) , setupContext]);
|
|
8550
8582
|
resetTracking();
|
|
8551
8583
|
unsetCurrentInstance();
|
|
8552
8584
|
if (isPromise(setupResult)) {
|
|
@@ -8558,7 +8590,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8558
8590
|
handleSetupResult(instance, resolvedResult, isSSR);
|
|
8559
8591
|
})
|
|
8560
8592
|
.catch(e => {
|
|
8561
|
-
handleError(e, instance, 0 /* SETUP_FUNCTION */);
|
|
8593
|
+
handleError(e, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);
|
|
8562
8594
|
});
|
|
8563
8595
|
}
|
|
8564
8596
|
else {
|
|
@@ -8685,7 +8717,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8685
8717
|
return new Proxy(instance.attrs, {
|
|
8686
8718
|
get(target, key) {
|
|
8687
8719
|
markAttrsAccessed();
|
|
8688
|
-
track(instance, "get" /* GET */, '$attrs');
|
|
8720
|
+
track(instance, "get" /* TrackOpTypes.GET */, '$attrs');
|
|
8689
8721
|
return target[key];
|
|
8690
8722
|
},
|
|
8691
8723
|
set() {
|
|
@@ -8741,10 +8773,10 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
8741
8773
|
}
|
|
8742
8774
|
const classifyRE = /(?:^|[-_])(\w)/g;
|
|
8743
8775
|
const classify = (str) => str.replace(classifyRE, c => c.toUpperCase()).replace(/[-_]/g, '');
|
|
8744
|
-
function getComponentName(Component) {
|
|
8776
|
+
function getComponentName(Component, includeInferred = true) {
|
|
8745
8777
|
return isFunction(Component)
|
|
8746
8778
|
? Component.displayName || Component.name
|
|
8747
|
-
: Component.name;
|
|
8779
|
+
: Component.name || (includeInferred && Component.__name);
|
|
8748
8780
|
}
|
|
8749
8781
|
/* istanbul ignore next */
|
|
8750
8782
|
function formatComponentName(instance, Component, isRoot = false) {
|
|
@@ -9183,9 +9215,9 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9183
9215
|
}
|
|
9184
9216
|
|
|
9185
9217
|
// Core API ------------------------------------------------------------------
|
|
9186
|
-
const version = "3.2.
|
|
9218
|
+
const version = "3.2.38";
|
|
9187
9219
|
/**
|
|
9188
|
-
* SSR utils for \@vue/server-renderer. Only exposed in
|
|
9220
|
+
* SSR utils for \@vue/server-renderer. Only exposed in ssr-possible builds.
|
|
9189
9221
|
* @internal
|
|
9190
9222
|
*/
|
|
9191
9223
|
const ssrUtils = (null);
|
|
@@ -9494,7 +9526,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9494
9526
|
// if the low-res timestamp which is bigger than the event timestamp
|
|
9495
9527
|
// (which is evaluated AFTER) it means the event is using a hi-res timestamp,
|
|
9496
9528
|
// and we need to use the hi-res version for event listeners as well.
|
|
9497
|
-
_getNow =
|
|
9529
|
+
_getNow = performance.now.bind(performance);
|
|
9498
9530
|
}
|
|
9499
9531
|
// #3485: Firefox <= 53 has incorrect Event.timeStamp implementation
|
|
9500
9532
|
// and does not fire microtasks in between event propagation, so safe to exclude.
|
|
@@ -9550,7 +9582,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9550
9582
|
options[m[0].toLowerCase()] = true;
|
|
9551
9583
|
}
|
|
9552
9584
|
}
|
|
9553
|
-
|
|
9585
|
+
const event = name[2] === ':' ? name.slice(3) : hyphenate(name.slice(2));
|
|
9586
|
+
return [event, options];
|
|
9554
9587
|
}
|
|
9555
9588
|
function createInvoker(initialValue, instance) {
|
|
9556
9589
|
const invoker = (e) => {
|
|
@@ -9562,7 +9595,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9562
9595
|
// AFTER it was attached.
|
|
9563
9596
|
const timeStamp = e.timeStamp || _getNow();
|
|
9564
9597
|
if (skipTimestampCheck || timeStamp >= invoker.attached - 1) {
|
|
9565
|
-
callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5 /* NATIVE_EVENT_HANDLER */, [e]);
|
|
9598
|
+
callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5 /* ErrorCodes.NATIVE_EVENT_HANDLER */, [e]);
|
|
9566
9599
|
}
|
|
9567
9600
|
};
|
|
9568
9601
|
invoker.value = initialValue;
|
|
@@ -9905,7 +9938,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9905
9938
|
});
|
|
9906
9939
|
}
|
|
9907
9940
|
function setVarsOnVNode(vnode, vars) {
|
|
9908
|
-
if (vnode.shapeFlag & 128 /* SUSPENSE */) {
|
|
9941
|
+
if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {
|
|
9909
9942
|
const suspense = vnode.suspense;
|
|
9910
9943
|
vnode = suspense.activeBranch;
|
|
9911
9944
|
if (suspense.pendingBranch && !suspense.isHydrating) {
|
|
@@ -9918,7 +9951,7 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
9918
9951
|
while (vnode.component) {
|
|
9919
9952
|
vnode = vnode.component.subTree;
|
|
9920
9953
|
}
|
|
9921
|
-
if (vnode.shapeFlag & 1 /* ELEMENT */ && vnode.el) {
|
|
9954
|
+
if (vnode.shapeFlag & 1 /* ShapeFlags.ELEMENT */ && vnode.el) {
|
|
9922
9955
|
setVarsOnNode(vnode.el, vars);
|
|
9923
9956
|
}
|
|
9924
9957
|
else if (vnode.type === Fragment) {
|
|
@@ -10012,9 +10045,8 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
10012
10045
|
removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
|
|
10013
10046
|
done && done();
|
|
10014
10047
|
};
|
|
10015
|
-
let isLeaving = false;
|
|
10016
10048
|
const finishLeave = (el, done) => {
|
|
10017
|
-
|
|
10049
|
+
el._isLeaving = false;
|
|
10018
10050
|
removeTransitionClass(el, leaveFromClass);
|
|
10019
10051
|
removeTransitionClass(el, leaveToClass);
|
|
10020
10052
|
removeTransitionClass(el, leaveActiveClass);
|
|
@@ -10048,14 +10080,14 @@ var VueRuntimeDOM = (function (exports) {
|
|
|
10048
10080
|
onEnter: makeEnterHook(false),
|
|
10049
10081
|
onAppear: makeEnterHook(true),
|
|
10050
10082
|
onLeave(el, done) {
|
|
10051
|
-
|
|
10083
|
+
el._isLeaving = true;
|
|
10052
10084
|
const resolve = () => finishLeave(el, done);
|
|
10053
10085
|
addTransitionClass(el, leaveFromClass);
|
|
10054
10086
|
// force reflow so *-leave-from classes immediately take effect (#2593)
|
|
10055
10087
|
forceReflow();
|
|
10056
10088
|
addTransitionClass(el, leaveActiveClass);
|
|
10057
10089
|
nextFrame(() => {
|
|
10058
|
-
if (!
|
|
10090
|
+
if (!el._isLeaving) {
|
|
10059
10091
|
// cancelled
|
|
10060
10092
|
return;
|
|
10061
10093
|
}
|