select-dom
Version:
Extra lightweight DOM selector helper
67 lines (66 loc) • 4.49 kB
TypeScript
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 $<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected | undefined;
declare function $<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 expectElement<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected;
declare function expectElement<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 lastElement<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected | undefined;
declare function lastElement<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 $$<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 [baseElements] The element or list of elements to look inside of
* @return An array of elements found
*/
declare function expectElements<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElements?: BaseElements): Selected[];
declare function expectElements<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 look inside of
* @return The element found, or an error
*/
declare function expectLastElement<Selector extends string, Selected extends Element = ParseSelector<Selector, HTMLElement>>(selectors: Selector | readonly Selector[], baseElement?: ParentNode): Selected;
declare function expectLastElement<Selected extends Element = HTMLElement>(selectors: string | readonly string[], baseElement?: ParentNode): Selected;
export { $, $$, lastElement, elementExists, assertElementExists, countElements, expectElement, expectElements, expectLastElement, };