| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | 
							- /** 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,
 
-     InSpecialComment = 20,
 
-     AfterComment1 = 21,
 
-     AfterComment2 = 22,
 
-     BeforeCdata1 = 23,
 
-     BeforeCdata2 = 24,
 
-     BeforeCdata3 = 25,
 
-     BeforeCdata4 = 26,
 
-     BeforeCdata5 = 27,
 
-     BeforeCdata6 = 28,
 
-     InCdata = 29,
 
-     AfterCdata1 = 30,
 
-     AfterCdata2 = 31,
 
-     BeforeSpecialS = 32,
 
-     BeforeSpecialSEnd = 33,
 
-     BeforeScript1 = 34,
 
-     BeforeScript2 = 35,
 
-     BeforeScript3 = 36,
 
-     BeforeScript4 = 37,
 
-     BeforeScript5 = 38,
 
-     AfterScript1 = 39,
 
-     AfterScript2 = 40,
 
-     AfterScript3 = 41,
 
-     AfterScript4 = 42,
 
-     AfterScript5 = 43,
 
-     BeforeStyle1 = 44,
 
-     BeforeStyle2 = 45,
 
-     BeforeStyle3 = 46,
 
-     BeforeStyle4 = 47,
 
-     AfterStyle1 = 48,
 
-     AfterStyle2 = 49,
 
-     AfterStyle3 = 50,
 
-     AfterStyle4 = 51,
 
-     BeforeSpecialT = 52,
 
-     BeforeSpecialTEnd = 53,
 
-     BeforeTitle1 = 54,
 
-     BeforeTitle2 = 55,
 
-     BeforeTitle3 = 56,
 
-     BeforeTitle4 = 57,
 
-     AfterTitle1 = 58,
 
-     AfterTitle2 = 59,
 
-     AfterTitle3 = 60,
 
-     AfterTitle4 = 61,
 
-     BeforeEntity = 62,
 
-     BeforeNumericEntity = 63,
 
-     InNamedEntity = 64,
 
-     InNumericEntity = 65,
 
-     InHexEntity = 66
 
- }
 
- export interface Callbacks {
 
-     onattribdata(value: string): void;
 
-     onattribend(quote: string | undefined | null): 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. */
 
-     private buffer;
 
-     /** 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.
 
-      */
 
-     private bufferOffset;
 
-     /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */
 
-     private baseState;
 
-     /** For special parsing behavior inside of script and style tags. */
 
-     private special;
 
-     /** Indicates whether the tokenizer has been paused. */
 
-     private running;
 
-     /** Indicates whether the tokenizer has finished running / `.end` has been called. */
 
-     private ended;
 
-     private readonly cbs;
 
-     private readonly xmlMode;
 
-     private readonly decodeEntities;
 
-     constructor(options: {
 
-         xmlMode?: boolean;
 
-         decodeEntities?: boolean;
 
-     } | null, cbs: Callbacks);
 
-     reset(): void;
 
-     write(chunk: string): void;
 
-     end(chunk?: string): void;
 
-     pause(): void;
 
-     resume(): void;
 
-     /**
 
-      * The current index within all of the written data.
 
-      */
 
-     getAbsoluteIndex(): number;
 
-     private stateText;
 
-     /**
 
-      * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.
 
-      *
 
-      * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).
 
-      * We allow anything that wouldn't end the tag.
 
-      */
 
-     private isTagStartChar;
 
-     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 stateInComment;
 
-     private stateInSpecialComment;
 
-     private stateAfterComment1;
 
-     private stateAfterComment2;
 
-     private stateBeforeCdata6;
 
-     private stateInCdata;
 
-     private stateAfterCdata1;
 
-     private stateAfterCdata2;
 
-     private stateBeforeSpecialS;
 
-     private stateBeforeSpecialSEnd;
 
-     private stateBeforeSpecialLast;
 
-     private stateAfterSpecialLast;
 
-     private parseFixedEntity;
 
-     private parseLegacyEntity;
 
-     private stateInNamedEntity;
 
-     private decodeNumericEntity;
 
-     private stateInNumericEntity;
 
-     private stateInHexEntity;
 
-     private cleanup;
 
-     /**
 
-      * Iterates through the buffer, calling the function corresponding to the current state.
 
-      *
 
-      * States that are more likely to be hit are higher up, as a performance improvement.
 
-      */
 
-     private parse;
 
-     private finish;
 
-     private handleTrailingData;
 
-     private getSection;
 
-     private emitToken;
 
-     private emitPartial;
 
- }
 
- export {};
 
- //# sourceMappingURL=Tokenizer.d.ts.map
 
 
  |