agsamantha/node_modules/selderee/lib/DecisionTree.d.ts

35 lines
1.1 KiB
TypeScript
Raw Normal View History

2024-10-02 15:15:21 -05:00
import { BuilderFunction } from './Types';
/**
* CSS selectors decision tree.
* Data structure that weaves similar selectors together
* in order to minimize the number of checks required
* to find the ones matching a given HTML element.
*
* Converted into a functioning implementation via plugins
* tailored for specific DOM ASTs.
*
* @typeParam V - the type of values associated with selectors.
*/
export declare class DecisionTree<V> {
private readonly branches;
/**
* Create new DecisionTree object.
*
* @param input - an array containing all selectors
* paired with associated values.
*
* @typeParam V - the type of values associated with selectors.
*/
constructor(input: [string, V][]);
/**
* Turn this decision tree into a usable form.
*
* @typeParam R - return type defined by the builder function.
*
* @param builder - the builder function.
*
* @returns the decision tree in a form ready for use.
*/
build<R>(builder: BuilderFunction<V, R>): R;
}