Extra Options

Options that can be passed to a CallApi instance

This page documents the configuration options specific to CallApi.

PropTypeDefault
schemaConfig?
CallApiSchemaConfig | ((context: { baseSchemaConfig: CallApiSchemaConfig; }) => CallApiSchemaConfig)
-
schema?
CallApiSchema | ((context: { baseSchema: { [x: AnyString]: CallApiSchema | undefined; "@delete/"?: CallApiSchema | undefined; "@get/"?: CallApiSchema | undefined; "@patch/"?: CallApiSchema | undefined; "@post/"?: CallApiSchema | undefined; "@put/"?: CallApiSchema | undefined; }; currentRouteSchema: CallApiSchema; }) => CallApiSchema)
-
plugins?
DefaultPluginArray | ((context: { basePlugins: DefaultPluginArray; }) => DefaultPluginArray)
-
timeout?
number
-
responseType?
ResponseTypeUnion
"json"
responseParser?
((responseString: string) => Awaitable<Record<string, unknown>>)
-
meta?
Record<string, unknown>
-
mergedHooksExecutionOrder?
"mainHooksAfterPlugins" | "mainHooksBeforePlugins"
"mainHooksAfterPlugins"
mergedHooksExecutionMode?
"parallel" | "sequential"
"parallel"
forcefullyCalculateStreamSize?
boolean | { request?: boolean | undefined; response?: boolean | undefined; }
false
defaultErrorMessage?
string
"Failed to fetch data from server!"
customFetchImpl?
((input: string | Request | URL, init?: RequestInit | undefined) => Promise<Response>)
-
cloneResponse?
boolean
false
bodySerializer?
((bodyData: Record<string, unknown>) => string)
-
auth?
string | Auth | null
-
query?
Record<string, string | number | boolean>
-
params?
Record<string, string | number | boolean> | (string | number | boolean)[]
-
initURLNormalized?
string
-
initURL?
string
-
fullURL?
string
-
baseURL?
string
-
throwOnError?
((boolean | ((context: RequestContext & ({ error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: Response | null; } | { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) => boolean)) & boolean)
false
retryStrategy?
"exponential" | "linear"
"linear"
retryStatusCodes?
number[]
-
retryMethods?
(AnyString | "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE")[]
["GET", "POST"]
retryMaxDelay?
number
10000
retryDelay?
number | ((currentAttemptCount: number) => number)
1000
retryCondition?
RetryCondition<unknown>
-
retryAttempts?
number
0
retry?
InnerRetryOptions<unknown>
-
resultMode?
ResultModeUnion
"all"
dedupeStrategy?
"cancel" | "defer" | "none"
"cancel"
dedupeKey?
string
the full request url + string formed from the request options
dedupeCacheScope?
"global" | "local"
"local"
onValidationError?
((context: RequestContext & { error: ValidationError; response: Response | null; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { error: ValidationError; response: Response | null; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onSuccess?
((context: RequestContext & { data: unknown; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { data: unknown; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onRetry?
((response: ((RequestContext & ({ error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: Response | null; } | { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & { retryAttemptCount: number; }) & PluginExtraOptions<Partial<unknown>>) => unknown) | (((response: ((RequestContext & ({ error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: Response | null; } | { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & { retryAttemptCount: number; }) & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onResponseStream?
((context: RequestContext & { event: StreamProgressEvent; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { event: StreamProgressEvent; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onResponseError?
((context: RequestContext & { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onResponse?
((context: (RequestContext & ({ data: unknown; error: null; response: Response; } | { data: null; error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: (RequestContext & ({ data: unknown; error: null; response: Response; } | { data: null; error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onRequestStream?
((context: RequestContext & { event: StreamProgressEvent; requestInstance: Request; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { event: StreamProgressEvent; requestInstance: Request; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onRequestError?
((context: RequestContext & { error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: null; } & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & { error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: null; } & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onRequest?
((context: RequestContext & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: RequestContext & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-
onError?
((context: (RequestContext & ({ error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: Response | null; } | { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & PluginExtraOptions<Partial<unknown>>) => unknown) | (((context: (RequestContext & ({ error: { errorData: false; message: string; name: AnyString | "AbortError" | "Error" | "SyntaxError" | "TimeoutError" | "TypeError"; originalError: DOMException | Error | SyntaxError | TypeError; } | { errorData: readonly Issue[]; message: string; name: "ValidationError"; originalError: ValidationError; }; response: Response | null; } | { error: { errorData: unknown; message: string; name: "HTTPError"; originalError: HTTPError<Record<string, unknown>>; }; response: Response; })) & PluginExtraOptions<Partial<unknown>>) => unknown) | undefined)[]
-