UNPKG

@forest-js/core

Version:

A tiny, functional DOM engine with explicit update and real DOM.

52 lines 1.65 kB
import { Utility } from "../types"; /** * @function createUtility * @description Creates a utility function that enqueues a function to be executed on the next tick. * Useful for batching updates to avoid layout thrashing. * * @template E - Element type. * @param fn - The function to be executed. * @returns A utility function that processes the element. * @example * ```ts * const delayedUpdate = createUtility<HTMLDivElement>((el) => { * el.style.color = "blue"; * return el; * }); * ``` */ export declare const createUtility: <E extends Element>(fn: (el: E) => void) => Utility<E>; /** * @function use * @description Combines multiple utility functions into a single utility. * Sequentially applies each utility to the element. * * @template E - Element type. * @param utils - Array of utility functions to combine * @returns Combined utility function * @example * ```ts * const combinedUtility = use<HTMLDivElement>( * addAttribute({ "data-active": true }) * ); * * combinedUtility(MyElement); * ``` */ export declare const use: <E extends Element>(...utils: Utility<E>[]) => Utility<E>; /** * @function decorate * @description Directly applies multiple utility functions to an element. * Similar to UseUtility but applies immediately. * * @template E - Element type. * @param el - Element to decorate * @param utils - Array of utility functions to apply * @returns Decorated element * @example * ```ts * decorate(MyElement, addAttribute({ "data-active": true })); * ``` */ export declare const decorate: <E extends Element>(el: E, ...utils: Utility<E>[]) => E; //# sourceMappingURL=core.d.ts.map