TemplateNode
interfaz
Nodo propio de plantilla con límites absolutos en el archivo .meeko.
import type { TemplateNode } from "@meekojs/meeko/parse";Source code src/compiler/parser/template.ts:16
Declaración #
interface TemplateNode {
nodeName: string
tagName?: string
namespaceURI?: string
value?: string
attrs?: TemplateAttribute[]
childNodes?: TemplateNode[]
content?: { childNodes: TemplateNode[] }
start: number
end: number
componentName?: string
selfClosing?: boolean
sourceCodeLocation?: {
startOffset: number
endOffset: number
attrs?: Record<string, { startOffset: number; endOffset: number }>
startTag?: { startOffset: number; endOffset: number }
endTag?: { startOffset: number; endOffset: number }
}
}Propiedades #
nodeName
#
nodeName: string
tagName
#
tagName?: string
namespaceURI
#
namespaceURI?: stringNamespace of an element, such as http://www.w3.org/2000/svg inside <svg>.
value
#
value?: string
attrs
#
attrs?: TemplateAttribute[]
childNodes
#
childNodes?: TemplateNode[]
content
#
content?: { childNodes: TemplateNode[] }
start
#
start: number
end
#
end: number
componentName
#
componentName?: stringNombre original de una etiqueta de componente (AppButton); tagName lo conserva igual.
selfClosing
#
selfClosing?: booleanLa etiqueta se escribió autocerrada y no tiene etiqueta de cierre: un componente (<Name />),
<component />, <render />, <snippet /> o, desde 1.8, un elemento HTML no vacío (<div />).
Los elementos vacíos (<input />) y los de SVG o MathML no lo llevan.
sourceCodeLocation
#
sourceCodeLocation?: {
startOffset: number
endOffset: number
attrs?: Record<string, { startOffset: number; endOffset: number }>
startTag?: { startOffset: number; endOffset: number }
endTag?: { startOffset: number; endOffset: number }
}