From 86ed0eddae9e1b8da7f108397772f89bc1770f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sun, 28 Jan 2024 03:35:04 +0800 Subject: [PATCH] perf(compiler-vapor): use array instead of regex --- packages/compiler-vapor/src/transform.ts | 7 +++---- packages/compiler-vapor/src/transforms/vIf.ts | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/compiler-vapor/src/transform.ts b/packages/compiler-vapor/src/transform.ts index 69b3573ac..77f96668f 100644 --- a/packages/compiler-vapor/src/transform.ts +++ b/packages/compiler-vapor/src/transform.ts @@ -388,12 +388,11 @@ function processDynamicChildren(ctx: TransformContext) { } 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) { diff --git a/packages/compiler-vapor/src/transforms/vIf.ts b/packages/compiler-vapor/src/transforms/vIf.ts index d3f47fb37..f89727556 100644 --- a/packages/compiler-vapor/src/transforms/vIf.ts +++ b/packages/compiler-vapor/src/transforms/vIf.ts @@ -20,7 +20,7 @@ import { import { extend } from '@vue/shared' export const transformVIf = createStructuralDirectiveTransform( - /^(if|else|else-if)$/, + ['if', 'else', 'else-if'], processIf, )