Spaces:
Paused
Paused
| import { DOCUMENT_MODE, type NS } from '../common/html.js'; | |
| import type { Attribute, Location, ElementLocation } from '../common/token.js'; | |
| import type { TreeAdapter, TreeAdapterTypeMap } from './interface.js'; | |
| export interface Document { | |
| /** The name of the node. */ | |
| nodeName: '#document'; | |
| /** | |
| * Document mode. | |
| * | |
| * @see {@link DOCUMENT_MODE} */ | |
| mode: DOCUMENT_MODE; | |
| /** The node's children. */ | |
| childNodes: ChildNode[]; | |
| /** Comment source code location info. Available if location info is enabled. */ | |
| sourceCodeLocation?: Location | null; | |
| } | |
| export interface DocumentFragment { | |
| /** The name of the node. */ | |
| nodeName: '#document-fragment'; | |
| /** The node's children. */ | |
| childNodes: ChildNode[]; | |
| /** Comment source code location info. Available if location info is enabled. */ | |
| sourceCodeLocation?: Location | null; | |
| } | |
| export interface Element { | |
| /** Element tag name. Same as {@link tagName}. */ | |
| nodeName: string; | |
| /** Element tag name. Same as {@link nodeName}. */ | |
| tagName: string; | |
| /** List of element attributes. */ | |
| attrs: Attribute[]; | |
| /** Element namespace. */ | |
| namespaceURI: NS; | |
| /** Element source code location info, with attributes. Available if location info is enabled. */ | |
| sourceCodeLocation?: ElementLocation | null; | |
| /** Parent node. */ | |
| parentNode: ParentNode | null; | |
| /** The node's children. */ | |
| childNodes: ChildNode[]; | |
| } | |
| export interface CommentNode { | |
| /** The name of the node. */ | |
| nodeName: '#comment'; | |
| /** Parent node. */ | |
| parentNode: ParentNode | null; | |
| /** Comment text. */ | |
| data: string; | |
| /** Comment source code location info. Available if location info is enabled. */ | |
| sourceCodeLocation?: Location | null; | |
| } | |
| export interface TextNode { | |
| nodeName: '#text'; | |
| /** Parent node. */ | |
| parentNode: ParentNode | null; | |
| /** Text content. */ | |
| value: string; | |
| /** Comment source code location info. Available if location info is enabled. */ | |
| sourceCodeLocation?: Location | null; | |
| } | |
| export interface Template extends Element { | |
| nodeName: 'template'; | |
| tagName: 'template'; | |
| /** The content of a `template` tag. */ | |
| content: DocumentFragment; | |
| } | |
| export interface DocumentType { | |
| /** The name of the node. */ | |
| nodeName: '#documentType'; | |
| /** Parent node. */ | |
| parentNode: ParentNode | null; | |
| /** Document type name. */ | |
| name: string; | |
| /** Document type public identifier. */ | |
| publicId: string; | |
| /** Document type system identifier. */ | |
| systemId: string; | |
| /** Comment source code location info. Available if location info is enabled. */ | |
| sourceCodeLocation?: Location | null; | |
| } | |
| export type ParentNode = Document | DocumentFragment | Element | Template; | |
| export type ChildNode = Element | Template | CommentNode | TextNode | DocumentType; | |
| export type Node = ParentNode | ChildNode; | |
| export type DefaultTreeAdapterMap = TreeAdapterTypeMap<Node, ParentNode, ChildNode, Document, DocumentFragment, Element, CommentNode, TextNode, Template, DocumentType>; | |
| export declare const defaultTreeAdapter: TreeAdapter<DefaultTreeAdapterMap>; | |