minh-custom-hooks-release
Version:
Đây là custom hooks được viết bởi hoanggminh2702, bao gồm:
20 lines (19 loc) • 911 B
TypeScript
import type { Observable } from 'rxjs';
export type ExtractGeneric<T extends Observable<any> | Promise<any>> = T extends Observable<infer R> | Promise<infer R> ? R : never;
export type UseTaskObservable<TFunc extends (...args: any[]) => Promise<any> | Observable<any>, TPreHandlerResult extends ReturnType<Observable<ExtractGeneric<ReturnType<TFunc>>>['pipe']>> = {
task: TFunc;
resetDataWhenError?: boolean;
observablePreHandler?: (source$: Observable<ExtractGeneric<ReturnType<TFunc>>>) => TPreHandlerResult;
onNext?(value: ExtractGeneric<TPreHandlerResult>): void;
onError?(err: any): void;
onComplete?(): void;
onCancel?(value?: ExtractGeneric<TPreHandlerResult>): void;
};
export declare const enum EnumSubscriptionState {
IDLE = "IDLE",
LOADING = "LOADING",
DATARECEIVED = "DATARECEIVED",
SUCCESS = "SUCCESS",
FAILED = "FAILED",
CANCELED = "CANCELED"
}