Urara-Blog/node_modules/.pnpm-store/v3/files/3c/ebb91e11f1a0d2d0683562f8bbc8f9c9117047ee5874387e0210b59f00a625e09157eb4c2e1677fcec2f5e60b3d8bbb963cd29bddc4c7e4149a6f5e3d10fd6
2022-08-14 01:14:53 +08:00

28 lines
756 B
Text

import { List } from '../utils/List.js';
export function createConvertor(walk) {
return {
fromPlainObject(ast) {
walk(ast, {
enter(node) {
if (node.children && node.children instanceof List === false) {
node.children = new List().fromArray(node.children);
}
}
});
return ast;
},
toPlainObject(ast) {
walk(ast, {
leave(node) {
if (node.children && node.children instanceof List) {
node.children = node.children.toArray();
}
}
});
return ast;
}
};
};