|
|
@@ -29,6 +29,13 @@ import {
|
|
|
type OptionalOptions = 'isNativeTag' | 'isBuiltInComponent'
|
|
|
type MergedParserOptions = Omit<Required<ParserOptions>, OptionalOptions> &
|
|
|
Pick<ParserOptions, OptionalOptions>
|
|
|
+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
|
|
|
|