UNPKG

@kitiumai/utils-ts

Version:

Comprehensive TypeScript utilities for KitiumAI projects

63 lines 2.01 kB
/** * Function utility functions */ /** * Compose functions from right to left */ export declare function compose<T, R>(...fns: Array<(arg: unknown) => unknown>): (arg: T) => R; /** * Pipe functions from left to right */ export declare function pipe<T, R>(...fns: Array<(arg: unknown) => unknown>): (arg: T) => R; /** * Debounce function execution */ export declare function debounce<T extends (...args: unknown[]) => unknown>(fn: T, delay: number): (...args: Parameters<T>) => void; /** * Throttle function execution */ export declare function throttle<T extends (...args: unknown[]) => unknown>(fn: T, interval: number): (...args: Parameters<T>) => void; /** * Memoize function results */ export declare function memoize<T extends (...args: unknown[]) => unknown>(fn: T, resolver?: (...args: Parameters<T>) => string): T; /** * Execute function only once */ export declare function once<T extends (...args: unknown[]) => unknown>(fn: T): T; /** * Partial application (curry) * Note: Simple implementation for common use cases */ export declare function curry<T extends (...args: any[]) => any>(fn: T, arity?: number): any; /** * Delay function execution */ export declare function delay<T extends (...args: unknown[]) => unknown>(fn: T, ms: number): (...args: Parameters<T>) => Promise<ReturnType<T>>; /** * Negate function result */ export declare function negate<T extends (...args: unknown[]) => boolean>(fn: T): (...args: Parameters<T>) => boolean; /** * Call function with try-catch and return result or error */ export declare function attempt<T>(fn: () => T): { success: true; value: T; } | { success: false; error: Error; }; /** * Create function that always returns same value */ export declare function constant<T>(value: T): () => T; /** * Identity function (returns its argument) */ export declare function identity<T>(value: T): T; /** * No-op function (does nothing) */ export declare function noop(): void; //# sourceMappingURL=function.d.ts.map