diff options
Diffstat (limited to 'includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter')
8 files changed, 536 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/LICENSE b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/LICENSE new file mode 100644 index 0000000..f3265d4 --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/README.md b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/README.md new file mode 100644 index 0000000..a2d272f --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/README.md @@ -0,0 +1,34 @@ +<p align="center"> + <a href="https://github.com/inikulin/parse5"> + <img src="https://raw.github.com/inikulin/parse5/master/media/logo.png" alt="parse5" /> + </a> +</p> + +<div align="center"> +<h1>parse5-htmlparser2-tree-adapter</h1> +<i><b><a href="https://github.com/fb55/htmlparser2">htmlparser2</a> tree adapter for <a href="https://github.com/inikulin/parse5">parse5</a>.</b></i> +</div> +<br> + +<div align="center"> +<code>npm install --save parse5-htmlparser2-tree-adapter</code> +</div> +<br> + +<p align="center"> + 📖 <a href="https://parse5.js.org/modules/parse5_htmlparser2_tree_adapter.html"><b>Documentation</b></a> 📖 +</p> + +--- + +<p align="center"> + <a href="https://github.com/inikulin/parse5/tree/master/docs/list-of-packages.md">List of parse5 toolset packages</a> +</p> + +<p align="center"> + <a href="https://github.com/inikulin/parse5">GitHub</a> +</p> + +<p align="center"> + <a href="https://github.com/inikulin/parse5/releases">Changelog</a> +</p> diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts new file mode 100644 index 0000000..9ed199e --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts @@ -0,0 +1,7 @@ +import { type TreeAdapterTypeMap, type TreeAdapter } from 'parse5'; +import { type AnyNode, type ParentNode, type ChildNode, Element, Document, ProcessingInstruction, Comment, Text } from 'domhandler'; +export declare type Htmlparser2TreeAdapterMap = TreeAdapterTypeMap<AnyNode, ParentNode, ChildNode, Document, Document, Element, Comment, Text, Element, ProcessingInstruction>; +/** @internal */ +export declare function serializeDoctypeContent(name: string, publicId: string, systemId: string): string; +export declare const adapter: TreeAdapter<Htmlparser2TreeAdapterMap>; +//# sourceMappingURL=index.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js new file mode 100644 index 0000000..6363461 --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js @@ -0,0 +1,215 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.adapter = exports.serializeDoctypeContent = void 0; +const parse5_1 = require("parse5"); +const domhandler_1 = require("domhandler"); +function createTextNode(value) { + return new domhandler_1.Text(value); +} +function enquoteDoctypeId(id) { + const quote = id.includes('"') ? "'" : '"'; + return quote + id + quote; +} +/** @internal */ +function serializeDoctypeContent(name, publicId, systemId) { + let str = '!DOCTYPE '; + if (name) { + str += name; + } + if (publicId) { + str += ` PUBLIC ${enquoteDoctypeId(publicId)}`; + } + else if (systemId) { + str += ' SYSTEM'; + } + if (systemId) { + str += ` ${enquoteDoctypeId(systemId)}`; + } + return str; +} +exports.serializeDoctypeContent = serializeDoctypeContent; +exports.adapter = { + // Re-exports from domhandler + isCommentNode: domhandler_1.isComment, + isElementNode: domhandler_1.isTag, + isTextNode: domhandler_1.isText, + //Node construction + createDocument() { + const node = new domhandler_1.Document([]); + node['x-mode'] = parse5_1.html.DOCUMENT_MODE.NO_QUIRKS; + return node; + }, + createDocumentFragment() { + return new domhandler_1.Document([]); + }, + createElement(tagName, namespaceURI, attrs) { + const attribs = Object.create(null); + const attribsNamespace = Object.create(null); + const attribsPrefix = Object.create(null); + for (let i = 0; i < attrs.length; i++) { + const attrName = attrs[i].name; + attribs[attrName] = attrs[i].value; + attribsNamespace[attrName] = attrs[i].namespace; + attribsPrefix[attrName] = attrs[i].prefix; + } + const node = new domhandler_1.Element(tagName, attribs, []); + node.namespace = namespaceURI; + node['x-attribsNamespace'] = attribsNamespace; + node['x-attribsPrefix'] = attribsPrefix; + return node; + }, + createCommentNode(data) { + return new domhandler_1.Comment(data); + }, + //Tree mutation + appendChild(parentNode, newNode) { + const prev = parentNode.children[parentNode.children.length - 1]; + if (prev) { + prev.next = newNode; + newNode.prev = prev; + } + parentNode.children.push(newNode); + newNode.parent = parentNode; + }, + insertBefore(parentNode, newNode, referenceNode) { + const insertionIdx = parentNode.children.indexOf(referenceNode); + const { prev } = referenceNode; + if (prev) { + prev.next = newNode; + newNode.prev = prev; + } + referenceNode.prev = newNode; + newNode.next = referenceNode; + parentNode.children.splice(insertionIdx, 0, newNode); + newNode.parent = parentNode; + }, + setTemplateContent(templateElement, contentElement) { + exports.adapter.appendChild(templateElement, contentElement); + }, + getTemplateContent(templateElement) { + return templateElement.children[0]; + }, + setDocumentType(document, name, publicId, systemId) { + const data = serializeDoctypeContent(name, publicId, systemId); + let doctypeNode = document.children.find((node) => (0, domhandler_1.isDirective)(node) && node.name === '!doctype'); + if (doctypeNode) { + doctypeNode.data = data !== null && data !== void 0 ? data : null; + } + else { + doctypeNode = new domhandler_1.ProcessingInstruction('!doctype', data); + exports.adapter.appendChild(document, doctypeNode); + } + doctypeNode['x-name'] = name !== null && name !== void 0 ? name : undefined; + doctypeNode['x-publicId'] = publicId !== null && publicId !== void 0 ? publicId : undefined; + doctypeNode['x-systemId'] = systemId !== null && systemId !== void 0 ? systemId : undefined; + }, + setDocumentMode(document, mode) { + document['x-mode'] = mode; + }, + getDocumentMode(document) { + return document['x-mode']; + }, + detachNode(node) { + if (node.parent) { + const idx = node.parent.children.indexOf(node); + const { prev, next } = node; + node.prev = null; + node.next = null; + if (prev) { + prev.next = next; + } + if (next) { + next.prev = prev; + } + node.parent.children.splice(idx, 1); + node.parent = null; + } + }, + insertText(parentNode, text) { + const lastChild = parentNode.children[parentNode.children.length - 1]; + if (lastChild && (0, domhandler_1.isText)(lastChild)) { + lastChild.data += text; + } + else { + exports.adapter.appendChild(parentNode, createTextNode(text)); + } + }, + insertTextBefore(parentNode, text, referenceNode) { + const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1]; + if (prevNode && (0, domhandler_1.isText)(prevNode)) { + prevNode.data += text; + } + else { + exports.adapter.insertBefore(parentNode, createTextNode(text), referenceNode); + } + }, + adoptAttributes(recipient, attrs) { + for (let i = 0; i < attrs.length; i++) { + const attrName = attrs[i].name; + if (typeof recipient.attribs[attrName] === 'undefined') { + recipient.attribs[attrName] = attrs[i].value; + recipient['x-attribsNamespace'][attrName] = attrs[i].namespace; + recipient['x-attribsPrefix'][attrName] = attrs[i].prefix; + } + } + }, + //Tree traversing + getFirstChild(node) { + return node.children[0]; + }, + getChildNodes(node) { + return node.children; + }, + getParentNode(node) { + return node.parent; + }, + getAttrList(element) { + return element.attributes; + }, + //Node data + getTagName(element) { + return element.name; + }, + getNamespaceURI(element) { + return element.namespace; + }, + getTextNodeContent(textNode) { + return textNode.data; + }, + getCommentNodeContent(commentNode) { + return commentNode.data; + }, + getDocumentTypeNodeName(doctypeNode) { + var _a; + return (_a = doctypeNode['x-name']) !== null && _a !== void 0 ? _a : ''; + }, + getDocumentTypeNodePublicId(doctypeNode) { + var _a; + return (_a = doctypeNode['x-publicId']) !== null && _a !== void 0 ? _a : ''; + }, + getDocumentTypeNodeSystemId(doctypeNode) { + var _a; + return (_a = doctypeNode['x-systemId']) !== null && _a !== void 0 ? _a : ''; + }, + //Node types + isDocumentTypeNode(node) { + return (0, domhandler_1.isDirective)(node) && node.name === '!doctype'; + }, + // Source code location + setNodeSourceCodeLocation(node, location) { + if (location) { + node.startIndex = location.startOffset; + node.endIndex = location.endOffset; + } + node.sourceCodeLocation = location; + }, + getNodeSourceCodeLocation(node) { + return node.sourceCodeLocation; + }, + updateNodeSourceCodeLocation(node, endLocation) { + if (endLocation.endOffset != null) + node.endIndex = endLocation.endOffset; + node.sourceCodeLocation = Object.assign(Object.assign({}, node.sourceCodeLocation), endLocation); + }, +}; +//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json new file mode 100644 index 0000000..729ac4d --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts new file mode 100644 index 0000000..9ed199e --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts @@ -0,0 +1,7 @@ +import { type TreeAdapterTypeMap, type TreeAdapter } from 'parse5'; +import { type AnyNode, type ParentNode, type ChildNode, Element, Document, ProcessingInstruction, Comment, Text } from 'domhandler'; +export declare type Htmlparser2TreeAdapterMap = TreeAdapterTypeMap<AnyNode, ParentNode, ChildNode, Document, Document, Element, Comment, Text, Element, ProcessingInstruction>; +/** @internal */ +export declare function serializeDoctypeContent(name: string, publicId: string, systemId: string): string; +export declare const adapter: TreeAdapter<Htmlparser2TreeAdapterMap>; +//# sourceMappingURL=index.d.ts.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js new file mode 100644 index 0000000..655f970 --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js @@ -0,0 +1,214 @@ +import { html } from 'parse5'; +import { Element, Document, ProcessingInstruction, Comment, Text, isDirective, isText, isComment, isTag, } from 'domhandler'; +function createTextNode(value) { + return new Text(value); +} +function enquoteDoctypeId(id) { + const quote = id.includes('"') ? "'" : '"'; + return quote + id + quote; +} +/** @internal */ +export function serializeDoctypeContent(name, publicId, systemId) { + let str = '!DOCTYPE '; + if (name) { + str += name; + } + if (publicId) { + str += ` PUBLIC ${enquoteDoctypeId(publicId)}`; + } + else if (systemId) { + str += ' SYSTEM'; + } + if (systemId) { + str += ` ${enquoteDoctypeId(systemId)}`; + } + return str; +} +export const adapter = { + // Re-exports from domhandler + isCommentNode: isComment, + isElementNode: isTag, + isTextNode: isText, + //Node construction + createDocument() { + const node = new Document([]); + node['x-mode'] = html.DOCUMENT_MODE.NO_QUIRKS; + return node; + }, + createDocumentFragment() { + return new Document([]); + }, + createElement(tagName, namespaceURI, attrs) { + const attribs = Object.create(null); + const attribsNamespace = Object.create(null); + const attribsPrefix = Object.create(null); + for (let i = 0; i < attrs.length; i++) { + const attrName = attrs[i].name; + attribs[attrName] = attrs[i].value; + attribsNamespace[attrName] = attrs[i].namespace; + attribsPrefix[attrName] = attrs[i].prefix; + } + const node = new Element(tagName, attribs, []); + node.namespace = namespaceURI; + node['x-attribsNamespace'] = attribsNamespace; + node['x-attribsPrefix'] = attribsPrefix; + return node; + }, + createCommentNode(data) { + return new Comment(data); + }, + //Tree mutation + appendChild(parentNode, newNode) { + const prev = parentNode.children[parentNode.children.length - 1]; + if (prev) { + prev.next = newNode; + newNode.prev = prev; + } + parentNode.children.push(newNode); + newNode.parent = parentNode; + }, + insertBefore(parentNode, newNode, referenceNode) { + const insertionIdx = parentNode.children.indexOf(referenceNode); + const { prev } = referenceNode; + if (prev) { + prev.next = newNode; + newNode.prev = prev; + } + referenceNode.prev = newNode; + newNode.next = referenceNode; + parentNode.children.splice(insertionIdx, 0, newNode); + newNode.parent = parentNode; + }, + setTemplateContent(templateElement, contentElement) { + adapter.appendChild(templateElement, contentElement); + }, + getTemplateContent(templateElement) { + return templateElement.children[0]; + }, + setDocumentType(document, name, publicId, systemId) { + const data = serializeDoctypeContent(name, publicId, systemId); + let doctypeNode = document.children.find((node) => isDirective(node) && node.name === '!doctype'); + if (doctypeNode) { + doctypeNode.data = data !== null && data !== void 0 ? data : null; + } + else { + doctypeNode = new ProcessingInstruction('!doctype', data); + adapter.appendChild(document, doctypeNode); + } + doctypeNode['x-name'] = name !== null && name !== void 0 ? name : undefined; + doctypeNode['x-publicId'] = publicId !== null && publicId !== void 0 ? publicId : undefined; + doctypeNode['x-systemId'] = systemId !== null && systemId !== void 0 ? systemId : undefined; + }, + setDocumentMode(document, mode) { + document['x-mode'] = mode; + }, + getDocumentMode(document) { + return document['x-mode']; + }, + detachNode(node) { + if (node.parent) { + const idx = node.parent.children.indexOf(node); + const { prev, next } = node; + node.prev = null; + node.next = null; + if (prev) { + prev.next = next; + } + if (next) { + next.prev = prev; + } + node.parent.children.splice(idx, 1); + node.parent = null; + } + }, + insertText(parentNode, text) { + const lastChild = parentNode.children[parentNode.children.length - 1]; + if (lastChild && isText(lastChild)) { + lastChild.data += text; + } + else { + adapter.appendChild(parentNode, createTextNode(text)); + } + }, + insertTextBefore(parentNode, text, referenceNode) { + const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1]; + if (prevNode && isText(prevNode)) { + prevNode.data += text; + } + else { + adapter.insertBefore(parentNode, createTextNode(text), referenceNode); + } + }, + adoptAttributes(recipient, attrs) { + for (let i = 0; i < attrs.length; i++) { + const attrName = attrs[i].name; + if (typeof recipient.attribs[attrName] === 'undefined') { + recipient.attribs[attrName] = attrs[i].value; + recipient['x-attribsNamespace'][attrName] = attrs[i].namespace; + recipient['x-attribsPrefix'][attrName] = attrs[i].prefix; + } + } + }, + //Tree traversing + getFirstChild(node) { + return node.children[0]; + }, + getChildNodes(node) { + return node.children; + }, + getParentNode(node) { + return node.parent; + }, + getAttrList(element) { + return element.attributes; + }, + //Node data + getTagName(element) { + return element.name; + }, + getNamespaceURI(element) { + return element.namespace; + }, + getTextNodeContent(textNode) { + return textNode.data; + }, + getCommentNodeContent(commentNode) { + return commentNode.data; + }, + getDocumentTypeNodeName(doctypeNode) { + var _a; + return (_a = doctypeNode['x-name']) !== null && _a !== void 0 ? _a : ''; + }, + getDocumentTypeNodePublicId(doctypeNode) { + var _a; + return (_a = doctypeNode['x-publicId']) !== null && _a !== void 0 ? _a : ''; + }, + getDocumentTypeNodeSystemId(doctypeNode) { + var _a; + return (_a = doctypeNode['x-systemId']) !== null && _a !== void 0 ? _a : ''; + }, + //Node types + isDocumentTypeNode(node) { + return isDirective(node) && node.name === '!doctype'; + }, + // Source code location + setNodeSourceCodeLocation(node, location) { + if (location) { + node.startIndex = location.startOffset; + node.endIndex = location.endOffset; + } + node.sourceCodeLocation = location; + }, + getNodeSourceCodeLocation(node) { + return node.sourceCodeLocation; + }, + updateNodeSourceCodeLocation(node, endLocation) { + if (endLocation.endOffset != null) + node.endIndex = endLocation.endOffset; + node.sourceCodeLocation = { + ...node.sourceCodeLocation, + ...endLocation, + }; + }, +}; +//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/package.json b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/package.json new file mode 100644 index 0000000..6c2bd8e --- /dev/null +++ b/includes/external/addressbook/node_modules/parse5-htmlparser2-tree-adapter/package.json @@ -0,0 +1,39 @@ +{ + "name": "parse5-htmlparser2-tree-adapter", + "type": "module", + "description": "htmlparser2 tree adapter for parse5.", + "version": "7.0.0", + "author": "Ivan Nikulin <ifaaan@gmail.com> (https://github.com/inikulin)", + "contributors": "https://github.com/inikulin/parse5/graphs/contributors", + "homepage": "https://github.com/inikulin/parse5", + "funding": "https://github.com/inikulin/parse5?sponsor=1", + "keywords": [ + "parse5", + "parser", + "tree adapter", + "htmlparser2" + ], + "license": "MIT", + "main": "dist/cjs/index.js", + "module": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + "import": "./dist/index.js", + "require": "./dist/cjs/index.js" + }, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "scripts": { + "build:cjs": "tsc --module CommonJS --target ES6 --outDir dist/cjs && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json" + }, + "repository": { + "type": "git", + "url": "git://github.com/inikulin/parse5.git" + }, + "files": [ + "dist", + "!*.map" + ] +} |