Fix bin/publish: copy docs.dist from project root

Fix bin/publish: use correct .env path for rspade_system
Fix bin/publish script: prevent grep exit code 1 from terminating script

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-10-21 02:08:33 +00:00
commit f6fac6c4bc
79758 changed files with 10547827 additions and 0 deletions

10
node_modules/htmlparser2/lib/CollectingHandler.d.ts generated vendored Executable file
View File

@@ -0,0 +1,10 @@
import MultiplexHandler from "./MultiplexHandler";
import { Handler } from "./Parser";
export declare class CollectingHandler extends MultiplexHandler {
_cbs: Partial<Handler>;
events: [keyof Handler, ...unknown[]][];
constructor(cbs?: Partial<Handler>);
onreset(): void;
restart(): void;
}
//# sourceMappingURL=CollectingHandler.d.ts.map

1
node_modules/htmlparser2/lib/CollectingHandler.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"CollectingHandler.d.ts","sourceRoot":"","sources":["../src/CollectingHandler.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,qBAAa,iBAAkB,SAAQ,gBAAgB;IACnD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC;gBAE5B,GAAG,GAAE,OAAO,CAAC,OAAO,CAAM;IAWtC,OAAO;IAKP,OAAO;CAcV"}

59
node_modules/htmlparser2/lib/CollectingHandler.js generated vendored Executable file
View File

@@ -0,0 +1,59 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var MultiplexHandler_1 = __importDefault(require("./MultiplexHandler"));
var CollectingHandler = /** @class */ (function (_super) {
__extends(CollectingHandler, _super);
function CollectingHandler(cbs) {
if (cbs === void 0) { cbs = {}; }
var _this = _super.call(this, function (name) {
var _a;
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
_this.events.push([name].concat(args));
// @ts-ignore
if (_this._cbs[name])
(_a = _this._cbs)[name].apply(_a, args);
}) || this;
_this._cbs = cbs;
_this.events = [];
return _this;
}
CollectingHandler.prototype.onreset = function () {
this.events = [];
if (this._cbs.onreset)
this._cbs.onreset();
};
CollectingHandler.prototype.restart = function () {
var _a;
if (this._cbs.onreset)
this._cbs.onreset();
for (var i = 0; i < this.events.length; i++) {
var _b = this.events[i], name_1 = _b[0], args = _b.slice(1);
if (!this._cbs[name_1]) {
continue;
}
// @ts-ignore
(_a = this._cbs)[name_1].apply(_a, args);
}
};
return CollectingHandler;
}(MultiplexHandler_1.default));
exports.CollectingHandler = CollectingHandler;

38
node_modules/htmlparser2/lib/FeedHandler.d.ts generated vendored Executable file
View File

@@ -0,0 +1,38 @@
import DomHandler, { DomHandlerOptions } from "domhandler";
import { ParserOptions } from "./Parser";
interface FeedItem {
id?: string;
title?: string;
link?: string;
description?: string;
pubDate?: Date;
}
interface Feed {
type?: string;
id?: string;
title?: string;
link?: string;
description?: string;
updated?: Date;
author?: string;
items?: FeedItem[];
}
export declare class FeedHandler extends DomHandler {
feed?: Feed;
/**
*
* @param callback
* @param options
*/
constructor(callback?: ((error: Error | null) => void) | DomHandlerOptions, options?: DomHandlerOptions);
onend(): void;
}
/**
* Parse a feed.
*
* @param feed The feed that should be parsed, as a string.
* @param options Optionally, options for parsing. When using this option, you probably want to set `xmlMode` to `true`.
*/
export declare function parseFeed(feed: string, options?: ParserOptions & DomHandlerOptions): Feed | undefined;
export {};
//# sourceMappingURL=FeedHandler.d.ts.map

1
node_modules/htmlparser2/lib/FeedHandler.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"FeedHandler.d.ts","sourceRoot":"","sources":["../src/FeedHandler.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAU,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjD,UAAU,QAAQ;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,UAAU,IAAI;IACV,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAGD,qBAAa,WAAY,SAAQ,UAAU;IACvC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;OAIG;gBAEC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAC9D,OAAO,CAAC,EAAE,iBAAiB;IAS/B,KAAK;CAwGR;AA4CD;;;;;GAKG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAa,GAAG,iBAAkC,GAC5D,IAAI,GAAG,SAAS,CAIlB"}

159
node_modules/htmlparser2/lib/FeedHandler.js generated vendored Executable file
View File

@@ -0,0 +1,159 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var domhandler_1 = __importDefault(require("domhandler"));
var DomUtils = __importStar(require("domutils"));
var Parser_1 = require("./Parser");
//TODO: Consume data as it is coming in
var FeedHandler = /** @class */ (function (_super) {
__extends(FeedHandler, _super);
/**
*
* @param callback
* @param options
*/
function FeedHandler(callback, options) {
var _this = this;
if (typeof callback === "object" && callback !== null) {
callback = undefined;
options = callback;
}
_this = _super.call(this, callback, options) || this;
return _this;
}
FeedHandler.prototype.onend = function () {
var feed = {};
var feedRoot = getOneElement(isValidFeed, this.dom);
if (feedRoot) {
if (feedRoot.name === "feed") {
var childs = feedRoot.children;
feed.type = "atom";
addConditionally(feed, "id", "id", childs);
addConditionally(feed, "title", "title", childs);
var href = getAttribute("href", getOneElement("link", childs));
if (href) {
feed.link = href;
}
addConditionally(feed, "description", "subtitle", childs);
var updated = fetch("updated", childs);
if (updated) {
feed.updated = new Date(updated);
}
addConditionally(feed, "author", "email", childs, true);
feed.items = getElements("entry", childs).map(function (item) {
var entry = {};
var children = item.children;
addConditionally(entry, "id", "id", children);
addConditionally(entry, "title", "title", children);
var href = getAttribute("href", getOneElement("link", children));
if (href) {
entry.link = href;
}
var description = fetch("summary", children) ||
fetch("content", children);
if (description) {
entry.description = description;
}
var pubDate = fetch("updated", children);
if (pubDate) {
entry.pubDate = new Date(pubDate);
}
return entry;
});
}
else {
var childs = getOneElement("channel", feedRoot.children)
.children;
feed.type = feedRoot.name.substr(0, 3);
feed.id = "";
addConditionally(feed, "title", "title", childs);
addConditionally(feed, "link", "link", childs);
addConditionally(feed, "description", "description", childs);
var updated = fetch("lastBuildDate", childs);
if (updated) {
feed.updated = new Date(updated);
}
addConditionally(feed, "author", "managingEditor", childs, true);
feed.items = getElements("item", feedRoot.children).map(function (item) {
var entry = {};
var children = item.children;
addConditionally(entry, "id", "guid", children);
addConditionally(entry, "title", "title", children);
addConditionally(entry, "link", "link", children);
addConditionally(entry, "description", "description", children);
var pubDate = fetch("pubDate", children);
if (pubDate)
entry.pubDate = new Date(pubDate);
return entry;
});
}
}
this.feed = feed;
this.handleCallback(feedRoot ? null : Error("couldn't find root of feed"));
};
return FeedHandler;
}(domhandler_1.default));
exports.FeedHandler = FeedHandler;
function getElements(what, where) {
return DomUtils.getElementsByTagName(what, where, true);
}
function getOneElement(what, where) {
return DomUtils.getElementsByTagName(what, where, true, 1)[0];
}
function fetch(what, where, recurse) {
if (recurse === void 0) { recurse = false; }
return DomUtils.getText(DomUtils.getElementsByTagName(what, where, recurse, 1)).trim();
}
function getAttribute(name, elem) {
if (!elem) {
return null;
}
var attribs = elem.attribs;
return attribs[name];
}
function addConditionally(obj, prop, what, where, recurse) {
if (recurse === void 0) { recurse = false; }
var tmp = fetch(what, where, recurse);
// @ts-ignore
if (tmp)
obj[prop] = tmp;
}
function isValidFeed(value) {
return value === "rss" || value === "feed" || value === "rdf:RDF";
}
var defaultOptions = { xmlMode: true };
/**
* Parse a feed.
*
* @param feed The feed that should be parsed, as a string.
* @param options Optionally, options for parsing. When using this option, you probably want to set `xmlMode` to `true`.
*/
function parseFeed(feed, options) {
if (options === void 0) { options = defaultOptions; }
var handler = new FeedHandler(options);
new Parser_1.Parser(handler, options).end(feed);
return handler.feed;
}
exports.parseFeed = parseFeed;

