"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:
*/
Object.defineProperty(exports, "__esModule", { value: true });
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++;
function tokenizeHtml(html, _a) {
var ontext = _a.ontext, onopentagname = _a.onopentagname, onopentagend = _a.onopentagend, onclosetag = _a.onclosetag, onselfclosingtag = _a.onselfclosingtag, oncomment = _a.oncomment, onerror = _a.onerror;
var _state = TEXT, _buffer = html, _sectionStart = 0, _index = 0, _baseState = TEXT, _special = SPECIAL_NONE, _decodeEntities = true, _xmlMode = false;
// TEMPORARY
var entityMap = {};
var xmlMap = {};
var legacyMap = {};
var decodeCodePoint = function (arg) { return ''; };
_parse();
function whitespace(c) {
return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r";
}
function ifElseState(upper, SUCCESS, FAILURE) {
var lower = upper.toLowerCase();
if (upper === lower) {
return function (c) {
if (c === lower) {
_state = SUCCESS;
}
else {
_state = FAILURE;
_index--;
}
};
}
else {
return function (c) {
if (c === lower || c === upper) {
_state = SUCCESS;
}
else {
_state = FAILURE;
_index--;
}
};
}
}
function consumeSpecialNameChar(upper, NEXT_STATE) {
var lower = upper.toLowerCase();
return function (c) {
if (c === lower || c === upper) {
_state = NEXT_STATE;
}
else {
_state = IN_TAG_NAME;
_index--; //consume the token again
}
};
}
function _stateText(c) {
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) {
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) {
if (c === "/" || c === ">" || whitespace(c)) {
_emitToken("onopentagname");
_state = BEFORE_ATTRIBUTE_NAME;
_index--;
}
}
;
function _stateBeforeCloseingTagName(c) {
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) {
if (c === ">" || whitespace(c)) {
_emitToken("onclosetag");
_state = AFTER_CLOSING_TAG_NAME;
_index--;
}
}
;
function _stateAfterCloseingTagName(c) {
//skip everything until ">"
if (c === ">") {
_state = TEXT;
_sectionStart = _index + 1;
}
}
;
function _stateBeforeAttributeName(c) {
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) {
if (c === ">") {
onselfclosingtag();
_state = TEXT;
_sectionStart = _index + 1;
}
else if (!whitespace(c)) {
_state = BEFORE_ATTRIBUTE_NAME;
_index--;
}
}
;
function _stateInAttributeName(c) {
if (c === "=" || c === "/" || c === ">" || whitespace(c)) {
_sectionStart = -1;
_state = AFTER_ATTRIBUTE_NAME;
_index--;
}
}
;
function _stateAfterAttributeName(c) {
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) {
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) {
if (c === '"') {
_state = BEFORE_ATTRIBUTE_NAME;
}
else if (_decodeEntities && c === "&") {
_baseState = _state;
_state = BEFORE_ENTITY;
_sectionStart = _index;
}
}
;
function _stateInAttributeValueSingleQuotes(c) {
if (c === "'") {
_state = BEFORE_ATTRIBUTE_NAME;
}
else if (_decodeEntities && c === "&") {
_baseState = _state;
_state = BEFORE_ENTITY;
_sectionStart = _index;
}
}
;
function _stateInAttributeValueNoQuotes(c) {
if (whitespace(c) || c === ">") {
_state = BEFORE_ATTRIBUTE_NAME;
_index--;
}
else if (_decodeEntities && c === "&") {
_baseState = _state;
_state = BEFORE_ENTITY;
_sectionStart = _index;
}
}
;
function _stateBeforeDeclaration(c) {
_state =
c === "["
? BEFORE_CDATA_1
: c === "-"
? BEFORE_COMMENT
: IN_DECLARATION;
}
;
function _stateInDeclaration(c) {
if (c === ">") {
_state = TEXT;
_sectionStart = _index + 1;
}
}
;
function _stateInProcessingInstruction(c) {
if (c === ">") {
_state = TEXT;
_sectionStart = _index + 1;
}
}
;
function _stateBeforeComment(c) {
if (c === "-") {
_state = IN_COMMENT;
_sectionStart = _index + 1;
}
else {
_state = IN_DECLARATION;
}
}
;
function _stateInComment(c) {
if (c === "-")
_state = AFTER_COMMENT_1;
}
;
function _stateAfterComment1(c) {
if (c === "-") {
_state = AFTER_COMMENT_2;
}
else {
_state = IN_COMMENT;
}
}
;
function _stateAfterComment2(c) {
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 (`--->`)
}
;
var _stateBeforeCdata1 = ifElseState("C", BEFORE_CDATA_2, IN_DECLARATION);
var _stateBeforeCdata2 = ifElseState("D", BEFORE_CDATA_3, IN_DECLARATION);
var _stateBeforeCdata3 = ifElseState("A", BEFORE_CDATA_4, IN_DECLARATION);
var _stateBeforeCdata4 = ifElseState("T", BEFORE_CDATA_5, IN_DECLARATION);
var _stateBeforeCdata5 = ifElseState("A", BEFORE_CDATA_6, IN_DECLARATION);
function _stateBeforeCdata6(c) {
if (c === "[") {
_state = IN_CDATA;
_sectionStart = _index + 1;
}
else {
_state = IN_DECLARATION;
_index--;
}
}
;
function _stateInCdata(c) {
if (c === "]")
_state = AFTER_CDATA_1;
}
;
function _stateAfterCdata1(c) {
if (c === "]")
_state = AFTER_CDATA_2;
else
_state = IN_CDATA;
}
;
function _stateAfterCdata2(c) {
if (c === ">") {
_state = TEXT;
_sectionStart = _index + 1;
}
else if (c !== "]") {
_state = IN_CDATA;
}
//else: stay in AFTER_CDATA_2 (`]]]>`)
}
;
function _stateBeforeSpecial(c) {
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) {
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;
}
;
var _stateBeforeScript1 = consumeSpecialNameChar("R", BEFORE_SCRIPT_2);
var _stateBeforeScript2 = consumeSpecialNameChar("I", BEFORE_SCRIPT_3);
var _stateBeforeScript3 = consumeSpecialNameChar("P", BEFORE_SCRIPT_4);
var _stateBeforeScript4 = consumeSpecialNameChar("T", BEFORE_SCRIPT_5);
function _stateBeforeScript5(c) {
if (c === "/" || c === ">" || whitespace(c)) {
_special = SPECIAL_SCRIPT;
}
_state = IN_TAG_NAME;
_index--; //consume the token again
}
;
var _stateAfterScript1 = ifElseState("R", AFTER_SCRIPT_2, TEXT);
var _stateAfterScript2 = ifElseState("I", AFTER_SCRIPT_3, TEXT);
var _stateAfterScript3 = ifElseState("P", AFTER_SCRIPT_4, TEXT);
var _stateAfterScript4 = ifElseState("T", AFTER_SCRIPT_5, TEXT);
function _stateAfterScript5(c) {
if (c === ">" || whitespace(c)) {
_special = SPECIAL_NONE;
_state = IN_CLOSING_TAG_NAME;
_sectionStart = _index - 6;
_index--; //reconsume the token
}
else
_state = TEXT;
}
;
var _stateBeforeStyle1 = consumeSpecialNameChar("Y", BEFORE_STYLE_2);
var _stateBeforeStyle2 = consumeSpecialNameChar("L", BEFORE_STYLE_3);
var _stateBeforeStyle3 = consumeSpecialNameChar("E", BEFORE_STYLE_4);
function _stateBeforeStyle4(c) {
if (c === "/" || c === ">" || whitespace(c)) {
_special = SPECIAL_STYLE;
}
_state = IN_TAG_NAME;
_index--; //consume the token again
}
;
var _stateAfterStyle1 = ifElseState("Y", AFTER_STYLE_2, TEXT);
var _stateAfterStyle2 = ifElseState("L", AFTER_STYLE_3, TEXT);
var _stateAfterStyle3 = ifElseState("E", AFTER_STYLE_4, TEXT);
function _stateAfterStyle4(c) {
if (c === ">" || whitespace(c)) {
_special = SPECIAL_NONE;
_state = IN_CLOSING_TAG_NAME;
_sectionStart = _index - 5;
_index--; //reconsume the token
}
else
_state = TEXT;
}
;
var _stateBeforeEntity = ifElseState("#", BEFORE_NUMERIC_ENTITY, IN_NAMED_ENTITY);
var _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) {
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, base) {
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) {
if (c === ";") {
_decodeNumericEntity(2, 10);
_sectionStart++;
}
else if (c < "0" || c > "9") {
if (!_xmlMode) {
_decodeNumericEntity(2, 10);
}
else {
_state = _baseState;
}
_index--;
}
}
;
function _stateInHexEntity(c) {
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) {
if (name === 'onopentagname') {
onopentagname(_getSection());
}
else if (name === 'onclosetag') {
onclosetag(_getSection());
}
_sectionStart = -1;
}
;
function _emitPartial(value) {
if (_baseState !== TEXT) {
//_cbs.onattribdata(value); //TODO implement the new event
}
else {
ontext(value);
}
}
;
}
exports.tokenizeHtml = tokenizeHtml;
//# sourceMappingURL=tokenizer-old.js.map