mirror of
https://github.com/Dvorinka/ClubLogos.git
synced 2026-06-04 20:12:57 +00:00
29 lines
756 B
JavaScript
29 lines
756 B
JavaScript
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;
|
|
}
|
|
};
|
|
};
|