redis-smq-common
Version:
RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.
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