UNPKG

nuxt

Version:

Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.

33 lines (32 loc) 6.55 kB
import type { FetchError, FetchOptions, ResponseType as _ResponseType } from 'ofetch'; import type { NitroFetchRequest, TypedInternalResponse, AvailableRouterMethod as _AvailableRouterMethod } from 'nitropack/types'; import type { MaybeRefOrGetter, Ref } from 'vue'; import type { AsyncData, AsyncDataOptions, KeysOf, MultiWatchSources, PickFrom } from './asyncData.js'; type AvailableRouterMethod<R extends NitroFetchRequest> = _AvailableRouterMethod<R> | Uppercase<_AvailableRouterMethod<R>>; export type FetchResult<ReqT extends NitroFetchRequest, M extends AvailableRouterMethod<ReqT>> = TypedInternalResponse<ReqT, unknown, Lowercase<M>>; type ComputedOptions<T extends Record<string, any>> = { [K in keyof T]: T[K] extends Function ? T[K] : ComputedOptions<T[K]> | Ref<T[K]> | T[K]; }; interface NitroFetchOptions<R extends NitroFetchRequest, M extends AvailableRouterMethod<R> = AvailableRouterMethod<R>, DataT = any> extends FetchOptions<_ResponseType, DataT> { method?: M; } type ComputedFetchOptions<R extends NitroFetchRequest, M extends AvailableRouterMethod<R>, DataT = any> = ComputedOptions<NitroFetchOptions<R, M, DataT>>; export interface UseFetchOptions<ResT, DataT = ResT, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = undefined, R extends NitroFetchRequest = string & {}, M extends AvailableRouterMethod<R> = AvailableRouterMethod<R>> extends Omit<AsyncDataOptions<ResT, DataT, PickKeys, DefaultT>, 'watch'>, Omit<ComputedFetchOptions<R, M, DataT>, 'timeout'> { key?: MaybeRefOrGetter<string>; $fetch?: typeof globalThis.$fetch; watch?: MultiWatchSources | false; } /** * A factory function to create a custom `useFetch` composable with pre-defined default options. * @since 4.2.0 */ export declare const createUseFetch: <FResT = void, FReqT extends NitroFetchRequest = NitroFetchRequest, FMethod extends AvailableRouterMethod<FReqT> = FResT extends void ? "get" extends AvailableRouterMethod<FReqT> ? "get" : AvailableRouterMethod<FReqT> : AvailableRouterMethod<FReqT>, F_ResT = FResT extends void ? FReqT extends string ? import("nitropack/types").MiddlewareOf<FReqT, Lowercase<FMethod>> extends never ? import("nitropack/types").MiddlewareOf<FReqT, "default"> extends never ? unknown : import("nitropack/types").MiddlewareOf<FReqT, "default"> : import("nitropack/types").MiddlewareOf<FReqT, Lowercase<FMethod>> : unknown : FResT, FDataT = F_ResT, FPickKeys extends KeysOf<FDataT> = KeysOf<FDataT>, FDefaultT = undefined>(options?: Partial<UseFetchOptions<F_ResT, FDataT, FPickKeys, FDefaultT, FReqT, FMethod>> | ((currentOptions: UseFetchOptions<unknown>) => Partial<UseFetchOptions<F_ResT, FDataT, FPickKeys, FDefaultT, FReqT, FMethod>>)) => { <ResT = void, ErrorT = FetchError<any>, ReqT extends NitroFetchRequest = NitroFetchRequest, Method extends AvailableRouterMethod<ReqT> = ResT extends void ? "get" extends AvailableRouterMethod<ReqT> ? "get" : AvailableRouterMethod<ReqT> : AvailableRouterMethod<ReqT>, _ResT = ResT extends void ? ReqT extends string ? import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> extends never ? import("nitropack/types").MiddlewareOf<ReqT, "default"> extends never ? unknown : import("nitropack/types").MiddlewareOf<ReqT, "default"> : import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> : unknown : ResT, DataT = _ResT, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = undefined>(request: Ref<ReqT> | ReqT | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method>): AsyncData<PickFrom<DataT, PickKeys> | DefaultT, ErrorT | undefined>; <ResT = void, ErrorT_1 = FetchError<any>, ReqT_1 extends NitroFetchRequest = NitroFetchRequest, Method_1 extends AvailableRouterMethod<ReqT_1> = ResT extends void ? "get" extends AvailableRouterMethod<ReqT_1> ? "get" : AvailableRouterMethod<ReqT_1> : AvailableRouterMethod<ReqT_1>, _ResT_1 = ResT extends void ? ReqT_1 extends string ? import("nitropack/types").MiddlewareOf<ReqT_1, Lowercase<Method_1>> extends never ? import("nitropack/types").MiddlewareOf<ReqT_1, "default"> extends never ? unknown : import("nitropack/types").MiddlewareOf<ReqT_1, "default"> : import("nitropack/types").MiddlewareOf<ReqT_1, Lowercase<Method_1>> : unknown : ResT, DataT_1 = _ResT_1, PickKeys_1 extends KeysOf<DataT_1> = KeysOf<DataT_1>, DefaultT_1 = DataT_1>(request: Ref<ReqT_1> | ReqT_1 | (() => ReqT_1), opts?: UseFetchOptions<_ResT_1, DataT_1, PickKeys_1, DefaultT_1, ReqT_1, Method_1>): AsyncData<PickFrom<DataT_1, PickKeys_1> | DefaultT_1, ErrorT_1 | undefined>; }; export declare const useFetch: { <ResT = void, ErrorT = FetchError<any>, ReqT extends NitroFetchRequest = NitroFetchRequest, Method extends AvailableRouterMethod<ReqT> = ResT extends void ? "get" extends AvailableRouterMethod<ReqT> ? AvailableRouterMethod<ReqT> & "get" : AvailableRouterMethod<ReqT> : AvailableRouterMethod<ReqT>, _ResT = ResT extends void ? ReqT extends string ? import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> extends never ? import("nitropack/types").MiddlewareOf<ReqT, "default"> extends never ? unknown : import("nitropack/types").MiddlewareOf<ReqT, "default"> : import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> : unknown : ResT, DataT = _ResT, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = undefined>(request: ReqT | Ref<ReqT, ReqT> | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method> | undefined): AsyncData<DefaultT | PickFrom<DataT, PickKeys>, ErrorT | undefined>; <ResT = void, ErrorT = FetchError<any>, ReqT extends NitroFetchRequest = NitroFetchRequest, Method extends AvailableRouterMethod<ReqT> = ResT extends void ? "get" extends AvailableRouterMethod<ReqT> ? AvailableRouterMethod<ReqT> & "get" : AvailableRouterMethod<ReqT> : AvailableRouterMethod<ReqT>, _ResT = ResT extends void ? ReqT extends string ? import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> extends never ? import("nitropack/types").MiddlewareOf<ReqT, "default"> extends never ? unknown : import("nitropack/types").MiddlewareOf<ReqT, "default"> : import("nitropack/types").MiddlewareOf<ReqT, Lowercase<Method>> : unknown : ResT, DataT = _ResT, PickKeys extends KeysOf<DataT> = KeysOf<DataT>, DefaultT = DataT>(request: ReqT | Ref<ReqT, ReqT> | (() => ReqT), opts?: UseFetchOptions<_ResT, DataT, PickKeys, DefaultT, ReqT, Method> | undefined): AsyncData<DefaultT | PickFrom<DataT, PickKeys>, ErrorT | undefined>; }; export declare const useLazyFetch: ReturnType<typeof createUseFetch>; export {};