"use strict";
// /*!
// * Modified version of htmlparser2 which has been stripped down to only provide
// * the functionality needed by Autolinker in order to make the final bundle as
// * small as possible. Original: https://github.com/fb55/htmlparser2
// *
// * Original copyright:
// *
// * Copyright 2010, 2011, Chris Winberry <chris@winberry.net>. All rights reserved.
// * Permission is hereby granted, free of charge, to any person obtaining a copy
// * of this software and associated documentation files (the "Software"), to
// * deal in the Software without restriction, including without limitation the
// * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// * sell copies of the Software, and to permit persons to whom the Software is
// * furnished to do so, subject to the following conditions:
// */
// var i = 0;
// var TEXT = i++;
// var BEFORE_TAG_NAME = i++; //after <
// var IN_TAG_NAME = i++;
// var IN_SELF_CLOSING_TAG = i++;
// var BEFORE_CLOSING_TAG_NAME = i++;
// var IN_CLOSING_TAG_NAME = i++;
// var AFTER_CLOSING_TAG_NAME = i++;
// //attributes
// var BEFORE_ATTRIBUTE_NAME = i++;
// var IN_ATTRIBUTE_NAME = i++;
// var AFTER_ATTRIBUTE_NAME = i++;
// var BEFORE_ATTRIBUTE_VALUE = i++;
// var IN_ATTRIBUTE_VALUE_DQ = i++; // "
// var IN_ATTRIBUTE_VALUE_SQ = i++; // '
// var IN_ATTRIBUTE_VALUE_NQ = i++;
// //declarations
// var BEFORE_DECLARATION = i++; // !
// var IN_DECLARATION = i++;
// //processing instructions
// var IN_PROCESSING_INSTRUCTION = i++; // ?
// //comments
// var BEFORE_COMMENT = i++;
// var IN_COMMENT = i++;
// var AFTER_COMMENT_1 = i++;
// var AFTER_COMMENT_2 = i++;
// //cdata
// var BEFORE_CDATA_1 = i++; // [
// var BEFORE_CDATA_2 = i++; // C
// var BEFORE_CDATA_3 = i++; // D
// var BEFORE_CDATA_4 = i++; // A
// var BEFORE_CDATA_5 = i++; // T
// var BEFORE_CDATA_6 = i++; // A
// var IN_CDATA = i++; // [
// var AFTER_CDATA_1 = i++; // ]
// var AFTER_CDATA_2 = i++; // ]
// //special tags
// var BEFORE_SPECIAL = i++; //S
// var BEFORE_SPECIAL_END = i++; //S
// var BEFORE_SCRIPT_1 = i++; //C
// var BEFORE_SCRIPT_2 = i++; //R
// var BEFORE_SCRIPT_3 = i++; //I
// var BEFORE_SCRIPT_4 = i++; //P
// var BEFORE_SCRIPT_5 = i++; //T
// var AFTER_SCRIPT_1 = i++; //C
// var AFTER_SCRIPT_2 = i++; //R
// var AFTER_SCRIPT_3 = i++; //I
// var AFTER_SCRIPT_4 = i++; //P
// var AFTER_SCRIPT_5 = i++; //T
// var BEFORE_STYLE_1 = i++; //T
// var BEFORE_STYLE_2 = i++; //Y
// var BEFORE_STYLE_3 = i++; //L
// var BEFORE_STYLE_4 = i++; //E
// var AFTER_STYLE_1 = i++; //T
// var AFTER_STYLE_2 = i++; //Y
// var AFTER_STYLE_3 = i++; //L
// var AFTER_STYLE_4 = i++; //E
// var BEFORE_ENTITY = i++; //&
// var BEFORE_NUMERIC_ENTITY = i++; //#
// var IN_NAMED_ENTITY = i++;
// var IN_NUMERIC_ENTITY = i++;
// var IN_HEX_ENTITY = i++; //X
// var j = 0;
// var SPECIAL_NONE = j++;
// var SPECIAL_SCRIPT = j++;
// var SPECIAL_STYLE = j++;
// export function tokenizeHtml(
// html: string,
// { ontext, onopentagname, onopentagend, onclosetag, onselfclosingtag, oncomment, onerror }: {
// ontext: ( text: string ) => void;
// onopentagname: ( name: string ) => void;
// onopentagend: () => void;
// onclosetag: ( name: string ) => void;
// onselfclosingtag: () => void;
// oncomment: ( text: string ) => void;
// onerror: ( err: Error, state: number ) => void;
// }
// ) {
// let _state = TEXT,
// _buffer = html,
// _sectionStart = 0,
// _index = 0,
// _baseState = TEXT,
// _special = SPECIAL_NONE,
// _decodeEntities = true,
// _xmlMode = false;
// // TEMPORARY
// const entityMap: any = {};
// const xmlMap: any = {};
// const legacyMap: any = {};
// const decodeCodePoint = (arg:any) => '';
// _parse();
// function whitespace(c: string) {
// return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r";
// }
// function ifElseState(upper: string, SUCCESS: number, FAILURE: number) {
// var lower = upper.toLowerCase();
// if (upper === lower) {
// return function(c: string) {
// if (c === lower) {
// _state = SUCCESS;
// } else {
// _state = FAILURE;
// _index--;
// }
// };
// } else {
// return function(c: string) {
// if (c === lower || c === upper) {
// _state = SUCCESS;
// } else {
// _state = FAILURE;
// _index--;
// }
// };
// }
// }
// function consumeSpecialNameChar(upper: string, NEXT_STATE: number) {
// var lower = upper.toLowerCase();
// return function(c: string) {
// if (c === lower || c === upper) {
// _state = NEXT_STATE;
// } else {
// _state = IN_TAG_NAME;
// _index--; //consume the token again
// }
// };
// }
// function _stateText(c: string) {
// if (c === "<") {
// if (_index > _sectionStart) {
// ontext(_getSection());
// }
// _state = BEFORE_TAG_NAME;
// _sectionStart = _index;
// } else if (
// _decodeEntities &&
// _special === SPECIAL_NONE &&
// c === "&"
// ) {
// if (_index > _sectionStart) {
// ontext(_getSection());
// }
// _baseState = TEXT;
// _state = BEFORE_ENTITY;
// _sectionStart = _index;
// }
// };
// function _stateBeforeTagName(c: string) {
// if (c === "/") {
// _state = BEFORE_CLOSING_TAG_NAME;
// } else if (c === "<") {
// ontext(_getSection());
// _sectionStart = _index;
// } else if (c === ">" || _special !== SPECIAL_NONE || whitespace(c)) {
// _state = TEXT;
// } else if (c === "!") {
// _state = BEFORE_DECLARATION;
// _sectionStart = _index + 1;
// } else if (c === "?") {
// _state = IN_PROCESSING_INSTRUCTION;
// _sectionStart = _index + 1;
// } else {
// _state =
// !_xmlMode && (c === "s" || c === "S")
// ? BEFORE_SPECIAL
// : IN_TAG_NAME;
// _sectionStart = _index;
// }
// };
// function _stateInTagName(c: string) {
// if (c === "/" || c === ">" || whitespace(c)) {
// _emitToken("onopentagname");
// _state = BEFORE_ATTRIBUTE_NAME;
// _index--;
// }
// };
// function _stateBeforeCloseingTagName(c: string) {
// if (whitespace(c)) {}
// else if (c === ">") {
// _state = TEXT;
// } else if (_special !== SPECIAL_NONE) {
// if (c === "s" || c === "S") {
// _state = BEFORE_SPECIAL_END;
// } else {
// _state = TEXT;
// _index--;
// }
// } else {
// _state = IN_CLOSING_TAG_NAME;
// _sectionStart = _index;
// }
// };
// function _stateInCloseingTagName(c: string) {
// if (c === ">" || whitespace(c)) {
// _emitToken("onclosetag");
// _state = AFTER_CLOSING_TAG_NAME;
// _index--;
// }
// };
// function _stateAfterCloseingTagName(c: string) {
// //skip everything until ">"
// if (c === ">") {
// _state = TEXT;
// _sectionStart = _index + 1;
// }
// };
// function _stateBeforeAttributeName(c: string) {
// if (c === ">") {
// onopentagend();
// _state = TEXT;
// _sectionStart = _index + 1;
// } else if (c === "/") {
// _state = IN_SELF_CLOSING_TAG;
// } else if (!whitespace(c)) {
// _state = IN_ATTRIBUTE_NAME;
// _sectionStart = _index;
// }
// };
// function _stateInSelfClosingTag(c: string) {
// if (c === ">") {
// onselfclosingtag();
// _state = TEXT;
// _sectionStart = _index + 1;
// } else if (!whitespace(c)) {
// _state = BEFORE_ATTRIBUTE_NAME;
// _index--;
// }
// };
// function _stateInAttributeName(c: string) {
// if (c === "=" || c === "/" || c === ">" || whitespace(c)) {
// _sectionStart = -1;
// _state = AFTER_ATTRIBUTE_NAME;
// _index--;
// }
// };
// function _stateAfterAttributeName(c: string) {
// if (c === "=") {
// _state = BEFORE_ATTRIBUTE_VALUE;
// } else if (c === "/" || c === ">") {
// _state = BEFORE_ATTRIBUTE_NAME;
// _index--;
// } else if (!whitespace(c)) {
// _state = IN_ATTRIBUTE_NAME;
// _sectionStart = _index;
// }
// };
// function _stateBeforeAttributeValue(c: string) {
// if (c === '"') {
// _state = IN_ATTRIBUTE_VALUE_DQ;
// _sectionStart = _index + 1;
// } else if (c === "'") {
// _state = IN_ATTRIBUTE_VALUE_SQ;
// _sectionStart = _index + 1;
// } else if (!whitespace(c)) {
// _state = IN_ATTRIBUTE_VALUE_NQ;
// _sectionStart = _index;
// _index--; //reconsume token
// }
// };
// function _stateInAttributeValueDoubleQuotes(c: string) {
// if (c === '"') {
// _state = BEFORE_ATTRIBUTE_NAME;
// } else if (_decodeEntities && c === "&") {
// _baseState = _state;
// _state = BEFORE_ENTITY;
// _sectionStart = _index;
// }
// };
// function _stateInAttributeValueSingleQuotes(c: string) {
// if (c === "'") {
// _state = BEFORE_ATTRIBUTE_NAME;
// } else if (_decodeEntities && c === "&") {
// _baseState = _state;
// _state = BEFORE_ENTITY;
// _sectionStart = _index;
// }
// };
// function _stateInAttributeValueNoQuotes(c: string) {
// if (whitespace(c) || c === ">") {
// _state = BEFORE_ATTRIBUTE_NAME;
// _index--;
// } else if (_decodeEntities && c === "&") {
// _baseState = _state;
// _state = BEFORE_ENTITY;
// _sectionStart = _index;
// }
// };
// function _stateBeforeDeclaration(c: string) {
// _state =
// c === "["
// ? BEFORE_CDATA_1
// : c === "-"
// ? BEFORE_COMMENT
// : IN_DECLARATION;
// };
// function _stateInDeclaration(c: string) {
// if (c === ">") {
// _state = TEXT;
// _sectionStart = _index + 1;
// }
// };
// function _stateInProcessingInstruction(c: string) {
// if (c === ">") {
// _state = TEXT;
// _sectionStart = _index + 1;
// }
// };
// function _stateBeforeComment(c: string) {
// if (c === "-") {
// _state = IN_COMMENT;
// _sectionStart = _index + 1;
// } else {
// _state = IN_DECLARATION;
// }
// };
// function _stateInComment(c: string) {
// if (c === "-") _state = AFTER_COMMENT_1;
// };
// function _stateAfterComment1(c: string) {
// if (c === "-") {
// _state = AFTER_COMMENT_2;
// } else {
// _state = IN_COMMENT;
// }
// };
// function _stateAfterComment2(c: string) {
// if (c === ">") {
// //remove 2 trailing chars
// oncomment(
// _buffer.substring(_sectionStart, _index - 2)
// );
// _state = TEXT;
// _sectionStart = _index + 1;
// } else if (c !== "-") {
// _state = IN_COMMENT;
// }
// // else: stay in AFTER_COMMENT_2 (`--->`)
// };
// let _stateBeforeCdata1 = ifElseState(
// "C",
// BEFORE_CDATA_2,
// IN_DECLARATION
// );
// let _stateBeforeCdata2 = ifElseState(
// "D",
// BEFORE_CDATA_3,
// IN_DECLARATION
// );
// let _stateBeforeCdata3 = ifElseState(
// "A",
// BEFORE_CDATA_4,
// IN_DECLARATION
// );
// let _stateBeforeCdata4 = ifElseState(
// "T",
// BEFORE_CDATA_5,
// IN_DECLARATION
// );
// let _stateBeforeCdata5 = ifElseState(
// "A",
// BEFORE_CDATA_6,
// IN_DECLARATION
// );
// function _stateBeforeCdata6(c: string) {
// if (c === "[") {
// _state = IN_CDATA;
// _sectionStart = _index + 1;
// } else {
// _state = IN_DECLARATION;
// _index--;
// }
// };
// function _stateInCdata(c: string) {
// if (c === "]") _state = AFTER_CDATA_1;
// };
// function _stateAfterCdata1(c: string) {
// if (c === "]") _state = AFTER_CDATA_2;
// else _state = IN_CDATA;
// };
// function _stateAfterCdata2(c: string) {
// if (c === ">") {
// _state = TEXT;
// _sectionStart = _index + 1;
// } else if (c !== "]") {
// _state = IN_CDATA;
// }
// //else: stay in AFTER_CDATA_2 (`]]]>`)
// };
// function _stateBeforeSpecial(c: string) {
// if (c === "c" || c === "C") {
// _state = BEFORE_SCRIPT_1;
// } else if (c === "t" || c === "T") {
// _state = BEFORE_STYLE_1;
// } else {
// _state = IN_TAG_NAME;
// _index--; //consume the token again
// }
// };
// function _stateBeforeSpecialEnd(c: string) {
// if (_special === SPECIAL_SCRIPT && (c === "c" || c === "C")) {
// _state = AFTER_SCRIPT_1;
// } else if (_special === SPECIAL_STYLE && (c === "t" || c === "T")) {
// _state = AFTER_STYLE_1;
// } else _state = TEXT;
// };
// let _stateBeforeScript1 = consumeSpecialNameChar(
// "R",
// BEFORE_SCRIPT_2
// );
// let _stateBeforeScript2 = consumeSpecialNameChar(
// "I",
// BEFORE_SCRIPT_3
// );
// let _stateBeforeScript3 = consumeSpecialNameChar(
// "P",
// BEFORE_SCRIPT_4
// );
// let _stateBeforeScript4 = consumeSpecialNameChar(
// "T",
// BEFORE_SCRIPT_5
// );
// function _stateBeforeScript5(c: string) {
// if (c === "/" || c === ">" || whitespace(c)) {
// _special = SPECIAL_SCRIPT;
// }
// _state = IN_TAG_NAME;
// _index--; //consume the token again
// };
// let _stateAfterScript1 = ifElseState("R", AFTER_SCRIPT_2, TEXT);
// let _stateAfterScript2 = ifElseState("I", AFTER_SCRIPT_3, TEXT);
// let _stateAfterScript3 = ifElseState("P", AFTER_SCRIPT_4, TEXT);
// let _stateAfterScript4 = ifElseState("T", AFTER_SCRIPT_5, TEXT);
// function _stateAfterScript5(c: string) {
// if (c === ">" || whitespace(c)) {
// _special = SPECIAL_NONE;
// _state = IN_CLOSING_TAG_NAME;
// _sectionStart = _index - 6;
// _index--; //reconsume the token
// } else _state = TEXT;
// };
// let _stateBeforeStyle1 = consumeSpecialNameChar(
// "Y",
// BEFORE_STYLE_2
// );
// let _stateBeforeStyle2 = consumeSpecialNameChar(
// "L",
// BEFORE_STYLE_3
// );
// let _stateBeforeStyle3 = consumeSpecialNameChar(
// "E",
// BEFORE_STYLE_4
// );
// function _stateBeforeStyle4(c: string) {
// if (c === "/" || c === ">" || whitespace(c)) {
// _special = SPECIAL_STYLE;
// }
// _state = IN_TAG_NAME;
// _index--; //consume the token again
// };
// let _stateAfterStyle1 = ifElseState("Y", AFTER_STYLE_2, TEXT);
// let _stateAfterStyle2 = ifElseState("L", AFTER_STYLE_3, TEXT);
// let _stateAfterStyle3 = ifElseState("E", AFTER_STYLE_4, TEXT);
// function _stateAfterStyle4(c: string) {
// if (c === ">" || whitespace(c)) {
// _special = SPECIAL_NONE;
// _state = IN_CLOSING_TAG_NAME;
// _sectionStart = _index - 5;
// _index--; //reconsume the token
// } else _state = TEXT;
// };
// let _stateBeforeEntity = ifElseState(
// "#",
// BEFORE_NUMERIC_ENTITY,
// IN_NAMED_ENTITY
// );
// let _stateBeforeNumericEntity = ifElseState(
// "X",
// IN_HEX_ENTITY,
// IN_NUMERIC_ENTITY
// );
// //for entities terminated with a semicolon
// function _parseNamedEntityStrict() {
// // TODO: For this section, use the regex /( | |<|<|>|>|"|"|')/ ???
// //offset = 1
// if (_sectionStart + 1 < _index) {
// var entity = _buffer.substring(
// _sectionStart + 1,
// _index
// ),
// map = _xmlMode ? xmlMap : entityMap;
// if (map.hasOwnProperty(entity)) {
// _emitPartial(map[entity]);
// _sectionStart = _index + 1;
// }
// }
// };
// //parses legacy entities (without trailing semicolon)
// function _parseLegacyEntity() {
// var start = _sectionStart + 1,
// limit = _index - start;
// if (limit > 6) limit = 6; //the max length of legacy entities is 6
// while (limit >= 2) {
// //the min length of legacy entities is 2
// var entity = _buffer.substr(start, limit);
// if (legacyMap.hasOwnProperty(entity)) {
// _emitPartial(legacyMap[entity]);
// _sectionStart += limit + 1;
// return;
// } else {
// limit--;
// }
// }
// };
// function _stateInNamedEntity(c: string) {
// if (c === ";") {
// _parseNamedEntityStrict();
// if (_sectionStart + 1 < _index && !_xmlMode) {
// _parseLegacyEntity();
// }
// _state = _baseState;
// } else if (
// (c < "a" || c > "z") &&
// (c < "A" || c > "Z") &&
// (c < "0" || c > "9")
// ) {
// if (_xmlMode) {}
// else if (_sectionStart + 1 === _index) {}
// else if (_baseState !== TEXT) {
// if (c !== "=") {
// _parseNamedEntityStrict();
// }
// } else {
// _parseLegacyEntity();
// }
// _state = _baseState;
// _index--;
// }
// };
// function _decodeNumericEntity(offset: number, base: number) {
// var sectionStart = _sectionStart + offset;
// if (sectionStart !== _index) {
// //parse entity
// var entity = _buffer.substring(sectionStart, _index);
// var parsed = parseInt(entity, base);
// _emitPartial(decodeCodePoint(parsed));
// _sectionStart = _index;
// } else {
// _sectionStart--;
// }
// _state = _baseState;
// };
// function _stateInNumericEntity(c: string) {
// if (c === ";") {
// _decodeNumericEntity(2, 10);
// _sectionStart++;
// } else if (c < "0" || c > "9") {
// if (!_xmlMode) {
// _decodeNumericEntity(2, 10);
// } else {
// _state = _baseState;
// }
// _index--;
// }
// };
// function _stateInHexEntity(c: string) {
// if (c === ";") {
// _decodeNumericEntity(3, 16);
// _sectionStart++;
// } else if (
// (c < "a" || c > "f") &&
// (c < "A" || c > "F") &&
// (c < "0" || c > "9")
// ) {
// if (!_xmlMode) {
// _decodeNumericEntity(3, 16);
// } else {
// _state = _baseState;
// }
// _index--;
// }
// };
// function _cleanup() {
// if (_sectionStart < 0) {
// _buffer = "";
// _index = 0;
// } else {
// if (_state === TEXT) {
// if (_sectionStart !== _index) {
// ontext(_buffer.substr(_sectionStart));
// }
// _buffer = "";
// _index = 0;
// } else if (_sectionStart === _index) {
// //the section just started
// _buffer = "";
// _index = 0;
// } else {
// //remove everything unnecessary
// _buffer = _buffer.substr(_sectionStart);
// _index -= _sectionStart;
// }
// _sectionStart = 0;
// }
// };
// function _parse() {
// while (_index < _buffer.length) {
// var c = _buffer.charAt(_index);
// if (_state === TEXT) {
// _stateText(c);
// } else if (_state === BEFORE_TAG_NAME) {
// _stateBeforeTagName(c);
// } else if (_state === IN_TAG_NAME) {
// _stateInTagName(c);
// } else if (_state === BEFORE_CLOSING_TAG_NAME) {
// _stateBeforeCloseingTagName(c);
// } else if (_state === IN_CLOSING_TAG_NAME) {
// _stateInCloseingTagName(c);
// } else if (_state === AFTER_CLOSING_TAG_NAME) {
// _stateAfterCloseingTagName(c);
// } else if (_state === IN_SELF_CLOSING_TAG) {
// _stateInSelfClosingTag(c);
// } else if (_state === BEFORE_ATTRIBUTE_NAME) {
// /*
// * attributes
// */
// _stateBeforeAttributeName(c);
// } else if (_state === IN_ATTRIBUTE_NAME) {
// _stateInAttributeName(c);
// } else if (_state === AFTER_ATTRIBUTE_NAME) {
// _stateAfterAttributeName(c);
// } else if (_state === BEFORE_ATTRIBUTE_VALUE) {
// _stateBeforeAttributeValue(c);
// } else if (_state === IN_ATTRIBUTE_VALUE_DQ) {
// _stateInAttributeValueDoubleQuotes(c);
// } else if (_state === IN_ATTRIBUTE_VALUE_SQ) {
// _stateInAttributeValueSingleQuotes(c);
// } else if (_state === IN_ATTRIBUTE_VALUE_NQ) {
// _stateInAttributeValueNoQuotes(c);
// } else if (_state === BEFORE_DECLARATION) {
// /*
// * declarations
// */
// _stateBeforeDeclaration(c);
// } else if (_state === IN_DECLARATION) {
// _stateInDeclaration(c);
// } else if (_state === IN_PROCESSING_INSTRUCTION) {
// /*
// * processing instructions
// */
// _stateInProcessingInstruction(c);
// } else if (_state === BEFORE_COMMENT) {
// /*
// * comments
// */
// _stateBeforeComment(c);
// } else if (_state === IN_COMMENT) {
// _stateInComment(c);
// } else if (_state === AFTER_COMMENT_1) {
// _stateAfterComment1(c);
// } else if (_state === AFTER_COMMENT_2) {
// _stateAfterComment2(c);
// } else if (_state === BEFORE_CDATA_1) {
// /*
// * cdata
// */
// _stateBeforeCdata1(c);
// } else if (_state === BEFORE_CDATA_2) {
// _stateBeforeCdata2(c);
// } else if (_state === BEFORE_CDATA_3) {
// _stateBeforeCdata3(c);
// } else if (_state === BEFORE_CDATA_4) {
// _stateBeforeCdata4(c);
// } else if (_state === BEFORE_CDATA_5) {
// _stateBeforeCdata5(c);
// } else if (_state === BEFORE_CDATA_6) {
// _stateBeforeCdata6(c);
// } else if (_state === IN_CDATA) {
// _stateInCdata(c);
// } else if (_state === AFTER_CDATA_1) {
// _stateAfterCdata1(c);
// } else if (_state === AFTER_CDATA_2) {
// _stateAfterCdata2(c);
// } else if (_state === BEFORE_SPECIAL) {
// /*
// * special tags
// */
// _stateBeforeSpecial(c);
// } else if (_state === BEFORE_SPECIAL_END) {
// _stateBeforeSpecialEnd(c);
// } else if (_state === BEFORE_SCRIPT_1) {
// /*
// * script
// */
// _stateBeforeScript1(c);
// } else if (_state === BEFORE_SCRIPT_2) {
// _stateBeforeScript2(c);
// } else if (_state === BEFORE_SCRIPT_3) {
// _stateBeforeScript3(c);
// } else if (_state === BEFORE_SCRIPT_4) {
// _stateBeforeScript4(c);
// } else if (_state === BEFORE_SCRIPT_5) {
// _stateBeforeScript5(c);
// } else if (_state === AFTER_SCRIPT_1) {
// _stateAfterScript1(c);
// } else if (_state === AFTER_SCRIPT_2) {
// _stateAfterScript2(c);
// } else if (_state === AFTER_SCRIPT_3) {
// _stateAfterScript3(c);
// } else if (_state === AFTER_SCRIPT_4) {
// _stateAfterScript4(c);
// } else if (_state === AFTER_SCRIPT_5) {
// _stateAfterScript5(c);
// } else if (_state === BEFORE_STYLE_1) {
// /*
// * style
// */
// _stateBeforeStyle1(c);
// } else if (_state === BEFORE_STYLE_2) {
// _stateBeforeStyle2(c);
// } else if (_state === BEFORE_STYLE_3) {
// _stateBeforeStyle3(c);
// } else if (_state === BEFORE_STYLE_4) {
// _stateBeforeStyle4(c);
// } else if (_state === AFTER_STYLE_1) {
// _stateAfterStyle1(c);
// } else if (_state === AFTER_STYLE_2) {
// _stateAfterStyle2(c);
// } else if (_state === AFTER_STYLE_3) {
// _stateAfterStyle3(c);
// } else if (_state === AFTER_STYLE_4) {
// _stateAfterStyle4(c);
// } else if (_state === BEFORE_ENTITY) {
// /*
// * entities
// */
// _stateBeforeEntity(c);
// } else if (_state === BEFORE_NUMERIC_ENTITY) {
// _stateBeforeNumericEntity(c);
// } else if (_state === IN_NAMED_ENTITY) {
// _stateInNamedEntity(c);
// } else if (_state === IN_NUMERIC_ENTITY) {
// _stateInNumericEntity(c);
// } else if (_state === IN_HEX_ENTITY) {
// _stateInHexEntity(c);
// } else {
// onerror(new Error("unknown _state"), _state);
// }
// _index++;
// }
// _cleanup();
// };
// function _getSection() {
// return _buffer.substring(_sectionStart, _index);
// };
// function _emitToken(name: 'onopentagname' | 'onclosetag') {
// if( name === 'onopentagname' ) {
// onopentagname(_getSection());
// } else if( name === 'onclosetag' ) {
// onclosetag(_getSection());
// }
// _sectionStart = -1;
// };
// function _emitPartial(value: string) {
// if (_baseState !== TEXT) {
// //_cbs.onattribdata(value); //TODO implement the new event
// } else {
// ontext(value);
// }
// };
// }
//# sourceMappingURL=tokenizer.js.map