minh-custom-hooks-release
Version:
Đây là custom hooks được viết bởi hoanggminh2702, bao gồm:
23 lines (22 loc) • 1.08 kB
TypeScript
import { Observable, Subscription } from 'rxjs';
import { EnumSubscriptionState, type ExtractGeneric, type UseTaskObservable } from './@types/useTaskObservable';
export default function useTaskObservable<TFunc extends (...args: any[]) => Promise<any> | Observable<any>, TPreHandlerResult extends ReturnType<Observable<ExtractGeneric<ReturnType<TFunc>>>['pipe']>>({ task, observablePreHandler, onNext, onComplete, onError, onCancel }: UseTaskObservable<TFunc, TPreHandlerResult>): {
data: ExtractGeneric<TPreHandlerResult> | undefined;
err: any;
state: EnumSubscriptionState;
subscriptionState: EnumSubscriptionState;
isIdle: boolean;
isLoading: boolean;
isSuccess: boolean;
isFailed: boolean;
isCanceled: boolean;
isSubscriptionIdle: boolean;
isSubscriptionLoading: boolean;
isSubscriptionDataReceived: boolean;
isSubscriptionSuccess: boolean;
isSubscriptionFailed: boolean;
isSubscriptionCanceled: boolean;
run: (...args: Parameters<TFunc>) => void;
cancel: () => void;
subscription: Subscription | null;
};