Gathering detailed insights and metrics for hast-util-is-element
Gathering detailed insights and metrics for hast-util-is-element
Gathering detailed insights and metrics for hast-util-is-element
Gathering detailed insights and metrics for hast-util-is-element
hast-util-whitespace
hast utility to check if a node is inter-element whitespace
hast-util-embedded
hast utility to check if a node is an embedded element
hast-util-is-body-ok-link
hast utility to check if a link element is “Body OK”
hast-util-is-javascript
hast utility to check if an element is a JavaScript script
utility to check if a node is a (certain) element
npm install hast-util-is-element
Typescript
Module System
Node Version
NPM Version
99.4
Supply Chain
99.5
Quality
78
Maintenance
100
Vulnerability
100
License
JavaScript (75.05%)
TypeScript (24.95%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
12 Stars
105 Commits
7 Watchers
1 Branches
11 Contributors
Updated on Apr 28, 2024
Minified
Minified + Gzipped
Latest Version
3.0.0
Package Id
hast-util-is-element@3.0.0
Unpacked Size
25.72 kB
Size
6.37 kB
File Count
7
NPM Version
9.7.2
Node Version
20.0.0
Published on
Jul 31, 2023
Cumulative downloads
Total Downloads
1
hast utility to check if a node is a (certain) element.
This package is a small utility that checks that a node is a certain element.
Use this small utility if you find yourself repeating code for checking what elements nodes are.
A similar package, unist-util-is
, works on any unist node.
For more advanced tests, hast-util-select
can be used
to match against CSS selectors.
This package is ESM only. In Node.js (version 16+), install with npm:
1npm install hast-util-is-element
In Deno with esm.sh
:
1import {isElement} from 'https://esm.sh/hast-util-is-element@3'
In browsers with esm.sh
:
1<script type="module"> 2 import {isElement} from 'https://esm.sh/hast-util-is-element@3?bundle' 3</script>
1import {isElement} from 'hast-util-is-element' 2 3isElement({type: 'text', value: 'foo'}) // => false 4isElement({type: 'element', tagName: 'a', properties: {}, children: []}) // => true 5isElement({type: 'element', tagName: 'a', properties: {}, children: []}, 'a') // => true 6isElement({type: 'element', tagName: 'a', properties: {}, children: []}, 'b') // => false 7isElement({type: 'element', tagName: 'a', properties: {}, children: []}, ['a', 'area']) // => true
This package exports the identifiers
convertElement
and
isElement
.
There is no default export.
isElement(element[, test[, index, parent[, context]]])
Check if element
is an Element
and whether it passes the given test.
element
(unknown
, optional)
— thing to check, typically Node
test
(Test
, optional)
— check for a specific elementindex
(number
, optional)
— position of element
in its parentparent
(Parent
, optional)
— parent of element
context
(unknown
, optional)
— context object (this
) to call test
withWhether element
is an Element
and passes a test (boolean
).
When an incorrect test
, index
, or parent
is given.
There is no error thrown when element
is not a node or not an element.
convertElement(test)
Generate a check from a test.
Useful if you’re going to test many nodes, for example when creating a utility where something else passes a compatible test.
The created function is a bit faster because it expects valid input only:
a element
, index
, and parent
.
test
(Test
, optional)
— a test for a specific elementA check (Check
).
Check
Check that an arbitrary value is an element (TypeScript type).
this
(unknown
, optional)
— context object (this
) to call test
withelement
(unknown
)
— anything (typically an element)index
(number
, optional)
— position of element
in its parentparent
(Parent
, optional)
— parent of element
Whether this is an element and passes a test (boolean
).
Test
Check for an arbitrary element (TypeScript type).
string
, checks that the element has that tag namefunction
, see TestFunction
Array
, checks if one of the subtests pass1type Test = 2 | Array<TestFunction | string> 3 | TestFunction 4 | string 5 | null 6 | undefined
TestFunction
Check if an element passes a test (TypeScript type).
element
(Element
)
— an elementindex
(number
or undefined
)
— position of element
in its parentparent
(Parent
or undefined
)
— parent of element
Whether this element passes the test (boolean
, optional).
This package is fully typed with TypeScript.
It exports the additional types Check
,
Test
, and
TestFunction
.
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-is-element@^3
,
compatible with Node.js 16.
hast-util-is-element
does not change the syntax tree so there are no openings
for cross-site scripting (XSS) attacks.
hast-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-phrasing
— check if a node is phrasing contenthast-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.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
security policy file detected
Details
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
Found 1/30 approved changesets -- score normalized to 0
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-05-05
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn MoreLast Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year