From: 三咲智子 Kevin Deng Date: Sat, 27 Jan 2024 19:35:04 +0000 (+0800) Subject: perf(compiler-vapor): use array instead of regex X-Git-Tag: v3.6.0-alpha.1~16^2~647 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86ed0eddae9e1b8da7f108397772f89bc1770f02;p=thirdparty%2Fvuejs%2Fcore.git perf(compiler-vapor): use array instead of regex --- diff --git a/packages/compiler-vapor/src/transform.ts b/packages/compiler-vapor/src/transform.ts index 69b3573acd..77f96668f5 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 d3f47fb375..f89727556b 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, )