@shutootaki/gwm
Version:
git worktree manager CLI
55 lines • 2.13 kB
TypeScript
/**
* 非同期処理共通ユーティリティ
*/
/**
* 並列実行制御付きでタスクを実行する
* @param tasks 実行するタスクの配列
* @param concurrency 最大並列数
* @returns すべてのタスクの結果
*/
export declare function executeWithConcurrency<T>(tasks: (() => Promise<T>)[], concurrency: number): Promise<T[]>;
/**
* タイムアウト付きでPromiseを実行する
* @param promise 実行するPromise
* @param timeoutMs タイムアウト時間(ミリ秒)
* @returns 結果またはタイムアウトエラー
*/
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
/**
* 失敗時にリトライする
* @param fn 実行する関数
* @param maxRetries 最大リトライ回数
* @param delayMs リトライ間隔(ミリ秒)
* @returns 結果
*/
export declare function withRetry<T>(fn: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>;
/**
* 指定時間待機する
* @param ms 待機時間(ミリ秒)
*/
export declare function sleep(ms: number): Promise<void>;
/**
* 配列の各要素に対して非同期関数を順次実行する
* @param items 処理する配列
* @param fn 各要素に適用する非同期関数
* @returns 結果の配列
*/
export declare function mapSequential<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>): Promise<U[]>;
/**
* 配列の各要素に対して非同期関数を並列実行する(制限あり)
* @param items 処理する配列
* @param fn 各要素に適用する非同期関数
* @param concurrency 最大並列数
* @returns 結果の配列
*/
export declare function mapConcurrent<T, U>(items: T[], fn: (item: T, index: number) => Promise<U>, concurrency?: number): Promise<U[]>;
/**
* すべてのPromiseが完了するまで待機し、成功・失敗を区別する
* @param promises 実行するPromiseの配列
* @returns 成功・失敗の結果
*/
export declare function allSettled<T>(promises: Promise<T>[]): Promise<{
succeeded: T[];
failed: Error[];
}>;
//# sourceMappingURL=async.d.ts.map