UNPKG

@oiij/naive-ui

Version:

Some Composable Functions And Components for Vue 3

61 lines (60 loc) 2.43 kB
import * as _vueuse_core0 from "@vueuse/core"; import * as vue2 from "vue"; import { UseRequestOptions, UseRequestPlugin } from "vue-hooks-plus/es/useRequest/types"; //#region src/composables/useDataRequest.d.ts type DataObject = Record<string, any>; type DataRequestFields = Record<string, string | undefined> & { page?: string; pageSize?: string; list?: string; count?: string; rowKey?: string; }; type UseDataRequestOptions<P extends DataObject = DataObject, D extends DataObject = DataObject> = { defaultParams?: Partial<P>; manual?: boolean; fields?: DataRequestFields; requestOptions?: UseRequestOptions<D, P[]>; requestPlugins?: UseRequestPlugin<D, P[]>[]; }; type UseDataRequestPagination = { page: number; pageSize: number; itemCount: number; }; declare function useDataRequest<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject>(api: (...args: P[]) => Promise<D>, options?: UseDataRequestOptions<P, D>): { loading: Readonly<vue2.Ref<boolean, boolean>>; data: Readonly<vue2.Ref<D | undefined, D | undefined>>; error: Readonly<vue2.Ref<Error | undefined, Error | undefined>>; params: Readonly<vue2.Ref<[] | P[], [] | P[]>>; list: vue2.ComputedRef<R[]>; pagination: vue2.Ref<{ page: number; pageSize: number; itemCount: number; }, { page: number; pageSize: number; itemCount: number; } | { page: number; pageSize: number; itemCount: number; }>; run: (...params: P[]) => void; runAsync: (...params: P[]) => Promise<D>; refresh: () => void; refreshAsync: () => Promise<D>; cancel: () => void; mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void; setParams: (_params: Partial<P>) => void; runParams: (_params: Partial<P>) => void; runParamsAsync: (_params: Partial<P>) => Promise<D>; onBefore: _vueuse_core0.EventHookOn<[P[]]>; onSuccess: _vueuse_core0.EventHookOn<[D, P[]]>; onError: _vueuse_core0.EventHookOn<[Error, P[]]>; onFinally: _vueuse_core0.EventHookOn<[P[], D | undefined, Error | undefined]>; }; type UseDataRequestReturns<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = ReturnType<typeof useDataRequest<P, D, R>>; //#endregion export { DataObject, DataRequestFields, UseDataRequestOptions, UseDataRequestPagination, UseDataRequestReturns, useDataRequest };