()
| 30 | this.top.children.push(e)}openNode(e){const t=o({scope:e}) |
| 31 | ;this.add(t),this.stack.push(t)}closeNode(){ |
| 32 | if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ |
| 33 | for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} |
| 34 | walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ |
| 35 | return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), |
| 36 | t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ |