UNPKG

@ace-fetch/core

Version:

Fetch Provider.

30 lines (29 loc) 1.36 kB
import { type StringifyOptions } from 'query-string'; import type { FetchClient, Prefix, MethodUrl, MethodUrlFn, RegistApi, RequestConfig } from '../types'; /** * form data serializer * @param data request data * @param options stringify options */ export declare function formDataSerializer(data: any, options?: StringifyOptions): string; /** * typed url with no local config * @param strings TemplateStringsArray * @param keys string key or function, function first argument is request params * @returns the method url format function */ export declare function typedUrl<R = any, P extends Record<string, any> = any, D = any>(strings: TemplateStringsArray, ...keys: Array<string | Function>): MethodUrlFn<R, P, D>; /** * typed url with local config * @param config local config object * @returns template literals function */ export declare function typedUrl<R = any, P extends Record<string, any> = any, D = any>(config: Partial<RequestConfig<D>>): (strings: TemplateStringsArray, ...keys: Array<string | Function>) => MethodUrlFn<R, P, D>; /** * register api * @param client fetch client * @param definition typed request definition * @param prefix base url * @returns named fetch requests */ export declare function registApi<C extends Record<string, MethodUrl>>(client: FetchClient, definition: C, prefix?: Prefix): RegistApi<C>;