123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /** 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
|