UNPKG

@itrocks/build

Version:

Permanently apply javascript modifiers to your dynamic DOM

20 lines (19 loc) 1.35 kB
export declare const ALWAYS = "always"; export declare const CALL = "call"; type BuildEventCall = typeof CALL; type BuildEventType = keyof GlobalEventHandlersEventMap; type BuildElementCallback<E extends Element> = (element: E) => any; type BuildEventCallback<E extends Element, V extends BuildEventType> = (this: E, event: GlobalEventHandlersEventMap[V]) => any; export type BuildEvent<E extends Element, V extends BuildEventCall | BuildEventType> = { args?: any[]; callback: V extends BuildEventType ? BuildEventCallback<E, V> : BuildElementCallback<E>; type?: V; priority?: number; selector?: string | string[]; }; export declare function build<E extends Element>(callback: BuildElementCallback<E>): void; export declare function build<E extends Element, V extends BuildEventCall | BuildEventType>(event: BuildEvent<E, V>): void; export declare function build<E extends Element>(selector: string | string[], callback: BuildElementCallback<E>): void; export declare function build<E extends Element>(selector: string | string[], type: BuildEventCall, callback: BuildElementCallback<E>): void; export declare function build<E extends Element, V extends BuildEventCall | BuildEventType>(selector: string | string[], type: V, callback: V extends BuildEventType ? BuildEventCallback<E, V> : BuildElementCallback<E>): void; export {};