You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", { value: true }); exports.prettyDOM = prettyDOM; Object.defineProperty(exports, "prettyFormat", { enumerable: true, get: function () { return _prettyFormat.default; } }); exports.logDOM = void 0;
var _prettyFormat = _interopRequireDefault(require("pretty-format"));
var _getUserCodeFrame = require("./get-user-code-frame");
var _helpers = require("./helpers");
function inCypress(dom) { const window = dom.ownerDocument && dom.ownerDocument.defaultView || undefined; return typeof global !== 'undefined' && global.Cypress || typeof window !== 'undefined' && window.Cypress; }
const inNode = () => typeof process !== 'undefined' && process.versions !== undefined && process.versions.node !== undefined;
const getMaxLength = dom => inCypress(dom) ? 0 : typeof process !== 'undefined' && process.env.DEBUG_PRINT_LIMIT || 7000;
const { DOMElement, DOMCollection } = _prettyFormat.default.plugins;
function prettyDOM(dom, maxLength, options) { if (!dom) { dom = (0, _helpers.getDocument)().body; }
if (typeof maxLength !== 'number') { maxLength = getMaxLength(dom); }
if (maxLength === 0) { return ''; }
if (dom.documentElement) { dom = dom.documentElement; }
let domTypeName = typeof dom;
if (domTypeName === 'object') { domTypeName = dom.constructor.name; } else { // To don't fall with `in` operator
dom = {}; }
if (!('outerHTML' in dom)) { throw new TypeError(`Expected an element or document but got ${domTypeName}`); }
const debugContent = (0, _prettyFormat.default)(dom, { plugins: [DOMElement, DOMCollection], printFunctionName: false, highlight: inNode(), ...options }); return maxLength !== undefined && dom.outerHTML.length > maxLength ? `${debugContent.slice(0, maxLength)}...` : debugContent; }
const logDOM = (...args) => { const userCodeFrame = (0, _getUserCodeFrame.getUserCodeFrame)();
if (userCodeFrame) { console.log(`${prettyDOM(...args)}\n\n${userCodeFrame}`); } else { console.log(prettyDOM(...args)); } };
exports.logDOM = logDOM;
|