0.5.7 • Published 2 years ago
@blackglory/query v0.5.7
query
A module for querying elements from pages.
Install
npm install --save @blackglory/query
# or
yarn add @blackglory/queryUsage
import { query, css, xpath } from '@blackglory/query'
const elements = query(
css`main`
, xpath`.//h2[text()="Title"]`
, xpath`../div`
)API
type ISelectorResult =
| null
| undefined
| Node
| Iterable<Node>
type ISelector =
| ((node: Node) => ISelectorResult)
| ((this: Document, node: Node) => ISelectorResult)
| ISelector[]query
function query<T extends Node>(
this: void | Document
, root: Node | Iterable<Node>
, ...selectors: ISelector[]
): T | undefined
function query<T extends Node>(
this: void | Document
, ...selectors: [ISelector, ...ISelector[]]
): T | undefinedqueryAll
function queryAll<T extends Node>(
this: void | Document
, root: Node | Iterable<Node>
, ...selectors: ISelector[]
): T[]
function queryAll<T extends Node>(
this: void | Document
, ...selectors: [ISelector, ...ISelector[]]
): T[]Selectors
css
function css<T extends Element>(
strings: TemplateStringsArray
, ...values: string[]
): (node: Node) => Iterable<T>
function css<T extends Element>(
selector: string
): (node: Node) => Iterable<T>xpath
function xpath<T extends Node>(
strings: TemplateStringsArray
, ...values: string[]
): (this: Document, node: Node) => Iterable<T>
function xpath<T extends Node>(
expression: string
): (this: Document, node: Node) => Iterable<T>ancestor
function ancestor<T extends Node & ParentNode>(
predicate: (node: Node, nth: number) => unknown = () => true
): (node: Node) => T | undefinednthAncestor
function nthAncestor<T extends Node>(nth: number): (node: Node) => T | undefinednextSibling
function nextSibling<T extends ChildNode>(
predicate: (node: Node, nth: number) => unknown = () => true
): (node: Node) => T | undefinedpreviousSibling
function previousSibling<T extends ChildNode>(
predicate: (node: Node, nth: number) => unknown = () => true
): (node: Node) => T | undefinednextNthSibling
function nextNthSibling<T extends ChildNode>(
nth: number
): (node: Node) => T | undefinedpreviousNthSibling
function previousNthSibling<T extends ChildNode>(
nth: number
): (node: Node) => T | undefinednextElementSibling
function nextElementSibling<T extends Element>(
predicate: (node: Node, nth: number) => unknown = () => true
): (node: Node) => T | undefinedpreviousElementSibling
function previousElementSibling<T extends Element>(
predicate: (node: Node, nth: number) => unknown = () => true
): (node: Node) => T | undefinednextNthElementSibling
function nextNthElementSibling<T extends Element>(
nth: number
): (node: Node) => T | undefinedpreviousNthElementSibling
function previousNthElementSibling<T extends Element>(
nth: number
): (node: Node) => T | undefinedfollowingSiblings
function followingSiblings<T extends ChildNode>(
predicate: (node: ChildNode, nth: number) => unknown = () => true
): (node: Node) => Iterable<T>precedingSiblings
function precedingSiblings<T extends ChildNode>(
predicate: (node: ChildNode, nth: number) => unknown = () => true
): (node: Node) => Iterable<T>followingElementSiblings
function followingElementSiblings<T extends Element>(
predicate: (node: Element, nth: number) => unknown = () => true
): (node: Node) => Iterable<T>precedingElementSibling
function precedingElementSibling<T extends Element>(
predicate: (node: Element, nth: number) => unknown = () => true
): (node: Node) => Iterable<T>0.5.7
2 years ago
0.5.6
3 years ago
0.5.5
3 years ago
0.5.4
4 years ago
0.5.3
4 years ago
0.5.2
4 years ago
0.5.1
4 years ago
0.4.4
4 years ago
0.5.0
4 years ago
0.4.3
5 years ago
0.4.1
5 years ago
0.4.0
5 years ago
0.4.2
5 years ago
0.3.13
5 years ago
0.3.12
5 years ago
0.3.11
5 years ago
0.3.10
5 years ago
0.3.9
5 years ago
0.3.8
5 years ago
0.3.7
5 years ago
0.3.6
5 years ago
0.3.5
5 years ago
0.3.4
5 years ago
0.3.3
5 years ago
0.3.2
5 years ago
0.3.1
5 years ago
0.3.0
5 years ago
0.2.0
6 years ago
0.1.1
6 years ago
0.1.0
6 years ago