Skip to content

Type Alias: PostDeferredCbArgs<DefaultUrl, DefaultData, Options, PostArgsReq, _url, _data>

PostDeferredCbArgs<DefaultUrl, DefaultData, Options, PostArgsReq, _url, _data> = [_url, _data] extends [PostArgsReq[0], undefined] ? [PostArgs[1], PostArgs[2]] : [_url, _data] extends [undefined, PostArgsReq[1]] ? [PostArgs[0], PostArgs[2]] : [_url, _data] extends [PostArgsReq[0], PostArgsReq[1]] ? [PostArgs[2]] : [PostArgs[0], PostArgs[1], Options]

Defined in: packages/fetch/src/types/options.ts:218

Dynamic arguments for deferred post-like methods.

Type Parameters

DefaultUrl

DefaultUrl = undefined

DefaultData

DefaultData = undefined

Options

Options = PostArgs[2]

PostArgsReq

PostArgsReq extends unknown[] = Required<PostArgs>

_url

_url = undefined extends DefaultUrl ? undefined : DefaultUrl

_data

_data = undefined extends DefaultData ? undefined : DefaultData

Example

typescript
import fetch, { type PostDeferredCbArgs } from '@superutils/fetch'

type T1 = PostDeferredCbArgs<string | URL, undefined> // expected: [data, options]
type T2 = PostDeferredCbArgs<string | undefined, string> // expected: [url, options]
type T3 = PostDeferredCbArgs // expected: [url, data, options]
type T4 = PostDeferredCbArgs<string, string> // expected: [options]