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; } }; };