@vue/compiler-dom 3.4.27 → 3.4.29

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/compiler-dom v3.4.27
2
+ * @vue/compiler-dom v3.4.29
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -75,6 +75,9 @@ var VueCompilerDOM = (function (exports) {
75
75
 
76
76
  const range = 2;
77
77
  function generateCodeFrame(source, start = 0, end = source.length) {
78
+ start = Math.max(0, Math.min(start, source.length));
79
+ end = Math.max(0, Math.min(end, source.length));
80
+ if (start > end) return "";
78
81
  let lines = source.split(/(\r?\n)/);
79
82
  const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
80
83
  lines = lines.filter((_, idx) => idx % 2 === 0);
@@ -84,8 +87,7 @@ var VueCompilerDOM = (function (exports) {
84
87
  count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);
85
88
  if (count >= start) {
86
89
  for (let j = i - range; j <= i + range || end > count; j++) {
87
- if (j < 0 || j >= lines.length)
88
- continue;
90
+ if (j < 0 || j >= lines.length) continue;
89
91
  const line = j + 1;
90
92
  res.push(
91
93
  `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`
@@ -1374,8 +1376,7 @@ var VueCompilerDOM = (function (exports) {
1374
1376
  Details: ${link}` : ``}`;
1375
1377
  const err = new SyntaxError(msg);
1376
1378
  err.code = key;
1377
- if (loc)
1378
- err.loc = loc;
1379
+ if (loc) err.loc = loc;
1379
1380
  context.onWarn(err);
1380
1381
  }
1381
1382
 
@@ -1611,16 +1612,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1611
1612
  function walkBlockDeclarations(block, onIdent) {
1612
1613
  for (const stmt of block.body) {
1613
1614
  if (stmt.type === "VariableDeclaration") {
1614
- if (stmt.declare)
1615
- continue;
1615
+ if (stmt.declare) continue;
1616
1616
  for (const decl of stmt.declarations) {
1617
1617
  for (const id of extractIdentifiers(decl.id)) {
1618
1618
  onIdent(id);
1619
1619
  }
1620
1620
  }
1621
1621
  } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
1622
- if (stmt.declare || !stmt.id)
1623
- continue;
1622
+ if (stmt.declare || !stmt.id) continue;
1624
1623
  onIdent(stmt.id);
1625
1624
  } else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") {
1626
1625
  const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
@@ -1657,8 +1656,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1657
1656
  break;
1658
1657
  case "ArrayPattern":
1659
1658
  param.elements.forEach((element) => {
1660
- if (element)
1661
- extractIdentifiers(element, nodes);
1659
+ if (element) extractIdentifiers(element, nodes);
1662
1660
  });
1663
1661
  break;
1664
1662
  case "RestElement":
@@ -1712,7 +1710,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1712
1710
  return BASE_TRANSITION;
1713
1711
  }
1714
1712
  }
1715
- const nonIdentifierRE = /^\d|[^\$\w]/;
1713
+ const nonIdentifierRE = /^\d|[^\$\w\xA0-\uFFFF]/;
1716
1714
  const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
1717
1715
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
1718
1716
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
@@ -1823,8 +1821,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1823
1821
  for (let i = 0; i < node.props.length; i++) {
1824
1822
  const p = node.props[i];
1825
1823
  if (p.type === 6) {
1826
- if (dynamicOnly)
1827
- continue;
1824
+ if (dynamicOnly) continue;
1828
1825
  if (p.name === name && (p.value || allowEmpty)) {
1829
1826
  return p;
1830
1827
  }
@@ -1988,7 +1985,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1988
1985
  return node;
1989
1986
  }
1990
1987
  }
1991
- const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/;
1988
+ const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/;
1992
1989
 
1993
1990
  const defaultParserOptions = {
1994
1991
  parseMode: "base",
@@ -2141,8 +2138,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2141
2138
  }
2142
2139
  },
2143
2140
  ondirarg(start, end) {
2144
- if (start === end)
2145
- return;
2141
+ if (start === end) return;
2146
2142
  const arg = getSlice(start, end);
2147
2143
  if (inVPre) {
2148
2144
  currentProp.name += arg;
@@ -2174,14 +2170,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2174
2170
  },
2175
2171
  onattribdata(start, end) {
2176
2172
  currentAttrValue += getSlice(start, end);
2177
- if (currentAttrStartIndex < 0)
2178
- currentAttrStartIndex = start;
2173
+ if (currentAttrStartIndex < 0) currentAttrStartIndex = start;
2179
2174
  currentAttrEndIndex = end;
2180
2175
  },
2181
2176
  onattribentity(char, start, end) {
2182
2177
  currentAttrValue += char;
2183
- if (currentAttrStartIndex < 0)
2184
- currentAttrStartIndex = start;
2178
+ if (currentAttrStartIndex < 0) currentAttrStartIndex = start;
2185
2179
  currentAttrEndIndex = end;
2186
2180
  },
2187
2181
  onattribnameend(end) {
@@ -2328,8 +2322,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2328
2322
  const loc = input.loc;
2329
2323
  const exp = input.content;
2330
2324
  const inMatch = exp.match(forAliasRE);
2331
- if (!inMatch)
2332
- return;
2325
+ if (!inMatch) return;
2333
2326
  const [, LHS, RHS] = inMatch;
2334
2327
  const createAliasExpression = (content, offset, asParam = false) => {
2335
2328
  const start = loc.start.offset + offset;
@@ -2522,14 +2515,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2522
2515
  }
2523
2516
  function lookAhead(index, c) {
2524
2517
  let i = index;
2525
- while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1)
2526
- i++;
2518
+ while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++;
2527
2519
  return i;
2528
2520
  }
2529
2521
  function backTrack(index, c) {
2530
2522
  let i = index;
2531
- while (currentInput.charCodeAt(i) !== c && i >= 0)
2532
- i--;
2523
+ while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
2533
2524
  return i;
2534
2525
  }
2535
2526
  const specialTemplateDir = /* @__PURE__ */ new Set(["if", "else", "else-if", "for", "slot"]);
@@ -2832,7 +2823,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2832
2823
  if (codegenNode.type !== 13) {
2833
2824
  return 0;
2834
2825
  }
2835
- if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject") {
2826
+ if (codegenNode.isBlock && node.tag !== "svg" && node.tag !== "foreignObject" && node.tag !== "math") {
2836
2827
  return 0;
2837
2828
  }
2838
2829
  const flag = getPatchFlag(codegenNode);
@@ -3112,8 +3103,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3112
3103
  removeIdentifiers(exp) {
3113
3104
  },
3114
3105
  hoist(exp) {
3115
- if (isString(exp))
3116
- exp = createSimpleExpression(exp);
3106
+ if (isString(exp)) exp = createSimpleExpression(exp);
3117
3107
  context.hoists.push(exp);
3118
3108
  const identifier = createSimpleExpression(
3119
3109
  `_hoisted_${context.hoists.length}`,
@@ -3196,8 +3186,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3196
3186
  };
3197
3187
  for (; i < parent.children.length; i++) {
3198
3188
  const child = parent.children[i];
3199
- if (isString(child))
3200
- continue;
3189
+ if (isString(child)) continue;
3201
3190
  context.grandParent = context.parent;
3202
3191
  context.parent = parent;
3203
3192
  context.childIndex = i;
@@ -3268,8 +3257,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3268
3257
  props.splice(i, 1);
3269
3258
  i--;
3270
3259
  const onExit = fn(node, prop, context);
3271
- if (onExit)
3272
- exitFns.push(onExit);
3260
+ if (onExit) exitFns.push(onExit);
3273
3261
  }
3274
3262
  }
3275
3263
  return exitFns;
@@ -3341,8 +3329,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3341
3329
  }
3342
3330
  function generate(ast, options = {}) {
3343
3331
  const context = createCodegenContext(ast, options);
3344
- if (options.onContextCreated)
3345
- options.onContextCreated(context);
3332
+ if (options.onContextCreated) options.onContextCreated(context);
3346
3333
  const {
3347
3334
  mode,
3348
3335
  push,
@@ -3624,8 +3611,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3624
3611
  }
3625
3612
  function genInterpolation(node, context) {
3626
3613
  const { push, helper, pure } = context;
3627
- if (pure)
3628
- push(PURE_ANNOTATION);
3614
+ if (pure) push(PURE_ANNOTATION);
3629
3615
  push(`${helper(TO_DISPLAY_STRING)}(`);
3630
3616
  genNode(node.content, context);
3631
3617
  push(`)`);
@@ -3705,8 +3691,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
3705
3691
  function genNullableArgs(args) {
3706
3692
  let i = args.length;
3707
3693
  while (i--) {
3708
- if (args[i] != null)
3709
- break;
3694
+ if (args[i] != null) break;
3710
3695
  }
3711
3696
  return args.slice(0, i + 1).map((arg) => arg || `null`);
3712
3697
  }
@@ -4016,8 +4001,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4016
4001
  sibling.branches.push(branch);
4017
4002
  const onExit = processCodegen && processCodegen(sibling, branch, false);
4018
4003
  traverseNode(branch, context);
4019
- if (onExit)
4020
- onExit();
4004
+ if (onExit) onExit();
4021
4005
  context.currentNode = null;
4022
4006
  } else {
4023
4007
  context.onError(
@@ -4139,6 +4123,80 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4139
4123
  }
4140
4124
  }
4141
4125
 
4126
+ const transformBind = (dir, _node, context) => {
4127
+ const { modifiers, loc } = dir;
4128
+ const arg = dir.arg;
4129
+ let { exp } = dir;
4130
+ if (exp && exp.type === 4 && !exp.content.trim()) {
4131
+ {
4132
+ exp = void 0;
4133
+ }
4134
+ }
4135
+ if (!exp) {
4136
+ if (arg.type !== 4 || !arg.isStatic) {
4137
+ context.onError(
4138
+ createCompilerError(
4139
+ 52,
4140
+ arg.loc
4141
+ )
4142
+ );
4143
+ return {
4144
+ props: [
4145
+ createObjectProperty(arg, createSimpleExpression("", true, loc))
4146
+ ]
4147
+ };
4148
+ }
4149
+ transformBindShorthand(dir);
4150
+ exp = dir.exp;
4151
+ }
4152
+ if (arg.type !== 4) {
4153
+ arg.children.unshift(`(`);
4154
+ arg.children.push(`) || ""`);
4155
+ } else if (!arg.isStatic) {
4156
+ arg.content = `${arg.content} || ""`;
4157
+ }
4158
+ if (modifiers.includes("camel")) {
4159
+ if (arg.type === 4) {
4160
+ if (arg.isStatic) {
4161
+ arg.content = camelize(arg.content);
4162
+ } else {
4163
+ arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
4164
+ }
4165
+ } else {
4166
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
4167
+ arg.children.push(`)`);
4168
+ }
4169
+ }
4170
+ if (!context.inSSR) {
4171
+ if (modifiers.includes("prop")) {
4172
+ injectPrefix(arg, ".");
4173
+ }
4174
+ if (modifiers.includes("attr")) {
4175
+ injectPrefix(arg, "^");
4176
+ }
4177
+ }
4178
+ return {
4179
+ props: [createObjectProperty(arg, exp)]
4180
+ };
4181
+ };
4182
+ const transformBindShorthand = (dir, context) => {
4183
+ const arg = dir.arg;
4184
+ const propName = camelize(arg.content);
4185
+ dir.exp = createSimpleExpression(propName, false, arg.loc);
4186
+ };
4187
+ const injectPrefix = (arg, prefix) => {
4188
+ if (arg.type === 4) {
4189
+ if (arg.isStatic) {
4190
+ arg.content = prefix + arg.content;
4191
+ } else {
4192
+ arg.content = `\`${prefix}\${${arg.content}}\``;
4193
+ }
4194
+ } else {
4195
+ arg.children.unshift(`'${prefix}' + (`);
4196
+ arg.children.push(`)`);
4197
+ }
4198
+ };
4199
+
4142
4200
  const transformFor = createStructuralDirectiveTransform(
4143
4201
  "for",
4144
4202
  (node, dir, context) => {
@@ -4149,9 +4207,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4149
4207
  ]);
4150
4208
  const isTemplate = isTemplateNode(node);
4151
4209
  const memo = findDir(node, "memo");
4152
- const keyProp = findProp(node, `key`);
4153
- const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp);
4154
- const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;
4210
+ const keyProp = findProp(node, `key`, false, true);
4211
+ if (keyProp && keyProp.type === 7 && !keyProp.exp) {
4212
+ transformBindShorthand(keyProp);
4213
+ }
4214
+ const keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
4215
+ const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
4155
4216
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
4156
4217
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
4157
4218
  forNode.codegenNode = createVNodeCall(
@@ -4300,13 +4361,11 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4300
4361
  const onExit = processCodegen && processCodegen(forNode);
4301
4362
  return () => {
4302
4363
  scopes.vFor--;
4303
- if (onExit)
4304
- onExit();
4364
+ if (onExit) onExit();
4305
4365
  };
4306
4366
  }
4307
4367
  function finalizeForParseResult(result, context) {
4308
- if (result.finalized)
4309
- return;
4368
+ if (result.finalized) return;
4310
4369
  {
4311
4370
  validateBrowserExpression(result.source, context);
4312
4371
  if (result.key) {
@@ -4339,8 +4398,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4339
4398
  function createParamsList(args) {
4340
4399
  let i = args.length;
4341
4400
  while (i--) {
4342
- if (args[i])
4343
- break;
4401
+ if (args[i]) break;
4344
4402
  }
4345
4403
  return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));
4346
4404
  }
@@ -4602,13 +4660,11 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4602
4660
  }
4603
4661
  break;
4604
4662
  case 9:
4605
- if (hasForwardedSlots(child.branches))
4606
- return true;
4663
+ if (hasForwardedSlots(child.branches)) return true;
4607
4664
  break;
4608
4665
  case 10:
4609
4666
  case 11:
4610
- if (hasForwardedSlots(child.children))
4611
- return true;
4667
+ if (hasForwardedSlots(child.children)) return true;
4612
4668
  break;
4613
4669
  }
4614
4670
  }
@@ -4644,7 +4700,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4644
4700
  // updates inside get proper isSVG flag at runtime. (#639, #643)
4645
4701
  // This is technically web-specific, but splitting the logic out of core
4646
4702
  // leads to too much unnecessary complexity.
4647
- (tag === "svg" || tag === "foreignObject")
4703
+ (tag === "svg" || tag === "foreignObject" || tag === "math")
4648
4704
  );
4649
4705
  if (props.length > 0) {
4650
4706
  const propsBuildResult = buildProps(
@@ -4767,8 +4823,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4767
4823
  }
4768
4824
  const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);
4769
4825
  if (builtIn) {
4770
- if (!ssr)
4771
- context.helper(builtIn);
4826
+ if (!ssr) context.helper(builtIn);
4772
4827
  return builtIn;
4773
4828
  }
4774
4829
  context.helper(RESOLVE_COMPONENT);
@@ -4797,8 +4852,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4797
4852
  );
4798
4853
  properties = [];
4799
4854
  }
4800
- if (arg)
4801
- mergeArgs.push(arg);
4855
+ if (arg) mergeArgs.push(arg);
4802
4856
  };
