UNPKG

@slightning/anything-to-string

Version:
62 lines (61 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MaximumHTMLElementRule = exports.MajorHTMLElementRule = exports.LesserHTMLElementRule = exports.MinimumHTMLElementRule = void 0; const object_1 = require("./object"); function isHTMLElement(data) { return typeof HTMLElement != "undefined" && data instanceof HTMLElement; } class MinimumHTMLElementRule { constructor() { this.test = isHTMLElement; } toString(data, __config, __context) { let result = data.tagName; if (data.id != "") { result += `#${data.id}`; } for (const name of Array.from(data.classList)) { result += `.${name}`; } return `[${Object.getPrototypeOf(data).constructor.name}: ${result}]`; } } exports.MinimumHTMLElementRule = MinimumHTMLElementRule; class LesserHTMLElementRule { constructor() { this.test = isHTMLElement; } toString(data, __config, __context) { if (data.innerHTML == "") { return data.outerHTML; } else { const newData = data.cloneNode(false); newData.innerText = "..."; return data.outerHTML; } } } exports.LesserHTMLElementRule = LesserHTMLElementRule; class MajorHTMLElementRule { constructor() { this.test = isHTMLElement; } toString(data, __config, __context) { return data.outerHTML; } } exports.MajorHTMLElementRule = MajorHTMLElementRule; class MaximumHTMLElementRule { constructor() { this.test = isHTMLElement; } prepare(data, config, context) { new object_1.MaximumObjectRule().prepare(data, config, context); } toString(data, config, context) { return data.outerHTML + " " + new object_1.MaximumObjectRule().toString(data, config, context); } } exports.MaximumHTMLElementRule = MaximumHTMLElementRule;