UNPKG

vue2-request-utils

Version:

Vue 3 composition API for data fetching. This is a version for Vue 2 by using @vue/composition-api.

31 lines (30 loc) 1.64 kB
import { Ref } from "@vue/composition-api"; import { BaseOptions, FormatOptions, FRPlaceholderType } from "./core/config"; import { BaseResult } from "./core/useAsyncQuery"; import { IService } from "./core/utils/types"; export interface PaginationResult<R, P extends unknown[]> extends Omit<BaseResult<R, P>, "queries" | "reset"> { current: Ref<number>; pageSize: Ref<number>; total: Ref<number>; totalPage: Ref<number>; changeCurrent: (current: number) => void; changePageSize: (pageSize: number) => void; reload: () => void; } export interface PaginationExtendsOption { pagination?: { currentKey?: string; pageSizeKey?: string; totalKey?: string; totalPageKey?: string; }; } export interface PaginationFormatOptions<R, P extends unknown[], FR> extends Omit<FormatOptions<R, P, FR>, "queryKey">, PaginationExtendsOption { } export interface PaginationBaseOptions<R, P extends unknown[]> extends Omit<BaseOptions<R, P>, "queryKey">, PaginationExtendsOption { } export declare type PaginationMixinOptions<R, P extends unknown[], FR> = PaginationBaseOptions<R, P> | PaginationFormatOptions<R, P, FR>; declare function usePagination<R, P extends unknown[] = any>(service: IService<R, P>): PaginationResult<R, P>; declare function usePagination<R, P extends unknown[] = any, FR = FRPlaceholderType>(service: IService<R, P>, options: PaginationFormatOptions<R, P, FR>): PaginationResult<FR, P>; declare function usePagination<R, P extends unknown[] = any>(service: IService<R, P>, options: PaginationBaseOptions<R, P>): PaginationResult<R, P>; export default usePagination;