4803
4857
  const pushRefVForMarker = () => {
4804
4858
  if (context.scopes.vFor > 0) {
@@ -5135,8 +5189,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5135
5189
  }
5136
5190
  }
5137
5191
  const { loc } = dir;
5138
- if (dir.exp)
5139
- dirArgs.push(dir.exp);
5192
+ if (dir.exp) dirArgs.push(dir.exp);
5140
5193
  if (dir.arg) {
5141
5194
  if (!dir.exp) {
5142
5195
  dirArgs.push(`void 0`);
@@ -5166,8 +5219,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5166
5219
  let propsNamesString = `[`;
5167
5220
  for (let i = 0, l = props.length; i < l; i++) {
5168
5221
  propsNamesString += JSON.stringify(props[i]);
5169
- if (i < l - 1)
5170
- propsNamesString += ", ";
5222
+ if (i < l - 1) propsNamesString += ", ";
5171
5223
  }
5172
5224
  return propsNamesString + `]`;
5173
5225
  }
@@ -5342,75 +5394,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5342
5394
  return ret;
5343
5395
  };
5344
5396
 
5345
- const transformBind = (dir, _node, context) => {
5346
- const { modifiers, loc } = dir;
5347
- const arg = dir.arg;
5348
- let { exp } = dir;
5349
- if (exp && exp.type === 4 && !exp.content.trim()) {
5350
- {
5351
- exp = void 0;
5352
- }
5353
- }
5354
- if (!exp) {
5355
- if (arg.type !== 4 || !arg.isStatic) {
5356
- context.onError(
5357
- createCompilerError(
5358
- 52,
5359
- arg.loc
5360
- )
5361
- );
5362
- return {
5363
- props: [
5364
- createObjectProperty(arg, createSimpleExpression("", true, loc))
5365
- ]
5366
- };
5367
- }
5368
- const propName = camelize(arg.content);
5369
- exp = dir.exp = createSimpleExpression(propName, false, arg.loc);
5370
- }
5371
- if (arg.type !== 4) {
5372
- arg.children.unshift(`(`);
5373
- arg.children.push(`) || ""`);
5374
- } else if (!arg.isStatic) {
5375
- arg.content = `${arg.content} || ""`;
5376
- }
5377
- if (modifiers.includes("camel")) {
5378
- if (arg.type === 4) {
5379
- if (arg.isStatic) {
5380
- arg.content = camelize(arg.content);
5381
- } else {
5382
- arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
5383
- }
5384
- } else {
5385
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
5386
- arg.children.push(`)`);
5387
- }
5388
- }
5389
- if (!context.inSSR) {
5390
- if (modifiers.includes("prop")) {
5391
- injectPrefix(arg, ".");
5392
- }
5393
- if (modifiers.includes("attr")) {
5394
- injectPrefix(arg, "^");
5395
- }
5396
- }
5397
- return {
5398
- props: [createObjectProperty(arg, exp)]
5399
- };
5400
- };
5401
- const injectPrefix = (arg, prefix) => {
5402
- if (arg.type === 4) {
5403
- if (arg.isStatic) {
5404
- arg.content = prefix + arg.content;
5405
- } else {
5406
- arg.content = `\`${prefix}\${${arg.content}}\``;
5407
- }
5408
- } else {
5409
- arg.children.unshift(`'${prefix}' + (`);
5410
- arg.children.push(`)`);
5411
- }
5412
- };
5413
-
5414
5397
  const transformText = (node, context) => {
5415
5398
  if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {
5416
5399
  return () => {
@@ -5589,8 +5572,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5589
5572
  } else {
5590
5573
  for (let i = 0; i < node.children.length; i++) {
5591
5574
  const child = node.children[i];
5592
- if (typeof child !== "object")
5593
- continue;
5575
+ if (typeof child !== "object") continue;
5594
5576
  if (child.type === 4) {
5595
5577
  parseFilter(child, context);
5596
5578
  } else if (child.type === 8) {
@@ -5616,17 +5598,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5616
5598
  prev = c;
5617
5599
  c = exp.charCodeAt(i);
5618
5600
  if (inSingle) {
5619
- if (c === 39 && prev !== 92)
5620
- inSingle = false;
5601
+ if (c === 39 && prev !== 92) inSingle = false;
5621
5602
  } else if (inDouble) {
5622
- if (c === 34 && prev !== 92)
5623
- inDouble = false;
5603
+ if (c === 34 && prev !== 92) inDouble = false;
5624
5604
  } else if (inTemplateString) {
5625
- if (c === 96 && prev !== 92)
5626
- inTemplateString = false;
5605
+ if (c === 96 && prev !== 92) inTemplateString = false;
5627
5606
  } else if (inRegex) {
5628
- if (c === 47 && prev !== 92)
5629
- inRegex = false;
5607
+ if (c === 47 && prev !== 92) inRegex = false;
5630
5608
  } else if (c === 124 && // pipe
5631
5609
  exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
5632
5610
  if (expression === void 0) {
@@ -5670,8 +5648,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5670
5648
  let p;
5671
5649
  for (; j >= 0; j--) {
5672
5650
  p = exp.charAt(j);
5673
- if (p !== " ")
5674
- break;
5651
+ if (p !== " ") break;
5675
5652
  }
5676
5653
  if (!p || !validDivisionCharRE.test(p)) {
5677
5654
  inRegex = true;
@@ -5698,6 +5675,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5698
5675
  expression = wrapFilter(expression, filters[i], context);
5699
5676
  }
5700
5677
  node.content = expression;
5678
+ node.ast = void 0;
5701
5679
  }
5702
5680
  }
5703
5681
  function wrapFilter(exp, filter, context) {
@@ -6169,8 +6147,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
6169
6147
  const transformOn = (dir, node, context) => {
6170
6148
  return transformOn$1(dir, node, context, (baseResult) => {
6171
6149
  const { modifiers } = dir;
6172
- if (!modifiers.length)
6173
- return baseResult;
6150
+ if (!modifiers.length) return baseResult;
6174
6151
  let { key, value: handlerExp } = baseResult.props[0];
6175
6152
  const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);
6176
6153
  if (nonKeyModifiers.includes("right")) {