Skip to content

Class: ApiClient<FixedOptions, CommonOptions, CommonDelay>

Defined in: packages/fetch/src/ApiClient.ts:57

A fully encapsulated and isolated API client factory.

ApiClient creates a sandboxed environment for a specific API service. It provides complete isolation by ignoring global fetch.defaults by default, ensuring that instance-specific configurations remain clean and predictable. It bundles RESTful methods and execution controls (like debounce/throttle) into a single, cohesive unit.

Key Features:

  • Isolation: Instance-specific options are scoped to this client and isolated from other instances.
  • Base Resolution: Automatic path joining when apiBaseUrl is provided.
  • Unified Error Handling: Optional errorPrefix to namespace errors for easier debugging.
  • Method Suite: Integrated delete, get, head, options, patch, post and put methods.

Precedence & Merging Nuances

  • Options follow a strict hierarchy: fixedOptions > call options > commonOptions.
  • Global fetch.defaults are ignored by default.
  • Headers: Merged by key. Specifying headers in a call overrides common headers with the same name, but does NOT remove or replace the entire header set.
  • Interceptors: Cumulative. Interceptors from all levels are concatenated and executed sequentially (Common -> Call -> Fixed). They cannot be overridden or replaced.
  • Error Messages: Merged by key, allowing per-service or per-call customization of specific error strings without losing the rest of the global message set.

Type Parameters

FixedOptions

FixedOptions extends ApiClientFetchOptions = { }

CommonOptions

CommonOptions extends ExcludeOptions<FixedOptions, ApiClientFetchOptions> = ExcludeOptions<FixedOptions, ApiClientFetchOptions>

CommonDelay

CommonDelay extends number = number

Constructors

Constructor

new ApiClient<FixedOptions, CommonOptions, CommonDelay>(baseUrl?, config?): ApiClient<FixedOptions, CommonOptions, CommonDelay>

Defined in: packages/fetch/src/ApiClient.ts:101

Creates a new ApiClient instance.

Parameters

baseUrl?

string | null

The base URL for the API. Relative paths passed to methods will be appended to this.

config?

ApiClientConfig<FixedOptions, CommonOptions, CommonDelay> = {}

Optional configuration for headers, interceptors, and default behavior.

Returns

ApiClient<FixedOptions, CommonOptions, CommonDelay>

Properties

baseUrl?

optional baseUrl?: string | null

Defined in: packages/fetch/src/ApiClient.ts:102

The base URL for the API. Relative paths passed to methods will be appended to this.


client

readonly client: {<T, TOptions, Result>(url, options?): IPromise_Fetch<Result>; deferred: <T, TOptions, Result>(...args) => IPromise_Fetch<Result>; }

Defined in: packages/fetch/src/ApiClient.ts:65

The base GET-style client. Defaults to GET method.

Executes the HTTP request using pre-configured client options.

Type Parameters

T

T extends unknown = never

TOptions

TOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, TOptions, CommonOptions], T>

Parameters

url

URL | RequestInfo

The request URL.

options?

TOptions

Individual request options that can override common options.

Returns

IPromise_Fetch<Result>

A promise resolving to the parsed result or response.

deferred()

deferred<ThisArg, Delay, DefaultUrl, DefaultOptions>(deferOptions?, defaultUrl?, defaultOptions?): <T, TOptions, Result>(...args) => IPromise_Fetch<Result>

Make requests with debounce/throttle behavior

Type Parameters
ThisArg

ThisArg

Delay

Delay extends number

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined = URL | RequestInfo | undefined

DefaultOptions

DefaultOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultOptions?

DefaultOptions

Returns

<T, TOptions, Result>(...args) => IPromise_Fetch<Result>


delete

readonly delete: {<T, Options, Result>(url, data?, options?): IPromise_Fetch<Result>; deferred: <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>; }

Defined in: packages/fetch/src/ApiClient.ts:75

Alias for postClient with DELETE method.

Executes the HTTP request using the configured client options.

This function is specifically designed for methods that require a request body (e.g., POST, PUT, PATCH), allowing the payload to be passed directly as the second argument.

Type Parameters

T

T extends unknown = never

Options

Options extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, Options, CommonOptions], T>

Parameters

url

URL | RequestInfo

data?

PostBody | (() => ValueOrPromise<PostBody>)

options?

Options

Returns

IPromise_Fetch<Result>

deferred()

deferred<ThisArg, DefaultUrl, DefaultData, DefaultOptions, Delay>(deferOptions?, defaultUrl?, defaultData?, defaultOptions?): <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>

Returns a version of the client configured for debounced, throttled, or sequential execution.

This is particularly useful for optimizing high-frequency operations, such as auto-saving forms or managing rapid state updates, by automatically handling request cancellation and execution timing.

Type Parameters
ThisArg

ThisArg

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined

DefaultData

DefaultData extends PostBody | (() => ValueOrPromise<PostBody>) | undefined

DefaultOptions

DefaultOptions extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Delay

Delay extends number = number

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultData?

DefaultData

defaultOptions?

DefaultOptions

Returns

<T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>


get