27
node_modules/htmlparser2/lib/MultiplexHandler.d.ts generated vendored Executable file
View File

@@ -0,0 +1,27 @@
import { Handler } from "./Parser";
/**
* Calls a specific handler function for all events that are encountered.
*
* @param func — The function to multiplex all events to.
*/
export default class MultiplexHandler implements Handler {
_func: (event: keyof Handler, ...args: unknown[]) => void;
constructor(func: (event: keyof Handler, ...args: unknown[]) => void);
onattribute(name: string, value: string): void;
oncdatastart(): void;
oncdataend(): void;
ontext(text: string): void;
onprocessinginstruction(name: string, value: string): void;
oncomment(comment: string): void;
oncommentend(): void;
onclosetag(name: string): void;
onopentag(name: string, attribs: {
[key: string]: string;
}): void;
onopentagname(name: string): void;
onerror(error: Error): void;
onend(): void;
onparserinit(parser: {}): void;
onreset(): void;
}
//# sourceMappingURL=MultiplexHandler.d.ts.map

1
node_modules/htmlparser2/lib/MultiplexHandler.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"MultiplexHandler.d.ts","sourceRoot":"","sources":["../src/MultiplexHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,OAAO;IACpD,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;gBAE9C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;IAKpE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAGvC,YAAY;IAGZ,UAAU;IAGV,MAAM,CAAC,IAAI,EAAE,MAAM;IAGnB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAGnD,SAAS,CAAC,OAAO,EAAE,MAAM;IAGzB,YAAY;IAGZ,UAAU,CAAC,IAAI,EAAE,MAAM;IAGvB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAG1D,aAAa,CAAC,IAAI,EAAE,MAAM;IAG1B,OAAO,CAAC,KAAK,EAAE,KAAK;IAGpB,KAAK;IAGL,YAAY,CAAC,MAAM,EAAE,EAAE;IAGvB,OAAO;CAGV"}

57
node_modules/htmlparser2/lib/MultiplexHandler.js generated vendored Executable file
View File

@@ -0,0 +1,57 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Calls a specific handler function for all events that are encountered.
*
* @param func — The function to multiplex all events to.
*/
var MultiplexHandler = /** @class */ (function () {
function MultiplexHandler(func) {
this._func = func;
}
/* Format: eventname: number of arguments */
MultiplexHandler.prototype.onattribute = function (name, value) {
this._func("onattribute", name, value);
};
MultiplexHandler.prototype.oncdatastart = function () {
this._func("oncdatastart");
};
MultiplexHandler.prototype.oncdataend = function () {
this._func("oncdataend");
};
MultiplexHandler.prototype.ontext = function (text) {
this._func("ontext", text);
};
MultiplexHandler.prototype.onprocessinginstruction = function (name, value) {
this._func("onprocessinginstruction", name, value);
};
MultiplexHandler.prototype.oncomment = function (comment) {
this._func("oncomment", comment);
};
MultiplexHandler.prototype.oncommentend = function () {
this._func("oncommentend");
};
MultiplexHandler.prototype.onclosetag = function (name) {
this._func("onclosetag", name);
};
MultiplexHandler.prototype.onopentag = function (name, attribs) {
this._func("onopentag", name, attribs);
};
MultiplexHandler.prototype.onopentagname = function (name) {
this._func("onopentagname", name);
};
MultiplexHandler.prototype.onerror = function (error) {
this._func("onerror", error);
};
MultiplexHandler.prototype.onend = function () {
this._func("onend");
};
MultiplexHandler.prototype.onparserinit = function (parser) {
this._func("onparserinit", parser);
};
MultiplexHandler.prototype.onreset = function () {
this._func("onreset");
};
return MultiplexHandler;
}());
exports.default = MultiplexHandler;

106
node_modules/htmlparser2/lib/Parser.d.ts generated vendored Executable file
View File

@@ -0,0 +1,106 @@
/// <reference types="node" />
import Tokenizer from "./Tokenizer";
import { EventEmitter } from "events";
export interface ParserOptions {
/***
* Indicates whether special tags (<script> and <style>) should get special treatment
* and if "empty" tags (eg. <br>) can have children. If `false`, the content of special tags
* will be text only. For feeds and other XML content (documents that don't consist of HTML),
* set this to `true`. Default: `false`.
*/
xmlMode?: boolean;
/***
* If set to true, entities within the document will be decoded. Defaults to `false`.
*/
decodeEntities?: boolean;
/***
* If set to true, all tags will be lowercased. If xmlMode is disabled, this defaults to `true`.
*/
lowerCaseTags?: boolean;
/***
* If set to `true`, all attribute names will be lowercased. This has noticeable impact on speed, so it defaults to `false`.
*/
lowerCaseAttributeNames?: boolean;
/***
* If set to true, CDATA sections will be recognized as text even if the xmlMode option is not enabled.
* NOTE: If xmlMode is set to `true` then CDATA sections will always be recognized as text.
*/
recognizeCDATA?: boolean;
/***
* If set to `true`, self-closing tags will trigger the onclosetag event even if xmlMode is not set to `true`.
* NOTE: If xmlMode is set to `true` then self-closing tags will always be recognized.
*/
recognizeSelfClosing?: boolean;
/**
* Allows the default tokenizer to be overwritten.
*/
Tokenizer?: typeof Tokenizer;
}
export interface Handler {
onparserinit(parser: Parser): void;
/***
* Resets the handler back to starting state
*/
onreset(): void;
/***
* Signals the handler that parsing is done
*/
onend(): void;
onerror(error: Error): void;
onclosetag(name: string): void;
onopentagname(name: string): void;
onattribute(name: string, value: string): void;
onopentag(name: string, attribs: {
[s: string]: string;
}): void;
ontext(data: string): void;
oncomment(data: string): void;
oncdatastart(): void;
oncdataend(): void;
oncommentend(): void;
onprocessinginstruction(name: string, data: string): void;
}
export declare class Parser extends EventEmitter {
_tagname: string;
_attribname: string;
_attribvalue: string;
_attribs: null | {
[key: string]: string;
};
_stack: string[];
_foreignContext: boolean[];
startIndex: number;
endIndex: number | null;
_cbs: Partial<Handler>;
_options: ParserOptions;
_lowerCaseTagNames: boolean;
_lowerCaseAttributeNames: boolean;
_tokenizer: Tokenizer;
constructor(cbs: Partial<Handler> | null, options?: ParserOptions);
_updatePosition(initialOffset: number): void;
ontext(data: string): void;
onopentagname(name: string): void;
onopentagend(): void;
onclosetag(name: string): void;
onselfclosingtag(): void;
_closeCurrentTag(): void;
onattribname(name: string): void;
onattribdata(value: string): void;
onattribend(): void;
_getInstructionName(value: string): string;
ondeclaration(value: string): void;
onprocessinginstruction(value: string): void;
oncomment(value: string): void;
oncdata(value: string): void;
onerror(err: Error): void;
onend(): void;
reset(): void;
parseComplete(data: string): void;
write(chunk: string): void;
end(chunk?: string): void;
pause(): void;
resume(): void;
parseChunk: (chunk: string) => void;
done: (chunk?: string | undefined) => void;
}
//# sourceMappingURL=Parser.d.ts.map

