"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var tagtypes_1 = require("./tagtypes"); var dom_serializer_1 = __importDefault(require("dom-serializer")); function getOuterHTML(node, options) { return dom_serializer_1.default(node, options); } exports.getOuterHTML = getOuterHTML; function getInnerHTML(node, options) { return tagtypes_1.hasChildren(node) ? node.children.map(function (node) { return getOuterHTML(node, options); }).join("") : ""; } exports.getInnerHTML = getInnerHTML; function getText(node) { if (Array.isArray(node)) return node.map(getText).join(""); if (tagtypes_1.isTag(node)) return node.name === "br" ? "\n" : getText(node.children); if (tagtypes_1.isCDATA(node)) return getText(node.children); if (tagtypes_1.isText(node)) return node.data; return ""; } exports.getText = getText;