29 lines
		
	
	
		
			804 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			804 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var List = require('../common/List');
 | |
| 
 | |
| module.exports = function createConvertors(walk) {
 | |
|     return {
 | |
|         fromPlainObject: function(ast) {
 | |
|             walk(ast, {
 | |
|                 enter: function(node) {
 | |
|                     if (node.children && node.children instanceof List === false) {
 | |
|                         node.children = new List().fromArray(node.children);
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             return ast;
 | |
|         },
 | |
|         toPlainObject: function(ast) {
 | |
|             walk(ast, {
 | |
|                 leave: function(node) {
 | |
|                     if (node.children && node.children instanceof List) {
 | |
|                         node.children = node.children.toArray();
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             return ast;
 | |
|         }
 | |
|     };
 | |
| };
 |