UNPKG

select-dom

Version:

Lightweight querySelector/All/closest wrapper that returns an array and optionally throws if elements are not found

85 lines (84 loc) 5.97 kB
import type { ParseSelector } from 'typed-query-selector/parser.js'; type BaseElements = ParentNode | Iterable<ParentNode>; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return The element found, if any */ declare function $optional<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected | undefined; declare function $optional<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: ParentNode): Selected | undefined; export declare class ElementNotFoundError extends Error { name: string; } /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return The element found, or an error */ declare function $<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected; declare function $<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: ParentNode): Selected; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return The element found, if any */ declare function lastElementOptional<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected | undefined; declare function lastElementOptional<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: ParentNode): Selected | undefined; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return Whether it's been found */ declare function elementExists(selectors: string | readonly string[], baseElement?: ParentNode): boolean; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return void or throws an error */ declare function assertElementExists(selectors: string | readonly string[], baseElement?: ParentNode): void; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return The number of elements found */ declare function countElements(selectors: string | readonly string[], baseElement?: ParentNode): number; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElements] The element or list of elements to look inside of * @return An array of elements found */ declare function $$optional<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElements?: BaseElements): Selected[]; declare function $$optional<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElements?: BaseElements): Selected[]; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElements] The element or list of elements to look inside of * @return An array of elements found */ declare function $$<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElements?: BaseElements): Selected[]; declare function $$<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElements?: BaseElements): Selected[]; /** * @param selectors One or more CSS selectors separated by commas * @param baseElement The element to start searching from (text nodes are supported) * @return The closest matching element (including self) found, if any */ declare function closestElementOptional<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: Node): Selected | undefined; declare function closestElementOptional<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: Node): Selected | undefined; /** * @param selectors One or more CSS selectors separated by commas * @param baseElement The element to start searching from (text nodes are supported) * @return The closest matching element (including self) found, or an error */ declare function closestElement<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: Node): Selected; declare function closestElement<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: Node): Selected; /** @deprecated Use `closestElement` instead. */ declare const $closest: typeof closestElement; /** @deprecated Use `closestElementOptional` instead. */ declare const $closestOptional: typeof closestElementOptional; /** * @param selectors One or more CSS selectors separated by commas * @param [baseElement] The element to look inside of * @return The element found, or an error */ declare function lastElement<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected; declare function lastElement<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: ParentNode): Selected; export { $, $$, closestElement, lastElement, $optional, $$optional, closestElementOptional, lastElementOptional, elementExists, assertElementExists, countElements, $closest, $closestOptional, };