| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | var ElementType = require("domelementtype"), |
| 2 | getOuterHTML = require("dom-serializer"), |
| 3 | isTag = ElementType.isTag; |
| 4 | |
| 5 | module.exports = { |
| 6 | getInnerHTML: getInnerHTML, |
| 7 | getOuterHTML: getOuterHTML, |
| 8 | getText: getText |
| 9 | }; |
| 10 | |
| 11 | function getInnerHTML(elem, opts){ |
| 12 | return elem.children ? elem.children.map(function(elem){ |
| 13 | return getOuterHTML(elem, opts); |
| 14 | }).join("") : ""; |
| 15 | } |
| 16 | |
| 17 | function getText(elem){ |
| 18 | if(Array.isArray(elem)) return elem.map(getText).join(""); |
| 19 | if(isTag(elem)) return elem.name === "br" ? "\n" : getText(elem.children); |
| 20 | if(elem.type === ElementType.CDATA) return getText(elem.children); |
| 21 | if(elem.type === ElementType.Text) return elem.data; |
| 22 | return ""; |
| 23 | } |