| 12345678910111213141516171819202122 | 'use strict'const implementation = {  isTag: node => node !== undefined && 'name' in node,  getAttributeValue: ( elem, name ) => {    if( implementation.isTag( elem ) && elem.attribs ) return elem.attribs[ name ]  },  getChildren: node => node.children,  getName: elem => {    if( implementation.isTag( elem ) ) return elem.name  },  getParent: node => node.parent,  getText: node => node.children.map( child => {    if( child.text ) return child.text    if( implementation.isTag( child ) ) return implementation.getText( child )    return ''  }).join( '' )}module.exports = implementation
 |