
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
hast-util-phrasing
Advanced tools
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.
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!' }]
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.
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 utility to check if a node is phrasing content.
This package is a small utility that checks if a node is phrasing content according to HTML.
This utility is super niche, if you’re here you probably know what you’re looking for!
This package is ESM only. In Node.js (version 16+), install with npm:
npm install hast-util-phrasing
In Deno with esm.sh
:
import {phrasing} from 'https://esm.sh/hast-util-phrasing@3'
In browsers with esm.sh
:
<script type="module">
import {phrasing} from 'https://esm.sh/hast-util-phrasing@3?bundle'
</script>
import {phrasing} from 'hast-util-phrasing'
// Given flow content:
phrasing({
type: 'element',
tagName: 'div',
children: [{type: 'text', value: 'Alpha'}]
})
// => false
// Given a phrasing element:
phrasing({
type: 'element',
tagName: 'meta',
properties: {itemProp: 'bravo'},
children: []
})
// => true
// Given a non-phrasing element:
phrasing({
type: 'element',
tagName: 'meta',
properties: {charSet: 'utf8'},
children: []
})
// => false
// Given text:
phrasing({type: 'text', value: 'Delta'})
// => true
This package exports the identifier phrasing
.
There is no default export.
phrasing(value)
Check if the given value is phrasing content.
value
(Node
)
— node to checkWhether value
is phrasing content (boolean
).
This package is fully typed with TypeScript. It exports no additional types.
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, hast-util-phrasing@^3
,
compatible with Node.js 16.
hast-util-phrasing
does not change the syntax tree so there are no openings
for cross-site scripting (XSS) attacks.
hast-util-is-element
— check if a node is a (certain) elementhast-util-has-property
— check if a node has a propertyhast-util-is-body-ok-link
— check if a node is “Body OK” link elementhast-util-is-conditional-comment
— check if a node is a conditional commenthast-util-is-css-link
— check if a node is a CSS link elementhast-util-is-css-style
— check if a node is a CSS style elementhast-util-embedded
— check if a node is an embedded elementhast-util-heading
— check if a node is a heading elementhast-util-interactive
— check if a node is interactivehast-util-is-javascript
— check if a node is a JavaScript script elementhast-util-labelable
— check whether a node is labelablehast-util-script-supporting
— check if a node is a script-supporting elementhast-util-sectioning
— check if a node is a sectioning elementhast-util-transparent
— check if a node is a transparent elementhast-util-whitespace
— check if a node is inter-element whitespaceSee 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.
FAQs
hast utility to check if a node is phrasing content
The npm package hast-util-phrasing receives a total of 206,359 weekly downloads. As such, hast-util-phrasing popularity was classified as popular.
We found that hast-util-phrasing demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.