diff options
Diffstat (limited to 'vanilla/node_modules/parse5/dist/tokenizer/index.d.ts')
| -rw-r--r-- | vanilla/node_modules/parse5/dist/tokenizer/index.d.ts | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/vanilla/node_modules/parse5/dist/tokenizer/index.d.ts b/vanilla/node_modules/parse5/dist/tokenizer/index.d.ts new file mode 100644 index 0000000..3de1750 --- /dev/null +++ b/vanilla/node_modules/parse5/dist/tokenizer/index.d.ts @@ -0,0 +1,247 @@ +import { Preprocessor } from './preprocessor.js'; +import { type Token, type CharacterToken, type DoctypeToken, type TagToken, type EOFToken, type CommentToken, type Attribute, type Location } from '../common/token.js'; +import { EntityDecoder } from 'entities/decode'; +import { ERR, type ParserErrorHandler } from '../common/error-codes.js'; +declare const enum State { + DATA = 0, + RCDATA = 1, + RAWTEXT = 2, + SCRIPT_DATA = 3, + PLAINTEXT = 4, + TAG_OPEN = 5, + END_TAG_OPEN = 6, + TAG_NAME = 7, + RCDATA_LESS_THAN_SIGN = 8, + RCDATA_END_TAG_OPEN = 9, + RCDATA_END_TAG_NAME = 10, + RAWTEXT_LESS_THAN_SIGN = 11, + RAWTEXT_END_TAG_OPEN = 12, + RAWTEXT_END_TAG_NAME = 13, + SCRIPT_DATA_LESS_THAN_SIGN = 14, + SCRIPT_DATA_END_TAG_OPEN = 15, + SCRIPT_DATA_END_TAG_NAME = 16, + SCRIPT_DATA_ESCAPE_START = 17, + SCRIPT_DATA_ESCAPE_START_DASH = 18, + SCRIPT_DATA_ESCAPED = 19, + SCRIPT_DATA_ESCAPED_DASH = 20, + SCRIPT_DATA_ESCAPED_DASH_DASH = 21, + SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN = 22, + SCRIPT_DATA_ESCAPED_END_TAG_OPEN = 23, + SCRIPT_DATA_ESCAPED_END_TAG_NAME = 24, + SCRIPT_DATA_DOUBLE_ESCAPE_START = 25, + SCRIPT_DATA_DOUBLE_ESCAPED = 26, + SCRIPT_DATA_DOUBLE_ESCAPED_DASH = 27, + SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH = 28, + SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN = 29, + SCRIPT_DATA_DOUBLE_ESCAPE_END = 30, + BEFORE_ATTRIBUTE_NAME = 31, + ATTRIBUTE_NAME = 32, + AFTER_ATTRIBUTE_NAME = 33, + BEFORE_ATTRIBUTE_VALUE = 34, + ATTRIBUTE_VALUE_DOUBLE_QUOTED = 35, + ATTRIBUTE_VALUE_SINGLE_QUOTED = 36, + ATTRIBUTE_VALUE_UNQUOTED = 37, + AFTER_ATTRIBUTE_VALUE_QUOTED = 38, + SELF_CLOSING_START_TAG = 39, + BOGUS_COMMENT = 40, + MARKUP_DECLARATION_OPEN = 41, + COMMENT_START = 42, + COMMENT_START_DASH = 43, + COMMENT = 44, + COMMENT_LESS_THAN_SIGN = 45, + COMMENT_LESS_THAN_SIGN_BANG = 46, + COMMENT_LESS_THAN_SIGN_BANG_DASH = 47, + COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH = 48, + COMMENT_END_DASH = 49, + COMMENT_END = 50, + COMMENT_END_BANG = 51, + DOCTYPE = 52, + BEFORE_DOCTYPE_NAME = 53, + DOCTYPE_NAME = 54, + AFTER_DOCTYPE_NAME = 55, + AFTER_DOCTYPE_PUBLIC_KEYWORD = 56, + BEFORE_DOCTYPE_PUBLIC_IDENTIFIER = 57, + DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED = 58, + DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED = 59, + AFTER_DOCTYPE_PUBLIC_IDENTIFIER = 60, + BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS = 61, + AFTER_DOCTYPE_SYSTEM_KEYWORD = 62, + BEFORE_DOCTYPE_SYSTEM_IDENTIFIER = 63, + DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED = 64, + DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED = 65, + AFTER_DOCTYPE_SYSTEM_IDENTIFIER = 66, + BOGUS_DOCTYPE = 67, + CDATA_SECTION = 68, + CDATA_SECTION_BRACKET = 69, + CDATA_SECTION_END = 70, + CHARACTER_REFERENCE = 71, + AMBIGUOUS_AMPERSAND = 72 +} +export declare const TokenizerMode: { + readonly DATA: State.DATA; + readonly RCDATA: State.RCDATA; + readonly RAWTEXT: State.RAWTEXT; + readonly SCRIPT_DATA: State.SCRIPT_DATA; + readonly PLAINTEXT: State.PLAINTEXT; + readonly CDATA_SECTION: State.CDATA_SECTION; +}; +export interface TokenizerOptions { + sourceCodeLocationInfo?: boolean; +} +export interface TokenHandler { + onComment(token: CommentToken): void; + onDoctype(token: DoctypeToken): void; + onStartTag(token: TagToken): void; + onEndTag(token: TagToken): void; + onEof(token: EOFToken): void; + onCharacter(token: CharacterToken): void; + onNullCharacter(token: CharacterToken): void; + onWhitespaceCharacter(token: CharacterToken): void; + onParseError?: ParserErrorHandler | null; +} +export declare class Tokenizer { + protected options: TokenizerOptions; + protected handler: TokenHandler; + preprocessor: Preprocessor; + protected paused: boolean; + /** Ensures that the parsing loop isn't run multiple times at once. */ + protected inLoop: boolean; + /** + * Indicates that the current adjusted node exists, is not an element in the HTML namespace, + * and that it is not an integration point for either MathML or HTML. + * + * @see {@link https://html.spec.whatwg.org/multipage/parsing.html#tree-construction} + */ + inForeignNode: boolean; + lastStartTagName: string; + active: boolean; + state: State; + protected returnState: State; + /** + * We use `entities`' `EntityDecoder` to parse character references. + * + * All of the following states are handled by the `EntityDecoder`: + * + * - Named character reference state + * - Numeric character reference state + * - Hexademical character reference start state + * - Hexademical character reference state + * - Decimal character reference state + * - Numeric character reference end state + */ + protected entityDecoder: EntityDecoder; + protected entityStartPos: number; + protected consumedAfterSnapshot: number; + protected currentLocation: Location | null; + protected currentCharacterToken: CharacterToken | null; + protected currentToken: Token | null; + protected currentAttr: Attribute; + constructor(options: TokenizerOptions, handler: TokenHandler); + protected _err(code: ERR, cpOffset?: number): void; + protected getCurrentLocation(offset: number): Location | null; + protected _runParsingLoop(): void; + pause(): void; + resume(writeCallback?: () => void): void; + write(chunk: string, isLastChunk: boolean, writeCallback?: () => void): void; + insertHtmlAtCurrentPos(chunk: string): void; + protected _ensureHibernation(): boolean; + protected _consume(): number; + protected _advanceBy(count: number): void; + protected _consumeSequenceIfMatch(pattern: string, caseSensitive: boolean): boolean; + protected _createStartTagToken(): void; + protected _createEndTagToken(): void; + protected _createCommentToken(offset: number): void; + protected _createDoctypeToken(initialName: string | null): void; + protected _createCharacterToken(type: CharacterToken['type'], chars: string): void; + protected _createAttr(attrNameFirstCh: string): void; + protected _leaveAttrName(): void; + protected _leaveAttrValue(): void; + protected prepareToken(ct: Token): void; + protected emitCurrentTagToken(): void; + protected emitCurrentComment(ct: CommentToken): void; + protected emitCurrentDoctype(ct: DoctypeToken): void; + protected _emitCurrentCharacterToken(nextLocation: Location | null): void; + protected _emitEOFToken(): void; + protected _appendCharToCurrentCharacterToken(type: CharacterToken['type'], ch: string): void; + protected _emitCodePoint(cp: number): void; + protected _emitChars(ch: string): void; + protected _startCharacterReference(): void; + protected _isCharacterReferenceInAttribute(): boolean; + protected _flushCodePointConsumedAsCharacterReference(cp: number): void; + protected _callState(cp: number): void; + protected _stateData(cp: number): void; + protected _stateRcdata(cp: number): void; + protected _stateRawtext(cp: number): void; + protected _stateScriptData(cp: number): void; + protected _statePlaintext(cp: number): void; + protected _stateTagOpen(cp: number): void; + protected _stateEndTagOpen(cp: number): void; + protected _stateTagName(cp: number): void; + protected _stateRcdataLessThanSign(cp: number): void; + protected _stateRcdataEndTagOpen(cp: number): void; + protected handleSpecialEndTag(_cp: number): boolean; + protected _stateRcdataEndTagName(cp: number): void; + protected _stateRawtextLessThanSign(cp: number): void; + protected _stateRawtextEndTagOpen(cp: number): void; + protected _stateRawtextEndTagName(cp: number): void; + protected _stateScriptDataLessThanSign(cp: number): void; + protected _stateScriptDataEndTagOpen(cp: number): void; + protected _stateScriptDataEndTagName(cp: number): void; + protected _stateScriptDataEscapeStart(cp: number): void; + protected _stateScriptDataEscapeStartDash(cp: number): void; + protected _stateScriptDataEscaped(cp: number): void; + protected _stateScriptDataEscapedDash(cp: number): void; + protected _stateScriptDataEscapedDashDash(cp: number): void; + protected _stateScriptDataEscapedLessThanSign(cp: number): void; + protected _stateScriptDataEscapedEndTagOpen(cp: number): void; + protected _stateScriptDataEscapedEndTagName(cp: number): void; + protected _stateScriptDataDoubleEscapeStart(cp: number): void; + protected _stateScriptDataDoubleEscaped(cp: number): void; + protected _stateScriptDataDoubleEscapedDash(cp: number): void; + protected _stateScriptDataDoubleEscapedDashDash(cp: number): void; + protected _stateScriptDataDoubleEscapedLessThanSign(cp: number): void; + protected _stateScriptDataDoubleEscapeEnd(cp: number): void; + protected _stateBeforeAttributeName(cp: number): void; + protected _stateAttributeName(cp: number): void; + protected _stateAfterAttributeName(cp: number): void; + protected _stateBeforeAttributeValue(cp: number): void; + protected _stateAttributeValueDoubleQuoted(cp: number): void; + protected _stateAttributeValueSingleQuoted(cp: number): void; + protected _stateAttributeValueUnquoted(cp: number): void; + protected _stateAfterAttributeValueQuoted(cp: number): void; + protected _stateSelfClosingStartTag(cp: number): void; + protected _stateBogusComment(cp: number): void; + protected _stateMarkupDeclarationOpen(cp: number): void; + protected _stateCommentStart(cp: number): void; + protected _stateCommentStartDash(cp: number): void; + protected _stateComment(cp: number): void; + protected _stateCommentLessThanSign(cp: number): void; + protected _stateCommentLessThanSignBang(cp: number): void; + protected _stateCommentLessThanSignBangDash(cp: number): void; + protected _stateCommentLessThanSignBangDashDash(cp: number): void; + protected _stateCommentEndDash(cp: number): void; + protected _stateCommentEnd(cp: number): void; + protected _stateCommentEndBang(cp: number): void; + protected _stateDoctype(cp: number): void; + protected _stateBeforeDoctypeName(cp: number): void; + protected _stateDoctypeName(cp: number): void; + protected _stateAfterDoctypeName(cp: number): void; + protected _stateAfterDoctypePublicKeyword(cp: number): void; + protected _stateBeforeDoctypePublicIdentifier(cp: number): void; + protected _stateDoctypePublicIdentifierDoubleQuoted(cp: number): void; + protected _stateDoctypePublicIdentifierSingleQuoted(cp: number): void; + protected _stateAfterDoctypePublicIdentifier(cp: number): void; + protected _stateBetweenDoctypePublicAndSystemIdentifiers(cp: number): void; + protected _stateAfterDoctypeSystemKeyword(cp: number): void; + protected _stateBeforeDoctypeSystemIdentifier(cp: number): void; + protected _stateDoctypeSystemIdentifierDoubleQuoted(cp: number): void; + protected _stateDoctypeSystemIdentifierSingleQuoted(cp: number): void; + protected _stateAfterDoctypeSystemIdentifier(cp: number): void; + protected _stateBogusDoctype(cp: number): void; + protected _stateCdataSection(cp: number): void; + protected _stateCdataSectionBracket(cp: number): void; + protected _stateCdataSectionEnd(cp: number): void; + protected _stateCharacterReference(): void; + protected _stateAmbiguousAmpersand(cp: number): void; +} +export {}; |
