redis-smq-common
Version:
Provides essential components and utilities shared across RedisSMQ packages.
11 lines • 653 B
TypeScript
export interface ICallback<TResult = void> {
(err?: Error | null, result?: TResult): void;
(err: null | undefined, result: TResult): void;
}
export type TAsyncOperation<TResult> = (cb: ICallback<TResult>) => void;
export type TAsyncOperationList = Array<TAsyncOperation<unknown>>;
export type ExtractAsyncOperationReturnType<T extends TAsyncOperation<unknown>> = T extends TAsyncOperation<infer R> ? R : never;
export type MapAsyncOperationReturnTypeToResult<AsyncOperationList extends TAsyncOperationList> = {
[K in keyof AsyncOperationList]: ExtractAsyncOperationReturnType<AsyncOperationList[K]>;
};
//# sourceMappingURL=callback.d.ts.map