var List = require('../utils/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; | |
} | |
}; | |
}; |