@vue/compat 3.5.9 → 3.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.9
2
+ * @vue/compat v3.5.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -683,8 +683,14 @@ class ReactiveEffect {
683
683
  }
684
684
  let batchDepth = 0;
685
685
  let batchedSub;
686
- function batch(sub) {
686
+ let batchedComputed;
687
+ function batch(sub, isComputed = false) {
687
688
  sub.flags |= 8;
689
+ if (isComputed) {
690
+ sub.next = batchedComputed;
691
+ batchedComputed = sub;
692
+ return;
693
+ }
688
694
  sub.next = batchedSub;
689
695
  batchedSub = sub;
690
696
  }
@@ -695,17 +701,24 @@ function endBatch() {
695
701
  if (--batchDepth > 0) {
696
702
  return;
697
703
  }
698
- let error;
699
- while (batchedSub) {
700
- let e = batchedSub;
701
- let next;
704
+ if (batchedComputed) {
705
+ let e = batchedComputed;
706
+ batchedComputed = void 0;
702
707
  while (e) {
708
+ const next = e.next;
709
+ e.next = void 0;
703
710
  e.flags &= ~8;
704
- e = e.next;
711
+ e = next;
705
712
  }
706
- e = batchedSub;
713
+ }
714
+ let error;
715
+ while (batchedSub) {
716
+ let e = batchedSub;
707
717
  batchedSub = void 0;
708
718
  while (e) {
719
+ const next = e.next;
720
+ e.next = void 0;
721
+ e.flags &= ~8;
709
722
  if (e.flags & 1) {
710
723
  try {
711
724
  ;
@@ -714,8 +727,6 @@ function endBatch() {
714
727
  if (!error) error = err;
715
728
  }
716
729
  }
717
- next = e.next;
718
- e.next = void 0;
719
730
  e = next;
720
731
  }
721
732
  }
@@ -901,7 +912,6 @@ class Dep {
901
912
  /**
902
913
  * For object property deps cleanup
903
914
  */
904
- this.target = void 0;
905
915
  this.map = void 0;
906
916
  this.key = void 0;
907
917
  /**
@@ -1029,7 +1039,6 @@ function track(target, type, key) {
1029
1039
  let dep = depsMap.get(key);
1030
1040
  if (!dep) {
1031
1041
  depsMap.set(key, dep = new Dep());
1032
- dep.target = target;
1033
1042
  dep.map = depsMap;
1034
1043
  dep.key = key;
1035
1044
  }
@@ -2049,6 +2058,10 @@ class ComputedRefImpl {
2049
2058
  * @internal
2050
2059
  */
2051
2060
  this.globalVersion = globalVersion - 1;
2061
+ /**
2062
+ * @internal
2063
+ */
2064
+ this.next = void 0;
2052
2065
  // for backwards compat
2053
2066
  this.effect = this;
2054
2067
  this["__v_isReadonly"] = !setter;
@@ -2061,7 +2074,7 @@ class ComputedRefImpl {
2061
2074
  this.flags |= 16;
2062
2075
  if (!(this.flags & 8) && // avoid infinite self recursion
2063
2076
  activeSub !== this) {
2064
- batch(this);
2077
+ batch(this, true);
2065
2078
  return true;
2066
2079
  }
2067
2080
  }
@@ -2583,10 +2596,8 @@ function logError(err, type, contextVNode, throwInDev = true, throwInProd = fals
2583
2596
  }
2584
2597
  }
2585
2598
 
2586
- let isFlushing = false;
2587
- let isFlushPending = false;
2588
2599
  const queue = [];
2589
- let flushIndex = 0;
2600
+ let flushIndex = -1;
2590
2601
  const pendingPostFlushCbs = [];
2591
2602
  let activePostFlushCbs = null;
2592
2603
  let postFlushIndex = 0;
@@ -2598,7 +2609,7 @@ function nextTick(fn) {
2598
2609
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
2599
2610
  }
2600
2611
  function findInsertionIndex(id) {
2601
- let start = isFlushing ? flushIndex + 1 : 0;
2612
+ let start = flushIndex + 1;
2602
2613
  let end = queue.length;
2603
2614
  while (start < end) {
2604
2615
  const middle = start + end >>> 1;
@@ -2627,8 +2638,7 @@ function queueJob(job) {
2627
2638
  }
2628
2639
  }
2629
2640
  function queueFlush() {
2630
- if (!isFlushing && !isFlushPending) {
2631
- isFlushPending = true;
2641
+ if (!currentFlushPromise) {
2632
2642
  currentFlushPromise = resolvedPromise.then(flushJobs);
2633
2643
  }
2634
2644
  }
@@ -2645,7 +2655,7 @@ function queuePostFlushCb(cb) {
2645
2655
  }
2646
2656
  queueFlush();
2647
2657
  }
2648
- function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
2658
+ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2649
2659
  {
2650
2660
  seen = seen || /* @__PURE__ */ new Map();
2651
2661
  }
@@ -2701,8 +2711,6 @@ function flushPostFlushCbs(seen) {
2701
2711
  }
2702
2712
  const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2703
2713
  function flushJobs(seen) {
2704
- isFlushPending = false;
2705
- isFlushing = true;
2706
2714
  {
2707
2715
  seen = seen || /* @__PURE__ */ new Map();
2708
2716
  }
@@ -2734,10 +2742,9 @@ function flushJobs(seen) {
2734
2742
  job.flags &= ~1;
2735
2743
  }
2736
2744
  }
2737
- flushIndex = 0;
2745
+ flushIndex = -1;
2738
2746
  queue.length = 0;
2739
2747
  flushPostFlushCbs(seen);
2740
- isFlushing = false;
2741
2748
  currentFlushPromise = null;
2742
2749
  if (queue.length || pendingPostFlushCbs.length) {
2743
2750
  flushJobs(seen);
@@ -7218,7 +7225,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7218
7225
  return vm;
7219
7226
  }
7220
7227
  }
7221
- Vue.version = `2.6.14-compat:${"3.5.9"}`;
7228
+ Vue.version = `2.6.14-compat:${"3.5.11"}`;
7222
7229
  Vue.config = singletonApp.config;
7223
7230
  Vue.use = (plugin, ...options) => {
7224
7231
  if (plugin && isFunction(plugin.install)) {
@@ -12333,7 +12340,7 @@ function isMemoSame(cached, memo) {
12333
12340
  return true;
12334
12341
  }
12335
12342
 
12336
- const version = "3.5.9";
12343
+ const version = "3.5.11";
12337
12344
  const warn = warn$1 ;
12338
12345
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12339
12346
  const devtools = devtools$1 ;
@@ -13142,6 +13149,11 @@ const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) =>
13142
13149
  if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
13143
13150
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
13144
13151
  }
13152
+ } else if (
13153
+ // #11081 force set props for possible async custom element
13154
+ el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))
13155
+ ) {
13156
+ patchDOMProp(el, camelize(key), nextValue, parentComponent);
13145
13157
  } else {
13146
13158
  if (key === "true-value") {
13147
13159
  el._trueValue = nextValue;
@@ -13182,13 +13194,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
13182
13194
  if (isNativeOn(key) && isString(value)) {
13183
13195
  return false;
13184
13196
  }
13185
- if (key in el) {
13186
- return true;
13187
- }
13188
- if (el._isVueCE && (/[A-Z]/.test(key) || !isString(value))) {
13189
- return true;
13190
- }
13191
- return false;
13197
+ return key in el;
13192
13198
  }
13193
13199
 
13194
13200
  const REMOVAL = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.9
2
+ * @vue/compat v3.5.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -589,8 +589,14 @@ class ReactiveEffect {
589
589
  }
590
590
  let batchDepth = 0;
591
591
  let batchedSub;
592
- function batch(sub) {
592
+ let batchedComputed;
593
+ function batch(sub, isComputed = false) {
593
594
  sub.flags |= 8;
595
+ if (isComputed) {
596
+ sub.next = batchedComputed;
597
+ batchedComputed = sub;
598
+ return;
599
+ }
594
600
  sub.next = batchedSub;
595
601
  batchedSub = sub;
596
602
  }
@@ -601,17 +607,24 @@ function endBatch() {
601
607
  if (--batchDepth > 0) {
602
608
  return;
603
609
  }
604
- let error;
605
- while (batchedSub) {
606
- let e = batchedSub;
607
- let next;
610
+ if (batchedComputed) {
611
+ let e = batchedComputed;
612
+ batchedComputed = void 0;
608
613
  while (e) {
614
+ const next = e.next;
615
+ e.next = void 0;
609
616
  e.flags &= ~8;
610
- e = e.next;
617
+ e = next;
611
618
  }
612
- e = batchedSub;
619
+ }
620
+ let error;
621
+ while (batchedSub) {
622
+ let e = batchedSub;
613
623
  batchedSub = void 0;
614
624
  while (e) {
625
+ const next = e.next;
626
+ e.next = void 0;
627
+ e.flags &= ~8;
615
628
  if (e.flags & 1) {
616
629
  try {
617
630
  ;
@@ -620,8 +633,6 @@ function endBatch() {
620
633
  if (!error) error = err;
621
634
  }
622
635
  }
623
- next = e.next;
624
- e.next = void 0;
625
636
  e = next;
626
637
  }
627
638
  }
@@ -804,7 +815,6 @@ class Dep {
804
815
  /**
805
816
  * For object property deps cleanup
806
817
  */
807
- this.target = void 0;
808
818
  this.map = void 0;
809
819
  this.key = void 0;
810
820
  /**
@@ -903,7 +913,6 @@ function track(target, type, key) {
903
913
  let dep = depsMap.get(key);
904
914
  if (!dep) {
905
915
  depsMap.set(key, dep = new Dep());
906
- dep.target = target;
907
916
  dep.map = depsMap;
908
917
  dep.key = key;
909
918
  }
@@ -1854,6 +1863,10 @@ class ComputedRefImpl {
1854
1863
  * @internal
1855
1864
  */
1856
1865
  this.globalVersion = globalVersion - 1;
1866
+ /**
1867
+ * @internal
1868
+ */
1869
+ this.next = void 0;
1857
1870
  // for backwards compat
1858
1871
  this.effect = this;
1859
1872
  this["__v_isReadonly"] = !setter;
@@ -1866,7 +1879,7 @@ class ComputedRefImpl {
1866
1879
  this.flags |= 16;
1867
1880
  if (!(this.flags & 8) && // avoid infinite self recursion
1868
1881
  activeSub !== this) {
1869
- batch(this);
1882
+ batch(this, true);
1870
1883
  return true;
1871
1884
  }
1872
1885
  }
@@ -2232,10 +2245,8 @@ function logError(err, type, contextVNode, throwInDev = true, throwInProd = fals
2232
2245
  }
2233
2246
  }
2234
2247
 
2235
- let isFlushing = false;
2236
- let isFlushPending = false;
2237
2248
  const queue = [];
2238
- let flushIndex = 0;
2249
+ let flushIndex = -1;
2239
2250
  const pendingPostFlushCbs = [];
2240
2251
  let activePostFlushCbs = null;
2241
2252
  let postFlushIndex = 0;
@@ -2246,7 +2257,7 @@ function nextTick(fn) {
2246
2257
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
2247
2258
  }
2248
2259
  function findInsertionIndex(id) {
2249
- let start = isFlushing ? flushIndex + 1 : 0;
2260
+ let start = flushIndex + 1;
2250
2261
  let end = queue.length;
2251
2262
  while (start < end) {
2252
2263
  const middle = start + end >>> 1;
@@ -2275,8 +2286,7 @@ function queueJob(job) {
2275
2286
  }
2276
2287
  }
2277
2288
  function queueFlush() {
2278
- if (!isFlushing && !isFlushPending) {
2279
- isFlushPending = true;
2289
+ if (!currentFlushPromise) {
2280
2290
  currentFlushPromise = resolvedPromise.then(flushJobs);
2281
2291
  }
2282
2292
  }
@@ -2293,7 +2303,7 @@ function queuePostFlushCb(cb) {
2293
2303
  }
2294
2304
  queueFlush();
2295
2305
  }
2296
- function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
2306
+ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2297
2307
  for (; i < queue.length; i++) {
2298
2308
  const cb = queue[i];
2299
2309
  if (cb && cb.flags & 2) {
@@ -2337,8 +2347,6 @@ function flushPostFlushCbs(seen) {
2337
2347
  }
2338
2348
  const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2339
2349
  function flushJobs(seen) {
2340
- isFlushPending = false;
2341
- isFlushing = true;
2342
2350
  try {
2343
2351
  for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
2344
2352
  const job = queue[flushIndex];
@@ -2364,10 +2372,9 @@ function flushJobs(seen) {
2364
2372
  job.flags &= ~1;
2365
2373
  }
2366
2374
  }
2367
- flushIndex = 0;
2375
+ flushIndex = -1;
2368
2376
  queue.length = 0;
2369
2377
  flushPostFlushCbs();
2370
- isFlushing = false;
2371
2378
  currentFlushPromise = null;
2372
2379
  if (queue.length || pendingPostFlushCbs.length) {
2373
2380
  flushJobs();
@@ -5807,7 +5814,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5807
5814
  return vm;
5808
5815
  }
5809
5816
  }
5810
- Vue.version = `2.6.14-compat:${"3.5.9"}`;
5817
+ Vue.version = `2.6.14-compat:${"3.5.11"}`;
5811
5818
  Vue.config = singletonApp.config;
5812
5819
  Vue.use = (plugin, ...options) => {
5813
5820
  if (plugin && isFunction(plugin.install)) {
@@ -9928,7 +9935,7 @@ function isMemoSame(cached, memo) {
9928
9935
  return true;
9929
9936
  }
9930
9937
 
9931
- const version = "3.5.9";
9938
+ const version = "3.5.11";
9932
9939
  const warn$1 = NOOP;
9933
9940
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9934
9941
  const devtools = void 0;
@@ -10701,6 +10708,11 @@ const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) =>
10701
10708
  if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
10702
10709
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
10703
10710
  }
10711
+ } else if (
10712
+ // #11081 force set props for possible async custom element
10713
+ el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))
10714
+ ) {
10715
+ patchDOMProp(el, camelize(key), nextValue, parentComponent);
10704
10716
  } else {
10705
10717
  if (key === "true-value") {
10706
10718
  el._trueValue = nextValue;
@@ -10741,13 +10753,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
10741
10753
  if (isNativeOn(key) && isString(value)) {
10742
10754
  return false;
10743
10755
  }
10744
- if (key in el) {
10745
- return true;
10746
- }
10747
- if (el._isVueCE && (/[A-Z]/.test(key) || !isString(value))) {
10748
- return true;
10749
- }
10750
- return false;
10756
+ return key in el;
10751
10757
  }
10752
10758
 
10753
10759
  const REMOVAL = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.9
2
+ * @vue/compat v3.5.11
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -630,8 +630,14 @@ class ReactiveEffect {
630
630
  }
631
631
  let batchDepth = 0;
632
632
  let batchedSub;
633
- function batch(sub) {
633
+ let batchedComputed;
634
+ function batch(sub, isComputed = false) {
634
635
  sub.flags |= 8;
636
+ if (isComputed) {
637
+ sub.next = batchedComputed;
638
+ batchedComputed = sub;
639
+ return;
640
+ }
635
641
  sub.next = batchedSub;
636
642
  batchedSub = sub;
637
643
  }
@@ -642,17 +648,24 @@ function endBatch() {
642
648
  if (--batchDepth > 0) {
643
649
  return;
644
650
  }
645
- let error;
646
- while (batchedSub) {
647
- let e = batchedSub;
648
- let next;
651
+ if (batchedComputed) {
652
+ let e = batchedComputed;
653
+ batchedComputed = void 0;
649
654
  while (e) {
655
+ const next = e.next;
656
+ e.next = void 0;
650
657
  e.flags &= ~8;
651
- e = e.next;
658
+ e = next;
652
659
  }
653
- e = batchedSub;
660
+ }
661
+ let error;
662
+ while (batchedSub) {
663
+ let e = batchedSub;
654
664
  batchedSub = void 0;
655
665
  while (e) {
666
+ const next = e.next;
667
+ e.next = void 0;
668
+ e.flags &= ~8;
656
669
  if (e.flags & 1) {
657
670
  try {
658
671
  ;
@@ -661,8 +674,6 @@ function endBatch() {
661
674
  if (!error) error = err;
662
675
  }
663
676
  }
664
- next = e.next;
665
- e.next = void 0;
666
677
  e = next;
667
678
  }
668
679
  }
@@ -848,7 +859,6 @@ class Dep {
848
859
  /**
849
860
  * For object property deps cleanup
850
861
  */
851
- this.target = void 0;
852
862
  this.map = void 0;
853
863
  this.key = void 0;
854
864
  /**
@@ -976,7 +986,6 @@ function track(target, type, key) {
976
986
  let dep = depsMap.get(key);
977
987
  if (!dep) {
978
988
  depsMap.set(key, dep = new Dep());
979
- dep.target = target;
980
989
  dep.map = depsMap;
981
990
  dep.key = key;
982
991
  }
@@ -1996,6 +2005,10 @@ class ComputedRefImpl {
1996
2005
  * @internal
1997
2006
  */
1998
2007
  this.globalVersion = globalVersion - 1;
2008
+ /**
2009
+ * @internal
2010
+ */
2011
+ this.next = void 0;
1999
2012
  // for backwards compat
2000
2013
  this.effect = this;
2001
2014
  this["__v_isReadonly"] = !setter;
@@ -2008,7 +2021,7 @@ class ComputedRefImpl {
2008
2021
  this.flags |= 16;
2009
2022
  if (!(this.flags & 8) && // avoid infinite self recursion
2010
2023
  activeSub !== this) {
2011
- batch(this);
2024
+ batch(this, true);
2012
2025
  return true;
2013
2026
  }
2014
2027
  }
@@ -2530,10 +2543,8 @@ function logError(err, type, contextVNode, throwInDev = true, throwInProd = fals
2530
2543
  }
2531
2544
  }
2532
2545
 
2533
- let isFlushing = false;
2534
- let isFlushPending = false;
2535
2546
  const queue = [];
2536
- let flushIndex = 0;
2547
+ let flushIndex = -1;
2537
2548
  const pendingPostFlushCbs = [];
2538
2549
  let activePostFlushCbs = null;
2539
2550
  let postFlushIndex = 0;
@@ -2545,7 +2556,7 @@ function nextTick(fn) {
2545
2556
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
2546
2557
  }
2547
2558
  function findInsertionIndex(id) {
2548
- let start = isFlushing ? flushIndex + 1 : 0;
2559
+ let start = flushIndex + 1;
2549
2560
  let end = queue.length;
2550
2561
  while (start < end) {
2551
2562
  const middle = start + end >>> 1;
@@ -2574,8 +2585,7 @@ function queueJob(job) {
2574
2585
  }
2575
2586
  }
2576
2587
  function queueFlush() {
2577
- if (!isFlushing && !isFlushPending) {
2578
- isFlushPending = true;
2588
+ if (!currentFlushPromise) {
2579
2589
  currentFlushPromise = resolvedPromise.then(flushJobs);
2580
2590
  }
2581
2591
  }
@@ -2592,7 +2602,7 @@ function queuePostFlushCb(cb) {
2592
2602
  }
2593
2603
  queueFlush();
2594
2604
  }
2595
- function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
2605
+ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2596
2606
  {
2597
2607
  seen = seen || /* @__PURE__ */ new Map();
2598
2608
  }
@@ -2648,8 +2658,6 @@ function flushPostFlushCbs(seen) {
2648
2658
  }
2649
2659
  const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2650
2660
  function flushJobs(seen) {
2651
- isFlushPending = false;
2652
- isFlushing = true;
2653
2661
  {
2654
2662
  seen = seen || /* @__PURE__ */ new Map();
2655
2663
  }
@@ -2681,10 +2689,9 @@ function flushJobs(seen) {
2681
2689
  job.flags &= ~1;
2682
2690
  }
2683
2691
  }
2684
- flushIndex = 0;
2692
+ flushIndex = -1;
2685
2693
  queue.length = 0;
2686
2694
  flushPostFlushCbs(seen);
2687
- isFlushing = false;
2688
2695
  currentFlushPromise = null;
2689
2696
  if (queue.length || pendingPostFlushCbs.length) {
2690
2697
  flushJobs(seen);
@@ -7165,7 +7172,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7165
7172
  return vm;
7166
7173
  }
7167
7174
  }
7168
- Vue.version = `2.6.14-compat:${"3.5.9"}`;
7175
+ Vue.version = `2.6.14-compat:${"3.5.11"}`;
7169
7176
  Vue.config = singletonApp.config;
7170
7177
  Vue.use = (plugin, ...options) => {
7171
7178
  if (plugin && isFunction(plugin.install)) {
@@ -12280,7 +12287,7 @@ function isMemoSame(cached, memo) {
12280
12287
  return true;
12281
12288
  }
12282
12289
 
12283
- const version = "3.5.9";
12290
+ const version = "3.5.11";
12284
12291
  const warn = warn$1 ;
12285
12292
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12286
12293
  const devtools = devtools$1 ;
@@ -13155,6 +13162,11 @@ const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) =>
13155
13162
  if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
13156
13163
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
13157
13164
  }
13165
+ } else if (
13166
+ // #11081 force set props for possible async custom element
13167
+ el._isVueCE && (/[A-Z]/.test(key) || !isString(nextValue))
13168
+ ) {
13169
+ patchDOMProp(el, camelize(key), nextValue, parentComponent);
13158
13170
  } else {
13159
13171
  if (key === "true-value") {
13160
13172
  el._trueValue = nextValue;
@@ -13195,13 +13207,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
13195
13207
  if (isNativeOn(key) && isString(value)) {
13196
13208
  return false;
13197
13209
  }
13198
- if (key in el) {
13199
- return true;
13200
- }
13201
- if (el._isVueCE && (/[A-Z]/.test(key) || !isString(value))) {
13202
- return true;
13203
- }
13204
- return false;
13210
+ return key in el;
13205
13211
  }
13206
13212
 
13207
13213
  const REMOVAL = {};