| import { Node, Element, DataNode, NodeWithChildren, Document } from "./node"; |
| export * from "./node"; |
| export interface DomHandlerOptions { |
| /** |
| * Add a `startIndex` property to nodes. |
| * When the parser is used in a non-streaming fashion, `startIndex` is an integer |
| * indicating the position of the start of the node in the document. |
| * |
| * @default false |
| */ |
| withStartIndices?: boolean; |
| /** |
| * Add an `endIndex` property to nodes. |
| * When the parser is used in a non-streaming fashion, `endIndex` is an integer |
| * indicating the position of the end of the node in the document. |
| * |
| * @default false |
| */ |
| withEndIndices?: boolean; |
| /** |
| * Replace all whitespace with single spaces. |
| * |
| * **Note:** Enabling this might break your markup. |
| * |
| * @default false |
| * @deprecated |
| */ |
| normalizeWhitespace?: boolean; |
| /** |
| * Treat the markup as XML. |
| * |
| * @default false |
| */ |
| xmlMode?: boolean; |
| } |
| interface ParserInterface { |
| startIndex: number | null; |
| endIndex: number | null; |
| } |
| declare type Callback = (error: Error | null, dom: Node[]) => void; |
| declare type ElementCallback = (element: Element) => void; |
| export declare class DomHandler { |
| /** The elements of the DOM */ |
| dom: Node[]; |
| /** The root element for the DOM */ |
| root: Document; |
| /** Called once parsing has completed. */ |
| private readonly callback; |
| /** Settings for the handler. */ |
| private readonly options; |
| /** Callback whenever a tag is closed. */ |
| private readonly elementCB; |
| /** Indicated whether parsing has been completed. */ |
| private done; |
| /** Stack of open tags. */ |
| protected tagStack: NodeWithChildren[]; |
| /** A data node that is still being written to. */ |
| protected lastNode: DataNode | null; |
| /** Reference to the parser instance. Used for location information. */ |
| private parser; |
| /** |
| * @param callback Called once parsing has completed. |
| * @param options Settings for the handler. |
| * @param elementCB Callback whenever a tag is closed. |
| */ |
| constructor(callback?: Callback | null, options?: DomHandlerOptions | null, elementCB?: ElementCallback); |
| onparserinit(parser: ParserInterface): void; |
| onreset(): void; |
| onend(): void; |
| onerror(error: Error): void; |
| onclosetag(): void; |
| onopentag(name: string, attribs: { |
| [key: string]: string; |
| }): void; |
| ontext(data: string): void; |
| oncomment(data: string): void; |
| oncommentend(): void; |
| oncdatastart(): void; |
| oncdataend(): void; |
| onprocessinginstruction(name: string, data: string): void; |
| protected handleCallback(error: Error | null): void; |
| protected addNode(node: Node): void; |
| } |
| export default DomHandler; |
| //# sourceMappingURL=index.d.ts.map |