aboutsummaryrefslogtreecommitdiff
path: root/node_modules/pretty-format/build/plugins/DOMElement.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/pretty-format/build/plugins/DOMElement.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/pretty-format/build/plugins/DOMElement.js')
-rw-r--r--node_modules/pretty-format/build/plugins/DOMElement.js128
1 files changed, 128 insertions, 0 deletions
diff --git a/node_modules/pretty-format/build/plugins/DOMElement.js b/node_modules/pretty-format/build/plugins/DOMElement.js
new file mode 100644
index 0000000..b9d30ce
--- /dev/null
+++ b/node_modules/pretty-format/build/plugins/DOMElement.js
@@ -0,0 +1,128 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.test = exports.serialize = exports.default = void 0;
+
+var _markup = require('./lib/markup');
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const ELEMENT_NODE = 1;
+const TEXT_NODE = 3;
+const COMMENT_NODE = 8;
+const FRAGMENT_NODE = 11;
+const ELEMENT_REGEXP = /^((HTML|SVG)\w*)?Element$/;
+
+const testHasAttribute = val => {
+ try {
+ return typeof val.hasAttribute === 'function' && val.hasAttribute('is');
+ } catch {
+ return false;
+ }
+};
+
+const testNode = val => {
+ const constructorName = val.constructor.name;
+ const {nodeType, tagName} = val;
+ const isCustomElement =
+ (typeof tagName === 'string' && tagName.includes('-')) ||
+ testHasAttribute(val);
+ return (
+ (nodeType === ELEMENT_NODE &&
+ (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||
+ (nodeType === TEXT_NODE && constructorName === 'Text') ||
+ (nodeType === COMMENT_NODE && constructorName === 'Comment') ||
+ (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment')
+ );
+};
+
+const test = val => {
+ var _val$constructor;
+
+ return (
+ (val === null || val === void 0
+ ? void 0
+ : (_val$constructor = val.constructor) === null ||
+ _val$constructor === void 0
+ ? void 0
+ : _val$constructor.name) && testNode(val)
+ );
+};
+
+exports.test = test;
+
+function nodeIsText(node) {
+ return node.nodeType === TEXT_NODE;
+}
+
+function nodeIsComment(node) {
+ return node.nodeType === COMMENT_NODE;
+}
+
+function nodeIsFragment(node) {
+ return node.nodeType === FRAGMENT_NODE;
+}
+
+const serialize = (node, config, indentation, depth, refs, printer) => {
+ if (nodeIsText(node)) {
+ return (0, _markup.printText)(node.data, config);
+ }
+
+ if (nodeIsComment(node)) {
+ return (0, _markup.printComment)(node.data, config);
+ }
+
+ const type = nodeIsFragment(node)
+ ? 'DocumentFragment'
+ : node.tagName.toLowerCase();
+
+ if (++depth > config.maxDepth) {
+ return (0, _markup.printElementAsLeaf)(type, config);
+ }
+
+ return (0, _markup.printElement)(
+ type,
+ (0, _markup.printProps)(
+ nodeIsFragment(node)
+ ? []
+ : Array.from(node.attributes)
+ .map(attr => attr.name)
+ .sort(),
+ nodeIsFragment(node)
+ ? {}
+ : Array.from(node.attributes).reduce((props, attribute) => {
+ props[attribute.name] = attribute.value;
+ return props;
+ }, {}),
+ config,
+ indentation + config.indent,
+ depth,
+ refs,
+ printer
+ ),
+ (0, _markup.printChildren)(
+ Array.prototype.slice.call(node.childNodes || node.children),
+ config,
+ indentation + config.indent,
+ depth,
+ refs,
+ printer
+ ),
+ config,
+ indentation
+ );
+};
+
+exports.serialize = serialize;
+const plugin = {
+ serialize,
+ test
+};
+var _default = plugin;
+exports.default = _default;