@nuxtjs/mdc
Version:
Nuxt MDC module
27 lines (26 loc) • 903 B
JavaScript
export default function list(state, node) {
const properties = {};
const results = state.all(node);
let index = -1;
if (typeof node.start === "number" && node.start !== 1) {
properties.start = node.start;
}
while (++index < results.length) {
const child = results[index];
if (child.type === "element" && child.tagName === "li" && child.properties && Array.isArray(child.properties.className) && child.properties.className.includes("task-list-item")) {
properties.className = ["contains-task-list"];
break;
}
}
if ((node.children || []).some((child) => typeof child.checked === "boolean")) {
properties.className = ["contains-task-list"];
}
const result = {
type: "element",
tagName: node.ordered ? "ol" : "ul",
properties,
children: state.wrap(results, true)
};
state.patch(node, result);
return state.applyData(node, result);
}