very-small-parser
Version:
A very small Markdown, HTML, and CSS parser.
26 lines (25 loc) • 769 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromHast = void 0;
const fromHast = (node) => {
switch (node.type) {
case 'text': {
return node.value || '';
}
case 'element': {
const children = node.children.map(exports.fromHast);
return [node.tagName, node.properties || null, ...children];
}
case 'root': {
const children = node.children.map(exports.fromHast);
return ['', null].concat(children);
}
case 'comment': {
return ['!--', null, node.value || ''];
}
case 'doctype': {
return ['!DOCTYPE', null, node.value || ''];
}
}
};
exports.fromHast = fromHast;
;