ui
This commit is contained in:
+161
@@ -0,0 +1,161 @@
|
||||
/** 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
|
||||
Reference in New Issue
Block a user