GoScrobble/web/node_modules/css-select-base-adapter/test/implementation.js

23 lines
611 B
JavaScript

'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