What is hast-util-phrasing?
The `hast-util-phrasing` package is a utility for working with phrasing content in the HAST (Hypertext Abstract Syntax Tree) format. It helps in identifying and manipulating phrasing content, which includes text and elements that can be found within paragraphs.
What are hast-util-phrasing's main functionalities?
Check if a node is phrasing content
This feature allows you to check if a given node is considered phrasing content. In this example, a text node is checked and returns true.
const { isPhrasing } = require('hast-util-phrasing');
const node = { type: 'text', value: 'Hello, world!' };
console.log(isPhrasing(node)); // true
Filter phrasing content from a list of nodes
This feature allows you to filter out only the phrasing content from a list of nodes. In this example, only the text node is considered phrasing content and is included in the result.
const { isPhrasing } = require('hast-util-phrasing');
const nodes = [
{ type: 'text', value: 'Hello, world!' },
{ type: 'element', tagName: 'div', children: [] }
];
const phrasingNodes = nodes.filter(isPhrasing);
console.log(phrasingNodes); // [{ type: 'text', value: 'Hello, world!' }]
Other packages similar to hast-util-phrasing
unist-util-visit
The `unist-util-visit` package is used to recursively walk through a Unist syntax tree, which includes HAST. It allows you to visit nodes of a specific type and perform operations on them. While it doesn't specifically target phrasing content, it can be used to traverse and manipulate nodes in a similar way.
hast-util-to-string
The `hast-util-to-string` package is used to convert HAST nodes to plain text. It is useful for extracting text content from HAST trees, which can include phrasing content. However, it focuses on text extraction rather than identifying or filtering phrasing content.
hast-util-phrasing
hast utility to check if a node is phrasing
content.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install hast-util-phrasing
Use
import {phrasing} from 'hast-util-phrasing'
phrasing({
type: 'element',
tagName: 'div',
children: [{type: 'text', value: 'Alpha'}]
})
phrasing({
type: 'element',
tagName: 'meta',
properties: {itemProp: 'bravo'},
children: []
})
phrasing({
type: 'element',
tagName: 'meta',
properties: {charSet: 'utf8'},
children: []
})
phrasing({type: 'text', value: 'Delta'})
API
This package exports the following identifiers: phrasing
.
There is no default export.
phrasing(node)
Check if the given value is phrasing content.
Parameters
node
(*
) — Value to check, typically Node
.
Returns
boolean
— Whether node
passes the test.
Security
hast-util-phrasing
does not change the syntax 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 © Titus Wormer