1
node_modules/htmlparser2/lib/Parser.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../src/Parser.ts"],"names":[],"mappings":"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"}

371
node_modules/htmlparser2/lib/Parser.js generated vendored Executable file
View File

@@ -0,0 +1,371 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var Tokenizer_1 = __importDefault(require("./Tokenizer"));
var events_1 = require("events");
var formTags = new Set([
"input",
"option",
"optgroup",
"select",
"button",
"datalist",
"textarea"
]);
var pTag = new Set(["p"]);
var openImpliesClose = {
tr: new Set(["tr", "th", "td"]),
th: new Set(["th"]),
td: new Set(["thead", "th", "td"]),
body: new Set(["head", "link", "script"]),
li: new Set(["li"]),
p: pTag,
h1: pTag,
h2: pTag,
h3: pTag,
h4: pTag,
h5: pTag,
h6: pTag,
select: formTags,
input: formTags,
output: formTags,
button: formTags,
datalist: formTags,
textarea: formTags,
option: new Set(["option"]),
optgroup: new Set(["optgroup", "option"]),
dd: new Set(["dt", "dd"]),
dt: new Set(["dt", "dd"]),
address: pTag,
article: pTag,
aside: pTag,
blockquote: pTag,
details: pTag,
div: pTag,
dl: pTag,
fieldset: pTag,
figcaption: pTag,
figure: pTag,
footer: pTag,
form: pTag,
header: pTag,
hr: pTag,
main: pTag,
nav: pTag,
ol: pTag,
pre: pTag,
section: pTag,
table: pTag,
ul: pTag,
rt: new Set(["rt", "rp"]),
rp: new Set(["rt", "rp"]),
tbody: new Set(["thead", "tbody"]),
tfoot: new Set(["thead", "tbody"])
};
var voidElements = new Set([
"area",
"base",
"basefont",
"br",
"col",
"command",
"embed",
"frame",
"hr",
"img",
"input",
"isindex",
"keygen",
"link",
"meta",
"param",
"source",
"track",
"wbr"
]);
var foreignContextElements = new Set(["math", "svg"]);
var htmlIntegrationElements = new Set([
"mi",
"mo",
"mn",
"ms",
"mtext",
"annotation-xml",
"foreignObject",
"desc",
"title"
]);
var reNameEnd = /\s|\//;
var Parser = /** @class */ (function (_super) {
__extends(Parser, _super);
function Parser(cbs, options) {
var _this = _super.call(this) || this;
_this._tagname = "";
_this._attribname = "";
_this._attribvalue = "";
_this._attribs = null;
_this._stack = [];
_this._foreignContext = [];
_this.startIndex = 0;
_this.endIndex = null;
// Aliases for backwards compatibility
_this.parseChunk = Parser.prototype.write;
_this.done = Parser.prototype.end;
_this._options = options || {};
_this._cbs = cbs || {};
_this._tagname = "";
_this._attribname = "";
_this._attribvalue = "";
_this._attribs = null;
_this._stack = [];
_this._foreignContext = [];
_this.startIndex = 0;
_this.endIndex = null;
_this._lowerCaseTagNames =
"lowerCaseTags" in _this._options
? !!_this._options.lowerCaseTags
: !_this._options.xmlMode;
_this._lowerCaseAttributeNames =
"lowerCaseAttributeNames" in _this._options
? !!_this._options.lowerCaseAttributeNames
: !_this._options.xmlMode;
_this._tokenizer = new (_this._options.Tokenizer || Tokenizer_1.default)(_this._options, _this);
if (_this._cbs.onparserinit)
_this._cbs.onparserinit(_this);
return _this;
}
Parser.prototype._updatePosition = function (initialOffset) {
if (this.endIndex === null) {
if (this._tokenizer._sectionStart <= initialOffset) {
this.startIndex = 0;
}
else {
this.startIndex = this._tokenizer._sectionStart - initialOffset;
}
}
else
this.startIndex = this.endIndex + 1;
this.endIndex = this._tokenizer.getAbsoluteIndex();
};
//Tokenizer event handlers
Parser.prototype.ontext = function (data) {
this._updatePosition(1);
// @ts-ignore
this.endIndex--;
if (this._cbs.ontext)
this._cbs.ontext(data);
};
Parser.prototype.onopentagname = function (name) {
if (this._lowerCaseTagNames) {
name = name.toLowerCase();
}
this._tagname = name;
if (!this._options.xmlMode &&
Object.prototype.hasOwnProperty.call(openImpliesClose, name)) {
for (var el = void 0;
// @ts-ignore
openImpliesClose[name].has((el = this._stack[this._stack.length - 1])); this.onclosetag(el))
;
}
if (this._options.xmlMode || !voidElements.has(name)) {
this._stack.push(name);
if (foreignContextElements.has(name)) {
this._foreignContext.push(true);
}
else if (htmlIntegrationElements.has(name)) {
this._foreignContext.push(false);
}
}
if (this._cbs.onopentagname)
this._cbs.onopentagname(name);
if (this._cbs.onopentag)
this._attribs = {};
};
Parser.prototype.onopentagend = function () {
this._updatePosition(1);
if (this._attribs) {
if (this._cbs.onopentag) {
this._cbs.onopentag(this._tagname, this._attribs);
}
this._attribs = null;
}
if (!this._options.xmlMode &&
this._cbs.onclosetag &&
voidElements.has(this._tagname)) {
this._cbs.onclosetag(this._tagname);
}
this._tagname = "";
};
Parser.prototype.onclosetag = function (name) {
this._updatePosition(1);
if (this._lowerCaseTagNames) {
name = name.toLowerCase();
}
if (foreignContextElements.has(name) ||
htmlIntegrationElements.has(name)) {
this._foreignContext.pop();
}
if (this._stack.length &&
(this._options.xmlMode || !voidElements.has(name))) {
var pos = this._stack.lastIndexOf(name);
if (pos !== -1) {
if (this._cbs.onclosetag) {
pos = this._stack.length - pos;
// @ts-ignore
while (pos--)
this._cbs.onclosetag(this._stack.pop());
}
else
this._stack.length = pos;
}
else if (name === "p" && !this._options.xmlMode) {
this.onopentagname(name);
this._closeCurrentTag();
}
}
else if (!this._options.xmlMode && (name === "br" || name === "p")) {
this.onopentagname(name);
this._closeCurrentTag();
}
};
Parser.prototype.onselfclosingtag = function () {
if (this._options.xmlMode ||
this._options.recognizeSelfClosing ||
this._foreignContext[this._foreignContext.length - 1]) {
this._closeCurrentTag();
}
else {
this.onopentagend();
}
};
Parser.prototype._closeCurrentTag = function () {
var name = this._tagname;
this.onopentagend();
//self-closing tags will be on the top of the stack
//(cheaper check than in onclosetag)
if (this._stack[this._stack.length - 1] === name) {
if (this._cbs.onclosetag) {
this._cbs.onclosetag(name);
}
this._stack.pop();
}
};
Parser.prototype.onattribname = function (name) {
if (this._lowerCaseAttributeNames) {
name = name.toLowerCase();
}
this._attribname = name;
};
Parser.prototype.onattribdata = function (value) {
this._attribvalue += value;
};
Parser.prototype.onattribend = function () {
if (this._cbs.onattribute)
this._cbs.onattribute(this._attribname, this._attribvalue);
if (this._attribs &&
!Object.prototype.hasOwnProperty.call(this._attribs, this._attribname)) {
this._attribs[this._attribname] = this._attribvalue;
}
this._attribname = "";
this._attribvalue = "";
};
Parser.prototype._getInstructionName = function (value) {
var idx = value.search(reNameEnd);
var name = idx < 0 ? value : value.substr(0, idx);
if (this._lowerCaseTagNames) {
name = name.toLowerCase();
}
return name;
};
Parser.prototype.ondeclaration = function (value) {
if (this._cbs.onprocessinginstruction) {
var name_1 = this._getInstructionName(value);
this._cbs.onprocessinginstruction("!" + name_1, "!" + value);
}
};
Parser.prototype.onprocessinginstruction = function (value) {
if (this._cbs.onprocessinginstruction) {
var name_2 = this._getInstructionName(value);
this._cbs.onprocessinginstruction("?" + name_2, "?" + value);
}
};
Parser.prototype.oncomment = function (value) {
this._updatePosition(4);
if (this._cbs.oncomment)
this._cbs.oncomment(value);
if (this._cbs.oncommentend)
this._cbs.oncommentend();
};
Parser.prototype.oncdata = function (value) {
this._updatePosition(1);
if (this._options.xmlMode || this._options.recognizeCDATA) {
if (this._cbs.oncdatastart)
this._cbs.oncdatastart();
if (this._cbs.ontext)
this._cbs.ontext(value);
if (this._cbs.oncdataend)
this._cbs.oncdataend();
}
else {
this.oncomment("[CDATA[" + value + "]]");
}
};
Parser.prototype.onerror = function (err) {
if (this._cbs.onerror)
this._cbs.onerror(err);
};
Parser.prototype.onend = function () {
if (this._cbs.onclosetag) {
for (var i = this._stack.length; i > 0; this._cbs.onclosetag(this._stack[--i]))
;
}
if (this._cbs.onend)
this._cbs.onend();
};
//Resets the parser to a blank state, ready to parse a new HTML document
Parser.prototype.reset = function () {
if (this._cbs.onreset)
this._cbs.onreset();
this._tokenizer.reset();
this._tagname = "";
this._attribname = "";
this._attribs = null;
this._stack = [];
if (this._cbs.onparserinit)
this._cbs.onparserinit(this);
};
//Parses a complete HTML document and pushes it to the handler
Parser.prototype.parseComplete = function (data) {
this.reset();
this.end(data);
};
Parser.prototype.write = function (chunk) {
this._tokenizer.write(chunk);
};
Parser.prototype.end = function (chunk) {
this._tokenizer.end(chunk);
};
Parser.prototype.pause = function () {
this._tokenizer.pause();
};
Parser.prototype.resume = function () {
this._tokenizer.resume();
};
return Parser;
}(events_1.EventEmitter));
exports.Parser = Parser;

