Skip to content

Latest commit

 

History

History
executable file
·
197 lines (118 loc) · 5.42 KB

README.md

File metadata and controls

executable file
·
197 lines (118 loc) · 5.42 KB

Note This repository is automatically generated from the main parser monorepo. Please submit any issues or pull requests there.

xast-util-select

npm version npm downloads

Port of (hast-util-select)[https://github.com/syntax-tree/hast-util-select] for use with xast nodes.

Contents

What is this?

A tool which allows you to select items from xast trees using CSS-like queries.

This is a very naive port, so there's still a lot of HTML-specific logic included that could be removed to improve the size and efficiency of the program.

Caveats

One thing to watch out for is that it's much more common to find <namespace:tagname/> style tags in XML. Make sure you escape the colon

const node = select('namespace\\:tagname', tree)

This is also something that could be improved in the future as pseudo-class selectors are not really necessary in generic XML, but I want to keep the API as similar to hast-util-select as possible for the time being.

When should I use this?

You are doing something low level with xast trees.

Install

This package is ESM only. In Node.js (version 12.20+, 14.14+, 16.0+, 18.0+), install as

pnpm add xast-util-select
# or with yarn
# yarn add xast-util-select
# or with npm
# npm install xast-util-select

Use

API


matches()

Signature

matches(selector: string, node?: XastNode, space?: Space): boolean;

Parameters

Name Type
selector string
node? XastNode
space? Space

Returns

boolean

Defined in: index.ts:6


select()

Signature

select(selector: string, node?: XastNode, space?: Space): Element | null;

Parameters

Name Type
selector string
node? XastNode
space? Space

Returns

Element | null

Defined in: index.ts:10


selectAll()

Signature

selectAll(selector: string, node?: XastNode, space?: Space): Element[];

Parameters

Name Type
selector string
node? XastNode
space? Space

Returns

Element[]

Defined in: index.ts:14

Compatibility

Related

Contribute

License

MIT © Thomas F. K. Jorna