react-markdown
Version:
Render Markdown as React components
40 lines (39 loc) • 1.04 kB
TypeScript
export = rehypeFilter
/**
* @typedef {import('hast').Root} Root
* @typedef {import('hast').Element} Element
*
* @callback AllowElement
* @param {Element} element
* @param {number} index
* @param {Element|Root} parent
* @returns {boolean}
*
* @typedef {Object} RehypeFilterOptions
* @property {Array.<string>} [allowedElements]
* @property {Array.<string>} [disallowedElements=[]]
* @property {AllowElement} [allowElement]
* @property {boolean} [unwrapDisallowed=false]
*/
/**
* @param {RehypeFilterOptions} options
*/
declare function rehypeFilter(
options: RehypeFilterOptions
): (tree: Root) => void
declare namespace rehypeFilter {
export {Root, Element, AllowElement, RehypeFilterOptions}
}
type RehypeFilterOptions = {
allowedElements?: Array<string>
disallowedElements?: Array<string>
allowElement?: AllowElement
unwrapDisallowed?: boolean
}
type Root = import('hast').Root
type Element = import('hast').Element
type AllowElement = (
element: Element,
index: number,
parent: Element | Root
) => boolean