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
Check if a node is a phrasing content.
Installation
npm:
npm install hast-util-phrasing
Usage
var phrasing = require('.')
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
phrasing(node)
Check if the given value is a phrasing content.
Parameters
node
(*
) — Value to check.
Returns
boolean
— Whether node
passes the test.
Contribute
See contributing.md
in syntax-tree/hast
for ways to get
started.
This organisation has a Code of Conduct. By interacting with this
repository, organisation, or community you agree to abide by its terms.
License
MIT © Titus Wormer