UNPKG

@kitiumai/utils-ts

Version:

Comprehensive TypeScript utilities for KitiumAI projects

68 lines 2 kB
/** * Async/Promise utility functions */ /** * Sleep for specified milliseconds */ export declare function sleep(ms: number): Promise<void>; /** * Retry options */ export interface RetryOptions { retries?: number; delay?: number; backoff?: number; onRetry?: (error: Error, attempt: number) => void; } /** * Retry async function with exponential backoff */ export declare function retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>; /** * Add timeout to promise */ export declare function timeout<T>(promise: Promise<T>, ms: number, message?: string): Promise<T>; /** * Run promises in parallel */ export declare function parallel<T>(fns: Array<() => Promise<T>>): Promise<T[]>; /** * Run promises in series (one after another) */ export declare function series<T>(fns: Array<() => Promise<T>>): Promise<T[]>; /** * Run async function with concurrency limit */ export declare function concurrency<T, R>(items: T[], fn: (item: T) => Promise<R>, limit: number): Promise<R[]>; /** * Promisify callback-based function */ export declare function promisify<TArgs extends unknown[], R>(fn: (...args: [...TArgs, (error: Error | null, result?: R) => void]) => void): (...args: TArgs) => Promise<R>; /** * Wrap promise to never reject */ export declare function settled<T>(promise: Promise<T>): Promise<{ success: true; value: T; } | { success: false; error: Error; }>; /** * Race promises, return first to complete (success or failure) */ export declare function race<T>(promises: Array<Promise<T>>): Promise<T>; /** * Wait for all promises to settle (fulfilled or rejected) */ export declare function allSettled<T>(promises: Array<Promise<T>>): Promise<Array<PromiseSettledResult<T>>>; /** * Defer promise creation */ export interface Deferred<T> { promise: Promise<T>; resolve: (value: T) => void; reject: (error: Error) => void; } export declare function deferred<T>(): Deferred<T>; //# sourceMappingURL=async.d.ts.map