summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/cheerio/lib/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/addressbook/node_modules/cheerio/lib/utils.js')
-rw-r--r--includes/external/addressbook/node_modules/cheerio/lib/utils.js122
1 files changed, 122 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/cheerio/lib/utils.js b/includes/external/addressbook/node_modules/cheerio/lib/utils.js
new file mode 100644
index 0000000..b10f17f
--- /dev/null
+++ b/includes/external/addressbook/node_modules/cheerio/lib/utils.js
@@ -0,0 +1,122 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isHtml = exports.cloneDom = exports.domEach = exports.cssCase = exports.camelCase = exports.isCheerio = exports.isTag = void 0;
+var domhandler_1 = require("domhandler");
+/**
+ * Check if the DOM element is a tag.
+ *
+ * `isTag(type)` includes `<script>` and `<style>` tags.
+ *
+ * @private
+ * @category Utils
+ * @param type - The DOM node to check.
+ * @returns Whether the node is a tag.
+ */
+var domhandler_2 = require("domhandler");
+Object.defineProperty(exports, "isTag", { enumerable: true, get: function () { return domhandler_2.isTag; } });
+/**
+ * Checks if an object is a Cheerio instance.
+ *
+ * @category Utils
+ * @param maybeCheerio - The object to check.
+ * @returns Whether the object is a Cheerio instance.
+ */
+function isCheerio(maybeCheerio) {
+ return maybeCheerio.cheerio != null;
+}
+exports.isCheerio = isCheerio;
+/**
+ * Convert a string to camel case notation.
+ *
+ * @private
+ * @category Utils
+ * @param str - The string to be converted.
+ * @returns String in camel case notation.
+ */
+function camelCase(str) {
+ return str.replace(/[_.-](\w|$)/g, function (_, x) { return x.toUpperCase(); });
+}
+exports.camelCase = camelCase;
+/**
+ * Convert a string from camel case to "CSS case", where word boundaries are
+ * described by hyphens ("-") and all characters are lower-case.
+ *
+ * @private
+ * @category Utils
+ * @param str - The string to be converted.
+ * @returns String in "CSS case".
+ */
+function cssCase(str) {
+ return str.replace(/[A-Z]/g, '-$&').toLowerCase();
+}
+exports.cssCase = cssCase;
+/**
+ * Iterate over each DOM element without creating intermediary Cheerio instances.
+ *
+ * This is indented for use internally to avoid otherwise unnecessary memory
+ * pressure introduced by _make.
+ *
+ * @category Utils
+ * @param array - The array to iterate over.
+ * @param fn - Function to call.
+ * @returns The original instance.
+ */
+function domEach(array, fn) {
+ var len = array.length;
+ for (var i = 0; i < len; i++)
+ fn(array[i], i);
+ return array;
+}
+exports.domEach = domEach;
+/**
+ * Create a deep copy of the given DOM structure. Sets the parents of the copies
+ * of the passed nodes to `null`.
+ *
+ * @private
+ * @category Utils
+ * @param dom - The domhandler-compliant DOM structure.
+ * @returns - The cloned DOM.
+ */
+function cloneDom(dom) {
+ var clone = 'length' in dom
+ ? Array.prototype.map.call(dom, function (el) { return (0, domhandler_1.cloneNode)(el, true); })
+ : [(0, domhandler_1.cloneNode)(dom, true)];
+ // Add a root node around the cloned nodes
+ var root = new domhandler_1.Document(clone);
+ clone.forEach(function (node) {
+ node.parent = root;
+ });
+ return clone;
+}
+exports.cloneDom = cloneDom;
+var CharacterCodes;
+(function (CharacterCodes) {
+ CharacterCodes[CharacterCodes["LowerA"] = 97] = "LowerA";
+ CharacterCodes[CharacterCodes["LowerZ"] = 122] = "LowerZ";
+ CharacterCodes[CharacterCodes["UpperA"] = 65] = "UpperA";
+ CharacterCodes[CharacterCodes["UpperZ"] = 90] = "UpperZ";
+ CharacterCodes[CharacterCodes["Exclamation"] = 33] = "Exclamation";
+})(CharacterCodes || (CharacterCodes = {}));
+/**
+ * Check if string is HTML.
+ *
+ * Tests for a `<` within a string, immediate followed by a letter and
+ * eventually followed by a `>`.
+ *
+ * @private
+ * @category Utils
+ * @param str - The string to check.
+ * @returns Indicates if `str` is HTML.
+ */
+function isHtml(str) {
+ var tagStart = str.indexOf('<');
+ if (tagStart < 0 || tagStart > str.length - 3)
+ return false;
+ var tagChar = str.charCodeAt(tagStart + 1);
+ return (((tagChar >= CharacterCodes.LowerA && tagChar <= CharacterCodes.LowerZ) ||
+ (tagChar >= CharacterCodes.UpperA && tagChar <= CharacterCodes.UpperZ) ||
+ tagChar === CharacterCodes.Exclamation) &&
+ str.includes('>', tagStart + 2));
+}
+exports.isHtml = isHtml;
+//# sourceMappingURL=utils.js.map \ No newline at end of file