What is mdast-util-phrasing?
The `mdast-util-phrasing` package is a utility for working with MDAST (Markdown Abstract Syntax Tree) nodes that are considered 'phrasing content'. Phrasing content includes text and inline elements that can appear within a paragraph in Markdown. This package helps in identifying and manipulating such nodes.
What are mdast-util-phrasing's main functionalities?
Check if a node is phrasing content
This feature allows you to check if a given MDAST node is considered phrasing content. In the example, the node is a text node, which is phrasing content, so the function returns true.
const { phrasing } = require('mdast-util-phrasing');
const node = { type: 'text', value: 'Hello, world!' };
console.log(phrasing(node)); // true
Filter phrasing content from a list of nodes
This feature allows you to filter out only the phrasing content nodes from a list of MDAST nodes. In the example, only the text node is considered phrasing content, so it is the only node that remains after filtering.
const { phrasing } = require('mdast-util-phrasing');
const nodes = [
{ type: 'text', value: 'Hello, world!' },
{ type: 'paragraph', children: [] }
];
const phrasingNodes = nodes.filter(phrasing);
console.log(phrasingNodes); // [{ type: 'text', value: 'Hello, world!' }]
Other packages similar to mdast-util-phrasing
unist-util-visit
The `unist-util-visit` package is a utility for recursively visiting nodes in a Unist syntax tree, which includes MDAST. While it doesn't specifically focus on phrasing content, it can be used to traverse and manipulate nodes in a similar way.
mdast-util-to-string
The `mdast-util-to-string` package is used to get the plain text content of an MDAST node. It is useful for extracting text from nodes, but it doesn't specifically identify or filter phrasing content like `mdast-util-phrasing`.
unist-util-select
The `unist-util-select` package allows you to select nodes in a Unist tree using CSS-like selectors. It can be used to find and manipulate specific types of nodes, including phrasing content, but it uses a different approach compared to `mdast-util-phrasing`.
mdast-util-phrasing

mdast utility to check if a node is phrasing content.
Contents
What is this?
This package is a tiny utility to check that a given node is phrasing
content.
When should I use this?
This utility is typically useful if you’re making other utilities.
It uses unist-util-is
, which you can use for your own checks.
A different utility, hast-util-phrasing
, does the same
but on hast.
Install
This package is ESM only.
In Node.js (version 16+), install with npm:
npm install mdast-util-phrasing
In Deno with esm.sh
:
import {phrasing} from 'https://esm.sh/mdast-util-phrasing@4'
In browsers with esm.sh
:
<script type="module">
import {phrasing} from 'https://esm.sh/mdast-util-phrasing@4?bundle'
</script>
Use
import {phrasing} from 'mdast-util-phrasing'
phrasing({type: 'paragraph', children: [{type: 'text', value: 'Alpha'}]})
phrasing({type: 'strong', children: [{type: 'text', value: 'Delta'}]})
API
This package exports the identifier phrasing
.
There is no default export.
phrasing(value)
Check if the given value is phrasing content.
👉 Note: Excludes html
, which can be both phrasing or flow.
Parameters
value
(unknown
)
— thing to check, typically Node
Returns
Whether value
is phrasing content (boolean
).
Types
This package is fully typed with TypeScript.
It does not export extra types.
Compatibility
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line, mdast-util-phrasing@^4
,
compatible with Node.js 16.
Security
Use of mdast-util-phrasing
does not involve hast, user content, or
change the tree, so there are no openings for cross-site scripting (XSS)
attacks.
Related
Contribute
See contributing.md
in syntax-tree/.github
for
ways to get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Victor Felder