From a77ebd85999d6abb5fd4a74c4b9473397d3cdd8e Mon Sep 17 00:00:00 2001 From: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com> Date: Fri, 27 Aug 2021 20:52:59 +0800 Subject: [PATCH] refactor(compiler): refine CDATA endTokens CDATA only ends with `]]>`, we can skip `<` or `{{`. This can save us several TEXT node generation. --- packages/compiler-core/src/parse.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/compiler-core/src/parse.ts b/packages/compiler-core/src/parse.ts index 310766347e0..21973878dbc 100644 --- a/packages/compiler-core/src/parse.ts +++ b/packages/compiler-core/src/parse.ts @@ -989,10 +989,8 @@ function parseInterpolation( function parseText(context: ParserContext, mode: TextModes): TextNode { __TEST__ && assert(context.source.length > 0) - const endTokens = ['<', context.options.delimiters[0]] - if (mode === TextModes.CDATA) { - endTokens.push(']]>') - } + const endTokens = + mode === TextModes.CDATA ? [']]>'] : ['<', context.options.delimiters[0]] let endIndex = context.source.length for (let i = 0; i < endTokens.length; i++) {