diff options
author | RaindropsSys <contact@minteck.org> | 2023-04-06 22:18:28 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-04-06 22:18:28 +0200 |
commit | 83354b2b88218090988dd6e526b0a2505b57e0f1 (patch) | |
tree | e3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/htmlparser2/lib/esm | |
parent | 47b8f2299a483024c4a6a8876af825a010954caa (diff) | |
download | pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2 pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip |
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/htmlparser2/lib/esm')
17 files changed, 1918 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts new file mode 100644 index 0000000..ce46d58 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts @@ -0,0 +1,190 @@ +import Tokenizer, { Callbacks, QuoteType } from "./Tokenizer.js"; +export interface ParserOptions { + /** + * Indicates whether special tags (`<script>`, `<style>`, and `<title>`) 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; + /** + * Decode entities within the document. + * + * @default true + */ + decodeEntities?: boolean; + /** + * If set to true, all tags will be lowercased. + * + * @default !xmlMode + */ + lowerCaseTags?: boolean; + /** + * If set to `true`, all attribute names will be lowercased. This has noticeable impact on speed. + * + * @default !xmlMode + */ + 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. + * + * @default xmlMode + */ + 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. + * + * @default xmlMode + */ + 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, isImplied: boolean): void; + onopentagname(name: string): void; + /** + * + * @param name Name of the attribute + * @param value Value of the attribute. + * @param quote Quotes used around the attribute. `null` if the attribute has no quotes around the value, `undefined` if the attribute has no value. + */ + onattribute(name: string, value: string, quote?: string | undefined | null): void; + onopentag(name: string, attribs: { + [s: string]: string; + }, isImplied: boolean): 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 implements Callbacks { + private readonly options; + /** The start index of the last event. */ + startIndex: number; + /** The end index of the last event. */ + endIndex: number; + /** + * Store the start index of the current open tag, + * so we can update the start index for attributes. + */ + private openTagStart; + private tagname; + private attribname; + private attribvalue; + private attribs; + private readonly stack; + private readonly foreignContext; + private readonly cbs; + private readonly lowerCaseTagNames; + private readonly lowerCaseAttributeNames; + private readonly tokenizer; + private readonly buffers; + private bufferOffset; + /** The index of the last written buffer. Used when resuming after a `pause()`. */ + private writeIndex; + /** Indicates whether the parser has finished running / `.end` has been called. */ + private ended; + constructor(cbs?: Partial<Handler> | null, options?: ParserOptions); + /** @internal */ + ontext(start: number, endIndex: number): void; + /** @internal */ + ontextentity(cp: number): void; + protected isVoidElement(name: string): boolean; + /** @internal */ + onopentagname(start: number, endIndex: number): void; + private emitOpenTag; + private endOpenTag; + /** @internal */ + onopentagend(endIndex: number): void; + /** @internal */ + onclosetag(start: number, endIndex: number): void; + /** @internal */ + onselfclosingtag(endIndex: number): void; + private closeCurrentTag; + /** @internal */ + onattribname(start: number, endIndex: number): void; + /** @internal */ + onattribdata(start: number, endIndex: number): void; + /** @internal */ + onattribentity(cp: number): void; + /** @internal */ + onattribend(quote: QuoteType, endIndex: number): void; + private getInstructionName; + /** @internal */ + ondeclaration(start: number, endIndex: number): void; + /** @internal */ + onprocessinginstruction(start: number, endIndex: number): void; + /** @internal */ + oncomment(start: number, endIndex: number, offset: number): void; + /** @internal */ + oncdata(start: number, endIndex: number, offset: number): void; + /** @internal */ + onend(): void; + /** + * Resets the parser to a blank state, ready to parse a new HTML document + */ + reset(): void; + /** + * Resets the parser, then parses a complete document and + * pushes it to the handler. + * + * @param data Document to parse. + */ + parseComplete(data: string): void; + private getSlice; + private shiftBuffer; + /** + * Parses a chunk of data and calls the corresponding callbacks. + * + * @param chunk Chunk to parse. + */ + write(chunk: string): void; + /** + * Parses the end of the buffer and clears the stack, calls onend. + * + * @param chunk Optional final chunk to parse. + */ + end(chunk?: string): void; + /** + * Pauses parsing. The parser won't emit events until `resume` is called. + */ + pause(): void; + /** + * Resumes parsing after `pause` was called. + */ + resume(): void; + /** + * Alias of `write`, for backwards compatibility. + * + * @param chunk Chunk to parse. + * @deprecated + */ + parseChunk(chunk: string): void; + /** + * Alias of `end`, for backwards compatibility. + * + * @param chunk Optional final chunk to parse. + * @deprecated + */ + done(chunk?: string): void; +} +//# sourceMappingURL=Parser.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts.map new file mode 100644 index 0000000..9f9aa66 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Parser.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["Parser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js new file mode 100644 index 0000000..68cc0ed --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js @@ -0,0 +1,489 @@ +import Tokenizer, { QuoteType } from "./Tokenizer.js"; +import { fromCodePoint } from "entities/lib/decode.js"; +const formTags = new Set([ + "input", + "option", + "optgroup", + "select", + "button", + "datalist", + "textarea", +]); +const pTag = new Set(["p"]); +const tableSectionTags = new Set(["thead", "tbody"]); +const ddtTags = new Set(["dd", "dt"]); +const rtpTags = new Set(["rt", "rp"]); +const openImpliesClose = new Map([ + ["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", ddtTags], + ["dt", ddtTags], + ["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", rtpTags], + ["rp", rtpTags], + ["tbody", tableSectionTags], + ["tfoot", tableSectionTags], +]); +const voidElements = new Set([ + "area", + "base", + "basefont", + "br", + "col", + "command", + "embed", + "frame", + "hr", + "img", + "input", + "isindex", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", +]); +const foreignContextElements = new Set(["math", "svg"]); +const htmlIntegrationElements = new Set([ + "mi", + "mo", + "mn", + "ms", + "mtext", + "annotation-xml", + "foreignobject", + "desc", + "title", +]); +const reNameEnd = /\s|\//; +export class Parser { + constructor(cbs, options = {}) { + var _a, _b, _c, _d, _e; + this.options = options; + /** The start index of the last event. */ + this.startIndex = 0; + /** The end index of the last event. */ + this.endIndex = 0; + /** + * Store the start index of the current open tag, + * so we can update the start index for attributes. + */ + this.openTagStart = 0; + this.tagname = ""; + this.attribname = ""; + this.attribvalue = ""; + this.attribs = null; + this.stack = []; + this.foreignContext = []; + this.buffers = []; + this.bufferOffset = 0; + /** The index of the last written buffer. Used when resuming after a `pause()`. */ + this.writeIndex = 0; + /** Indicates whether the parser has finished running / `.end` has been called. */ + this.ended = false; + this.cbs = cbs !== null && cbs !== void 0 ? cbs : {}; + this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode; + this.lowerCaseAttributeNames = + (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode; + this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer)(this.options, this); + (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 ? void 0 : _e.call(_d, this); + } + // Tokenizer event handlers + /** @internal */ + ontext(start, endIndex) { + var _a, _b; + const data = this.getSlice(start, endIndex); + this.endIndex = endIndex - 1; + (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data); + this.startIndex = endIndex; + } + /** @internal */ + ontextentity(cp) { + var _a, _b; + /* + * Entities can be emitted on the character, or directly after. + * We use the section start here to get accurate indices. + */ + const index = this.tokenizer.getSectionStart(); + this.endIndex = index - 1; + (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, fromCodePoint(cp)); + this.startIndex = index; + } + isVoidElement(name) { + return !this.options.xmlMode && voidElements.has(name); + } + /** @internal */ + onopentagname(start, endIndex) { + this.endIndex = endIndex; + let name = this.getSlice(start, endIndex); + if (this.lowerCaseTagNames) { + name = name.toLowerCase(); + } + this.emitOpenTag(name); + } + emitOpenTag(name) { + var _a, _b, _c, _d; + this.openTagStart = this.startIndex; + this.tagname = name; + const impliesClose = !this.options.xmlMode && openImpliesClose.get(name); + if (impliesClose) { + while (this.stack.length > 0 && + impliesClose.has(this.stack[this.stack.length - 1])) { + const element = this.stack.pop(); + (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true); + } + } + if (!this.isVoidElement(name)) { + this.stack.push(name); + if (foreignContextElements.has(name)) { + this.foreignContext.push(true); + } + else if (htmlIntegrationElements.has(name)) { + this.foreignContext.push(false); + } + } + (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name); + if (this.cbs.onopentag) + this.attribs = {}; + } + endOpenTag(isImplied) { + var _a, _b; + this.startIndex = this.openTagStart; + if (this.attribs) { + (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied); + this.attribs = null; + } + if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) { + this.cbs.onclosetag(this.tagname, true); + } + this.tagname = ""; + } + /** @internal */ + onopentagend(endIndex) { + this.endIndex = endIndex; + this.endOpenTag(false); + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + onclosetag(start, endIndex) { + var _a, _b, _c, _d, _e, _f; + this.endIndex = endIndex; + let name = this.getSlice(start, endIndex); + if (this.lowerCaseTagNames) { + name = name.toLowerCase(); + } + if (foreignContextElements.has(name) || + htmlIntegrationElements.has(name)) { + this.foreignContext.pop(); + } + if (!this.isVoidElement(name)) { + const pos = this.stack.lastIndexOf(name); + if (pos !== -1) { + if (this.cbs.onclosetag) { + let count = this.stack.length - pos; + while (count--) { + // We know the stack has sufficient elements. + this.cbs.onclosetag(this.stack.pop(), count !== 0); + } + } + else + this.stack.length = pos; + } + else if (!this.options.xmlMode && name === "p") { + // Implicit open before close + this.emitOpenTag("p"); + this.closeCurrentTag(true); + } + } + else if (!this.options.xmlMode && name === "br") { + // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed. + (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 ? void 0 : _b.call(_a, "br"); + (_d = (_c = this.cbs).onopentag) === null || _d === void 0 ? void 0 : _d.call(_c, "br", {}, true); + (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 ? void 0 : _f.call(_e, "br", false); + } + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + onselfclosingtag(endIndex) { + this.endIndex = endIndex; + if (this.options.xmlMode || + this.options.recognizeSelfClosing || + this.foreignContext[this.foreignContext.length - 1]) { + this.closeCurrentTag(false); + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + else { + // Ignore the fact that the tag is self-closing. + this.onopentagend(endIndex); + } + } + closeCurrentTag(isOpenImplied) { + var _a, _b; + const name = this.tagname; + this.endOpenTag(isOpenImplied); + // Self-closing tags will be on the top of the stack + if (this.stack[this.stack.length - 1] === name) { + // If the opening tag isn't implied, the closing tag has to be implied. + (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied); + this.stack.pop(); + } + } + /** @internal */ + onattribname(start, endIndex) { + this.startIndex = start; + const name = this.getSlice(start, endIndex); + this.attribname = this.lowerCaseAttributeNames + ? name.toLowerCase() + : name; + } + /** @internal */ + onattribdata(start, endIndex) { + this.attribvalue += this.getSlice(start, endIndex); + } + /** @internal */ + onattribentity(cp) { + this.attribvalue += fromCodePoint(cp); + } + /** @internal */ + onattribend(quote, endIndex) { + var _a, _b; + this.endIndex = endIndex; + (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === QuoteType.Double + ? '"' + : quote === QuoteType.Single + ? "'" + : quote === QuoteType.NoValue + ? undefined + : null); + if (this.attribs && + !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) { + this.attribs[this.attribname] = this.attribvalue; + } + this.attribvalue = ""; + } + getInstructionName(value) { + const index = value.search(reNameEnd); + let name = index < 0 ? value : value.substr(0, index); + if (this.lowerCaseTagNames) { + name = name.toLowerCase(); + } + return name; + } + /** @internal */ + ondeclaration(start, endIndex) { + this.endIndex = endIndex; + const value = this.getSlice(start, endIndex); + if (this.cbs.onprocessinginstruction) { + const name = this.getInstructionName(value); + this.cbs.onprocessinginstruction(`!${name}`, `!${value}`); + } + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + onprocessinginstruction(start, endIndex) { + this.endIndex = endIndex; + const value = this.getSlice(start, endIndex); + if (this.cbs.onprocessinginstruction) { + const name = this.getInstructionName(value); + this.cbs.onprocessinginstruction(`?${name}`, `?${value}`); + } + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + oncomment(start, endIndex, offset) { + var _a, _b, _c, _d; + this.endIndex = endIndex; + (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset)); + (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c); + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + oncdata(start, endIndex, offset) { + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; + this.endIndex = endIndex; + const value = this.getSlice(start, endIndex - offset); + if (this.options.xmlMode || this.options.recognizeCDATA) { + (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a); + (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value); + (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e); + } + else { + (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, `[CDATA[${value}]]`); + (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j); + } + // Set `startIndex` for next node + this.startIndex = endIndex + 1; + } + /** @internal */ + onend() { + var _a, _b; + if (this.cbs.onclosetag) { + // Set the end index for all remaining tags + this.endIndex = this.startIndex; + for (let index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], true)) + ; + } + (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a); + } + /** + * Resets the parser to a blank state, ready to parse a new HTML document + */ + reset() { + var _a, _b, _c, _d; + (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a); + this.tokenizer.reset(); + this.tagname = ""; + this.attribname = ""; + this.attribs = null; + this.stack.length = 0; + this.startIndex = 0; + this.endIndex = 0; + (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this); + this.buffers.length = 0; + this.bufferOffset = 0; + this.writeIndex = 0; + this.ended = false; + } + /** + * Resets the parser, then parses a complete document and + * pushes it to the handler. + * + * @param data Document to parse. + */ + parseComplete(data) { + this.reset(); + this.end(data); + } + getSlice(start, end) { + while (start - this.bufferOffset >= this.buffers[0].length) { + this.shiftBuffer(); + } + let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset); + while (end - this.bufferOffset > this.buffers[0].length) { + this.shiftBuffer(); + slice += this.buffers[0].slice(0, end - this.bufferOffset); + } + return slice; + } + shiftBuffer() { + this.bufferOffset += this.buffers[0].length; + this.writeIndex--; + this.buffers.shift(); + } + /** + * Parses a chunk of data and calls the corresponding callbacks. + * + * @param chunk Chunk to parse. + */ + write(chunk) { + var _a, _b; + if (this.ended) { + (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(".write() after done!")); + return; + } + this.buffers.push(chunk); + if (this.tokenizer.running) { + this.tokenizer.write(chunk); + this.writeIndex++; + } + } + /** + * Parses the end of the buffer and clears the stack, calls onend. + * + * @param chunk Optional final chunk to parse. + */ + end(chunk) { + var _a, _b; + if (this.ended) { + (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(".end() after done!")); + return; + } + if (chunk) + this.write(chunk); + this.ended = true; + this.tokenizer.end(); + } + /** + * Pauses parsing. The parser won't emit events until `resume` is called. + */ + pause() { + this.tokenizer.pause(); + } + /** + * Resumes parsing after `pause` was called. + */ + resume() { + this.tokenizer.resume(); + while (this.tokenizer.running && + this.writeIndex < this.buffers.length) { + this.tokenizer.write(this.buffers[this.writeIndex++]); + } + if (this.ended) + this.tokenizer.end(); + } + /** + * Alias of `write`, for backwards compatibility. + * + * @param chunk Chunk to parse. + * @deprecated + */ + parseChunk(chunk) { + this.write(chunk); + } + /** + * Alias of `end`, for backwards compatibility. + * + * @param chunk Optional final chunk to parse. + * @deprecated + */ + done(chunk) { + this.end(chunk); + } +} +//# sourceMappingURL=Parser.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js.map new file mode 100644 index 0000000..dfe9f34 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Parser.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Parser.js","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["Parser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts new file mode 100644 index 0000000..213adf2 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts @@ -0,0 +1,143 @@ +export declare enum QuoteType { + NoValue = 0, + Unquoted = 1, + Single = 2, + Double = 3 +} +export interface Callbacks { + onattribdata(start: number, endIndex: number): void; + onattribentity(codepoint: number): void; + onattribend(quote: QuoteType, endIndex: number): void; + onattribname(start: number, endIndex: number): void; + oncdata(start: number, endIndex: number, endOffset: number): void; + onclosetag(start: number, endIndex: number): void; + oncomment(start: number, endIndex: number, endOffset: number): void; + ondeclaration(start: number, endIndex: number): void; + onend(): void; + onopentagend(endIndex: number): void; + onopentagname(start: number, endIndex: number): void; + onprocessinginstruction(start: number, endIndex: number): void; + onselfclosingtag(endIndex: number): void; + ontext(start: number, endIndex: number): void; + ontextentity(codepoint: number): void; +} +export default class Tokenizer { + private readonly cbs; + /** The current state the tokenizer is in. */ + private state; + /** The read buffer. */ + private buffer; + /** The beginning of the section that is currently being read. */ + private sectionStart; + /** The index within the buffer that we are currently looking at. */ + private index; + /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */ + private baseState; + /** For special parsing behavior inside of script and style tags. */ + private isSpecial; + /** Indicates whether the tokenizer has been paused. */ + running: boolean; + /** The offset of the current buffer. */ + private offset; + private readonly xmlMode; + private readonly decodeEntities; + private readonly entityTrie; + constructor({ xmlMode, decodeEntities, }: { + xmlMode?: boolean; + decodeEntities?: boolean; + }, cbs: Callbacks); + reset(): void; + write(chunk: string): void; + end(): void; + pause(): void; + resume(): void; + /** + * The current index within all of the written data. + */ + getIndex(): number; + /** + * The start of the current section. + */ + getSectionStart(): number; + private stateText; + private currentSequence; + private sequenceIndex; + private stateSpecialStartSequence; + /** Look for an end tag. For <title> tags, also decode entities. */ + private stateInSpecialTag; + private stateCDATASequence; + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + private fastForwardTo; + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + private stateInCommentLike; + /** + * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name. + * + * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar). + * We allow anything that wouldn't end the tag. + */ + private isTagStartChar; + private startSpecial; + private stateBeforeTagName; + private stateInTagName; + private stateBeforeClosingTagName; + private stateInClosingTagName; + private stateAfterClosingTagName; + private stateBeforeAttributeName; + private stateInSelfClosingTag; + private stateInAttributeName; + private stateAfterAttributeName; + private stateBeforeAttributeValue; + private handleInAttributeValue; + private stateInAttributeValueDoubleQuotes; + private stateInAttributeValueSingleQuotes; + private stateInAttributeValueNoQuotes; + private stateBeforeDeclaration; + private stateInDeclaration; + private stateInProcessingInstruction; + private stateBeforeComment; + private stateInSpecialComment; + private stateBeforeSpecialS; + private trieIndex; + private trieCurrent; + /** For named entities, the index of the value. For numeric entities, the code point. */ + private entityResult; + private entityExcess; + private stateBeforeEntity; + private stateInNamedEntity; + private emitNamedEntity; + private stateBeforeNumericEntity; + private emitNumericEntity; + private stateInNumericEntity; + private stateInHexEntity; + private allowLegacyEntity; + /** + * Remove data that has already been consumed from the buffer. + */ + private cleanup; + private shouldContinue; + /** + * 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. + */ + private parse; + private finish; + /** Handle any trailing data. */ + private handleTrailingData; + private emitPartial; + private emitCodePoint; +} +//# sourceMappingURL=Tokenizer.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts.map new file mode 100644 index 0000000..b5c06fe --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"Tokenizer.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["Tokenizer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js new file mode 100644 index 0000000..a97456b --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js @@ -0,0 +1,932 @@ +import { htmlDecodeTree, xmlDecodeTree, BinTrieFlags, determineBranch, replaceCodePoint, } from "entities/lib/decode.js"; +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["Tab"] = 9] = "Tab"; + CharCodes[CharCodes["NewLine"] = 10] = "NewLine"; + CharCodes[CharCodes["FormFeed"] = 12] = "FormFeed"; + CharCodes[CharCodes["CarriageReturn"] = 13] = "CarriageReturn"; + CharCodes[CharCodes["Space"] = 32] = "Space"; + CharCodes[CharCodes["ExclamationMark"] = 33] = "ExclamationMark"; + CharCodes[CharCodes["Number"] = 35] = "Number"; + CharCodes[CharCodes["Amp"] = 38] = "Amp"; + CharCodes[CharCodes["SingleQuote"] = 39] = "SingleQuote"; + CharCodes[CharCodes["DoubleQuote"] = 34] = "DoubleQuote"; + CharCodes[CharCodes["Dash"] = 45] = "Dash"; + CharCodes[CharCodes["Slash"] = 47] = "Slash"; + CharCodes[CharCodes["Zero"] = 48] = "Zero"; + CharCodes[CharCodes["Nine"] = 57] = "Nine"; + CharCodes[CharCodes["Semi"] = 59] = "Semi"; + CharCodes[CharCodes["Lt"] = 60] = "Lt"; + CharCodes[CharCodes["Eq"] = 61] = "Eq"; + CharCodes[CharCodes["Gt"] = 62] = "Gt"; + CharCodes[CharCodes["Questionmark"] = 63] = "Questionmark"; + CharCodes[CharCodes["UpperA"] = 65] = "UpperA"; + CharCodes[CharCodes["LowerA"] = 97] = "LowerA"; + CharCodes[CharCodes["UpperF"] = 70] = "UpperF"; + CharCodes[CharCodes["LowerF"] = 102] = "LowerF"; + CharCodes[CharCodes["UpperZ"] = 90] = "UpperZ"; + CharCodes[CharCodes["LowerZ"] = 122] = "LowerZ"; + CharCodes[CharCodes["LowerX"] = 120] = "LowerX"; + CharCodes[CharCodes["OpeningSquareBracket"] = 91] = "OpeningSquareBracket"; +})(CharCodes || (CharCodes = {})); +/** All the states the tokenizer can be in. */ +var State; +(function (State) { + State[State["Text"] = 1] = "Text"; + State[State["BeforeTagName"] = 2] = "BeforeTagName"; + State[State["InTagName"] = 3] = "InTagName"; + State[State["InSelfClosingTag"] = 4] = "InSelfClosingTag"; + State[State["BeforeClosingTagName"] = 5] = "BeforeClosingTagName"; + State[State["InClosingTagName"] = 6] = "InClosingTagName"; + State[State["AfterClosingTagName"] = 7] = "AfterClosingTagName"; + // Attributes + State[State["BeforeAttributeName"] = 8] = "BeforeAttributeName"; + State[State["InAttributeName"] = 9] = "InAttributeName"; + State[State["AfterAttributeName"] = 10] = "AfterAttributeName"; + State[State["BeforeAttributeValue"] = 11] = "BeforeAttributeValue"; + State[State["InAttributeValueDq"] = 12] = "InAttributeValueDq"; + State[State["InAttributeValueSq"] = 13] = "InAttributeValueSq"; + State[State["InAttributeValueNq"] = 14] = "InAttributeValueNq"; + // Declarations + State[State["BeforeDeclaration"] = 15] = "BeforeDeclaration"; + State[State["InDeclaration"] = 16] = "InDeclaration"; + // Processing instructions + State[State["InProcessingInstruction"] = 17] = "InProcessingInstruction"; + // Comments & CDATA + State[State["BeforeComment"] = 18] = "BeforeComment"; + State[State["CDATASequence"] = 19] = "CDATASequence"; + State[State["InSpecialComment"] = 20] = "InSpecialComment"; + State[State["InCommentLike"] = 21] = "InCommentLike"; + // Special tags + State[State["BeforeSpecialS"] = 22] = "BeforeSpecialS"; + State[State["SpecialStartSequence"] = 23] = "SpecialStartSequence"; + State[State["InSpecialTag"] = 24] = "InSpecialTag"; + State[State["BeforeEntity"] = 25] = "BeforeEntity"; + State[State["BeforeNumericEntity"] = 26] = "BeforeNumericEntity"; + State[State["InNamedEntity"] = 27] = "InNamedEntity"; + State[State["InNumericEntity"] = 28] = "InNumericEntity"; + State[State["InHexEntity"] = 29] = "InHexEntity"; +})(State || (State = {})); +function isWhitespace(c) { + return (c === CharCodes.Space || + c === CharCodes.NewLine || + c === CharCodes.Tab || + c === CharCodes.FormFeed || + c === CharCodes.CarriageReturn); +} +function isEndOfTagSection(c) { + return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c); +} +function isNumber(c) { + return c >= CharCodes.Zero && c <= CharCodes.Nine; +} +function isASCIIAlpha(c) { + return ((c >= CharCodes.LowerA && c <= CharCodes.LowerZ) || + (c >= CharCodes.UpperA && c <= CharCodes.UpperZ)); +} +function isHexDigit(c) { + return ((c >= CharCodes.UpperA && c <= CharCodes.UpperF) || + (c >= CharCodes.LowerA && c <= CharCodes.LowerF)); +} +export var QuoteType; +(function (QuoteType) { + QuoteType[QuoteType["NoValue"] = 0] = "NoValue"; + QuoteType[QuoteType["Unquoted"] = 1] = "Unquoted"; + QuoteType[QuoteType["Single"] = 2] = "Single"; + QuoteType[QuoteType["Double"] = 3] = "Double"; +})(QuoteType || (QuoteType = {})); +/** + * Sequences used to match longer strings. + * + * We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End + * sequences with an increased offset. + */ +const Sequences = { + Cdata: new Uint8Array([0x43, 0x44, 0x41, 0x54, 0x41, 0x5b]), + CdataEnd: new Uint8Array([0x5d, 0x5d, 0x3e]), + CommentEnd: new Uint8Array([0x2d, 0x2d, 0x3e]), + ScriptEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74]), + StyleEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]), + TitleEnd: new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]), // `</title` +}; +export default class Tokenizer { + constructor({ xmlMode = false, decodeEntities = true, }, cbs) { + this.cbs = cbs; + /** The current state the tokenizer is in. */ + this.state = State.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; + /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */ + this.baseState = State.Text; + /** For special parsing behavior inside of script and style tags. */ + this.isSpecial = false; + /** Indicates whether the tokenizer has been paused. */ + this.running = true; + /** The offset of the current buffer. */ + this.offset = 0; + this.currentSequence = undefined; + this.sequenceIndex = 0; + this.trieIndex = 0; + this.trieCurrent = 0; + /** For named entities, the index of the value. For numeric entities, the code point. */ + this.entityResult = 0; + this.entityExcess = 0; + this.xmlMode = xmlMode; + this.decodeEntities = decodeEntities; + this.entityTrie = xmlMode ? xmlDecodeTree : htmlDecodeTree; + } + reset() { + this.state = State.Text; + this.buffer = ""; + this.sectionStart = 0; + this.index = 0; + this.baseState = State.Text; + this.currentSequence = undefined; + this.running = true; + this.offset = 0; + } + write(chunk) { + this.offset += this.buffer.length; + this.buffer = chunk; + this.parse(); + } + end() { + if (this.running) + this.finish(); + } + pause() { + this.running = false; + } + resume() { + this.running = true; + if (this.index < this.buffer.length + this.offset) { + this.parse(); + } + } + /** + * The current index within all of the written data. + */ + getIndex() { + return this.index; + } + /** + * The start of the current section. + */ + getSectionStart() { + return this.sectionStart; + } + stateText(c) { + if (c === CharCodes.Lt || + (!this.decodeEntities && this.fastForwardTo(CharCodes.Lt))) { + if (this.index > this.sectionStart) { + this.cbs.ontext(this.sectionStart, this.index); + } + this.state = State.BeforeTagName; + this.sectionStart = this.index; + } + else if (this.decodeEntities && c === CharCodes.Amp) { + this.state = State.BeforeEntity; + } + } + stateSpecialStartSequence(c) { + const isEnd = this.sequenceIndex === this.currentSequence.length; + const isMatch = isEnd + ? // If we are at the end of the sequence, make sure the tag name has ended + isEndOfTagSection(c) + : // Otherwise, do a case-insensitive comparison + (c | 0x20) === this.currentSequence[this.sequenceIndex]; + if (!isMatch) { + this.isSpecial = false; + } + else if (!isEnd) { + this.sequenceIndex++; + return; + } + this.sequenceIndex = 0; + this.state = State.InTagName; + this.stateInTagName(c); + } + /** Look for an end tag. For <title> tags, also decode entities. */ + stateInSpecialTag(c) { + if (this.sequenceIndex === this.currentSequence.length) { + if (c === CharCodes.Gt || isWhitespace(c)) { + const endOfText = this.index - this.currentSequence.length; + if (this.sectionStart < endOfText) { + // Spoof the index so that reported locations match up. + const actualIndex = this.index; + this.index = endOfText; + this.cbs.ontext(this.sectionStart, endOfText); + this.index = actualIndex; + } + this.isSpecial = false; + this.sectionStart = endOfText + 2; // Skip over the `</` + this.stateInClosingTagName(c); + return; // We are done; skip the rest of the function. + } + this.sequenceIndex = 0; + } + if ((c | 0x20) === this.currentSequence[this.sequenceIndex]) { + this.sequenceIndex += 1; + } + else if (this.sequenceIndex === 0) { + if (this.currentSequence === Sequences.TitleEnd) { + // We have to parse entities in <title> tags. + if (this.decodeEntities && c === CharCodes.Amp) { + this.state = State.BeforeEntity; + } + } + else if (this.fastForwardTo(CharCodes.Lt)) { + // Outside of <title> tags, we can fast-forward. + this.sequenceIndex = 1; + } + } + else { + // If we see a `<`, set the sequence index to 1; useful for eg. `<</script>`. + this.sequenceIndex = Number(c === CharCodes.Lt); + } + } + stateCDATASequence(c) { + if (c === Sequences.Cdata[this.sequenceIndex]) { + if (++this.sequenceIndex === Sequences.Cdata.length) { + this.state = State.InCommentLike; + this.currentSequence = Sequences.CdataEnd; + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + } + } + else { + this.sequenceIndex = 0; + this.state = State.InDeclaration; + this.stateInDeclaration(c); // Reconsume the character + } + } + /** + * When we wait for one specific character, we can speed things up + * by skipping through the buffer until we find it. + * + * @returns Whether the character was found. + */ + fastForwardTo(c) { + while (++this.index < this.buffer.length + this.offset) { + if (this.buffer.charCodeAt(this.index - this.offset) === c) { + return true; + } + } + /* + * We increment the index at the end of the `parse` loop, + * so set it to `buffer.length - 1` here. + * + * TODO: Refactor `parse` to increment index before calling states. + */ + this.index = this.buffer.length + this.offset - 1; + return false; + } + /** + * Comments and CDATA end with `-->` and `]]>`. + * + * Their common qualities are: + * - Their end sequences have a distinct character they start with. + * - That character is then repeated, so we have to check multiple repeats. + * - All characters but the start character of the sequence can be skipped. + */ + stateInCommentLike(c) { + if (c === this.currentSequence[this.sequenceIndex]) { + if (++this.sequenceIndex === this.currentSequence.length) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, this.index, 2); + } + else { + this.cbs.oncomment(this.sectionStart, this.index, 2); + } + this.sequenceIndex = 0; + this.sectionStart = this.index + 1; + this.state = State.Text; + } + } + else if (this.sequenceIndex === 0) { + // Fast-forward to the first character of the sequence + if (this.fastForwardTo(this.currentSequence[0])) { + this.sequenceIndex = 1; + } + } + else if (c !== this.currentSequence[this.sequenceIndex - 1]) { + // Allow long sequences, eg. --->, ]]]> + this.sequenceIndex = 0; + } + } + /** + * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name. + * + * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar). + * We allow anything that wouldn't end the tag. + */ + isTagStartChar(c) { + return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c); + } + startSpecial(sequence, offset) { + this.isSpecial = true; + this.currentSequence = sequence; + this.sequenceIndex = offset; + this.state = State.SpecialStartSequence; + } + stateBeforeTagName(c) { + if (c === CharCodes.ExclamationMark) { + this.state = State.BeforeDeclaration; + this.sectionStart = this.index + 1; + } + else if (c === CharCodes.Questionmark) { + this.state = State.InProcessingInstruction; + this.sectionStart = this.index + 1; + } + else if (this.isTagStartChar(c)) { + const lower = c | 0x20; + this.sectionStart = this.index; + if (!this.xmlMode && lower === Sequences.TitleEnd[2]) { + this.startSpecial(Sequences.TitleEnd, 3); + } + else { + this.state = + !this.xmlMode && lower === Sequences.ScriptEnd[2] + ? State.BeforeSpecialS + : State.InTagName; + } + } + else if (c === CharCodes.Slash) { + this.state = State.BeforeClosingTagName; + } + else { + this.state = State.Text; + this.stateText(c); + } + } + stateInTagName(c) { + if (isEndOfTagSection(c)) { + this.cbs.onopentagname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = State.BeforeAttributeName; + this.stateBeforeAttributeName(c); + } + } + stateBeforeClosingTagName(c) { + if (isWhitespace(c)) { + // Ignore + } + else if (c === CharCodes.Gt) { + this.state = State.Text; + } + else { + this.state = this.isTagStartChar(c) + ? State.InClosingTagName + : State.InSpecialComment; + this.sectionStart = this.index; + } + } + stateInClosingTagName(c) { + if (c === CharCodes.Gt || isWhitespace(c)) { + this.cbs.onclosetag(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = State.AfterClosingTagName; + this.stateAfterClosingTagName(c); + } + } + stateAfterClosingTagName(c) { + // Skip everything until ">" + if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) { + this.state = State.Text; + this.baseState = State.Text; + this.sectionStart = this.index + 1; + } + } + stateBeforeAttributeName(c) { + if (c === CharCodes.Gt) { + this.cbs.onopentagend(this.index); + if (this.isSpecial) { + this.state = State.InSpecialTag; + this.sequenceIndex = 0; + } + else { + this.state = State.Text; + } + this.baseState = this.state; + this.sectionStart = this.index + 1; + } + else if (c === CharCodes.Slash) { + this.state = State.InSelfClosingTag; + } + else if (!isWhitespace(c)) { + this.state = State.InAttributeName; + this.sectionStart = this.index; + } + } + stateInSelfClosingTag(c) { + if (c === CharCodes.Gt) { + this.cbs.onselfclosingtag(this.index); + this.state = State.Text; + this.baseState = State.Text; + this.sectionStart = this.index + 1; + this.isSpecial = false; // Reset special state, in case of self-closing special tags + } + else if (!isWhitespace(c)) { + this.state = State.BeforeAttributeName; + this.stateBeforeAttributeName(c); + } + } + stateInAttributeName(c) { + if (c === CharCodes.Eq || isEndOfTagSection(c)) { + this.cbs.onattribname(this.sectionStart, this.index); + this.sectionStart = -1; + this.state = State.AfterAttributeName; + this.stateAfterAttributeName(c); + } + } + stateAfterAttributeName(c) { + if (c === CharCodes.Eq) { + this.state = State.BeforeAttributeValue; + } + else if (c === CharCodes.Slash || c === CharCodes.Gt) { + this.cbs.onattribend(QuoteType.NoValue, this.index); + this.state = State.BeforeAttributeName; + this.stateBeforeAttributeName(c); + } + else if (!isWhitespace(c)) { + this.cbs.onattribend(QuoteType.NoValue, this.index); + this.state = State.InAttributeName; + this.sectionStart = this.index; + } + } + stateBeforeAttributeValue(c) { + if (c === CharCodes.DoubleQuote) { + this.state = State.InAttributeValueDq; + this.sectionStart = this.index + 1; + } + else if (c === CharCodes.SingleQuote) { + this.state = State.InAttributeValueSq; + this.sectionStart = this.index + 1; + } + else if (!isWhitespace(c)) { + this.sectionStart = this.index; + this.state = State.InAttributeValueNq; + this.stateInAttributeValueNoQuotes(c); // Reconsume token + } + } + handleInAttributeValue(c, quote) { + if (c === quote || + (!this.decodeEntities && this.fastForwardTo(quote))) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(quote === CharCodes.DoubleQuote + ? QuoteType.Double + : QuoteType.Single, this.index); + this.state = State.BeforeAttributeName; + } + else if (this.decodeEntities && c === CharCodes.Amp) { + this.baseState = this.state; + this.state = State.BeforeEntity; + } + } + stateInAttributeValueDoubleQuotes(c) { + this.handleInAttributeValue(c, CharCodes.DoubleQuote); + } + stateInAttributeValueSingleQuotes(c) { + this.handleInAttributeValue(c, CharCodes.SingleQuote); + } + stateInAttributeValueNoQuotes(c) { + if (isWhitespace(c) || c === CharCodes.Gt) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = -1; + this.cbs.onattribend(QuoteType.Unquoted, this.index); + this.state = State.BeforeAttributeName; + this.stateBeforeAttributeName(c); + } + else if (this.decodeEntities && c === CharCodes.Amp) { + this.baseState = this.state; + this.state = State.BeforeEntity; + } + } + stateBeforeDeclaration(c) { + if (c === CharCodes.OpeningSquareBracket) { + this.state = State.CDATASequence; + this.sequenceIndex = 0; + } + else { + this.state = + c === CharCodes.Dash + ? State.BeforeComment + : State.InDeclaration; + } + } + stateInDeclaration(c) { + if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) { + this.cbs.ondeclaration(this.sectionStart, this.index); + this.state = State.Text; + this.sectionStart = this.index + 1; + } + } + stateInProcessingInstruction(c) { + if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) { + this.cbs.onprocessinginstruction(this.sectionStart, this.index); + this.state = State.Text; + this.sectionStart = this.index + 1; + } + } + stateBeforeComment(c) { + if (c === CharCodes.Dash) { + this.state = State.InCommentLike; + this.currentSequence = Sequences.CommentEnd; + // Allow short comments (eg. <!-->) + this.sequenceIndex = 2; + this.sectionStart = this.index + 1; + } + else { + this.state = State.InDeclaration; + } + } + stateInSpecialComment(c) { + if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) { + this.cbs.oncomment(this.sectionStart, this.index, 0); + this.state = State.Text; + this.sectionStart = this.index + 1; + } + } + stateBeforeSpecialS(c) { + const lower = c | 0x20; + if (lower === Sequences.ScriptEnd[3]) { + this.startSpecial(Sequences.ScriptEnd, 4); + } + else if (lower === Sequences.StyleEnd[3]) { + this.startSpecial(Sequences.StyleEnd, 4); + } + else { + this.state = State.InTagName; + this.stateInTagName(c); // Consume the token again + } + } + stateBeforeEntity(c) { + // Start excess with 1 to include the '&' + this.entityExcess = 1; + this.entityResult = 0; + if (c === CharCodes.Number) { + this.state = State.BeforeNumericEntity; + } + else if (c === CharCodes.Amp) { + // We have two `&` characters in a row. Stay in the current state. + } + else { + this.trieIndex = 0; + this.trieCurrent = this.entityTrie[0]; + this.state = State.InNamedEntity; + this.stateInNamedEntity(c); + } + } + stateInNamedEntity(c) { + this.entityExcess += 1; + this.trieIndex = determineBranch(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c); + if (this.trieIndex < 0) { + this.emitNamedEntity(); + this.index--; + return; + } + this.trieCurrent = this.entityTrie[this.trieIndex]; + const masked = this.trieCurrent & BinTrieFlags.VALUE_LENGTH; + // If the branch is a value, store it and continue + if (masked) { + // The mask is the number of bytes of the value, including the current byte. + const valueLength = (masked >> 14) - 1; + // If we have a legacy entity while parsing strictly, just skip the number of bytes + if (!this.allowLegacyEntity() && c !== CharCodes.Semi) { + this.trieIndex += valueLength; + } + else { + // Add 1 as we have already incremented the excess + const entityStart = this.index - this.entityExcess + 1; + if (entityStart > this.sectionStart) { + this.emitPartial(this.sectionStart, entityStart); + } + // If this is a surrogate pair, consume the next two bytes + this.entityResult = this.trieIndex; + this.trieIndex += valueLength; + this.entityExcess = 0; + this.sectionStart = this.index + 1; + if (valueLength === 0) { + this.emitNamedEntity(); + } + } + } + } + emitNamedEntity() { + this.state = this.baseState; + if (this.entityResult === 0) { + return; + } + const valueLength = (this.entityTrie[this.entityResult] & BinTrieFlags.VALUE_LENGTH) >> + 14; + switch (valueLength) { + case 1: { + this.emitCodePoint(this.entityTrie[this.entityResult] & + ~BinTrieFlags.VALUE_LENGTH); + break; + } + case 2: { + this.emitCodePoint(this.entityTrie[this.entityResult + 1]); + break; + } + case 3: { + this.emitCodePoint(this.entityTrie[this.entityResult + 1]); + this.emitCodePoint(this.entityTrie[this.entityResult + 2]); + } + } + } + stateBeforeNumericEntity(c) { + if ((c | 0x20) === CharCodes.LowerX) { + this.entityExcess++; + this.state = State.InHexEntity; + } + else { + this.state = State.InNumericEntity; + this.stateInNumericEntity(c); + } + } + emitNumericEntity(strict) { + const entityStart = this.index - this.entityExcess - 1; + const numberStart = entityStart + 2 + Number(this.state === State.InHexEntity); + if (numberStart !== this.index) { + // Emit leading data if any + if (entityStart > this.sectionStart) { + this.emitPartial(this.sectionStart, entityStart); + } + this.sectionStart = this.index + Number(strict); + this.emitCodePoint(replaceCodePoint(this.entityResult)); + } + this.state = this.baseState; + } + stateInNumericEntity(c) { + if (c === CharCodes.Semi) { + this.emitNumericEntity(true); + } + else if (isNumber(c)) { + this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero); + this.entityExcess++; + } + else { + if (this.allowLegacyEntity()) { + this.emitNumericEntity(false); + } + else { + this.state = this.baseState; + } + this.index--; + } + } + stateInHexEntity(c) { + if (c === CharCodes.Semi) { + this.emitNumericEntity(true); + } + else if (isNumber(c)) { + this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero); + this.entityExcess++; + } + else if (isHexDigit(c)) { + this.entityResult = + this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10); + this.entityExcess++; + } + else { + if (this.allowLegacyEntity()) { + this.emitNumericEntity(false); + } + else { + this.state = this.baseState; + } + this.index--; + } + } + allowLegacyEntity() { + return (!this.xmlMode && + (this.baseState === State.Text || + this.baseState === State.InSpecialTag)); + } + /** + * Remove data that has already been consumed from the buffer. + */ + cleanup() { + // If we are inside of text or attributes, emit what we already have. + if (this.running && this.sectionStart !== this.index) { + if (this.state === State.Text || + (this.state === State.InSpecialTag && this.sequenceIndex === 0)) { + this.cbs.ontext(this.sectionStart, this.index); + this.sectionStart = this.index; + } + else if (this.state === State.InAttributeValueDq || + this.state === State.InAttributeValueSq || + this.state === State.InAttributeValueNq) { + this.cbs.onattribdata(this.sectionStart, this.index); + this.sectionStart = this.index; + } + } + } + shouldContinue() { + return this.index < this.buffer.length + this.offset && this.running; + } + /** + * 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. + */ + parse() { + while (this.shouldContinue()) { + const c = this.buffer.charCodeAt(this.index - this.offset); + switch (this.state) { + case State.Text: { + this.stateText(c); + break; + } + case State.SpecialStartSequence: { + this.stateSpecialStartSequence(c); + break; + } + case State.InSpecialTag: { + this.stateInSpecialTag(c); + break; + } + case State.CDATASequence: { + this.stateCDATASequence(c); + break; + } + case State.InAttributeValueDq: { + this.stateInAttributeValueDoubleQuotes(c); + break; + } + case State.InAttributeName: { + this.stateInAttributeName(c); + break; + } + case State.InCommentLike: { + this.stateInCommentLike(c); + break; + } + case State.InSpecialComment: { + this.stateInSpecialComment(c); + break; + } + case State.BeforeAttributeName: { + this.stateBeforeAttributeName(c); + break; + } + case State.InTagName: { + this.stateInTagName(c); + break; + } + case State.InClosingTagName: { + this.stateInClosingTagName(c); + break; + } + case State.BeforeTagName: { + this.stateBeforeTagName(c); + break; + } + case State.AfterAttributeName: { + this.stateAfterAttributeName(c); + break; + } + case State.InAttributeValueSq: { + this.stateInAttributeValueSingleQuotes(c); + break; + } + case State.BeforeAttributeValue: { + this.stateBeforeAttributeValue(c); + break; + } + case State.BeforeClosingTagName: { + this.stateBeforeClosingTagName(c); + break; + } + case State.AfterClosingTagName: { + this.stateAfterClosingTagName(c); + break; + } + case State.BeforeSpecialS: { + this.stateBeforeSpecialS(c); + break; + } + case State.InAttributeValueNq: { + this.stateInAttributeValueNoQuotes(c); + break; + } + case State.InSelfClosingTag: { + this.stateInSelfClosingTag(c); + break; + } + case State.InDeclaration: { + this.stateInDeclaration(c); + break; + } + case State.BeforeDeclaration: { + this.stateBeforeDeclaration(c); + break; + } + case State.BeforeComment: { + this.stateBeforeComment(c); + break; + } + case State.InProcessingInstruction: { + this.stateInProcessingInstruction(c); + break; + } + case State.InNamedEntity: { + this.stateInNamedEntity(c); + break; + } + case State.BeforeEntity: { + this.stateBeforeEntity(c); + break; + } + case State.InHexEntity: { + this.stateInHexEntity(c); + break; + } + case State.InNumericEntity: { + this.stateInNumericEntity(c); + break; + } + default: { + // `this._state === State.BeforeNumericEntity` + this.stateBeforeNumericEntity(c); + } + } + this.index++; + } + this.cleanup(); + } + finish() { + if (this.state === State.InNamedEntity) { + this.emitNamedEntity(); + } + // If there is remaining data, emit it in a reasonable way + if (this.sectionStart < this.index) { + this.handleTrailingData(); + } + this.cbs.onend(); + } + /** Handle any trailing data. */ + handleTrailingData() { + const endIndex = this.buffer.length + this.offset; + if (this.state === State.InCommentLike) { + if (this.currentSequence === Sequences.CdataEnd) { + this.cbs.oncdata(this.sectionStart, endIndex, 0); + } + else { + this.cbs.oncomment(this.sectionStart, endIndex, 0); + } + } + else if (this.state === State.InNumericEntity && + this.allowLegacyEntity()) { + this.emitNumericEntity(false); + // All trailing data will have been consumed + } + else if (this.state === State.InHexEntity && + this.allowLegacyEntity()) { + this.emitNumericEntity(false); + // All trailing data will have been consumed + } + else if (this.state === State.InTagName || + this.state === State.BeforeAttributeName || + this.state === State.BeforeAttributeValue || + this.state === State.AfterAttributeName || + this.state === State.InAttributeName || + this.state === State.InAttributeValueSq || + this.state === State.InAttributeValueDq || + this.state === State.InAttributeValueNq || + this.state === State.InClosingTagName) { + /* + * If we are currently in an opening or closing tag, us not calling the + * respective callback signals that the tag should be ignored. + */ + } + else { + this.cbs.ontext(this.sectionStart, endIndex); + } + } + emitPartial(start, endIndex) { + if (this.baseState !== State.Text && + this.baseState !== State.InSpecialTag) { + this.cbs.onattribdata(start, endIndex); + } + else { + this.cbs.ontext(start, endIndex); + } + } + emitCodePoint(cp) { + if (this.baseState !== State.Text && + this.baseState !== State.InSpecialTag) { + this.cbs.onattribentity(cp); + } + else { + this.cbs.ontextentity(cp); + } + } +} +//# sourceMappingURL=Tokenizer.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js.map new file mode 100644 index 0000000..2c52baf --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/Tokenizer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Tokenizer.js","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["Tokenizer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts new file mode 100644 index 0000000..c3090f7 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts @@ -0,0 +1,17 @@ +/// <reference types="node" /> +/// <reference types="node" /> +import { Handler, ParserOptions } from "./Parser.js"; +import { Writable } from "node:stream"; +/** + * WritableStream makes the `Parser` interface available as a NodeJS stream. + * + * @see Parser + */ +export declare class WritableStream extends Writable { + private readonly _parser; + private readonly _decoder; + constructor(cbs: Partial<Handler>, options?: ParserOptions); + _write(chunk: string | Buffer, encoding: string, callback: () => void): void; + _final(callback: () => void): void; +} +//# sourceMappingURL=WritableStream.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts.map new file mode 100644 index 0000000..bed24b6 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"WritableStream.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["WritableStream.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAU,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEpC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;IAKjD,MAAM,CACX,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,IAAI,GACrB,IAAI;IAOE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CAI9C"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js new file mode 100644 index 0000000..bf6093e --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js @@ -0,0 +1,32 @@ +import { Parser } from "./Parser.js"; +/* + * NOTE: If either of these two imports produces a type error, + * please update your @types/node dependency! + */ +import { Writable } from "node:stream"; +import { StringDecoder } from "node: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 + */ +export class WritableStream extends Writable { + constructor(cbs, options) { + super({ decodeStrings: false }); + this._decoder = new StringDecoder(); + this._parser = new Parser(cbs, options); + } + _write(chunk, encoding, callback) { + this._parser.write(isBuffer(chunk, encoding) ? this._decoder.write(chunk) : chunk); + callback(); + } + _final(callback) { + this._parser.end(this._decoder.end()); + callback(); + } +} +//# sourceMappingURL=WritableStream.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js.map new file mode 100644 index 0000000..fc7290a --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/WritableStream.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WritableStream.js","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["WritableStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,aAAa,CAAC;AAC7D;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,2GAA2G;AAC3G,SAAS,QAAQ,CAAC,MAAuB,EAAE,QAAgB;IACvD,OAAO,QAAQ,KAAK,QAAQ,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAIxC,YAAY,GAAqB,EAAE,OAAuB;QACtD,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAHnB,aAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAI5C,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEQ,MAAM,CACX,KAAsB,EACtB,QAAgB,EAChB,QAAoB;QAEpB,IAAI,CAAC,OAAO,CAAC,KAAK,CACd,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACjE,CAAC;QACF,QAAQ,EAAE,CAAC;IACf,CAAC;IAEQ,MAAM,CAAC,QAAoB;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACtC,QAAQ,EAAE,CAAC;IACf,CAAC;CACJ"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts new file mode 100644 index 0000000..9f08885 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts @@ -0,0 +1,44 @@ +import { Parser, ParserOptions } from "./Parser.js"; +export { Parser, type ParserOptions } from "./Parser.js"; +import { DomHandlerOptions, ChildNode, Element, Document } from "domhandler"; +export { DomHandler, DomHandler as DefaultHandler, type DomHandlerOptions, } from "domhandler"; +export type Options = ParserOptions & DomHandlerOptions; +/** + * Parses the data, returns the resulting document. + * + * @param data The data that should be parsed. + * @param options Optional options for the parser and DOM builder. + */ +export declare function parseDocument(data: string, options?: Options): Document; +/** + * Parses data, returns an array of the root nodes. + * + * Note that the root nodes still have a `Document` node as their parent. + * Use `parseDocument` to get the `Document` node instead. + * + * @param data The data that should be parsed. + * @param options Optional options for the parser and DOM builder. + * @deprecated Use `parseDocument` instead. + */ +export declare function parseDOM(data: string, options?: Options): ChildNode[]; +/** + * Creates a parser instance, with an attached DOM handler. + * + * @param callback A callback that will be called once parsing has been completed. + * @param options Optional options for the parser and DOM builder. + * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM. + */ +export declare function createDomStream(callback: (error: Error | null, dom: ChildNode[]) => void, options?: Options, elementCallback?: (element: Element) => void): Parser; +export { default as Tokenizer, type Callbacks as TokenizerCallbacks, } from "./Tokenizer.js"; +export * as ElementType from "domelementtype"; +import { Feed } from "domutils"; +export { getFeed } from "domutils"; +/** + * Parse a feed. + * + * @param feed The feed that should be parsed, as a string. + * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`. + */ +export declare function parseFeed(feed: string, options?: Options): Feed | null; +export * as DomUtils from "domutils"; +//# sourceMappingURL=index.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts.map new file mode 100644 index 0000000..4b15dd9 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAEH,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,UAAU,EAEV,UAAU,IAAI,cAAc,EAC5B,KAAK,iBAAiB,GACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,OAAO,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAIxD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAIvE;AACD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,CAErE;AACD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,IAAI,EACzD,OAAO,CAAC,EAAE,OAAO,EACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAC7C,MAAM,CAGR;AAED,OAAO,EACH,OAAO,IAAI,SAAS,EACpB,KAAK,SAAS,IAAI,kBAAkB,GACvC,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAW,IAAI,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAInC;;;;;GAKG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,OAAiC,GAC3C,IAAI,GAAG,IAAI,CAEb;AAED,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js new file mode 100644 index 0000000..949c914 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js @@ -0,0 +1,62 @@ +import { Parser } from "./Parser.js"; +export { Parser } from "./Parser.js"; +import { DomHandler, } from "domhandler"; +export { DomHandler, +// Old name for DomHandler +DomHandler as DefaultHandler, } from "domhandler"; +// Helper methods +/** + * Parses the data, returns the resulting document. + * + * @param data The data that should be parsed. + * @param options Optional options for the parser and DOM builder. + */ +export function parseDocument(data, options) { + const handler = new DomHandler(undefined, options); + new Parser(handler, options).end(data); + return handler.root; +} +/** + * Parses data, returns an array of the root nodes. + * + * Note that the root nodes still have a `Document` node as their parent. + * Use `parseDocument` to get the `Document` node instead. + * + * @param data The data that should be parsed. + * @param options Optional options for the parser and DOM builder. + * @deprecated Use `parseDocument` instead. + */ +export function parseDOM(data, options) { + return parseDocument(data, options).children; +} +/** + * Creates a parser instance, with an attached DOM handler. + * + * @param callback A callback that will be called once parsing has been completed. + * @param options Optional options for the parser and DOM builder. + * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM. + */ +export function createDomStream(callback, options, elementCallback) { + const handler = new DomHandler(callback, options, elementCallback); + return new Parser(handler, options); +} +export { default as Tokenizer, } from "./Tokenizer.js"; +/* + * All of the following exports exist for backwards-compatibility. + * They should probably be removed eventually. + */ +export * as ElementType from "domelementtype"; +import { getFeed } from "domutils"; +export { getFeed } from "domutils"; +const parseFeedDefaultOptions = { 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, you should set `xmlMode` to `true`. + */ +export function parseFeed(feed, options = parseFeedDefaultOptions) { + return getFeed(parseDOM(feed, options)); +} +export * as DomUtils from "domutils"; +//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js.map b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js.map new file mode 100644 index 0000000..3aa7317 --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"https://raw.githubusercontent.com/fb55/htmlparser2/c123610e003a1eaebc61febed01cabb6e41eb658/src/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAEzD,OAAO,EACH,UAAU,GAKb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,UAAU;AACV,0BAA0B;AAC1B,UAAU,IAAI,cAAc,GAE/B,MAAM,YAAY,CAAC;AAIpB,iBAAiB;AAEjB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAiB;IACzD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,CAAC;AACD;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAiB;IACpD,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC3B,QAAyD,EACzD,OAAiB,EACjB,eAA4C;IAE5C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACnE,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,EACH,OAAO,IAAI,SAAS,GAEvB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAQ,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,uBAAuB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACrB,IAAY,EACZ,UAAmB,uBAAuB;IAE1C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC"}
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/htmlparser2/lib/esm/package.json b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/package.json new file mode 100644 index 0000000..089153b --- /dev/null +++ b/includes/external/addressbook/node_modules/htmlparser2/lib/esm/package.json @@ -0,0 +1 @@ +{"type":"module"} |