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