@bitblit/ratchet-common
Version:
Common tools for general use
19 lines (18 loc) • 1.51 kB
TypeScript
import { TimeoutToken } from './timeout-token.js';
import { LoggerLevelName } from '../logger/logger-level-name.js';
export declare class PromiseRatchet {
static resolveOnEvent<T>(evtSrc: any, okEvtNames: string[], errEvtNames?: string[], rval?: T): Promise<T>;
static timeout<T>(srcPromise: Promise<T>, title: string, timeoutMS: number): Promise<T | TimeoutToken>;
static createTimeoutPromise(title: string, timeoutMS: number): Promise<TimeoutToken>;
static wait(time: number): Promise<void>;
static dumpResult(result: any): void;
static dumpError(err: any): void;
static logErrorAndReturnNull(err: any): void;
static runPromiseAndDump<T>(promise: Promise<T>): void;
static waitFor(testFunction: (n: number) => any, expectedValue: any, intervalMS: number, maxCycles: number, label?: string, count?: number): Promise<boolean>;
static runBoundedParallel<T>(promiseFn: (...args: any[]) => Promise<T> | undefined, params: any[][], context: any, maxConcurrent?: number, logLevel?: LoggerLevelName): Promise<T[]>;
static runBoundedParallelSingleParam<T>(promiseFn: (arg: any) => Promise<T> | undefined, params: any[], context: any, maxConcurrent?: number, logLevel?: LoggerLevelName): Promise<T[]>;
static asyncForEachSerial<T, R>(array: any[], callback: (val: T, idx: number, arr: T[]) => Promise<R>): Promise<void>;
static asyncForEachParallel<T>(array: T[], callback: (val: T, idx: number, arr: T[]) => Promise<any>): Promise<void>;
private constructor();
}