| 'use strict' | |
| const walk = ( node, parent, cb ) => { | |
| cb( node, parent ) | |
| if( Array.isArray( node.children ) ) | |
| node.children.forEach( child => walk( child, node, cb ) ) | |
| } | |
| const data = { | |
| name: 'div', | |
| attribs: { | |
| id: 'container', | |
| class: 'message' | |
| }, | |
| children: [ | |
| { | |
| name: 'strong', | |
| attribs: { | |
| class: 'message' | |
| }, | |
| children: [ | |
| { text: 'Hello' } | |
| ] | |
| }, | |
| { text: ', World!' } | |
| ] | |
| } | |
| walk( data, null, ( node, parent ) => { | |
| if( parent ) node.parent = parent | |
| }) | |
| module.exports = [ data ] |