@vue/compat 3.5.8 → 3.5.9

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.8
2
+ * @vue/compat v3.5.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -106,6 +106,12 @@ let _globalThis;
106
106
  const getGlobalThis = () => {
107
107
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
108
108
  };
109
+ function genCacheKey(source, options) {
110
+ return source + JSON.stringify(
111
+ options,
112
+ (_, val) => typeof val === "function" ? val.toString() : val
113
+ );
114
+ }
109
115
 
110
116
  const PatchFlagNames = {
111
117
  [1]: `TEXT`,
@@ -639,11 +645,14 @@ function endBatch() {
639
645
  let error;
640
646
  while (batchedSub) {
641
647
  let e = batchedSub;
642
- batchedSub = void 0;
648
+ let next;
643
649
  while (e) {
644
- const next = e.next;
645
- e.next = void 0;
646
650
  e.flags &= ~8;
651
+ e = e.next;
652
+ }
653
+ e = batchedSub;
654
+ batchedSub = void 0;
655
+ while (e) {
647
656
  if (e.flags & 1) {
648
657
  try {
649
658
  ;
@@ -652,6 +661,8 @@ function endBatch() {
652
661
  if (!error) error = err;
653
662
  }
654
663
  }
664
+ next = e.next;
665
+ e.next = void 0;
655
666
  e = next;
656
667
  }
657
668
  }
@@ -664,7 +675,7 @@ function prepareDeps(sub) {
664
675
  link.dep.activeLink = link;
665
676
  }
666
677
  }
667
- function cleanupDeps(sub, fromComputed = false) {
678
+ function cleanupDeps(sub) {
668
679
  let head;
669
680
  let tail = sub.depsTail;
670
681
  let link = tail;
@@ -672,7 +683,7 @@ function cleanupDeps(sub, fromComputed = false) {
672
683
  const prev = link.prevDep;
673
684
  if (link.version === -1) {
674
685
  if (link === tail) tail = prev;
675
- removeSub(link, fromComputed);
686
+ removeSub(link);
676
687
  removeDep(link);
677
688
  } else {
678
689
  head = link;
@@ -727,11 +738,11 @@ function refreshComputed(computed) {
727
738
  } finally {
728
739
  activeSub = prevSub;
729
740
  shouldTrack = prevShouldTrack;
730
- cleanupDeps(computed, true);
741
+ cleanupDeps(computed);
731
742
  computed.flags &= ~2;
732
743
  }
733
744
  }
734
- function removeSub(link, fromComputed = false) {
745
+ function removeSub(link, soft = false) {
735
746
  const { dep, prevSub, nextSub } = link;
736
747
  if (prevSub) {
737
748
  prevSub.nextSub = nextSub;
@@ -747,17 +758,15 @@ function removeSub(link, fromComputed = false) {
747
758
  if (!!(process.env.NODE_ENV !== "production") && dep.subsHead === link) {
748
759
  dep.subsHead = nextSub;
749
760
  }
750
- if (!dep.subs) {
751
- if (dep.computed) {
752
- dep.computed.flags &= ~4;
753
- for (let l = dep.computed.deps; l; l = l.nextDep) {
754
- removeSub(l, true);
755
- }
756
- } else if (dep.map && !fromComputed) {
757
- dep.map.delete(dep.key);
758
- if (!dep.map.size) targetMap.delete(dep.target);
761
+ if (!dep.subs && dep.computed) {
762
+ dep.computed.flags &= ~4;
763
+ for (let l = dep.computed.deps; l; l = l.nextDep) {
764
+ removeSub(l, true);
759
765
  }
760
766
  }
767
+ if (!soft && !--dep.sc && dep.map) {
768
+ dep.map.delete(dep.key);
769
+ }
761
770
  }
762
771
  function removeDep(link) {
763
772
  const { prevDep, nextDep } = link;
@@ -842,6 +851,10 @@ class Dep {
842
851
  this.target = void 0;
843
852
  this.map = void 0;
844
853
  this.key = void 0;
854
+ /**
855
+ * Subscriber counter
856
+ */
857
+ this.sc = 0;
845
858
  if (!!(process.env.NODE_ENV !== "production")) {
846
859
  this.subsHead = void 0;
847
860
  }
@@ -860,9 +873,7 @@ class Dep {
860
873
  activeSub.depsTail.nextDep = link;
861
874
  activeSub.depsTail = link;
862
875
  }
863
- if (activeSub.flags & 4) {
864
- addSub(link);
865
- }
876
+ addSub(link);
866
877
  } else if (link.version === -1) {
867
878
  link.version = this.version;
868
879
  if (link.nextDep) {
@@ -926,22 +937,25 @@ class Dep {
926
937
  }
927
938
  }
928
939
  function addSub(link) {
929
- const computed = link.dep.computed;
930
- if (computed && !link.dep.subs) {
931
- computed.flags |= 4 | 16;
932
- for (let l = computed.deps; l; l = l.nextDep) {
933
- addSub(l);
940
+ link.dep.sc++;
941
+ if (link.sub.flags & 4) {
942
+ const computed = link.dep.computed;
943
+ if (computed && !link.dep.subs) {
944
+ computed.flags |= 4 | 16;
945
+ for (let l = computed.deps; l; l = l.nextDep) {
946
+ addSub(l);
947
+ }
934
948
  }
949
+ const currentTail = link.dep.subs;
950
+ if (currentTail !== link) {
951
+ link.prevSub = currentTail;
952
+ if (currentTail) currentTail.nextSub = link;
953
+ }
954
+ if (!!(process.env.NODE_ENV !== "production") && link.dep.subsHead === void 0) {
955
+ link.dep.subsHead = link;
956
+ }
957
+ link.dep.subs = link;
935
958
  }
936
- const currentTail = link.dep.subs;
937
- if (currentTail !== link) {
938
- link.prevSub = currentTail;
939
- if (currentTail) currentTail.nextSub = link;
940
- }
941
- if (!!(process.env.NODE_ENV !== "production") && link.dep.subsHead === void 0) {
942
- link.dep.subsHead = link;
943
- }
944
- link.dep.subs = link;
945
959
  }
946
960
  const targetMap = /* @__PURE__ */ new WeakMap();
947
961
  const ITERATE_KEY = Symbol(
@@ -1049,8 +1063,8 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
1049
1063
  endBatch();
1050
1064
  }
1051
1065
  function getDepFromReactive(object, key) {
1052
- var _a;
1053
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
1066
+ const depMap = targetMap.get(object);
1067
+ return depMap && depMap.get(key);
1054
1068
  }
1055
1069
 
1056
1070
  function reactiveReadArray(array) {
@@ -4248,6 +4262,7 @@ function useId() {
4248
4262
  `useId() is called when there is no active component instance to be associated with.`
4249
4263
  );
4250
4264
  }
4265
+ return "";
4251
4266
  }
4252
4267
  function markAsyncBoundary(instance) {
4253
4268
  instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
@@ -7182,7 +7197,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7182
7197
  return vm;
7183
7198
  }
7184
7199
  }
7185
- Vue.version = `2.6.14-compat:${"3.5.8"}`;
7200
+ Vue.version = `2.6.14-compat:${"3.5.9"}`;
7186
7201
  Vue.config = singletonApp.config;
7187
7202
  Vue.use = (plugin, ...options) => {
7188
7203
  if (plugin && isFunction(plugin.install)) {
@@ -11580,7 +11595,7 @@ function normalizeVNode(child) {
11580
11595
  // #3666, avoid reference pollution when reusing vnode
11581
11596
  child.slice()
11582
11597
  );
11583
- } else if (typeof child === "object") {
11598
+ } else if (isVNode(child)) {
11584
11599
  return cloneIfMounted(child);
11585
11600
  } else {
11586
11601
  return createVNode(Text, null, String(child));
@@ -12351,7 +12366,7 @@ function isMemoSame(cached, memo) {
12351
12366
  return true;
12352
12367
  }
12353
12368
 
12354
- const version = "3.5.8";
12369
+ const version = "3.5.9";
12355
12370
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12356
12371
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12357
12372
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13958,7 +13973,7 @@ const vModelCheckbox = {
13958
13973
  setChecked(el, binding, vnode);
13959
13974
  }
13960
13975
  };
13961
- function setChecked(el, { value, oldValue }, vnode) {
13976
+ function setChecked(el, { value }, vnode) {
13962
13977
  el._modelValue = value;
13963
13978
  let checked;
13964
13979
  if (isArray(value)) {
@@ -14008,19 +14023,19 @@ const vModelSelect = {
14008
14023
  },
14009
14024
  // set value in mounted & updated because <select> relies on its children
14010
14025
  // <option>s.
14011
- mounted(el, { value, modifiers: { number } }) {
14026
+ mounted(el, { value }) {
14012
14027
  setSelected(el, value);
14013
14028
  },
14014
14029
  beforeUpdate(el, _binding, vnode) {
14015
14030
  el[assignKey] = getModelAssigner(vnode);
14016
14031
  },
14017
- updated(el, { value, modifiers: { number } }) {
14032
+ updated(el, { value }) {
14018
14033
  if (!el._assigning) {
14019
14034
  setSelected(el, value);
14020
14035
  }
14021
14036
  }
14022
14037
  };
14023
- function setSelected(el, value, number) {
14038
+ function setSelected(el, value) {
14024
14039
  const isMultiple = el.multiple;
14025
14040
  const isArrayValue = isArray(value);
14026
14041
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -20494,7 +20509,7 @@ function compileToFunction(template, options) {
20494
20509
  return NOOP;
20495
20510
  }
20496
20511
  }
20497
- const key = template;
20512
+ const key = genCacheKey(template, options);
20498
20513
  const cached = compileCache[key];
20499
20514
  if (cached) {
20500
20515
  return cached;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.8
2
+ * @vue/compat v3.5.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -109,6 +109,12 @@ var Vue = (function () {
109
109
  const getGlobalThis = () => {
110
110
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
111
111
  };
112
+ function genCacheKey(source, options) {
113
+ return source + JSON.stringify(
114
+ options,
115
+ (_, val) => typeof val === "function" ? val.toString() : val
116
+ );
117
+ }
112
118
 
113
119
  const PatchFlagNames = {
114
120
  [1]: `TEXT`,
@@ -642,11 +648,14 @@ var Vue = (function () {
642
648
  let error;
643
649
  while (batchedSub) {
644
650
  let e = batchedSub;
645
- batchedSub = void 0;
651
+ let next;
646
652
  while (e) {
647
- const next = e.next;
648
- e.next = void 0;
649
653
  e.flags &= ~8;
654
+ e = e.next;
655
+ }
656
+ e = batchedSub;
657
+ batchedSub = void 0;
658
+ while (e) {
650
659
  if (e.flags & 1) {
651
660
  try {
652
661
  ;
@@ -655,6 +664,8 @@ var Vue = (function () {
655
664
  if (!error) error = err;
656
665
  }
657
666
  }
667
+ next = e.next;
668
+ e.next = void 0;
658
669
  e = next;
659
670
  }
660
671
  }
@@ -667,7 +678,7 @@ var Vue = (function () {
667
678
  link.dep.activeLink = link;
668
679
  }
669
680
  }
670
- function cleanupDeps(sub, fromComputed = false) {
681
+ function cleanupDeps(sub) {
671
682
  let head;
672
683
  let tail = sub.depsTail;
673
684
  let link = tail;
@@ -675,7 +686,7 @@ var Vue = (function () {
675
686
  const prev = link.prevDep;
676
687
  if (link.version === -1) {
677
688
  if (link === tail) tail = prev;
678
- removeSub(link, fromComputed);
689
+ removeSub(link);
679
690
  removeDep(link);
680
691
  } else {
681
692
  head = link;
@@ -730,11 +741,11 @@ var Vue = (function () {
730
741
  } finally {
731
742
  activeSub = prevSub;
732
743
  shouldTrack = prevShouldTrack;
733
- cleanupDeps(computed, true);
744
+ cleanupDeps(computed);
734
745
  computed.flags &= ~2;
735
746
  }
736
747
  }
737
- function removeSub(link, fromComputed = false) {
748
+ function removeSub(link, soft = false) {
738
749
  const { dep, prevSub, nextSub } = link;
739
750
  if (prevSub) {
740
751
  prevSub.nextSub = nextSub;
@@ -750,17 +761,15 @@ var Vue = (function () {
750
761
  if (dep.subsHead === link) {
751
762
  dep.subsHead = nextSub;
752
763
  }
753
- if (!dep.subs) {
754
- if (dep.computed) {
755
- dep.computed.flags &= ~4;
756
- for (let l = dep.computed.deps; l; l = l.nextDep) {
757
- removeSub(l, true);
758
- }
759
- } else if (dep.map && !fromComputed) {
760
- dep.map.delete(dep.key);
761
- if (!dep.map.size) targetMap.delete(dep.target);
764
+ if (!dep.subs && dep.computed) {
765
+ dep.computed.flags &= ~4;
766
+ for (let l = dep.computed.deps; l; l = l.nextDep) {
767
+ removeSub(l, true);
762
768
  }
763
769
  }
770
+ if (!soft && !--dep.sc && dep.map) {
771
+ dep.map.delete(dep.key);
772
+ }
764
773
  }
765
774
  function removeDep(link) {
766
775
  const { prevDep, nextDep } = link;
@@ -845,6 +854,10 @@ var Vue = (function () {
845
854
  this.target = void 0;
846
855
  this.map = void 0;
847
856
  this.key = void 0;
857
+ /**
858
+ * Subscriber counter
859
+ */
860
+ this.sc = 0;
848
861
  {
849
862
  this.subsHead = void 0;
850
863
  }
@@ -863,9 +876,7 @@ var Vue = (function () {
863
876
  activeSub.depsTail.nextDep = link;
864
877
  activeSub.depsTail = link;
865
878
  }
866
- if (activeSub.flags & 4) {
867
- addSub(link);
868
- }
879
+ addSub(link);
869
880
  } else if (link.version === -1) {
870
881
  link.version = this.version;
871
882
  if (link.nextDep) {
@@ -929,22 +940,25 @@ var Vue = (function () {
929
940
  }
930
941
  }
931
942
  function addSub(link) {
932
- const computed = link.dep.computed;
933
- if (computed && !link.dep.subs) {
934
- computed.flags |= 4 | 16;
935
- for (let l = computed.deps; l; l = l.nextDep) {
936
- addSub(l);
943
+ link.dep.sc++;
944
+ if (link.sub.flags & 4) {
945
+ const computed = link.dep.computed;
946
+ if (computed && !link.dep.subs) {
947
+ computed.flags |= 4 | 16;
948
+ for (let l = computed.deps; l; l = l.nextDep) {
949
+ addSub(l);
950
+ }
937
951
  }
952
+ const currentTail = link.dep.subs;
953
+ if (currentTail !== link) {
954
+ link.prevSub = currentTail;
955
+ if (currentTail) currentTail.nextSub = link;
956
+ }
957
+ if (link.dep.subsHead === void 0) {
958
+ link.dep.subsHead = link;
959
+ }
960
+ link.dep.subs = link;
938
961
  }
939
- const currentTail = link.dep.subs;
940
- if (currentTail !== link) {
941
- link.prevSub = currentTail;
942
- if (currentTail) currentTail.nextSub = link;
943
- }
944
- if (link.dep.subsHead === void 0) {
945
- link.dep.subsHead = link;
946
- }
947
- link.dep.subs = link;
948
962
  }
949
963
  const targetMap = /* @__PURE__ */ new WeakMap();
950
964
  const ITERATE_KEY = Symbol(
@@ -1048,8 +1062,8 @@ var Vue = (function () {
1048
1062
  endBatch();
1049
1063
  }
1050
1064
  function getDepFromReactive(object, key) {
1051
- var _a;
1052
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
1065
+ const depMap = targetMap.get(object);
1066
+ return depMap && depMap.get(key);
1053
1067
  }
1054
1068
 
1055
1069
  function reactiveReadArray(array) {
@@ -4232,6 +4246,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4232
4246
  `useId() is called when there is no active component instance to be associated with.`
4233
4247
  );
4234
4248
  }
4249
+ return "";
4235
4250
  }
4236
4251
  function markAsyncBoundary(instance) {
4237
4252
  instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
@@ -7144,7 +7159,7 @@ If this is a native custom element, make sure to exclude it from component resol
7144
7159
  return vm;
7145
7160
  }
7146
7161
  }
7147
- Vue.version = `2.6.14-compat:${"3.5.8"}`;
7162
+ Vue.version = `2.6.14-compat:${"3.5.9"}`;
7148
7163
  Vue.config = singletonApp.config;
7149
7164
  Vue.use = (plugin, ...options) => {
7150
7165
  if (plugin && isFunction(plugin.install)) {
@@ -11479,7 +11494,7 @@ Component that was made reactive: `,
11479
11494
  // #3666, avoid reference pollution when reusing vnode
11480
11495
  child.slice()
11481
11496
  );
11482
- } else if (typeof child === "object") {
11497
+ } else if (isVNode(child)) {
11483
11498
  return cloneIfMounted(child);
11484
11499
  } else {
11485
11500
  return createVNode(Text, null, String(child));
@@ -12222,7 +12237,7 @@ Component that was made reactive: `,
12222
12237
  return true;
12223
12238
  }
12224
12239
 
12225
- const version = "3.5.8";
12240
+ const version = "3.5.9";
12226
12241
  const warn = warn$1 ;
12227
12242
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12228
12243
  const devtools = devtools$1 ;
@@ -13798,7 +13813,7 @@ Expected function or array of functions, received type ${typeof value}.`
13798
13813
  setChecked(el, binding, vnode);
13799
13814
  }
13800
13815
  };
13801
- function setChecked(el, { value, oldValue }, vnode) {
13816
+ function setChecked(el, { value }, vnode) {
13802
13817
  el._modelValue = value;
13803
13818
  let checked;
13804
13819
  if (isArray(value)) {
@@ -13848,19 +13863,19 @@ Expected function or array of functions, received type ${typeof value}.`
13848
13863
  },
13849
13864
  // set value in mounted & updated because <select> relies on its children
13850
13865
  // <option>s.
13851
- mounted(el, { value, modifiers: { number } }) {
13866
+ mounted(el, { value }) {
13852
13867
  setSelected(el, value);
13853
13868
  },
13854
13869
  beforeUpdate(el, _binding, vnode) {
13855
13870
  el[assignKey] = getModelAssigner(vnode);
13856
13871
  },
13857
- updated(el, { value, modifiers: { number } }) {
13872
+ updated(el, { value }) {
13858
13873
  if (!el._assigning) {
13859
13874
  setSelected(el, value);
13860
13875
  }
13861
13876
  }
13862
13877
  };
13863
- function setSelected(el, value, number) {
13878
+ function setSelected(el, value) {
13864
13879
  const isMultiple = el.multiple;
13865
13880
  const isArrayValue = isArray(value);
13866
13881
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -20296,7 +20311,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20296
20311
  return NOOP;
20297
20312
  }
20298
20313
  }
20299
- const key = template;
20314
+ const key = genCacheKey(template, options);
20300
20315
  const cached = compileCache[key];
20301
20316
  if (cached) {
20302
20317
  return cached;