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]