|
export declare enum QuoteType { |
|
NoValue = 0, |
|
Unquoted = 1, |
|
Single = 2, |
|
Double = 3 |
|
} |
|
export interface Callbacks { |
|
onattribdata(start: number, endIndex: number): void; |
|
onattribentity(codepoint: number): void; |
|
onattribend(quote: QuoteType, endIndex: number): void; |
|
onattribname(start: number, endIndex: number): void; |
|
oncdata(start: number, endIndex: number, endOffset: number): void; |
|
onclosetag(start: number, endIndex: number): void; |
|
oncomment(start: number, endIndex: number, endOffset: number): void; |
|
ondeclaration(start: number, endIndex: number): void; |
|
onend(): void; |
|
onopentagend(endIndex: number): void; |
|
onopentagname(start: number, endIndex: number): void; |
|
onprocessinginstruction(start: number, endIndex: number): void; |
|
onselfclosingtag(endIndex: number): void; |
|
ontext(start: number, endIndex: number): void; |
|
ontextentity(codepoint: number): void; |
|
} |
|
export default class Tokenizer { |
|
private readonly cbs; |
|
|
|
private state; |
|
|
|
private buffer; |
|
|
|
private sectionStart; |
|
|
|
private index; |
|
|
|
private baseState; |
|
|
|
private isSpecial; |
|
|
|
running: boolean; |
|
|
|
private offset; |
|
private readonly xmlMode; |
|
private readonly decodeEntities; |
|
private readonly entityTrie; |
|
constructor({ xmlMode, decodeEntities, }: { |
|
xmlMode?: boolean; |
|
decodeEntities?: boolean; |
|
}, cbs: Callbacks); |
|
reset(): void; |
|
write(chunk: string): void; |
|
end(): void; |
|
pause(): void; |
|
resume(): void; |
|
|
|
|
|
|
|
getIndex(): number; |
|
|
|
|
|
|
|
getSectionStart(): number; |
|
private stateText; |
|
private currentSequence; |
|
private sequenceIndex; |
|
private stateSpecialStartSequence; |
|
|
|
private stateInSpecialTag; |
|
private stateCDATASequence; |
|
|
|
|
|
|
|
|
|
|
|
|
|
private fastForwardTo; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private stateInCommentLike; |
|
|
|
|
|
|
|
|
|
|
|
|
|
private isTagStartChar; |
|
private startSpecial; |
|
private stateBeforeTagName; |
|
private stateInTagName; |
|
private stateBeforeClosingTagName; |
|
private stateInClosingTagName; |
|
private stateAfterClosingTagName; |
|
private stateBeforeAttributeName; |
|
private stateInSelfClosingTag; |
|
private stateInAttributeName; |
|
private stateAfterAttributeName; |
|
private stateBeforeAttributeValue; |
|
private handleInAttributeValue; |
|
private stateInAttributeValueDoubleQuotes; |
|
private stateInAttributeValueSingleQuotes; |
|
private stateInAttributeValueNoQuotes; |
|
private stateBeforeDeclaration; |
|
private stateInDeclaration; |
|
private stateInProcessingInstruction; |
|
private stateBeforeComment; |
|
private stateInSpecialComment; |
|
private stateBeforeSpecialS; |
|
private trieIndex; |
|
private trieCurrent; |
|
|
|
private entityResult; |
|
private entityExcess; |
|
private stateBeforeEntity; |
|
private stateInNamedEntity; |
|
private emitNamedEntity; |
|
private stateBeforeNumericEntity; |
|
private emitNumericEntity; |
|
private stateInNumericEntity; |
|
private stateInHexEntity; |
|
private allowLegacyEntity; |
|
|
|
|
|
|
|
private cleanup; |
|
private shouldContinue; |
|
|
|
|
|
|
|
|
|
|
|
private parse; |
|
private finish; |
|
|
|
private handleTrailingData; |
|
private emitPartial; |
|
private emitCodePoint; |
|
} |
|
|