vue-admin-core
Version:
A Component Library for Vue 3
22 lines (21 loc) • 943 B
TypeScript
import { Ref } from "vue";
import type { FetchState, Options, PluginReturn, Service } from "./types";
export default class Fetch<TData, TParams extends any[]> {
service: Service<TData, TParams>;
options: Options<TData, TParams>;
initState: Partial<FetchState<TData, TParams>>;
pluginImpls: PluginReturn<TData, TParams>[];
count: number;
loading: Ref<boolean>;
params: Ref<TParams | []>;
data: Ref<TData | undefined>;
error: Ref<Error | undefined>;
constructor(service: Service<TData, TParams>, options: Options<TData, TParams>, initState?: Partial<FetchState<TData, TParams>>);
runPluginHandler(event: keyof PluginReturn<TData, TParams>, ...rest: any[]): any;
runAsync(...params: TParams): Promise<TData>;
run(...params: TParams): void;
cancel(): void;
refresh(): void;
refreshAsync(): Promise<TData>;
mutate(data?: TData | ((oldData?: TData) => TData | undefined)): void;
}