react-saasify-chrisvxd
Version:
React components for Saasify web clients.
23 lines (18 loc) • 611 B
JavaScript
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