161
node_modules/htmlparser2/lib/Tokenizer.d.ts generated vendored Executable file
View File

@@ -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

1
node_modules/htmlparser2/lib/Tokenizer.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Tokenizer.d.ts","sourceRoot":"","sources":["../src/Tokenizer.ts"],"names":[],"mappings":"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"}

859
node_modules/htmlparser2/lib/Tokenizer.js generated vendored Executable file
View File

@@ -0,0 +1,859 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var decode_codepoint_1 = __importDefault(require("entities/lib/decode_codepoint"));
var entities_json_1 = __importDefault(require("entities/lib/maps/entities.json"));
var legacy_json_1 = __importDefault(require("entities/lib/maps/legacy.json"));
var xml_json_1 = __importDefault(require("entities/lib/maps/xml.json"));
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 (t, c) {
if (c === lower) {
t._state = SUCCESS;
}
else {
t._state = FAILURE;
t._index--;
}
};
}
else {
return function (t, c) {
if (c === lower || c === upper) {
t._state = SUCCESS;
}
else {
t._state = FAILURE;
t._index--;
}
};
}
}
function consumeSpecialNameChar(upper, NEXT_STATE) {
var lower = upper.toLowerCase();
return function (t, c) {
if (c === lower || c === upper) {
t._state = NEXT_STATE;
}
else {
t._state = 3 /* InTagName */;
t._index--; //consume the token again
}
};
}
var stateBeforeCdata1 = ifElseState("C", 23 /* BeforeCdata2 */, 16 /* InDeclaration */);
var stateBeforeCdata2 = ifElseState("D", 24 /* BeforeCdata3 */, 16 /* InDeclaration */);
var stateBeforeCdata3 = ifElseState("A", 25 /* BeforeCdata4 */, 16 /* InDeclaration */);
var stateBeforeCdata4 = ifElseState("T", 26 /* BeforeCdata5 */, 16 /* InDeclaration */);
var stateBeforeCdata5 = ifElseState("A", 27 /* BeforeCdata6 */, 16 /* InDeclaration */);
var stateBeforeScript1 = consumeSpecialNameChar("R", 34 /* BeforeScript2 */);
var stateBeforeScript2 = consumeSpecialNameChar("I", 35 /* BeforeScript3 */);
var stateBeforeScript3 = consumeSpecialNameChar("P", 36 /* BeforeScript4 */);
var stateBeforeScript4 = consumeSpecialNameChar("T", 37 /* BeforeScript5 */);
var stateAfterScript1 = ifElseState("R", 39 /* AfterScript2 */, 1 /* Text */);
var stateAfterScript2 = ifElseState("I", 40 /* AfterScript3 */, 1 /* Text */);
var stateAfterScript3 = ifElseState("P", 41 /* AfterScript4 */, 1 /* Text */);
var stateAfterScript4 = ifElseState("T", 42 /* AfterScript5 */, 1 /* Text */);
var stateBeforeStyle1 = consumeSpecialNameChar("Y", 44 /* BeforeStyle2 */);
var stateBeforeStyle2 = consumeSpecialNameChar("L", 45 /* BeforeStyle3 */);
var stateBeforeStyle3 = consumeSpecialNameChar("E", 46 /* BeforeStyle4 */);
var stateAfterStyle1 = ifElseState("Y", 48 /* AfterStyle2 */, 1 /* Text */);
var stateAfterStyle2 = ifElseState("L", 49 /* AfterStyle3 */, 1 /* Text */);
var stateAfterStyle3 = ifElseState("E", 50 /* AfterStyle4 */, 1 /* Text */);
var stateBeforeEntity = ifElseState("#", 52 /* BeforeNumericEntity */, 53 /* InNamedEntity */);
var stateBeforeNumericEntity = ifElseState("X", 55 /* InHexEntity */, 54 /* InNumericEntity */);
var Tokenizer = /** @class */ (function () {
function Tokenizer(options, cbs) {
/** The current state the tokenizer is in. */
this._state = 1 /* Text */;
/** The read buffer. */
this._buffer = "";
/** The beginning of the section that is currently being read. */
this._sectionStart = 0;
/** The index within the buffer that we are currently looking at. */
this._index = 0;
/**
* 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.
*/
this._bufferOffset = 0;
/** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */
this._baseState = 1 /* Text */;
/** For special parsing behavior inside of script and style tags. */
this._special = 1 /* None */;
/** Indicates whether the tokenizer has been paused. */
this._running = true;
/** Indicates whether the tokenizer has finished running / `.end` has been called. */
this._ended = false;
this._cbs = cbs;
this._xmlMode = !!(options && options.xmlMode);
this._decodeEntities = !!(options && options.decodeEntities);
}
Tokenizer.prototype.reset = function () {
this._state = 1 /* Text */;
this._buffer = "";
this._sectionStart = 0;
this._index = 0;
this._bufferOffset = 0;
this._baseState = 1 /* Text */;
this._special = 1 /* None */;
this._running = true;
this._ended = false;
};
Tokenizer.prototype._stateText = function (c) {
if (c === "<") {
if (this._index > this._sectionStart) {
this._cbs.ontext(this._getSection());
}
this._state = 2 /* BeforeTagName */;
this._sectionStart = this._index;
}
else if (this._decodeEntities &&
this._special === 1 /* None */ &&
c === "&") {
if (this._index > this._sectionStart) {
this._cbs.ontext(this._getSection());
}
this._baseState = 1 /* Text */;
this._state = 51 /* BeforeEntity */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateBeforeTagName = function (c) {
if (c === "/") {
this._state = 5 /* BeforeClosingTagName */;
}
else if (c === "<") {
this._cbs.ontext(this._getSection());
this._sectionStart = this._index;
}
else if (c === ">" ||
this._special !== 1 /* None */ ||
whitespace(c)) {
this._state = 1 /* Text */;
}
else if (c === "!") {
this._state = 15 /* BeforeDeclaration */;
this._sectionStart = this._index + 1;
}
else if (c === "?") {
this._state = 17 /* InProcessingInstruction */;
this._sectionStart = this._index + 1;
}
else {
this._state =
!this._xmlMode && (c === "s" || c === "S")
? 31 /* BeforeSpecial */
: 3 /* InTagName */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateInTagName = function (c) {
if (c === "/" || c === ">" || whitespace(c)) {
this._emitToken("onopentagname");
this._state = 8 /* BeforeAttributeName */;
this._index--;
}
};
Tokenizer.prototype._stateBeforeClosingTagName = function (c) {
if (whitespace(c)) {
// ignore
}
else if (c === ">") {
this._state = 1 /* Text */;
}
else if (this._special !== 1 /* None */) {
if (c === "s" || c === "S") {
this._state = 32 /* BeforeSpecialEnd */;
}
else {
this._state = 1 /* Text */;
this._index--;
}
}
else {
this._state = 6 /* InClosingTagName */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateInClosingTagName = function (c) {
if (c === ">" || whitespace(c)) {
this._emitToken("onclosetag");
this._state = 7 /* AfterClosingTagName */;
this._index--;
}
};
Tokenizer.prototype._stateAfterClosingTagName = function (c) {
//skip everything until ">"
if (c === ">") {
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
};
Tokenizer.prototype._stateBeforeAttributeName = function (c) {
if (c === ">") {
this._cbs.onopentagend();
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
else if (c === "/") {
this._state = 4 /* InSelfClosingTag */;
}
else if (!whitespace(c)) {
this._state = 9 /* InAttributeName */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateInSelfClosingTag = function (c) {
if (c === ">") {
this._cbs.onselfclosingtag();
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
else if (!whitespace(c)) {
this._state = 8 /* BeforeAttributeName */;
this._index--;
}
};
Tokenizer.prototype._stateInAttributeName = function (c) {
if (c === "=" || c === "/" || c === ">" || whitespace(c)) {
this._cbs.onattribname(this._getSection());
this._sectionStart = -1;
this._state = 10 /* AfterAttributeName */;
this._index--;
}
};
Tokenizer.prototype._stateAfterAttributeName = function (c) {
if (c === "=") {
this._state = 11 /* BeforeAttributeValue */;
}
else if (c === "/" || c === ">") {
this._cbs.onattribend();
this._state = 8 /* BeforeAttributeName */;
this._index--;
}
else if (!whitespace(c)) {
this._cbs.onattribend();
this._state = 9 /* InAttributeName */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateBeforeAttributeValue = function (c) {
if (c === '"') {
this._state = 12 /* InAttributeValueDq */;
this._sectionStart = this._index + 1;
}
else if (c === "'") {
this._state = 13 /* InAttributeValueSq */;
this._sectionStart = this._index + 1;
}
else if (!whitespace(c)) {
this._state = 14 /* InAttributeValueNq */;
this._sectionStart = this._index;
this._index--; //reconsume token
}
};
Tokenizer.prototype._stateInAttributeValueDoubleQuotes = function (c) {
if (c === '"') {
this._emitToken("onattribdata");
this._cbs.onattribend();
this._state = 8 /* BeforeAttributeName */;
}
else if (this._decodeEntities && c === "&") {
this._emitToken("onattribdata");
this._baseState = this._state;
this._state = 51 /* BeforeEntity */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateInAttributeValueSingleQuotes = function (c) {
if (c === "'") {
this._emitToken("onattribdata");
this._cbs.onattribend();
this._state = 8 /* BeforeAttributeName */;
}
else if (this._decodeEntities && c === "&") {
this._emitToken("onattribdata");
this._baseState = this._state;
this._state = 51 /* BeforeEntity */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateInAttributeValueNoQuotes = function (c) {
if (whitespace(c) || c === ">") {
this._emitToken("onattribdata");
this._cbs.onattribend();
this._state = 8 /* BeforeAttributeName */;
this._index--;
}
else if (this._decodeEntities && c === "&") {
this._emitToken("onattribdata");
this._baseState = this._state;
this._state = 51 /* BeforeEntity */;
this._sectionStart = this._index;
}
};
Tokenizer.prototype._stateBeforeDeclaration = function (c) {
this._state =
c === "["
? 22 /* BeforeCdata1 */
: c === "-"
? 18 /* BeforeComment */
: 16 /* InDeclaration */;
};
Tokenizer.prototype._stateInDeclaration = function (c) {
if (c === ">") {
this._cbs.ondeclaration(this._getSection());
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
};
Tokenizer.prototype._stateInProcessingInstruction = function (c) {
if (c === ">") {
this._cbs.onprocessinginstruction(this._getSection());
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
};
Tokenizer.prototype._stateBeforeComment = function (c) {
if (c === "-") {
this._state = 19 /* InComment */;
this._sectionStart = this._index + 1;
}
else {
this._state = 16 /* InDeclaration */;
}
};
Tokenizer.prototype._stateInComment = function (c) {
if (c === "-")
this._state = 20 /* AfterComment1 */;
};
Tokenizer.prototype._stateAfterComment1 = function (c) {
if (c === "-") {
this._state = 21 /* AfterComment2 */;
}
else {
this._state = 19 /* InComment */;
}
};
Tokenizer.prototype._stateAfterComment2 = function (c) {
if (c === ">") {
//remove 2 trailing chars
this._cbs.oncomment(this._buffer.substring(this._sectionStart, this._index - 2));
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
else if (c !== "-") {
this._state = 19 /* InComment */;
}
// else: stay in AFTER_COMMENT_2 (`--->`)
};
Tokenizer.prototype._stateBeforeCdata6 = function (c) {
if (c === "[") {
this._state = 28 /* InCdata */;
this._sectionStart = this._index + 1;
}
else {
this._state = 16 /* InDeclaration */;
this._index--;
}
};
Tokenizer.prototype._stateInCdata = function (c) {
if (c === "]")
this._state = 29 /* AfterCdata1 */;
};
Tokenizer.prototype._stateAfterCdata1 = function (c) {
if (c === "]")
this._state = 30 /* AfterCdata2 */;
else
this._state = 28 /* InCdata */;
};
Tokenizer.prototype._stateAfterCdata2 = function (c) {
if (c === ">") {
//remove 2 trailing chars
this._cbs.oncdata(this._buffer.substring(this._sectionStart, this._index - 2));
this._state = 1 /* Text */;
this._sectionStart = this._index + 1;
}
else if (c !== "]") {
this._state = 28 /* InCdata */;
}
//else: stay in AFTER_CDATA_2 (`]]]>`)
};
Tokenizer.prototype._stateBeforeSpecial = function (c) {
if (c === "c" || c === "C") {
this._state = 33 /* BeforeScript1 */;
}
else if (c === "t" || c === "T") {
this._state = 43 /* BeforeStyle1 */;
}
else {
this._state = 3 /* InTagName */;
this._index--; //consume the token again
}
};
Tokenizer.prototype._stateBeforeSpecialEnd = function (c) {
if (this._special === 2 /* Script */ && (c === "c" || c === "C")) {
this._state = 38 /* AfterScript1 */;
}
else if (this._special === 3 /* Style */ &&
(c === "t" || c === "T")) {
this._state = 47 /* AfterStyle1 */;
}
else
this._state = 1 /* Text */;
};
Tokenizer.prototype._stateBeforeScript5 = function (c) {
if (c === "/" || c === ">" || whitespace(c)) {
this._special = 2 /* Script */;
}
this._state = 3 /* InTagName */;
this._index--; //consume the token again
};
Tokenizer.prototype._stateAfterScript5 = function (c) {
if (c === ">" || whitespace(c)) {
this._special = 1 /* None */;
this._state = 6 /* InClosingTagName */;
this._sectionStart = this._index - 6;
this._index--; //reconsume the token
}
else
this._state = 1 /* Text */;
};
Tokenizer.prototype._stateBeforeStyle4 = function (c) {
if (c === "/" || c === ">" || whitespace(c)) {
this._special = 3 /* Style */;
}
this._state = 3 /* InTagName */;
this._index--; //consume the token again
};
Tokenizer.prototype._stateAfterStyle4 = function (c) {
if (c === ">" || whitespace(c)) {
this._special = 1 /* None */;
this._state = 6 /* InClosingTagName */;
this._sectionStart = this._index - 5;
this._index--; //reconsume the token
}
else
this._state = 1 /* Text */;
};
//for entities terminated with a semicolon
Tokenizer.prototype._parseNamedEntityStrict = function () {
//offset = 1
if (this._sectionStart + 1 < this._index) {
var entity = this._buffer.substring(this._sectionStart + 1, this._index), map = this._xmlMode ? xml_json_1.default : entities_json_1.default;
if (Object.prototype.hasOwnProperty.call(map, entity)) {
// @ts-ignore
this._emitPartial(map[entity]);
this._sectionStart = this._index + 1;
}
}
};
//parses legacy entities (without trailing semicolon)
Tokenizer.prototype._parseLegacyEntity = function () {
var start = this._sectionStart + 1;
var limit = this._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 = this._buffer.substr(start, limit);
if (Object.prototype.hasOwnProperty.call(legacy_json_1.default, entity)) {
// @ts-ignore
this._emitPartial(legacy_json_1.default[entity]);
this._sectionStart += limit + 1;
return;
}
else {
limit--;
}
}
};
Tokenizer.prototype._stateInNamedEntity = function (c) {
if (c === ";") {
this._parseNamedEntityStrict();
if (this._sectionStart + 1 < this._index && !this._xmlMode) {
this._parseLegacyEntity();
}
this._state = this._baseState;
}
else if ((c < "a" || c > "z") &&
(c < "A" || c > "Z") &&
(c < "0" || c > "9")) {
if (this._xmlMode || this._sectionStart + 1 === this._index) {
// ignore
}
else if (this._baseState !== 1 /* Text */) {
if (c !== "=") {
this._parseNamedEntityStrict();
}
}
else {
this._parseLegacyEntity();
}
this._state = this._baseState;
this._index--;
}
};
Tokenizer.prototype._decodeNumericEntity = function (offset, base) {
var sectionStart = this._sectionStart + offset;
if (sectionStart !== this._index) {
//parse entity
var entity = this._buffer.substring(sectionStart, this._index);
var parsed = parseInt(entity, base);
this._emitPartial(decode_codepoint_1.default(parsed));
this._sectionStart = this._index;
}
else {
this._sectionStart--;
}
this._state = this._baseState;
};
Tokenizer.prototype._stateInNumericEntity = function (c) {
if (c === ";") {
this._decodeNumericEntity(2, 10);
this._sectionStart++;
}
else if (c < "0" || c > "9") {
if (!this._xmlMode) {
this._decodeNumericEntity(2, 10);
}
else {
this._state = this._baseState;
}
this._index--;
}
};
Tokenizer.prototype._stateInHexEntity = function (c) {
if (c === ";") {
this._decodeNumericEntity(3, 16);
this._sectionStart++;
}
else if ((c < "a" || c > "f") &&
(c < "A" || c > "F") &&
(c < "0" || c > "9")) {
if (!this._xmlMode) {
this._decodeNumericEntity(3, 16);
}
else {
this._state = this._baseState;
}
this._index--;
}
};
Tokenizer.prototype._cleanup = function () {
if (this._sectionStart < 0) {
this._buffer = "";
this._bufferOffset += this._index;
this._index = 0;
}
else if (this._running) {
if (this._state === 1 /* Text */) {
if (this._sectionStart !== this._index) {
this._cbs.ontext(this._buffer.substr(this._sectionStart));
}
this._buffer = "";
this._bufferOffset += this._index;
this._index = 0;
}
else if (this._sectionStart === this._index) {
//the section just started
this._buffer = "";
this._bufferOffset += this._index;
this._index = 0;
}
else {
//remove everything unnecessary
this._buffer = this._buffer.substr(this._sectionStart);
this._index -= this._sectionStart;
this._bufferOffset += this._sectionStart;
}
this._sectionStart = 0;
}
};
//TODO make events conditional
Tokenizer.prototype.write = function (chunk) {
if (this._ended)
this._cbs.onerror(Error(".write() after done!"));
this._buffer += chunk;
this._parse();
};
// 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.
Tokenizer.prototype._parse = function () {
while (this._index < this._buffer.length && this._running) {
var c = this._buffer.charAt(this._index);
if (this._state === 1 /* Text */) {
this._stateText(c);
}
else if (this._state === 12 /* InAttributeValueDq */) {
this._stateInAttributeValueDoubleQuotes(c);
}
else if (this._state === 9 /* InAttributeName */) {
this._stateInAttributeName(c);
}
else if (this._state === 19 /* InComment */) {
this._stateInComment(c);
}
else if (this._state === 8 /* BeforeAttributeName */) {
this._stateBeforeAttributeName(c);
}
else if (this._state === 3 /* InTagName */) {
this._stateInTagName(c);
}
else if (this._state === 6 /* InClosingTagName */) {
this._stateInClosingTagName(c);
}
else if (this._state === 2 /* BeforeTagName */) {
this._stateBeforeTagName(c);
}
else if (this._state === 10 /* AfterAttributeName */) {
this._stateAfterAttributeName(c);
}
else if (this._state === 13 /* InAttributeValueSq */) {
this._stateInAttributeValueSingleQuotes(c);
}
else if (this._state === 11 /* BeforeAttributeValue */) {
this._stateBeforeAttributeValue(c);
}
else if (this._state === 5 /* BeforeClosingTagName */) {
this._stateBeforeClosingTagName(c);
}
else if (this._state === 7 /* AfterClosingTagName */) {
this._stateAfterClosingTagName(c);
}
else if (this._state === 31 /* BeforeSpecial */) {
this._stateBeforeSpecial(c);
}
else if (this._state === 20 /* AfterComment1 */) {
this._stateAfterComment1(c);
}
else if (this._state === 14 /* InAttributeValueNq */) {
this._stateInAttributeValueNoQuotes(c);
}
else if (this._state === 4 /* InSelfClosingTag */) {
this._stateInSelfClosingTag(c);
}
else if (this._state === 16 /* InDeclaration */) {
this._stateInDeclaration(c);
}
else if (this._state === 15 /* BeforeDeclaration */) {
this._stateBeforeDeclaration(c);
}
else if (this._state === 21 /* AfterComment2 */) {
this._stateAfterComment2(c);
}
else if (this._state === 18 /* BeforeComment */) {
this._stateBeforeComment(c);
}
else if (this._state === 32 /* BeforeSpecialEnd */) {
this._stateBeforeSpecialEnd(c);
}
else if (this._state === 38 /* AfterScript1 */) {
stateAfterScript1(this, c);
}
else if (this._state === 39 /* AfterScript2 */) {
stateAfterScript2(this, c);
}
else if (this._state === 40 /* AfterScript3 */) {
stateAfterScript3(this, c);
}
else if (this._state === 33 /* BeforeScript1 */) {
stateBeforeScript1(this, c);
}
else if (this._state === 34 /* BeforeScript2 */) {
stateBeforeScript2(this, c);
}
else if (this._state === 35 /* BeforeScript3 */) {
stateBeforeScript3(this, c);
}
else if (this._state === 36 /* BeforeScript4 */) {
stateBeforeScript4(this, c);
}
else if (this._state === 37 /* BeforeScript5 */) {
this._stateBeforeScript5(c);
}
else if (this._state === 41 /* AfterScript4 */) {
stateAfterScript4(this, c);
}
else if (this._state === 42 /* AfterScript5 */) {
this._stateAfterScript5(c);
}
else if (this._state === 43 /* BeforeStyle1 */) {
stateBeforeStyle1(this, c);
}
else if (this._state === 28 /* InCdata */) {
this._stateInCdata(c);
}
else if (this._state === 44 /* BeforeStyle2 */) {
stateBeforeStyle2(this, c);
}
else if (this._state === 45 /* BeforeStyle3 */) {
stateBeforeStyle3(this, c);
}
else if (this._state === 46 /* BeforeStyle4 */) {
this._stateBeforeStyle4(c);
}
else if (this._state === 47 /* AfterStyle1 */) {
stateAfterStyle1(this, c);
}
else if (this._state === 48 /* AfterStyle2 */) {
stateAfterStyle2(this, c);
}
else if (this._state === 49 /* AfterStyle3 */) {
stateAfterStyle3(this, c);
}
else if (this._state === 50 /* AfterStyle4 */) {
this._stateAfterStyle4(c);
}
else if (this._state === 17 /* InProcessingInstruction */) {
this._stateInProcessingInstruction(c);
}
else if (this._state === 53 /* InNamedEntity */) {
this._stateInNamedEntity(c);
}
else if (this._state === 22 /* BeforeCdata1 */) {
stateBeforeCdata1(this, c);
}
else if (this._state === 51 /* BeforeEntity */) {
stateBeforeEntity(this, c);
}
else if (this._state === 23 /* BeforeCdata2 */) {
stateBeforeCdata2(this, c);
}
else if (this._state === 24 /* BeforeCdata3 */) {
stateBeforeCdata3(this, c);
}
else if (this._state === 29 /* AfterCdata1 */) {
this._stateAfterCdata1(c);
}
else if (this._state === 30 /* AfterCdata2 */) {
this._stateAfterCdata2(c);
}
else if (this._state === 25 /* BeforeCdata4 */) {
stateBeforeCdata4(this, c);
}
else if (this._state === 26 /* BeforeCdata5 */) {
stateBeforeCdata5(this, c);
}
else if (this._state === 27 /* BeforeCdata6 */) {
this._stateBeforeCdata6(c);
}
else if (this._state === 55 /* InHexEntity */) {
this._stateInHexEntity(c);
}
else if (this._state === 54 /* InNumericEntity */) {
this._stateInNumericEntity(c);
}
else if (this._state === 52 /* BeforeNumericEntity */) {
stateBeforeNumericEntity(this, c);
}
else {
this._cbs.onerror(Error("unknown _state"), this._state);
}
this._index++;
}
this._cleanup();
};
Tokenizer.prototype.pause = function () {
this._running = false;
};
Tokenizer.prototype.resume = function () {
this._running = true;
if (this._index < this._buffer.length) {
this._parse();
}
if (this._ended) {
this._finish();
}
};
Tokenizer.prototype.end = function (chunk) {
if (this._ended)
this._cbs.onerror(Error(".end() after done!"));
if (chunk)
this.write(chunk);
this._ended = true;
if (this._running)
this._finish();
};
Tokenizer.prototype._finish = function () {
//if there is remaining data, emit it in a reasonable way
if (this._sectionStart < this._index) {
this._handleTrailingData();
}
this._cbs.onend();
};
Tokenizer.prototype._handleTrailingData = function () {
var data = this._buffer.substr(this._sectionStart);
if (this._state === 28 /* InCdata */ ||
this._state === 29 /* AfterCdata1 */ ||
this._state === 30 /* AfterCdata2 */) {
this._cbs.oncdata(data);
}
else if (this._state === 19 /* InComment */ ||
this._state === 20 /* AfterComment1 */ ||
this._state === 21 /* AfterComment2 */) {
this._cbs.oncomment(data);
}
else if (this._state === 53 /* InNamedEntity */ && !this._xmlMode) {
this._parseLegacyEntity();
if (this._sectionStart < this._index) {
this._state = this._baseState;
this._handleTrailingData();
}
}
else if (this._state === 54 /* InNumericEntity */ && !this._xmlMode) {
this._decodeNumericEntity(2, 10);
if (this._sectionStart < this._index) {
this._state = this._baseState;
this._handleTrailingData();
}
}
else if (this._state === 55 /* InHexEntity */ && !this._xmlMode) {
this._decodeNumericEntity(3, 16);
if (this._sectionStart < this._index) {
this._state = this._baseState;
this._handleTrailingData();
}
}
else if (this._state !== 3 /* InTagName */ &&
this._state !== 8 /* BeforeAttributeName */ &&
this._state !== 11 /* BeforeAttributeValue */ &&
this._state !== 10 /* AfterAttributeName */ &&
this._state !== 9 /* InAttributeName */ &&
this._state !== 13 /* InAttributeValueSq */ &&
this._state !== 12 /* InAttributeValueDq */ &&
this._state !== 14 /* InAttributeValueNq */ &&
this._state !== 6 /* InClosingTagName */) {
this._cbs.ontext(data);
}
//else, ignore remaining data
//TODO add a way to remove current tag
};
Tokenizer.prototype.getAbsoluteIndex = function () {
return this._bufferOffset + this._index;
};
Tokenizer.prototype._getSection = function () {
return this._buffer.substring(this._sectionStart, this._index);
};
Tokenizer.prototype._emitToken = function (name) {
this._cbs[name](this._getSection());
this._sectionStart = -1;
};
Tokenizer.prototype._emitPartial = function (value) {
if (this._baseState !== 1 /* Text */) {
this._cbs.onattribdata(value); //TODO implement the new event
}
else {
this._cbs.ontext(value);
}
};
return Tokenizer;
}());
exports.default = Tokenizer;

17
node_modules/htmlparser2/lib/WritableStream.d.ts generated vendored Executable file
View File

@@ -0,0 +1,17 @@
/// <reference types="node" />
import { Parser, Handler, ParserOptions } from "./Parser";
import { Writable } from "stream";
import { StringDecoder } from "string_decoder";
/**
* WritableStream makes the `Parser` interface available as a NodeJS stream.
*
* @see Parser
*/
export declare class WritableStream extends Writable {
_parser: Parser;
_decoder: StringDecoder;
constructor(cbs: Partial<Handler>, options?: ParserOptions);
_write(chunk: string | Buffer, encoding: string, cb: () => void): void;
_final(cb: () => void): void;
}
//# sourceMappingURL=WritableStream.d.ts.map

1
node_modules/htmlparser2/lib/WritableStream.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"WritableStream.d.ts","sourceRoot":"","sources":["../src/WritableStream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAO/C;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,gBAAuB;gBAEnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;IAK1D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI;IAM/D,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI;CAIxB"}

48
node_modules/htmlparser2/lib/WritableStream.js generated vendored Executable file
View File

@@ -0,0 +1,48 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var Parser_1 = require("./Parser");
var stream_1 = require("stream");
var string_decoder_1 = require("string_decoder");
// Following the example in https://nodejs.org/api/stream.html#stream_decoding_buffers_in_a_writable_stream
function isBuffer(_chunk, encoding) {
return encoding === "buffer";
}
/**
* WritableStream makes the `Parser` interface available as a NodeJS stream.
*
* @see Parser
*/
var WritableStream = /** @class */ (function (_super) {
__extends(WritableStream, _super);
function WritableStream(cbs, options) {
var _this = _super.call(this, { decodeStrings: false }) || this;
_this._decoder = new string_decoder_1.StringDecoder();
_this._parser = new Parser_1.Parser(cbs, options);
return _this;
}
WritableStream.prototype._write = function (chunk, encoding, cb) {
if (isBuffer(chunk, encoding))
chunk = this._decoder.write(chunk);
this._parser.write(chunk);
cb();
};
WritableStream.prototype._final = function (cb) {
this._parser.end(this._decoder.end());
cb();
};
return WritableStream;
}(stream_1.Writable));
exports.WritableStream = WritableStream;

50
node_modules/htmlparser2/lib/index.d.ts generated vendored Executable file
View File

@@ -0,0 +1,50 @@
import { Parser, ParserOptions } from "./Parser";
export { Parser, ParserOptions };
import { DomHandler, DomHandlerOptions, Node, Element } from "domhandler";
export { DomHandler, DomHandlerOptions };
declare type Options = ParserOptions & DomHandlerOptions;
/**
* Parses data, returns the resulting DOM.
*
* @param data The data that should be parsed.
* @param options Optional options for the parser and DOM builder.
*/
export declare function parseDOM(data: string, options?: Options): Node[];
/**
* Creates a parser instance, with an attached DOM handler.
*
* @param cb A callback that will be called once parsing has been completed.
* @param options Optional options for the parser and DOM builder.
* @param elementCb An optional callback that will be called every time a tag has been completed inside of the DOM.
*/
export declare function createDomStream(cb: (error: Error | null, dom: Node[]) => void, options?: Options, elementCb?: (element: Element) => void): Parser;
export { default as Tokenizer } from "./Tokenizer";
import * as ElementType from "domelementtype";
export { ElementType };
/**
* List of all events that the parser emits.
*
* Format: eventname: number of arguments.
*/
export declare const EVENTS: {
attribute: number;
cdatastart: number;
cdataend: number;
text: number;
processinginstruction: number;
comment: number;
commentend: number;
closetag: number;
opentag: number;
opentagname: number;
error: number;
end: number;
};
export * from "./FeedHandler";
export * from "./WritableStream";
export * from "./CollectingHandler";
import * as DomUtils from "domutils";
export { DomUtils };
export { DomHandler as DefaultHandler };
export { FeedHandler as RssHandler } from "./FeedHandler";
//# sourceMappingURL=index.d.ts.map

1
node_modules/htmlparser2/lib/index.d.ts.map generated vendored Executable file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAEzC,aAAK,OAAO,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAIjD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,CAIhE;AACD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAC9C,OAAO,CAAC,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,UAIzC;AAED,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAalB,CAAC;AAOF,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAEpC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,CAAC;AAGpB,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,CAAC;AACxC,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC"}

76
node_modules/htmlparser2/lib/index.js generated vendored Executable file
View File

@@ -0,0 +1,76 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var Parser_1 = require("./Parser");
exports.Parser = Parser_1.Parser;
var domhandler_1 = require("domhandler");
exports.DomHandler = domhandler_1.DomHandler;
exports.DefaultHandler = domhandler_1.DomHandler;
// Helper methods
/**
* Parses data, returns the resulting DOM.
*
* @param data The data that should be parsed.
* @param options Optional options for the parser and DOM builder.
*/
function parseDOM(data, options) {
var handler = new domhandler_1.DomHandler(void 0, options);
new Parser_1.Parser(handler, options).end(data);
return handler.dom;
}
exports.parseDOM = parseDOM;
/**
* Creates a parser instance, with an attached DOM handler.
*
* @param cb A callback that will be called once parsing has been completed.
* @param options Optional options for the parser and DOM builder.
* @param elementCb An optional callback that will be called every time a tag has been completed inside of the DOM.
*/
function createDomStream(cb, options, elementCb) {
var handler = new domhandler_1.DomHandler(cb, options, elementCb);
return new Parser_1.Parser(handler, options);
}
exports.createDomStream = createDomStream;
var Tokenizer_1 = require("./Tokenizer");
exports.Tokenizer = Tokenizer_1.default;
var ElementType = __importStar(require("domelementtype"));
exports.ElementType = ElementType;
/**
* List of all events that the parser emits.
*
* Format: eventname: number of arguments.
*/
exports.EVENTS = {
attribute: 2,
cdatastart: 0,
cdataend: 0,
text: 1,
processinginstruction: 2,
comment: 1,
commentend: 0,
closetag: 1,
opentag: 2,
opentagname: 1,
error: 1,
end: 0
};
/*
All of the following exports exist for backwards-compatibility.
They should probably be removed eventually.
*/
__export(require("./FeedHandler"));
__export(require("./WritableStream"));
__export(require("./CollectingHandler"));
var DomUtils = __importStar(require("domutils"));
exports.DomUtils = DomUtils;
var FeedHandler_1 = require("./FeedHandler");
exports.RssHandler = FeedHandler_1.FeedHandler;