my-idlers/node_modules/htmlparser2/lib/Tokenizer.d.ts

161 lines
5.2 KiB
TypeScript
Raw Normal View History

/** All the states the tokenizer can be in. */
declare const enum State {
Text = 1,
BeforeTagName = 2,
InTagName = 3,
InSelfClosingTag = 4,
BeforeClosingTagName = 5,
InClosingTagName = 6,
AfterClosingTagName = 7,
BeforeAttributeName = 8,
InAttributeName = 9,
AfterAttributeName = 10,
BeforeAttributeValue = 11,
InAttributeValueDq = 12,
InAttributeValueSq = 13,
InAttributeValueNq = 14,
BeforeDeclaration = 15,
InDeclaration = 16,
InProcessingInstruction = 17,
BeforeComment = 18,
InComment = 19,
AfterComment1 = 20,
AfterComment2 = 21,
BeforeCdata1 = 22,
BeforeCdata2 = 23,
BeforeCdata3 = 24,
BeforeCdata4 = 25,
BeforeCdata5 = 26,
BeforeCdata6 = 27,
InCdata = 28,
AfterCdata1 = 29,
AfterCdata2 = 30,
BeforeSpecial = 31,
BeforeSpecialEnd = 32,
BeforeScript1 = 33,
BeforeScript2 = 34,
BeforeScript3 = 35,
BeforeScript4 = 36,
BeforeScript5 = 37,
AfterScript1 = 38,
AfterScript2 = 39,
AfterScript3 = 40,
AfterScript4 = 41,
AfterScript5 = 42,
BeforeStyle1 = 43,
BeforeStyle2 = 44,
BeforeStyle3 = 45,
BeforeStyle4 = 46,
AfterStyle1 = 47,
AfterStyle2 = 48,
AfterStyle3 = 49,
AfterStyle4 = 50,
BeforeEntity = 51,
BeforeNumericEntity = 52,
InNamedEntity = 53,
InNumericEntity = 54,
InHexEntity = 55
}
declare const enum Special {
None = 1,
Script = 2,
Style = 3
}
interface Callbacks {
onattribdata(value: string): void;
onattribend(): void;
onattribname(name: string): void;
oncdata(data: string): void;
onclosetag(name: string): void;
oncomment(data: string): void;
ondeclaration(content: string): void;
onend(): void;
onerror(error: Error, state?: State): void;
onopentagend(): void;
onopentagname(name: string): void;
onprocessinginstruction(instruction: string): void;
onselfclosingtag(): void;
ontext(value: string): void;
}
export default class Tokenizer {
/** The current state the tokenizer is in. */
_state: State;
/** The read buffer. */
_buffer: string;
/** The beginning of the section that is currently being read. */
_sectionStart: number;
/** The index within the buffer that we are currently looking at. */
_index: number;
/**
* Data that has already been processed will be removed from the buffer occasionally.
* `_bufferOffset` keeps track of how many characters have been removed, to make sure position information is accurate.
*/
_bufferOffset: number;
/** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */
_baseState: State;
/** For special parsing behavior inside of script and style tags. */
_special: Special;
/** Indicates whether the tokenizer has been paused. */
_running: boolean;
/** Indicates whether the tokenizer has finished running / `.end` has been called. */
_ended: boolean;
_cbs: Callbacks;
_xmlMode: boolean;
_decodeEntities: boolean;
constructor(options: {
xmlMode?: boolean;
decodeEntities?: boolean;
} | null, cbs: Callbacks);
reset(): void;
_stateText(c: string): void;
_stateBeforeTagName(c: string): void;
_stateInTagName(c: string): void;
_stateBeforeClosingTagName(c: string): void;
_stateInClosingTagName(c: string): void;
_stateAfterClosingTagName(c: string): void;
_stateBeforeAttributeName(c: string): void;
_stateInSelfClosingTag(c: string): void;
_stateInAttributeName(c: string): void;
_stateAfterAttributeName(c: string): void;
_stateBeforeAttributeValue(c: string): void;
_stateInAttributeValueDoubleQuotes(c: string): void;
_stateInAttributeValueSingleQuotes(c: string): void;
_stateInAttributeValueNoQuotes(c: string): void;
_stateBeforeDeclaration(c: string): void;
_stateInDeclaration(c: string): void;
_stateInProcessingInstruction(c: string): void;
_stateBeforeComment(c: string): void;
_stateInComment(c: string): void;
_stateAfterComment1(c: string): void;
_stateAfterComment2(c: string): void;
_stateBeforeCdata6(c: string): void;
_stateInCdata(c: string): void;
_stateAfterCdata1(c: string): void;
_stateAfterCdata2(c: string): void;
_stateBeforeSpecial(c: string): void;
_stateBeforeSpecialEnd(c: string): void;
_stateBeforeScript5(c: string): void;
_stateAfterScript5(c: string): void;
_stateBeforeStyle4(c: string): void;
_stateAfterStyle4(c: string): void;
_parseNamedEntityStrict(): void;
_parseLegacyEntity(): void;
_stateInNamedEntity(c: string): void;
_decodeNumericEntity(offset: number, base: number): void;
_stateInNumericEntity(c: string): void;
_stateInHexEntity(c: string): void;
_cleanup(): void;
write(chunk: string): void;
_parse(): void;
pause(): void;
resume(): void;
end(chunk?: string): void;
_finish(): void;
_handleTrailingData(): void;
getAbsoluteIndex(): number;
_getSection(): string;
_emitToken(name: "onopentagname" | "onclosetag" | "onattribdata"): void;
_emitPartial(value: string): void;
}
export {};
//# sourceMappingURL=Tokenizer.d.ts.map