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.
 
 

74 lines
2.7 KiB

import { Node, Element, DataNode, NodeWithChildren } from "./node";
export { Node, NodeWithChildren, DataNode, Element };
export interface DomHandlerOptions {
/***
* Indicates whether the whitespace in text nodes should be normalized
* (= all whitespace should be replaced with single spaces). The default value is "false".
*/
normalizeWhitespace?: boolean;
/***
* Indicates whether a startIndex property will be added 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.
* The default value is "false".
*/
withStartIndices?: boolean;
/***
* Indicates whether a endIndex property will be added 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.
* The default value is "false".
*/
withEndIndices?: 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 constructed DOM */
dom: Node[];
/** Called once parsing has completed. */
private _callback;
/** Settings for the handler. */
private _options;
/** Callback whenever a tag is closed. */
private _elementCB;
/** Indicated whether parsing has been completed. */
private _done;
/** Stack of open tags. */
private _tagStack;
/** A data node that is still being written to. */
private _lastNode;
/** Reference to the parser instance. Used for location information. */
private _parser;
/**
* Initiate a new DomHandler.
*
* @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;
protected addDataNode(node: DataNode): void;
}
export default DomHandler;
//# sourceMappingURL=index.d.ts.map