Files
documentation/node_modules/@mdx-js/mdx/lib/plugin/rehype-remove-raw.js
2024-03-22 03:47:51 +05:30

32 lines
618 B
JavaScript

/**
* @typedef {import('hast').Root} Root
*/
import {visit} from 'unist-util-visit'
/**
* A tiny plugin that removes raw HTML.
*
* This is needed if the format is `md` and `rehype-raw` was not used to parse
* dangerous HTML into nodes.
*
* @returns
* Transform.
*/
export function rehypeRemoveRaw() {
/**
* @param {Root} tree
* Tree.
* @returns {undefined}
* Nothing.
*/
return function (tree) {
visit(tree, 'raw', function (_, index, parent) {
if (parent && typeof index === 'number') {
parent.children.splice(index, 1)
return index
}
})
}
}