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>