Urara-Blog/node_modules/.pnpm-store/v3/files/47/49ca63dd9d5dff01444ee19c90bb7cfb30512d6a040025b488747626e4585de2f3f87eda54144a45cc2792a389ee3cbffa05ba0b51e4a0c83da86d234f2d2a
2022-08-14 01:14:53 +08:00

28 lines
804 B
Text

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