UNPKG

vevet

Version:

Vevet is a JavaScript library for creative development that simplifies crafting rich interactions like split text animations, carousels, marquees, preloading, and more.

40 lines 1.21 kB
/** * todo */ export interface ICallbacksProps<Ctx> { ctx?: Ctx; } /** * Maps event types to their callback parameter types. */ export interface ICallbacksMap { } /** * Configurable settings for a callback. */ export interface ICallbacksSettings { /** Optional name for debugging. */ name?: string; /** Execution delay in milliseconds; `undefined` means no timeout. */ timeout?: number; /** Marks the callback as protected, preventing its removal. */ protected?: boolean; /** Removes the callback after its first execution. */ once?: boolean; } /** * Defines a callback function's signature. */ export type TCallbacksAction<Parameter, Ctx> = Parameter extends undefined ? (data: undefined, ctx: Ctx) => void : (data: Parameter, ctx: Ctx) => void; /** * Represents a registered callback with its settings and metadata. */ export interface ICallback<Types, Ctx> extends ICallbacksSettings { /** Unique identifier for the callback. */ id: string; /** Event name associated with the callback. */ target: keyof Types; /** Callback function to execute. */ action: TCallbacksAction<Types[keyof Types], Ctx>; } //# sourceMappingURL=types.d.ts.map