readonly get: {<T, TOptions, Result>(url, options?): IPromise_Fetch<Result>; deferred: <T, TOptions, Result>(...args) => IPromise_Fetch<Result>; }

Defined in: packages/fetch/src/ApiClient.ts:78

Alias for client with GET method.

Executes the HTTP request using pre-configured client options.

Type Parameters

T

T extends unknown = never

TOptions

TOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, TOptions, CommonOptions], T>

Parameters

url

URL | RequestInfo

The request URL.

options?

TOptions

Individual request options that can override common options.

Returns

IPromise_Fetch<Result>

A promise resolving to the parsed result or response.

deferred()

deferred<ThisArg, Delay, DefaultUrl, DefaultOptions>(deferOptions?, defaultUrl?, defaultOptions?): <T, TOptions, Result>(...args) => IPromise_Fetch<Result>

Make requests with debounce/throttle behavior

Type Parameters
ThisArg

ThisArg

Delay

Delay extends number

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined = URL | RequestInfo | undefined

DefaultOptions

DefaultOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultOptions?

DefaultOptions

Returns

<T, TOptions, Result>(...args) => IPromise_Fetch<Result>


readonly head: {<T, TOptions, Result>(url, options?): IPromise_Fetch<Result>; deferred: <T, TOptions, Result>(...args) => IPromise_Fetch<Result>; }

Defined in: packages/fetch/src/ApiClient.ts:81

Alias for client with HEAD method.

Executes the HTTP request using pre-configured client options.

Type Parameters

T

T extends unknown = never

TOptions

TOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, TOptions, CommonOptions], T>

Parameters

url

URL | RequestInfo

The request URL.

options?

TOptions

Individual request options that can override common options.

Returns

IPromise_Fetch<Result>

A promise resolving to the parsed result or response.

deferred()

deferred<ThisArg, Delay, DefaultUrl, DefaultOptions>(deferOptions?, defaultUrl?, defaultOptions?): <T, TOptions, Result>(...args) => IPromise_Fetch<Result>

Make requests with debounce/throttle behavior

Type Parameters
ThisArg

ThisArg

Delay

Delay extends number

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined = URL | RequestInfo | undefined

DefaultOptions

DefaultOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultOptions?

DefaultOptions

Returns

<T, TOptions, Result>(...args) => IPromise_Fetch<Result>


options

readonly options: {<T, TOptions, Result>(url, options?): IPromise_Fetch<Result>; deferred: <T, TOptions, Result>(...args) => IPromise_Fetch<Result>; }

Defined in: packages/fetch/src/ApiClient.ts:84

Alias for client with OPTIONS method.

Executes the HTTP request using pre-configured client options.

Type Parameters

T

T extends unknown = never

TOptions

TOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, TOptions, CommonOptions], T>

Parameters

url

URL | RequestInfo

The request URL.

options?

TOptions

Individual request options that can override common options.

Returns

IPromise_Fetch<Result>

A promise resolving to the parsed result or response.

deferred()

deferred<ThisArg, Delay, DefaultUrl, DefaultOptions>(deferOptions?, defaultUrl?, defaultOptions?): <T, TOptions, Result>(...args) => IPromise_Fetch<Result>

Make requests with debounce/throttle behavior

Type Parameters
ThisArg

ThisArg

Delay

Delay extends number

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined = URL | RequestInfo | undefined

DefaultOptions

DefaultOptions extends object & Omit<FetchOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, FetchOptions> | undefined

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultOptions?

DefaultOptions

Returns

<T, TOptions, Result>(...args) => IPromise_Fetch<Result>


patch

readonly patch: {<T, Options, Result>(url, data?, options?): IPromise_Fetch<Result>; deferred: <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>; }

Defined in: packages/fetch/src/ApiClient.ts:93

Alias for postClient with PATCH method.

Executes the HTTP request using the configured client options.

This function is specifically designed for methods that require a request body (e.g., POST, PUT, PATCH), allowing the payload to be passed directly as the second argument.

Type Parameters

T

T extends unknown = never

Options

Options extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, Options, CommonOptions], T>

Parameters

url

URL | RequestInfo

data?

PostBody | (() => ValueOrPromise<PostBody>)

options?

Options

Returns

IPromise_Fetch<Result>

deferred()

deferred<ThisArg, DefaultUrl, DefaultData, DefaultOptions, Delay>(deferOptions?, defaultUrl?, defaultData?, defaultOptions?): <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>

Returns a version of the client configured for debounced, throttled, or sequential execution.

This is particularly useful for optimizing high-frequency operations, such as auto-saving forms or managing rapid state updates, by automatically handling request cancellation and execution timing.

Type Parameters
ThisArg

ThisArg

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined

DefaultData

DefaultData extends PostBody | (() => ValueOrPromise<PostBody>) | undefined

DefaultOptions

DefaultOptions extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Delay

Delay extends number = number

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultData?

DefaultData

defaultOptions?

DefaultOptions

Returns

<T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>


post

readonly post: {<T, Options, Result>(url, data?, options?): IPromise_Fetch<Result>; deferred: <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>; }

