]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
perf(compiler-vapor): use array instead of regex
author三咲智子 Kevin Deng <sxzz@sxzz.moe>
Sat, 27 Jan 2024 19:35:04 +0000 (03:35 +0800)
committer三咲智子 Kevin Deng <sxzz@sxzz.moe>
Sat, 27 Jan 2024 19:35:04 +0000 (03:35 +0800)
packages/compiler-vapor/src/transform.ts
packages/compiler-vapor/src/transforms/vIf.ts

index 69b3573acdcdacebca9c771b642be73cce636ef6..77f96668f56d42b07712f08faaa4b854d148c5e3 100644 (file)
@@ -388,12 +388,11 @@ function processDynamicChildren(ctx: TransformContext<RootNode | ElementNode>) {
 }
 
 export function createStructuralDirectiveTransform(
-  name: string | RegExp,
+  name: string | string[],
   fn: StructuralDirectiveTransform,
 ): NodeTransform {
-  const matches = isString(name)
-    ? (n: string) => n === name
-    : (n: string) => name.test(n)
+  const matches = (n: string) =>
+    isString(name) ? n === name : name.includes(n)
 
   return (node, context) => {
     if (node.type === NodeTypes.ELEMENT) {
index d3f47fb375a2ae47f49d1fc2f06f23968631ed4d..f89727556b355d95e867838ceae1f647c34ec122 100644 (file)
@@ -20,7 +20,7 @@ import {
 import { extend } from '@vue/shared'
 
 export const transformVIf = createStructuralDirectiveTransform(
-  /^(if|else|else-if)$/,
+  ['if', 'else', 'else-if'],
   processIf,
 )