/**
* @typedef {import('mdast').Html} Html
* @typedef {import('mdast').PhrasingContent} PhrasingContent
*/
import {convert} from 'unist-util-is'
/**
* Check if the given value is *phrasing content*.
*
* > 👉 **Note**: Excludes `html`, which can be both phrasing or flow.
*
* @param node
* Thing to check, typically `Node`.
* @returns
* Whether `value` is phrasing content.
*/
export const phrasing =
/** @type {(node?: unknown) => node is Exclude} */
(
convert([
'break',
'delete',
'emphasis',
// To do: next major: removed since footnotes were added to GFM.
'footnote',
'footnoteReference',
'image',
'imageReference',
'inlineCode',
// Enabled by `mdast-util-math`:
'inlineMath',
'link',
'linkReference',
// Enabled by `mdast-util-mdx`:
'mdxJsxTextElement',
// Enabled by `mdast-util-mdx`:
'mdxTextExpression',
'strong',
'text',
// Enabled by `mdast-util-directive`:
'textDirective'
])
)