Defined in: packages/fetch/src/ApiClient.ts:87

Alias for postClient with POST method.

Executes the HTTP request using the configured client options.

This function is specifically designed for methods that require a request body (e.g., POST, PUT, PATCH), allowing the payload to be passed directly as the second argument.

Type Parameters

T

T extends unknown = never

Options

Options extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, Options, CommonOptions], T>

Parameters

url

URL | RequestInfo

data?

PostBody | (() => ValueOrPromise<PostBody>)

options?

Options

Returns

IPromise_Fetch<Result>

deferred()

deferred<ThisArg, DefaultUrl, DefaultData, DefaultOptions, Delay>(deferOptions?, defaultUrl?, defaultData?, defaultOptions?): <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>

Returns a version of the client configured for debounced, throttled, or sequential execution.

This is particularly useful for optimizing high-frequency operations, such as auto-saving forms or managing rapid state updates, by automatically handling request cancellation and execution timing.

Type Parameters
ThisArg

ThisArg

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined

DefaultData

DefaultData extends PostBody | (() => ValueOrPromise<PostBody>) | undefined

DefaultOptions

DefaultOptions extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Delay

Delay extends number = number

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultData?

DefaultData

defaultOptions?

DefaultOptions

Returns

<T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>


postClient

readonly postClient: {<T, Options, Result>(url, data?, options?): IPromise_Fetch<Result>; deferred: <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>; }

Defined in: packages/fetch/src/ApiClient.ts:70

The base POST-style client. Defaults to POST method and supports request bodies.

Executes the HTTP request using the configured client options.

This function is specifically designed for methods that require a request body (e.g., POST, PUT, PATCH), allowing the payload to be passed directly as the second argument.

Type Parameters

T

T extends unknown = never

Options

Options extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, Options, CommonOptions], T>

Parameters

url

URL | RequestInfo

data?

PostBody | (() => ValueOrPromise<PostBody>)

options?

Options

Returns

IPromise_Fetch<Result>

deferred()

deferred<ThisArg, DefaultUrl, DefaultData, DefaultOptions, Delay>(deferOptions?, defaultUrl?, defaultData?, defaultOptions?): <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>

Returns a version of the client configured for debounced, throttled, or sequential execution.

This is particularly useful for optimizing high-frequency operations, such as auto-saving forms or managing rapid state updates, by automatically handling request cancellation and execution timing.

Type Parameters
ThisArg

ThisArg

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined

DefaultData

DefaultData extends PostBody | (() => ValueOrPromise<PostBody>) | undefined

DefaultOptions

DefaultOptions extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Delay

Delay extends number = number

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultData?

DefaultData

defaultOptions?

DefaultOptions

Returns

<T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>


put

readonly put: {<T, Options, Result>(url, data?, options?): IPromise_Fetch<Result>; deferred: <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>; }

Defined in: packages/fetch/src/ApiClient.ts:90

Alias for postClient with PUT method.

Executes the HTTP request using the configured client options.

This function is specifically designed for methods that require a request body (e.g., POST, PUT, PATCH), allowing the payload to be passed directly as the second argument.

Type Parameters

T

T extends unknown = never

Options

Options extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Result

Result = GetFetchResult<[FixedOptions, Options, CommonOptions], T>

Parameters

url

URL | RequestInfo

data?

PostBody | (() => ValueOrPromise<PostBody>)

options?

Options

Returns

IPromise_Fetch<Result>

deferred()

deferred<ThisArg, DefaultUrl, DefaultData, DefaultOptions, Delay>(deferOptions?, defaultUrl?, defaultData?, defaultOptions?): <T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>

Returns a version of the client configured for debounced, throttled, or sequential execution.

This is particularly useful for optimizing high-frequency operations, such as auto-saving forms or managing rapid state updates, by automatically handling request cancellation and execution timing.

Type Parameters
ThisArg

ThisArg

DefaultUrl

DefaultUrl extends URL | RequestInfo | undefined

DefaultData

DefaultData extends PostBody | (() => ValueOrPromise<PostBody>) | undefined

DefaultOptions

DefaultOptions extends object & Omit<PostOptions, "body" | "cache" | "credentials" | "headers" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>> & Partial<Record<"body" | "cache" | "credentials" | "integrity" | "keepalive" | "mode" | "priority" | "redirect" | "referrer" | "referrerPolicy" | "window" | "retry" | "retryIf" | "retryBackOff" | "retryDelay" | "retryDelayJitter" | "retryDelayJitterMax" | "as" | "errMsgs" | "interceptors" | "ignoreGlobalDefaults" | "fetchFunc" | "onDownloadProgress" | "validateUrl" | keyof TimeoutOptions<[]>, never>> | undefined = ExcludeOptions<FixedOptions, PostOptions> | undefined

Delay

Delay extends number = number

Parameters
deferOptions?

DeferredAsyncOptions<ThisArg, Delay>

defaultUrl?

DefaultUrl

defaultData?

DefaultData

defaultOptions?

DefaultOptions

Returns

<T, Options, TReturn>(...args) => IPromise_Fetch<TReturn>