You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							22 lines
						
					
					
						
							611 B
						
					
					
				
			
		
		
	
	
							22 lines
						
					
					
						
							611 B
						
					
					
				'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
 | 
						|
 |