| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 | | '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 ] | 
 |