You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.1 KiB
85 lines
3.1 KiB
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>; |
|
//# sourceMappingURL=default.d.ts.map
|