@vue/compat 3.5.0-beta.1 → 3.5.0-beta.2

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.0-beta.1
2
+ * @vue/compat v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -532,11 +532,11 @@ class ReactiveEffect {
532
532
  }
533
533
  }
534
534
  pause() {
535
- this.flags |= 128;
535
+ this.flags |= 64;
536
536
  }
537
537
  resume() {
538
- if (this.flags & 128) {
539
- this.flags &= ~128;
538
+ if (this.flags & 64) {
539
+ this.flags &= ~64;
540
540
  if (pausedQueueEffects.has(this)) {
541
541
  pausedQueueEffects.delete(this);
542
542
  this.trigger();
@@ -550,9 +550,6 @@ class ReactiveEffect {
550
550
  if (this.flags & 2 && !(this.flags & 32)) {
551
551
  return;
552
552
  }
553
- if (this.flags & 64) {
554
- return this.trigger();
555
- }
556
553
  if (!(this.flags & 8)) {
557
554
  this.flags |= 8;
558
555
  this.nextEffect = batchedEffect;
@@ -596,7 +593,7 @@ class ReactiveEffect {
596
593
  }
597
594
  }
598
595
  trigger() {
599
- if (this.flags & 128) {
596
+ if (this.flags & 64) {
600
597
  pausedQueueEffects.add(this);
601
598
  } else if (this.scheduler) {
602
599
  this.scheduler();
@@ -626,6 +623,7 @@ function endBatch() {
626
623
  batchDepth--;
627
624
  return;
628
625
  }
626
+ batchDepth--;
629
627
  let error;
630
628
  while (batchedEffect) {
631
629
  let e = batchedEffect;
@@ -644,7 +642,6 @@ function endBatch() {
644
642
  e = next;
645
643
  }
646
644
  }
647
- batchDepth--;
648
645
  if (error) throw error;
649
646
  }
650
647
  function prepareDeps(sub) {
@@ -1051,26 +1048,26 @@ const arrayInstrumentations = {
1051
1048
  });
1052
1049
  },
1053
1050
  every(fn, thisArg) {
1054
- return apply(this, "every", fn, thisArg);
1051
+ return apply(this, "every", fn, thisArg, void 0, arguments);
1055
1052
  },
1056
1053
  filter(fn, thisArg) {
1057
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive));
1054
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
1058
1055
  },
1059
1056
  find(fn, thisArg) {
1060
- return apply(this, "find", fn, thisArg, toReactive);
1057
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
1061
1058
  },
1062
1059
  findIndex(fn, thisArg) {
1063
- return apply(this, "findIndex", fn, thisArg);
1060
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
1064
1061
  },
1065
1062
  findLast(fn, thisArg) {
1066
- return apply(this, "findLast", fn, thisArg, toReactive);
1063
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
1067
1064
  },
1068
1065
  findLastIndex(fn, thisArg) {
1069
- return apply(this, "findLastIndex", fn, thisArg);
1066
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
1070
1067
  },
1071
1068
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
1072
1069
  forEach(fn, thisArg) {
1073
- return apply(this, "forEach", fn, thisArg);
1070
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
1074
1071
  },
1075
1072
  includes(...args) {
1076
1073
  return searchProxy(this, "includes", args);
@@ -1086,7 +1083,7 @@ const arrayInstrumentations = {
1086
1083
  return searchProxy(this, "lastIndexOf", args);
1087
1084
  },
1088
1085
  map(fn, thisArg) {
1089
- return apply(this, "map", fn, thisArg);
1086
+ return apply(this, "map", fn, thisArg, void 0, arguments);
1090
1087
  },
1091
1088
  pop() {
1092
1089
  return noTracking(this, "pop");
@@ -1105,7 +1102,7 @@ const arrayInstrumentations = {
1105
1102
  },
1106
1103
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
1107
1104
  some(fn, thisArg) {
1108
- return apply(this, "some", fn, thisArg);
1105
+ return apply(this, "some", fn, thisArg, void 0, arguments);
1109
1106
  },
1110
1107
  splice(...args) {
1111
1108
  return noTracking(this, "splice", args);
@@ -1141,8 +1138,13 @@ function iterator(self, method, wrapValue) {
1141
1138
  }
1142
1139
  return iter;
1143
1140
  }
1144
- function apply(self, method, fn, thisArg, wrappedRetFn) {
1141
+ const arrayProto = Array.prototype;
1142
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1145
1143
  const arr = shallowReadArray(self);
1144
+ let methodFn;
1145
+ if ((methodFn = arr[method]) !== arrayProto[method]) {
1146
+ return methodFn.apply(arr, args);
1147
+ }
1146
1148
  let needsWrap = false;
1147
1149
  let wrappedFn = fn;
1148
1150
  if (arr !== self) {
@@ -1157,7 +1159,7 @@ function apply(self, method, fn, thisArg, wrappedRetFn) {
1157
1159
  };
1158
1160
  }
1159
1161
  }
1160
- const result = arr[method](wrappedFn, thisArg);
1162
+ const result = methodFn.call(arr, wrappedFn, thisArg);
1161
1163
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
1162
1164
  }
1163
1165
  function reduce(self, method, fn, args) {
@@ -4108,6 +4110,7 @@ const logMismatchError = () => {
4108
4110
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
4109
4111
  const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
4110
4112
  const getContainerType = (container) => {
4113
+ if (container.nodeType !== 1) return void 0;
4111
4114
  if (isSVGContainer(container)) return "svg";
4112
4115
  if (isMathMLContainer(container)) return "mathml";
4113
4116
  return void 0;
@@ -5047,7 +5050,7 @@ const KeepAliveImpl = {
5047
5050
  function pruneCache(filter) {
5048
5051
  cache.forEach((vnode, key) => {
5049
5052
  const name = getComponentName(vnode.type);
5050
- if (name && (!filter || !filter(name))) {
5053
+ if (name && !filter(name)) {
5051
5054
  pruneCacheEntry(key);
5052
5055
  }
5053
5056
  });
@@ -5169,6 +5172,7 @@ function matches(pattern, name) {
5169
5172
  } else if (isString(pattern)) {
5170
5173
  return pattern.split(",").includes(name);
5171
5174
  } else if (isRegExp(pattern)) {
5175
+ pattern.lastIndex = 0;
5172
5176
  return pattern.test(name);
5173
5177
  }
5174
5178
  return false;
@@ -6855,7 +6859,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6855
6859
  return vm;
6856
6860
  }
6857
6861
  }
6858
- Vue.version = `2.6.14-compat:${"3.5.0-beta.1"}`;
6862
+ Vue.version = `2.6.14-compat:${"3.5.0-beta.2"}`;
6859
6863
  Vue.config = singletonApp.config;
6860
6864
  Vue.use = (plugin, ...options) => {
6861
6865
  if (plugin && isFunction(plugin.install)) {
@@ -9847,7 +9851,6 @@ function doWatch(source, cb, {
9847
9851
  const effect = new ReactiveEffect(getter);
9848
9852
  let scheduler;
9849
9853
  if (flush === "sync") {
9850
- effect.flags |= 64;
9851
9854
  scheduler = job;
9852
9855
  } else if (flush === "post") {
9853
9856
  scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
@@ -12213,7 +12216,7 @@ function isMemoSame(cached, memo) {
12213
12216
  return true;
12214
12217
  }
12215
12218
 
12216
- const version = "3.5.0-beta.1";
12219
+ const version = "3.5.0-beta.2";
12217
12220
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12218
12221
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12219
12222
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13170,7 +13173,6 @@ class VueElement extends BaseClass {
13170
13173
  this._ob = null;
13171
13174
  if (this.shadowRoot && _createApp !== createApp) {
13172
13175
  this._root = this.shadowRoot;
13173
- this._mount(_def);
13174
13176
  } else {
13175
13177
  if (!!(process.env.NODE_ENV !== "production") && this.shadowRoot) {
13176
13178
  warn(
@@ -13183,9 +13185,9 @@ class VueElement extends BaseClass {
13183
13185
  } else {
13184
13186
  this._root = this;
13185
13187
  }
13186
- if (!this._def.__asyncLoader) {
13187
- this._resolveProps(this._def);
13188
- }
13188
+ }
13189
+ if (!this._def.__asyncLoader) {
13190
+ this._resolveProps(this._def);
13189
13191
  }
13190
13192
  }
13191
13193
  connectedCallback() {
@@ -13385,6 +13387,7 @@ class VueElement extends BaseClass {
13385
13387
  vnode.ce = (instance) => {
13386
13388
  this._instance = instance;
13387
13389
  instance.ce = this;
13390
+ instance.isCE = true;
13388
13391
  if (!!(process.env.NODE_ENV !== "production")) {
13389
13392
  instance.ceReload = (newStyles) => {
13390
13393
  if (this._styles) {
@@ -15629,8 +15632,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
15629
15632
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
15630
15633
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
15631
15634
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
15632
- const isMemberExpressionBrowser = (path) => {
15633
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
15635
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
15636
+ const isMemberExpressionBrowser = (exp) => {
15637
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
15634
15638
  let state = 0 /* inMemberExp */;
15635
15639
  let stateStack = [];
15636
15640
  let currentOpenBracketCount = 0;
@@ -15692,6 +15696,9 @@ const isMemberExpressionBrowser = (path) => {
15692
15696
  return !currentOpenBracketCount && !currentOpenParensCount;
15693
15697
  };
15694
15698
  const isMemberExpression = isMemberExpressionBrowser ;
15699
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
15700
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
15701
+ const isFnExpression = isFnExpressionBrowser ;
15695
15702
  function assert(condition, msg) {
15696
15703
  if (!condition) {
15697
15704
  throw new Error(msg || `unexpected compiler condition`);
@@ -19189,7 +19196,6 @@ function processSlotOutlet(node, context) {
19189
19196
  };
19190
19197
  }
19191
19198
 
19192
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
19193
19199
  const transformOn$1 = (dir, node, context, augmentor) => {
19194
19200
  const { loc, modifiers, arg } = dir;
19195
19201
  if (!dir.exp && !modifiers.length) {
@@ -19233,8 +19239,8 @@ const transformOn$1 = (dir, node, context, augmentor) => {
19233
19239
  }
19234
19240
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
19235
19241
  if (exp) {
19236
- const isMemberExp = isMemberExpression(exp.content);
19237
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
19242
+ const isMemberExp = isMemberExpression(exp);
19243
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp));
19238
19244
  const hasMultipleStatements = exp.content.includes(`;`);
19239
19245
  if (!!(process.env.NODE_ENV !== "production") && true) {
19240
19246
  validateBrowserExpression(
@@ -19382,7 +19388,7 @@ const transformModel$1 = (dir, node, context) => {
19382
19388
  return createTransformProps();
19383
19389
  }
19384
19390
  const maybeRef = false;
19385
- if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
19391
+ if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
19386
19392
  context.onError(
19387
19393
  createCompilerError(42, exp.loc)
19388
19394
  );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.0-beta.1
2
+ * @vue/compat v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -535,11 +535,11 @@ var Vue = (function () {
535
535
  }
536
536
  }
537
537
  pause() {
538
- this.flags |= 128;
538
+ this.flags |= 64;
539
539
  }
540
540
  resume() {
541
- if (this.flags & 128) {
542
- this.flags &= ~128;
541
+ if (this.flags & 64) {
542
+ this.flags &= ~64;
543
543
  if (pausedQueueEffects.has(this)) {
544
544
  pausedQueueEffects.delete(this);
545
545
  this.trigger();
@@ -553,9 +553,6 @@ var Vue = (function () {
553
553
  if (this.flags & 2 && !(this.flags & 32)) {
554
554
  return;
555
555
  }
556
- if (this.flags & 64) {
557
- return this.trigger();
558
- }
559
556
  if (!(this.flags & 8)) {
560
557
  this.flags |= 8;
561
558
  this.nextEffect = batchedEffect;
@@ -599,7 +596,7 @@ var Vue = (function () {
599
596
  }
600
597
  }
601
598
  trigger() {
602
- if (this.flags & 128) {
599
+ if (this.flags & 64) {
603
600
  pausedQueueEffects.add(this);
604
601
  } else if (this.scheduler) {
605
602
  this.scheduler();
@@ -629,6 +626,7 @@ var Vue = (function () {
629
626
  batchDepth--;
630
627
  return;
631
628
  }
629
+ batchDepth--;
632
630
  let error;
633
631
  while (batchedEffect) {
634
632
  let e = batchedEffect;
@@ -647,7 +645,6 @@ var Vue = (function () {
647
645
  e = next;
648
646
  }
649
647
  }
650
- batchDepth--;
651
648
  if (error) throw error;
652
649
  }
653
650
  function prepareDeps(sub) {
@@ -1050,26 +1047,26 @@ var Vue = (function () {
1050
1047
  });
1051
1048
  },
1052
1049
  every(fn, thisArg) {
1053
- return apply(this, "every", fn, thisArg);
1050
+ return apply(this, "every", fn, thisArg, void 0, arguments);
1054
1051
  },
1055
1052
  filter(fn, thisArg) {
1056
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive));
1053
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
1057
1054
  },
1058
1055
  find(fn, thisArg) {
1059
- return apply(this, "find", fn, thisArg, toReactive);
1056
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
1060
1057
  },
1061
1058
  findIndex(fn, thisArg) {
1062
- return apply(this, "findIndex", fn, thisArg);
1059
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
1063
1060
  },
1064
1061
  findLast(fn, thisArg) {
1065
- return apply(this, "findLast", fn, thisArg, toReactive);
1062
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
1066
1063
  },
1067
1064
  findLastIndex(fn, thisArg) {
1068
- return apply(this, "findLastIndex", fn, thisArg);
1065
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
1069
1066
  },
1070
1067
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
1071
1068
  forEach(fn, thisArg) {
1072
- return apply(this, "forEach", fn, thisArg);
1069
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
1073
1070
  },
1074
1071
  includes(...args) {
1075
1072
  return searchProxy(this, "includes", args);
@@ -1085,7 +1082,7 @@ var Vue = (function () {
1085
1082
  return searchProxy(this, "lastIndexOf", args);
1086
1083
  },
1087
1084
  map(fn, thisArg) {
1088
- return apply(this, "map", fn, thisArg);
1085
+ return apply(this, "map", fn, thisArg, void 0, arguments);
1089
1086
  },
1090
1087
  pop() {
1091
1088
  return noTracking(this, "pop");
@@ -1104,7 +1101,7 @@ var Vue = (function () {
1104
1101
  },
1105
1102
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
1106
1103
  some(fn, thisArg) {
1107
- return apply(this, "some", fn, thisArg);
1104
+ return apply(this, "some", fn, thisArg, void 0, arguments);
1108
1105
  },
1109
1106
  splice(...args) {
1110
1107
  return noTracking(this, "splice", args);
@@ -1140,8 +1137,13 @@ var Vue = (function () {
1140
1137
  }
1141
1138
  return iter;
1142
1139
  }
1143
- function apply(self, method, fn, thisArg, wrappedRetFn) {
1140
+ const arrayProto = Array.prototype;
1141
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1144
1142
  const arr = shallowReadArray(self);
1143
+ let methodFn;
1144
+ if ((methodFn = arr[method]) !== arrayProto[method]) {
1145
+ return methodFn.apply(arr, args);
1146
+ }
1145
1147
  let needsWrap = false;
1146
1148
  let wrappedFn = fn;
1147
1149
  if (arr !== self) {
@@ -1156,7 +1158,7 @@ var Vue = (function () {
1156
1158
  };
1157
1159
  }
1158
1160
  }
1159
- const result = arr[method](wrappedFn, thisArg);
1161
+ const result = methodFn.call(arr, wrappedFn, thisArg);
1160
1162
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
1161
1163
  }
1162
1164
  function reduce(self, method, fn, args) {
@@ -4092,6 +4094,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4092
4094
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
4093
4095
  const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
4094
4096
  const getContainerType = (container) => {
4097
+ if (container.nodeType !== 1) return void 0;
4095
4098
  if (isSVGContainer(container)) return "svg";
4096
4099
  if (isMathMLContainer(container)) return "mathml";
4097
4100
  return void 0;
@@ -5014,7 +5017,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5014
5017
  function pruneCache(filter) {
5015
5018
  cache.forEach((vnode, key) => {
5016
5019
  const name = getComponentName(vnode.type);
5017
- if (name && (!filter || !filter(name))) {
5020
+ if (name && !filter(name)) {
5018
5021
  pruneCacheEntry(key);
5019
5022
  }
5020
5023
  });
@@ -5136,6 +5139,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5136
5139
  } else if (isString(pattern)) {
5137
5140
  return pattern.split(",").includes(name);
5138
5141
  } else if (isRegExp(pattern)) {
5142
+ pattern.lastIndex = 0;
5139
5143
  return pattern.test(name);
5140
5144
  }
5141
5145
  return false;
@@ -6817,7 +6821,7 @@ If this is a native custom element, make sure to exclude it from component resol
6817
6821
  return vm;
6818
6822
  }
6819
6823
  }
6820
- Vue.version = `2.6.14-compat:${"3.5.0-beta.1"}`;
6824
+ Vue.version = `2.6.14-compat:${"3.5.0-beta.2"}`;
6821
6825
  Vue.config = singletonApp.config;
6822
6826
  Vue.use = (plugin, ...options) => {
6823
6827
  if (plugin && isFunction(plugin.install)) {
@@ -9739,7 +9743,6 @@ If you want to remount the same app, move your app creation logic into a factory
9739
9743
  const effect = new ReactiveEffect(getter);
9740
9744
  let scheduler;
9741
9745
  if (flush === "sync") {
9742
- effect.flags |= 64;
9743
9746
  scheduler = job;
9744
9747
  } else if (flush === "post") {
9745
9748
  scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
@@ -12076,7 +12079,7 @@ Component that was made reactive: `,
12076
12079
  return true;
12077
12080
  }
12078
12081
 
12079
- const version = "3.5.0-beta.1";
12082
+ const version = "3.5.0-beta.2";
12080
12083
  const warn = warn$1 ;
12081
12084
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12082
12085
  const devtools = devtools$1 ;
@@ -13016,7 +13019,6 @@ Expected function or array of functions, received type ${typeof value}.`
13016
13019
  this._ob = null;
13017
13020
  if (this.shadowRoot && _createApp !== createApp) {
13018
13021
  this._root = this.shadowRoot;
13019
- this._mount(_def);
13020
13022
  } else {
13021
13023
  if (this.shadowRoot) {
13022
13024
  warn(
@@ -13029,9 +13031,9 @@ Expected function or array of functions, received type ${typeof value}.`
13029
13031
  } else {
13030
13032
  this._root = this;
13031
13033
  }
13032
- if (!this._def.__asyncLoader) {
13033
- this._resolveProps(this._def);
13034
- }
13034
+ }
13035
+ if (!this._def.__asyncLoader) {
13036
+ this._resolveProps(this._def);
13035
13037
  }
13036
13038
  }
13037
13039
  connectedCallback() {
@@ -13231,6 +13233,7 @@ Expected function or array of functions, received type ${typeof value}.`
13231
13233
  vnode.ce = (instance) => {
13232
13234
  this._instance = instance;
13233
13235
  instance.ce = this;
13236
+ instance.isCE = true;
13234
13237
  {
13235
13238
  instance.ceReload = (newStyles) => {
13236
13239
  if (this._styles) {
@@ -15428,8 +15431,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15428
15431
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
15429
15432
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
15430
15433
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
15431
- const isMemberExpressionBrowser = (path) => {
15432
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
15434
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
15435
+ const isMemberExpressionBrowser = (exp) => {
15436
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
15433
15437
  let state = 0 /* inMemberExp */;
15434
15438
  let stateStack = [];
15435
15439
  let currentOpenBracketCount = 0;
@@ -15491,6 +15495,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15491
15495
  return !currentOpenBracketCount && !currentOpenParensCount;
15492
15496
  };
15493
15497
  const isMemberExpression = isMemberExpressionBrowser ;
15498
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
15499
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
15500
+ const isFnExpression = isFnExpressionBrowser ;
15494
15501
  function assert(condition, msg) {
15495
15502
  if (!condition) {
15496
15503
  throw new Error(msg || `unexpected compiler condition`);
@@ -18985,7 +18992,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18985
18992
  };
18986
18993
  }
18987
18994
 
18988
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
18989
18995
  const transformOn$1 = (dir, node, context, augmentor) => {
18990
18996
  const { loc, modifiers, arg } = dir;
18991
18997
  if (!dir.exp && !modifiers.length) {
@@ -19029,8 +19035,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19029
19035
  }
19030
19036
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
19031
19037
  if (exp) {
19032
- const isMemberExp = isMemberExpression(exp.content);
19033
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
19038
+ const isMemberExp = isMemberExpression(exp);
19039
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp));
19034
19040
  const hasMultipleStatements = exp.content.includes(`;`);
19035
19041
  {
19036
19042
  validateBrowserExpression(
@@ -19178,7 +19184,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19178
19184
  return createTransformProps();
19179
19185
  }
19180
19186
  const maybeRef = false;
19181
- if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
19187
+ if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
19182
19188
  context.onError(
19183
19189
  createCompilerError(42, exp.loc)
19184
19190
  );