diff --git a/packages/compiler-core/src/parse.ts b/packages/compiler-core/src/parse.ts index 63cb285f2..bc1d55ead 100644 --- a/packages/compiler-core/src/parse.ts +++ b/packages/compiler-core/src/parse.ts @@ -29,6 +29,13 @@ import { type OptionalOptions = 'isNativeTag' | 'isBuiltInComponent' type MergedParserOptions = Omit, OptionalOptions> & Pick +type AttributeValue = + | { + content: string + isQuoted: boolean + loc: SourceLocation + } + | undefined // The default decoder only provides escapes for characters reserved as part of // the template syntax, and is only used if the custom renderer did not provide @@ -590,13 +597,7 @@ function parseAttribute( advanceBy(context, name.length) // Value - let value: - | { - content: string - isQuoted: boolean - loc: SourceLocation - } - | undefined = undefined + let value: AttributeValue = undefined if (/^[\t\r\n\f ]*=/.test(context.source)) { advanceSpaces(context) @@ -702,15 +703,7 @@ function parseAttribute( } } -function parseAttributeValue( - context: ParserContext -): - | { - content: string - isQuoted: boolean - loc: SourceLocation - } - | undefined { +function parseAttributeValue(context: ParserContext): AttributeValue { const start = getCursor(context) let content: string