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.
Contents
What is this?
This package is a small utility that checks if a node is phrasing content
according to HTML.
When should I use this?
This utility is super niche, if you’re here you probably know what you’re
looking for!
Install
This package is ESM only.
In Node.js (version 12.20+, 14.14+, 16.0+, or 18.0+), install with npm:
npm install hast-util-phrasing
In Deno with esm.sh
:
import {phrasing} from 'https://esm.sh/hast-util-phrasing@2'
In browsers with esm.sh
:
<script type="module">
import {phrasing} from 'https://esm.sh/hast-util-phrasing@2?bundle'
</script>
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 identifier phrasing
.
There is no default export.
phrasing(node)
Check if the given value is phrasing content.
Parameters
node
(*
) — Value to check, typically Node
.
Returns
Whether node
passes the test (boolean
).
Types
This package is fully typed with TypeScript.
It exports no additional types.
Compatibility
Projects maintained by the unified collective are compatible with all maintained
versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, 16.0+, and 18.0+.
Our projects sometimes work with older versions, but this is not guaranteed.
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