@hey-api/client-fetch
Advanced tools
Comparing version 0.6.0 to 0.7.0
@@ -47,4 +47,2 @@ type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited'; | ||
/** | ||
* **This feature works only with the [experimental parser](https://heyapi.dev/openapi-ts/configuration#parser)** | ||
* | ||
* Auth token or a function returning auth token. The resolved value will be | ||
@@ -108,4 +106,2 @@ * added to the request payload as defined by its `security` array. | ||
/** | ||
* **This feature works only with the [experimental parser](https://heyapi.dev/openapi-ts/configuration#parser)** | ||
* | ||
* A function validating response data. This is useful if you want to ensure | ||
@@ -151,8 +147,8 @@ * the response conforms to the desired shape, so it can be safely passed to | ||
} | ||
type RequestResult<Data = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{ | ||
data: Data; | ||
type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{ | ||
data: TData; | ||
request: Request; | ||
response: Response; | ||
}> : Promise<({ | ||
data: Data; | ||
data: TData; | ||
error: undefined; | ||
@@ -166,4 +162,4 @@ } | { | ||
}>; | ||
type MethodFn = <Data = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<ThrowOnError>, 'method'>) => RequestResult<Data, TError, ThrowOnError>; | ||
type RequestFn = <Data = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<ThrowOnError>, 'method'> & Pick<Required<RequestOptions<ThrowOnError>>, 'method'>) => RequestResult<Data, TError, ThrowOnError>; | ||
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError>; | ||
type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false>(options: Omit<RequestOptions<ThrowOnError>, 'method'> & Pick<Required<RequestOptions<ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError>; | ||
interface Client<Req = Request, Res = Response, Err = unknown, Opts = RequestOptions> { | ||
@@ -173,3 +169,3 @@ /** | ||
*/ | ||
buildUrl: <Data extends { | ||
buildUrl: <TData extends { | ||
body?: unknown; | ||
@@ -179,3 +175,3 @@ path?: Record<string, unknown>; | ||
url: string; | ||
}>(options: Pick<Data, 'url'> & Options<Data>) => string; | ||
}>(options: Pick<TData, 'url'> & Options<TData>) => string; | ||
connect: MethodFn; | ||
@@ -202,10 +198,10 @@ delete: MethodFn; | ||
} | ||
type Options<Data extends DataShape = DataShape, ThrowOnError extends boolean = boolean> = OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<Data, 'url'>; | ||
type OptionsLegacyParser<Data = unknown, ThrowOnError extends boolean = boolean> = Data extends { | ||
type Options<TData extends DataShape = DataShape, ThrowOnError extends boolean = boolean> = OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'>; | ||
type OptionsLegacyParser<TData = unknown, ThrowOnError extends boolean = boolean> = TData extends { | ||
body?: any; | ||
} ? Data extends { | ||
} ? TData extends { | ||
headers?: any; | ||
} ? OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'headers' | 'url'> & Data : OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'url'> & Data & Pick<RequestOptions<ThrowOnError>, 'headers'> : Data extends { | ||
} ? OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'headers' | 'url'> & TData : OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'url'> & TData & Pick<RequestOptions<ThrowOnError>, 'headers'> : TData extends { | ||
headers?: any; | ||
} ? OmitKeys<RequestOptions<ThrowOnError>, 'headers' | 'url'> & Data & Pick<RequestOptions<ThrowOnError>, 'body'> : OmitKeys<RequestOptions<ThrowOnError>, 'url'> & Data; | ||
} ? OmitKeys<RequestOptions<ThrowOnError>, 'headers' | 'url'> & TData & Pick<RequestOptions<ThrowOnError>, 'body'> : OmitKeys<RequestOptions<ThrowOnError>, 'url'> & TData; | ||
@@ -212,0 +208,0 @@ declare const createClient: (config?: Config) => Client; |
@@ -1,5 +0,2 @@ | ||
var U=/\{[^{}]+\}/g,S=({allowReserved:t,name:r,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${t?e:encodeURIComponent(e)}`},$=t=>{switch(t){case"label":return ".";case"matrix":return ";";case"simple":return ",";default:return "&"}},k=t=>{switch(t){case"form":return ",";case"pipeDelimited":return "|";case"spaceDelimited":return "%20";default:return ","}},D=t=>{switch(t){case"label":return ".";case"matrix":return ";";case"simple":return ",";default:return "&"}},j=({allowReserved:t,explode:r,name:e,style:s,value:o})=>{if(!r){let n=(t?o:o.map(c=>encodeURIComponent(c))).join(k(s));switch(s){case"label":return `.${n}`;case"matrix":return `;${e}=${n}`;case"simple":return n;default:return `${e}=${n}`}}let a=$(s),i=o.map(n=>s==="label"||s==="simple"?t?n:encodeURIComponent(n):S({allowReserved:t,name:e,value:n})).join(a);return s==="label"||s==="matrix"?a+i:i},A=({allowReserved:t,explode:r,name:e,style:s,value:o})=>{if(o instanceof Date)return `${e}=${o.toISOString()}`;if(s!=="deepObject"&&!r){let n=[];Object.entries(o).forEach(([f,p])=>{n=[...n,f,t?p:encodeURIComponent(p)];});let c=n.join(",");switch(s){case"form":return `${e}=${c}`;case"label":return `.${c}`;case"matrix":return `;${e}=${c}`;default:return c}}let a=D(s),i=Object.entries(o).map(([n,c])=>S({allowReserved:t,name:s==="deepObject"?`${e}[${n}]`:n,value:c})).join(a);return s==="label"||s==="matrix"?a+i:i},_=({path:t,url:r})=>{let e=r,s=r.match(U);if(s)for(let o of s){let a=false,i=o.substring(1,o.length-1),n="simple";i.endsWith("*")&&(a=true,i=i.substring(0,i.length-1)),i.startsWith(".")?(i=i.substring(1),n="label"):i.startsWith(";")&&(i=i.substring(1),n="matrix");let c=t[i];if(c==null)continue;if(Array.isArray(c)){e=e.replace(o,j({explode:a,name:i,style:n,value:c}));continue}if(typeof c=="object"){e=e.replace(o,A({explode:a,name:i,style:n,value:c}));continue}if(n==="matrix"){e=e.replace(o,`;${S({name:i,value:c})}`);continue}let f=encodeURIComponent(n==="label"?`.${c}`:c);e=e.replace(o,f);}return e},C=({allowReserved:t,array:r,object:e}={})=>o=>{let a=[];if(o&&typeof o=="object")for(let i in o){let n=o[i];if(n!=null){if(Array.isArray(n)){a=[...a,j({allowReserved:t,explode:true,name:i,style:"form",value:n,...r})];continue}if(typeof n=="object"){a=[...a,A({allowReserved:t,explode:true,name:i,style:"deepObject",value:n,...e})];continue}a=[...a,S({allowReserved:t,name:i,value:n})];}}return a.join("&")},w=t=>{if(!t)return "stream";let r=t.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(e=>r.startsWith(e)))return "blob";if(r.startsWith("text/"))return "text"}},H=async(t,r)=>{let e=typeof r=="function"?await r(t):r;if(e)return t.scheme==="bearer"?`Bearer ${e}`:t.scheme==="basic"?`Basic ${btoa(e)}`:e},P=async({security:t,...r})=>{for(let e of t){let s=await H(e,r.auth);if(!s)continue;let o=e.name??"Authorization";switch(e.in){case"query":r.query||(r.query={}),r.query[o]=s;break;case"header":default:r.headers.set(o,s);break}return}},b=t=>B({baseUrl:t.baseUrl??"",path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:C(t.querySerializer),url:t.url}),B=({baseUrl:t,path:r,query:e,querySerializer:s,url:o})=>{let a=o.startsWith("/")?o:`/${o}`,i=t+a;r&&(i=_({path:r,url:i}));let n=e?s(e):"";return n.startsWith("?")&&(n=n.substring(1)),n&&(i+=`?${n}`),i},R=(t,r)=>{let e={...t,...r};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=O(t.headers,r.headers),e},O=(...t)=>{let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let s=e instanceof Headers?e.entries():Object.entries(e);for(let[o,a]of s)if(a===null)r.delete(o);else if(Array.isArray(a))for(let i of a)r.append(o,i);else a!==undefined&&r.set(o,typeof a=="object"?JSON.stringify(a):a);}return r},y=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let e=this._fns.indexOf(r);e!==-1&&(this._fns=[...this._fns.slice(0,e),...this._fns.slice(e+1)]);}use(r){this._fns=[...this._fns,r];}},E=()=>({error:new y,request:new y,response:new y}),x=(t,r,e)=>{typeof e=="string"||e instanceof Blob?t.append(r,e):t.append(r,JSON.stringify(e));},W={bodySerializer:t=>{let r=new FormData;return Object.entries(t).forEach(([e,s])=>{s!=null&&(Array.isArray(s)?s.forEach(o=>x(r,e,o)):x(r,e,s));}),r}},I={bodySerializer:t=>JSON.stringify(t)},z=(t,r,e)=>{typeof e=="string"?t.append(r,e):t.append(r,JSON.stringify(e));},N={bodySerializer:t=>{let r=new URLSearchParams;return Object.entries(t).forEach(([e,s])=>{s!=null&&(Array.isArray(s)?s.forEach(o=>z(r,e,o)):z(r,e,s));}),r}},Q=C({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),V={"Content-Type":"application/json"},q=(t={})=>({...I,baseUrl:"",headers:V,parseAs:"auto",querySerializer:Q,...t});var M=(t={})=>{let r=R(q(),t),e=()=>({...r}),s=i=>(r=R(r,i),e()),o=E(),a=async i=>{let n={...r,...i,fetch:i.fetch??r.fetch??globalThis.fetch,headers:O(r.headers,i.headers)};n.security&&await P({...n,security:n.security}),n.body&&n.bodySerializer&&(n.body=n.bodySerializer(n.body)),n.body||n.headers.delete("Content-Type");let c=b(n),f={redirect:"follow",...n},p=new Request(c,f);for(let u of o.request._fns)p=await u(p,n);let T=n.fetch,l=await T(p);for(let u of o.response._fns)l=await u(l,p,n);let h={request:p,response:l};if(l.ok){if(l.status===204||l.headers.get("Content-Length")==="0")return {data:{},...h};let u=(n.parseAs==="auto"?w(l.headers.get("Content-Type")):n.parseAs)??"json";if(u==="stream")return {data:l.body,...h};let g=await l[u]();return u==="json"&&(n.responseValidator&&await n.responseValidator(g),n.responseTransformer&&(g=await n.responseTransformer(g))),{data:g,...h}}let m=await l.text();try{m=JSON.parse(m);}catch{}let d=m;for(let u of o.error._fns)d=await u(m,l,p,n);if(d=d||{},n.throwOnError)throw d;return {error:d,...h}};return {buildUrl:b,connect:i=>a({...i,method:"CONNECT"}),delete:i=>a({...i,method:"DELETE"}),get:i=>a({...i,method:"GET"}),getConfig:e,head:i=>a({...i,method:"HEAD"}),interceptors:o,options:i=>a({...i,method:"OPTIONS"}),patch:i=>a({...i,method:"PATCH"}),post:i=>a({...i,method:"POST"}),put:i=>a({...i,method:"PUT"}),request:a,setConfig:s,trace:i=>a({...i,method:"TRACE"})}}; | ||
export { M as createClient, q as createConfig, W as formDataBodySerializer, I as jsonBodySerializer, N as urlSearchParamsBodySerializer }; | ||
//# sourceMappingURL=index.js.map | ||
var U=/\{[^{}]+\}/g,S=({allowReserved:t,name:r,value:e})=>{if(e==null)return "";if(typeof e=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return `${r}=${t?e:encodeURIComponent(e)}`},$=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},k=t=>{switch(t){case "form":return ",";case "pipeDelimited":return "|";case "spaceDelimited":return "%20";default:return ","}},D=t=>{switch(t){case "label":return ".";case "matrix":return ";";case "simple":return ",";default:return "&"}},j=({allowReserved:t,explode:r,name:e,style:s,value:o})=>{if(!r){let n=(t?o:o.map(c=>encodeURIComponent(c))).join(k(s));switch(s){case "label":return `.${n}`;case "matrix":return `;${e}=${n}`;case "simple":return n;default:return `${e}=${n}`}}let a=$(s),i=o.map(n=>s==="label"||s==="simple"?t?n:encodeURIComponent(n):S({allowReserved:t,name:e,value:n})).join(a);return s==="label"||s==="matrix"?a+i:i},A=({allowReserved:t,explode:r,name:e,style:s,value:o})=>{if(o instanceof Date)return `${e}=${o.toISOString()}`;if(s!=="deepObject"&&!r){let n=[];Object.entries(o).forEach(([f,p])=>{n=[...n,f,t?p:encodeURIComponent(p)];});let c=n.join(",");switch(s){case "form":return `${e}=${c}`;case "label":return `.${c}`;case "matrix":return `;${e}=${c}`;default:return c}}let a=D(s),i=Object.entries(o).map(([n,c])=>S({allowReserved:t,name:s==="deepObject"?`${e}[${n}]`:n,value:c})).join(a);return s==="label"||s==="matrix"?a+i:i},_=({path:t,url:r})=>{let e=r,s=r.match(U);if(s)for(let o of s){let a=false,i=o.substring(1,o.length-1),n="simple";i.endsWith("*")&&(a=true,i=i.substring(0,i.length-1)),i.startsWith(".")?(i=i.substring(1),n="label"):i.startsWith(";")&&(i=i.substring(1),n="matrix");let c=t[i];if(c==null)continue;if(Array.isArray(c)){e=e.replace(o,j({explode:a,name:i,style:n,value:c}));continue}if(typeof c=="object"){e=e.replace(o,A({explode:a,name:i,style:n,value:c}));continue}if(n==="matrix"){e=e.replace(o,`;${S({name:i,value:c})}`);continue}let f=encodeURIComponent(n==="label"?`.${c}`:c);e=e.replace(o,f);}return e},C=({allowReserved:t,array:r,object:e}={})=>o=>{let a=[];if(o&&typeof o=="object")for(let i in o){let n=o[i];if(n!=null){if(Array.isArray(n)){a=[...a,j({allowReserved:t,explode:true,name:i,style:"form",value:n,...r})];continue}if(typeof n=="object"){a=[...a,A({allowReserved:t,explode:true,name:i,style:"deepObject",value:n,...e})];continue}a=[...a,S({allowReserved:t,name:i,value:n})];}}return a.join("&")},w=t=>{if(!t)return "stream";let r=t.split(";")[0]?.trim();if(r){if(r.startsWith("application/json")||r.endsWith("+json"))return "json";if(r==="multipart/form-data")return "formData";if(["application/","audio/","image/","video/"].some(e=>r.startsWith(e)))return "blob";if(r.startsWith("text/"))return "text"}},H=async(t,r)=>{let e=typeof r=="function"?await r(t):r;if(e)return t.scheme==="bearer"?`Bearer ${e}`:t.scheme==="basic"?`Basic ${btoa(e)}`:e},P=async({security:t,...r})=>{for(let e of t){let s=await H(e,r.auth);if(!s)continue;let o=e.name??"Authorization";switch(e.in){case "query":r.query||(r.query={}),r.query[o]=s;break;case "header":default:r.headers.set(o,s);break}return}},b=t=>B({baseUrl:t.baseUrl??"",path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:C(t.querySerializer),url:t.url}),B=({baseUrl:t,path:r,query:e,querySerializer:s,url:o})=>{let a=o.startsWith("/")?o:`/${o}`,i=t+a;r&&(i=_({path:r,url:i}));let n=e?s(e):"";return n.startsWith("?")&&(n=n.substring(1)),n&&(i+=`?${n}`),i},R=(t,r)=>{let e={...t,...r};return e.baseUrl?.endsWith("/")&&(e.baseUrl=e.baseUrl.substring(0,e.baseUrl.length-1)),e.headers=O(t.headers,r.headers),e},O=(...t)=>{let r=new Headers;for(let e of t){if(!e||typeof e!="object")continue;let s=e instanceof Headers?e.entries():Object.entries(e);for(let[o,a]of s)if(a===null)r.delete(o);else if(Array.isArray(a))for(let i of a)r.append(o,i);else a!==undefined&&r.set(o,typeof a=="object"?JSON.stringify(a):a);}return r},y=class{_fns;constructor(){this._fns=[];}clear(){this._fns=[];}exists(r){return this._fns.indexOf(r)!==-1}eject(r){let e=this._fns.indexOf(r);e!==-1&&(this._fns=[...this._fns.slice(0,e),...this._fns.slice(e+1)]);}use(r){this._fns=[...this._fns,r];}},E=()=>({error:new y,request:new y,response:new y}),x=(t,r,e)=>{typeof e=="string"||e instanceof Blob?t.append(r,e):t.append(r,JSON.stringify(e));},W={bodySerializer:t=>{let r=new FormData;return Object.entries(t).forEach(([e,s])=>{s!=null&&(Array.isArray(s)?s.forEach(o=>x(r,e,o)):x(r,e,s));}),r}},I={bodySerializer:t=>JSON.stringify(t)},z=(t,r,e)=>{typeof e=="string"?t.append(r,e):t.append(r,JSON.stringify(e));},N={bodySerializer:t=>{let r=new URLSearchParams;return Object.entries(t).forEach(([e,s])=>{s!=null&&(Array.isArray(s)?s.forEach(o=>z(r,e,o)):z(r,e,s));}),r}},Q=C({allowReserved:false,array:{explode:true,style:"form"},object:{explode:true,style:"deepObject"}}),V={"Content-Type":"application/json"},q=(t={})=>({...I,baseUrl:"",headers:V,parseAs:"auto",querySerializer:Q,...t});var M=(t={})=>{let r=R(q(),t),e=()=>({...r}),s=i=>(r=R(r,i),e()),o=E(),a=async i=>{let n={...r,...i,fetch:i.fetch??r.fetch??globalThis.fetch,headers:O(r.headers,i.headers)};n.security&&await P({...n,security:n.security}),n.body&&n.bodySerializer&&(n.body=n.bodySerializer(n.body)),n.body||n.headers.delete("Content-Type");let c=b(n),f={redirect:"follow",...n},p=new Request(c,f);for(let u of o.request._fns)p=await u(p,n);let T=n.fetch,l=await T(p);for(let u of o.response._fns)l=await u(l,p,n);let h={request:p,response:l};if(l.ok){if(l.status===204||l.headers.get("Content-Length")==="0")return {data:{},...h};let u=(n.parseAs==="auto"?w(l.headers.get("Content-Type")):n.parseAs)??"json";if(u==="stream")return {data:l.body,...h};let g=await l[u]();return u==="json"&&(n.responseValidator&&await n.responseValidator(g),n.responseTransformer&&(g=await n.responseTransformer(g))),{data:g,...h}}let m=await l.text();try{m=JSON.parse(m);}catch{}let d=m;for(let u of o.error._fns)d=await u(m,l,p,n);if(d=d||{},n.throwOnError)throw d;return {error:d,...h}};return {buildUrl:b,connect:i=>a({...i,method:"CONNECT"}),delete:i=>a({...i,method:"DELETE"}),get:i=>a({...i,method:"GET"}),getConfig:e,head:i=>a({...i,method:"HEAD"}),interceptors:o,options:i=>a({...i,method:"OPTIONS"}),patch:i=>a({...i,method:"PATCH"}),post:i=>a({...i,method:"POST"}),put:i=>a({...i,method:"PUT"}),request:a,setConfig:s,trace:i=>a({...i,method:"TRACE"})}};export{M as createClient,q as createConfig,W as formDataBodySerializer,I as jsonBodySerializer,N as urlSearchParamsBodySerializer};//# sourceMappingURL=index.js.map | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@hey-api/client-fetch", | ||
"version": "0.6.0", | ||
"version": "0.7.0", | ||
"description": "🚀 Fetch API client for `@hey-api/openapi-ts` codegen.", | ||
@@ -5,0 +5,0 @@ "homepage": "https://heyapi.dev/", |
@@ -13,4 +13,2 @@ import type { | ||
/** | ||
* **This feature works only with the [experimental parser](https://heyapi.dev/openapi-ts/configuration#parser)** | ||
* | ||
* Auth token or a function returning auth token. The resolved value will be | ||
@@ -94,4 +92,2 @@ * added to the request payload as defined by its `security` array. | ||
/** | ||
* **This feature works only with the [experimental parser](https://heyapi.dev/openapi-ts/configuration#parser)** | ||
* | ||
* A function validating response data. This is useful if you want to ensure | ||
@@ -150,3 +146,3 @@ * the response conforms to the desired shape, so it can be safely passed to | ||
export type RequestResult< | ||
Data = unknown, | ||
TData = unknown, | ||
TError = unknown, | ||
@@ -156,3 +152,3 @@ ThrowOnError extends boolean = boolean, | ||
? Promise<{ | ||
data: Data; | ||
data: TData; | ||
request: Request; | ||
@@ -163,3 +159,3 @@ response: Response; | ||
( | ||
| { data: Data; error: undefined } | ||
| { data: TData; error: undefined } | ||
| { data: undefined; error: TError } | ||
@@ -173,3 +169,3 @@ ) & { | ||
type MethodFn = < | ||
Data = unknown, | ||
TData = unknown, | ||
TError = unknown, | ||
@@ -179,6 +175,6 @@ ThrowOnError extends boolean = false, | ||
options: Omit<RequestOptions<ThrowOnError>, 'method'>, | ||
) => RequestResult<Data, TError, ThrowOnError>; | ||
) => RequestResult<TData, TError, ThrowOnError>; | ||
type RequestFn = < | ||
Data = unknown, | ||
TData = unknown, | ||
TError = unknown, | ||
@@ -189,3 +185,3 @@ ThrowOnError extends boolean = false, | ||
Pick<Required<RequestOptions<ThrowOnError>>, 'method'>, | ||
) => RequestResult<Data, TError, ThrowOnError>; | ||
) => RequestResult<TData, TError, ThrowOnError>; | ||
@@ -202,3 +198,3 @@ export interface Client< | ||
buildUrl: < | ||
Data extends { | ||
TData extends { | ||
body?: unknown; | ||
@@ -210,3 +206,3 @@ path?: Record<string, unknown>; | ||
>( | ||
options: Pick<Data, 'url'> & Options<Data>, | ||
options: Pick<TData, 'url'> & Options<TData>, | ||
) => string; | ||
@@ -237,20 +233,20 @@ connect: MethodFn; | ||
export type Options< | ||
Data extends DataShape = DataShape, | ||
TData extends DataShape = DataShape, | ||
ThrowOnError extends boolean = boolean, | ||
> = OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & | ||
Omit<Data, 'url'>; | ||
Omit<TData, 'url'>; | ||
export type OptionsLegacyParser< | ||
Data = unknown, | ||
TData = unknown, | ||
ThrowOnError extends boolean = boolean, | ||
> = Data extends { body?: any } | ||
? Data extends { headers?: any } | ||
? OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'headers' | 'url'> & Data | ||
> = TData extends { body?: any } | ||
? TData extends { headers?: any } | ||
? OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'headers' | 'url'> & TData | ||
: OmitKeys<RequestOptions<ThrowOnError>, 'body' | 'url'> & | ||
Data & | ||
TData & | ||
Pick<RequestOptions<ThrowOnError>, 'headers'> | ||
: Data extends { headers?: any } | ||
: TData extends { headers?: any } | ||
? OmitKeys<RequestOptions<ThrowOnError>, 'headers' | 'url'> & | ||
Data & | ||
TData & | ||
Pick<RequestOptions<ThrowOnError>, 'body'> | ||
: OmitKeys<RequestOptions<ThrowOnError>, 'url'> & Data; | ||
: OmitKeys<RequestOptions<ThrowOnError>, 'url'> & TData; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
3
9
2
138174
109777
1488