Extra Options
Options that can be passed to a CallApi instance
This page documents the configuration options specific to CallApi.
Prop | Type | Default |
---|---|---|
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)[] | - |