@renai-labs/sdk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth.d.ts +1 -0
- package/dist/auth.js +2 -1
- package/dist/client.js +12 -1
- package/dist/generated/@tanstack/react-query.gen.d.ts +915 -1201
- package/dist/generated/@tanstack/react-query.gen.js +1063 -1473
- package/dist/generated/client/client.gen.d.ts +1 -1
- package/dist/generated/client/client.gen.js +44 -46
- package/dist/generated/client/index.d.ts +8 -8
- package/dist/generated/client/index.js +5 -5
- package/dist/generated/client/types.gen.d.ts +18 -18
- package/dist/generated/client/utils.gen.d.ts +3 -3
- package/dist/generated/client/utils.gen.js +33 -35
- package/dist/generated/client.gen.d.ts +2 -2
- package/dist/generated/client.gen.js +1 -1
- package/dist/generated/core/auth.gen.d.ts +3 -3
- package/dist/generated/core/auth.gen.js +3 -3
- package/dist/generated/core/bodySerializer.gen.d.ts +1 -1
- package/dist/generated/core/bodySerializer.gen.js +3 -3
- package/dist/generated/core/params.gen.d.ts +3 -3
- package/dist/generated/core/params.gen.js +11 -9
- package/dist/generated/core/pathSerializer.gen.d.ts +4 -4
- package/dist/generated/core/pathSerializer.gen.js +37 -37
- package/dist/generated/core/queryKeySerializer.gen.js +8 -7
- package/dist/generated/core/serverSentEvents.gen.d.ts +3 -3
- package/dist/generated/core/serverSentEvents.gen.js +19 -19
- package/dist/generated/core/types.gen.d.ts +4 -4
- package/dist/generated/core/utils.gen.d.ts +1 -1
- package/dist/generated/core/utils.gen.js +17 -17
- package/dist/generated/internal/types.gen.d.ts +664 -0
- package/dist/generated/internal/types.gen.js +2 -0
- package/dist/generated/sdk.gen.d.ts +281 -343
- package/dist/generated/sdk.gen.js +930 -723
- package/dist/generated/types.gen.d.ts +2626 -2238
- package/dist/generated/zod.gen.d.ts +5569 -2277
- package/dist/generated/zod.gen.js +1757 -1118
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +11 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Client, Config } from
|
|
1
|
+
import type { Client, Config } from "./types.gen";
|
|
2
2
|
export declare const createClient: (config?: Config) => Client;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
import { createSseClient } from
|
|
3
|
-
import { getValidRequestBody } from
|
|
4
|
-
import { buildUrl, createConfig, createInterceptors, getParseAs, mergeConfigs, mergeHeaders, setAuthParams, } from
|
|
2
|
+
import { createSseClient } from "../core/serverSentEvents.gen";
|
|
3
|
+
import { getValidRequestBody } from "../core/utils.gen";
|
|
4
|
+
import { buildUrl, createConfig, createInterceptors, getParseAs, mergeConfigs, mergeHeaders, setAuthParams, } from "./utils.gen";
|
|
5
5
|
export const createClient = (config = {}) => {
|
|
6
6
|
let _config = mergeConfigs(createConfig(), config);
|
|
7
7
|
const getConfig = () => ({ ..._config });
|
|
@@ -31,8 +31,8 @@ export const createClient = (config = {}) => {
|
|
|
31
31
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
32
32
|
}
|
|
33
33
|
// remove Content-Type header if body is empty to avoid sending invalid requests
|
|
34
|
-
if (opts.body === undefined || opts.serializedBody ===
|
|
35
|
-
opts.headers.delete(
|
|
34
|
+
if (opts.body === undefined || opts.serializedBody === "") {
|
|
35
|
+
opts.headers.delete("Content-Type");
|
|
36
36
|
}
|
|
37
37
|
const resolvedOpts = opts;
|
|
38
38
|
const url = buildUrl(resolvedOpts);
|
|
@@ -41,7 +41,7 @@ export const createClient = (config = {}) => {
|
|
|
41
41
|
const request = async (options) => {
|
|
42
42
|
const { opts, url } = await beforeRequest(options);
|
|
43
43
|
const requestInit = {
|
|
44
|
-
redirect:
|
|
44
|
+
redirect: "follow",
|
|
45
45
|
...opts,
|
|
46
46
|
body: getValidRequestBody(opts),
|
|
47
47
|
};
|
|
@@ -71,7 +71,7 @@ export const createClient = (config = {}) => {
|
|
|
71
71
|
throw finalError;
|
|
72
72
|
}
|
|
73
73
|
// Return error response
|
|
74
|
-
return opts.responseStyle ===
|
|
74
|
+
return opts.responseStyle === "data"
|
|
75
75
|
? undefined
|
|
76
76
|
: {
|
|
77
77
|
error: finalError,
|
|
@@ -89,29 +89,27 @@ export const createClient = (config = {}) => {
|
|
|
89
89
|
response,
|
|
90
90
|
};
|
|
91
91
|
if (response.ok) {
|
|
92
|
-
const parseAs = (opts.parseAs ===
|
|
93
|
-
|
|
94
|
-
: opts.parseAs) ?? 'json';
|
|
95
|
-
if (response.status === 204 || response.headers.get('Content-Length') === '0') {
|
|
92
|
+
const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
|
|
93
|
+
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
|
|
96
94
|
let emptyData;
|
|
97
95
|
switch (parseAs) {
|
|
98
|
-
case
|
|
99
|
-
case
|
|
100
|
-
case
|
|
96
|
+
case "arrayBuffer":
|
|
97
|
+
case "blob":
|
|
98
|
+
case "text":
|
|
101
99
|
emptyData = await response[parseAs]();
|
|
102
100
|
break;
|
|
103
|
-
case
|
|
101
|
+
case "formData":
|
|
104
102
|
emptyData = new FormData();
|
|
105
103
|
break;
|
|
106
|
-
case
|
|
104
|
+
case "stream":
|
|
107
105
|
emptyData = response.body;
|
|
108
106
|
break;
|
|
109
|
-
case
|
|
107
|
+
case "json":
|
|
110
108
|
default:
|
|
111
109
|
emptyData = {};
|
|
112
110
|
break;
|
|
113
111
|
}
|
|
114
|
-
return opts.responseStyle ===
|
|
112
|
+
return opts.responseStyle === "data"
|
|
115
113
|
? emptyData
|
|
116
114
|
: {
|
|
117
115
|
data: emptyData,
|
|
@@ -120,28 +118,28 @@ export const createClient = (config = {}) => {
|
|
|
120
118
|
}
|
|
121
119
|
let data;
|
|
122
120
|
switch (parseAs) {
|
|
123
|
-
case
|
|
124
|
-
case
|
|
125
|
-
case
|
|
126
|
-
case
|
|
121
|
+
case "arrayBuffer":
|
|
122
|
+
case "blob":
|
|
123
|
+
case "formData":
|
|
124
|
+
case "text":
|
|
127
125
|
data = await response[parseAs]();
|
|
128
126
|
break;
|
|
129
|
-
case
|
|
127
|
+
case "json": {
|
|
130
128
|
// Some servers return 200 with no Content-Length and empty body.
|
|
131
129
|
// response.json() would throw; read as text and parse if non-empty.
|
|
132
130
|
const text = await response.text();
|
|
133
131
|
data = text ? JSON.parse(text) : {};
|
|
134
132
|
break;
|
|
135
133
|
}
|
|
136
|
-
case
|
|
137
|
-
return opts.responseStyle ===
|
|
134
|
+
case "stream":
|
|
135
|
+
return opts.responseStyle === "data"
|
|
138
136
|
? response.body
|
|
139
137
|
: {
|
|
140
138
|
data: response.body,
|
|
141
139
|
...result,
|
|
142
140
|
};
|
|
143
141
|
}
|
|
144
|
-
if (parseAs ===
|
|
142
|
+
if (parseAs === "json") {
|
|
145
143
|
if (opts.responseValidator) {
|
|
146
144
|
await opts.responseValidator(data);
|
|
147
145
|
}
|
|
@@ -149,7 +147,7 @@ export const createClient = (config = {}) => {
|
|
|
149
147
|
data = await opts.responseTransformer(data);
|
|
150
148
|
}
|
|
151
149
|
}
|
|
152
|
-
return opts.responseStyle ===
|
|
150
|
+
return opts.responseStyle === "data"
|
|
153
151
|
? data
|
|
154
152
|
: {
|
|
155
153
|
data,
|
|
@@ -176,7 +174,7 @@ export const createClient = (config = {}) => {
|
|
|
176
174
|
throw finalError;
|
|
177
175
|
}
|
|
178
176
|
// TODO: we probably want to return error and improve types
|
|
179
|
-
return opts.responseStyle ===
|
|
177
|
+
return opts.responseStyle === "data"
|
|
180
178
|
? undefined
|
|
181
179
|
: {
|
|
182
180
|
error: finalError,
|
|
@@ -207,29 +205,29 @@ export const createClient = (config = {}) => {
|
|
|
207
205
|
const _buildUrl = (options) => buildUrl({ ..._config, ...options });
|
|
208
206
|
return {
|
|
209
207
|
buildUrl: _buildUrl,
|
|
210
|
-
connect: makeMethodFn(
|
|
211
|
-
delete: makeMethodFn(
|
|
212
|
-
get: makeMethodFn(
|
|
208
|
+
connect: makeMethodFn("CONNECT"),
|
|
209
|
+
delete: makeMethodFn("DELETE"),
|
|
210
|
+
get: makeMethodFn("GET"),
|
|
213
211
|
getConfig,
|
|
214
|
-
head: makeMethodFn(
|
|
212
|
+
head: makeMethodFn("HEAD"),
|
|
215
213
|
interceptors,
|
|
216
|
-
options: makeMethodFn(
|
|
217
|
-
patch: makeMethodFn(
|
|
218
|
-
post: makeMethodFn(
|
|
219
|
-
put: makeMethodFn(
|
|
214
|
+
options: makeMethodFn("OPTIONS"),
|
|
215
|
+
patch: makeMethodFn("PATCH"),
|
|
216
|
+
post: makeMethodFn("POST"),
|
|
217
|
+
put: makeMethodFn("PUT"),
|
|
220
218
|
request,
|
|
221
219
|
setConfig,
|
|
222
220
|
sse: {
|
|
223
|
-
connect: makeSseFn(
|
|
224
|
-
delete: makeSseFn(
|
|
225
|
-
get: makeSseFn(
|
|
226
|
-
head: makeSseFn(
|
|
227
|
-
options: makeSseFn(
|
|
228
|
-
patch: makeSseFn(
|
|
229
|
-
post: makeSseFn(
|
|
230
|
-
put: makeSseFn(
|
|
231
|
-
trace: makeSseFn(
|
|
221
|
+
connect: makeSseFn("CONNECT"),
|
|
222
|
+
delete: makeSseFn("DELETE"),
|
|
223
|
+
get: makeSseFn("GET"),
|
|
224
|
+
head: makeSseFn("HEAD"),
|
|
225
|
+
options: makeSseFn("OPTIONS"),
|
|
226
|
+
patch: makeSseFn("PATCH"),
|
|
227
|
+
post: makeSseFn("POST"),
|
|
228
|
+
put: makeSseFn("PUT"),
|
|
229
|
+
trace: makeSseFn("TRACE"),
|
|
232
230
|
},
|
|
233
|
-
trace: makeMethodFn(
|
|
231
|
+
trace: makeMethodFn("TRACE"),
|
|
234
232
|
};
|
|
235
233
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type { Auth } from
|
|
2
|
-
export type { QuerySerializerOptions } from
|
|
3
|
-
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer
|
|
4
|
-
export { buildClientParams } from
|
|
5
|
-
export { serializeQueryKeyValue } from
|
|
6
|
-
export { createClient } from
|
|
7
|
-
export type { Client, ClientOptions, Config, CreateClientConfig, Options, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from
|
|
8
|
-
export { createConfig, mergeHeaders } from
|
|
1
|
+
export type { Auth } from "../core/auth.gen";
|
|
2
|
+
export type { QuerySerializerOptions } from "../core/bodySerializer.gen";
|
|
3
|
+
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer } from "../core/bodySerializer.gen";
|
|
4
|
+
export { buildClientParams } from "../core/params.gen";
|
|
5
|
+
export { serializeQueryKeyValue } from "../core/queryKeySerializer.gen";
|
|
6
|
+
export { createClient } from "./client.gen";
|
|
7
|
+
export type { Client, ClientOptions, Config, CreateClientConfig, Options, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from "./types.gen";
|
|
8
|
+
export { createConfig, mergeHeaders } from "./utils.gen";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer
|
|
3
|
-
export { buildClientParams } from
|
|
4
|
-
export { serializeQueryKeyValue } from
|
|
5
|
-
export { createClient } from
|
|
6
|
-
export { createConfig, mergeHeaders } from
|
|
2
|
+
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer } from "../core/bodySerializer.gen";
|
|
3
|
+
export { buildClientParams } from "../core/params.gen";
|
|
4
|
+
export { serializeQueryKeyValue } from "../core/queryKeySerializer.gen";
|
|
5
|
+
export { createClient } from "./client.gen";
|
|
6
|
+
export { createConfig, mergeHeaders } from "./utils.gen";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { Auth } from
|
|
2
|
-
import type { ServerSentEventsOptions, ServerSentEventsResult } from
|
|
3
|
-
import type { Client as CoreClient, Config as CoreConfig } from
|
|
4
|
-
import type { Middleware } from
|
|
5
|
-
export type ResponseStyle =
|
|
6
|
-
export interface Config<T extends ClientOptions = ClientOptions> extends Omit<RequestInit,
|
|
1
|
+
import type { Auth } from "../core/auth.gen";
|
|
2
|
+
import type { ServerSentEventsOptions, ServerSentEventsResult } from "../core/serverSentEvents.gen";
|
|
3
|
+
import type { Client as CoreClient, Config as CoreConfig } from "../core/types.gen";
|
|
4
|
+
import type { Middleware } from "./utils.gen";
|
|
5
|
+
export type ResponseStyle = "data" | "fields";
|
|
6
|
+
export interface Config<T extends ClientOptions = ClientOptions> extends Omit<RequestInit, "body" | "headers" | "method">, CoreConfig {
|
|
7
7
|
/**
|
|
8
8
|
* Base URL for all requests made by this client.
|
|
9
9
|
*/
|
|
10
|
-
baseUrl?: T[
|
|
10
|
+
baseUrl?: T["baseUrl"];
|
|
11
11
|
/**
|
|
12
12
|
* Fetch API implementation. You can use this option to provide a custom
|
|
13
13
|
* fetch instance.
|
|
@@ -30,7 +30,7 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
|
|
|
30
30
|
*
|
|
31
31
|
* @default 'auto'
|
|
32
32
|
*/
|
|
33
|
-
parseAs?:
|
|
33
|
+
parseAs?: "arrayBuffer" | "auto" | "blob" | "formData" | "json" | "stream" | "text";
|
|
34
34
|
/**
|
|
35
35
|
* Should we return only data or multiple fields (data, error, response, etc.)?
|
|
36
36
|
*
|
|
@@ -42,12 +42,12 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
|
|
|
42
42
|
*
|
|
43
43
|
* @default false
|
|
44
44
|
*/
|
|
45
|
-
throwOnError?: T[
|
|
45
|
+
throwOnError?: T["throwOnError"];
|
|
46
46
|
}
|
|
47
|
-
export interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
|
|
47
|
+
export interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = "fields", ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
|
|
48
48
|
responseStyle: TResponseStyle;
|
|
49
49
|
throwOnError: ThrowOnError;
|
|
50
|
-
}>, Pick<ServerSentEventsOptions<TData>,
|
|
50
|
+
}>, Pick<ServerSentEventsOptions<TData>, "onRequest" | "onSseError" | "onSseEvent" | "sseDefaultRetryDelay" | "sseMaxRetryAttempts" | "sseMaxRetryDelay"> {
|
|
51
51
|
/**
|
|
52
52
|
* Any body that you want to add to your request.
|
|
53
53
|
*
|
|
@@ -62,14 +62,14 @@ export interface RequestOptions<TData = unknown, TResponseStyle extends Response
|
|
|
62
62
|
security?: ReadonlyArray<Auth>;
|
|
63
63
|
url: Url;
|
|
64
64
|
}
|
|
65
|
-
export interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle =
|
|
65
|
+
export interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = "fields", ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
66
66
|
serializedBody?: string;
|
|
67
67
|
}
|
|
68
|
-
export type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle =
|
|
68
|
+
export type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = "fields"> = ThrowOnError extends true ? Promise<TResponseStyle extends "data" ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
|
|
69
69
|
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
|
|
70
70
|
request: Request;
|
|
71
71
|
response: Response;
|
|
72
|
-
}> : Promise<TResponseStyle extends
|
|
72
|
+
}> : Promise<TResponseStyle extends "data" ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : ({
|
|
73
73
|
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
|
|
74
74
|
error: undefined;
|
|
75
75
|
} | {
|
|
@@ -84,9 +84,9 @@ export interface ClientOptions {
|
|
|
84
84
|
responseStyle?: ResponseStyle;
|
|
85
85
|
throwOnError?: boolean;
|
|
86
86
|
}
|
|
87
|
-
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle =
|
|
88
|
-
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle =
|
|
89
|
-
type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle =
|
|
87
|
+
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
88
|
+
type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, "method">) => Promise<ServerSentEventsResult<TData, TError>>;
|
|
89
|
+
type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method"> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
90
90
|
type BuildUrlFn = <TData extends {
|
|
91
91
|
body?: unknown;
|
|
92
92
|
path?: Record<string, unknown>;
|
|
@@ -113,5 +113,5 @@ export interface TDataShape {
|
|
|
113
113
|
url: string;
|
|
114
114
|
}
|
|
115
115
|
type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
116
|
-
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle =
|
|
116
|
+
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = "fields"> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, "body" | "path" | "query" | "url"> & ([TData] extends [never] ? unknown : Omit<TData, "url">);
|
|
117
117
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { QuerySerializerOptions } from
|
|
2
|
-
import type { Client, ClientOptions, Config, RequestOptions } from
|
|
1
|
+
import type { QuerySerializerOptions } from "../core/bodySerializer.gen";
|
|
2
|
+
import type { Client, ClientOptions, Config, RequestOptions } from "./types.gen";
|
|
3
3
|
export declare const createQuerySerializer: <T = unknown>({ parameters, ...args }?: QuerySerializerOptions) => (queryParams: T) => string;
|
|
4
4
|
/**
|
|
5
5
|
* Infers parseAs value from provided Content-Type header.
|
|
@@ -8,7 +8,7 @@ export declare const getParseAs: (contentType: string | null) => Exclude<Config[
|
|
|
8
8
|
export declare const setAuthParams: ({ security, ...options }: Pick<Required<RequestOptions>, "security"> & Pick<RequestOptions, "auth" | "query"> & {
|
|
9
9
|
headers: Headers;
|
|
10
10
|
}) => Promise<void>;
|
|
11
|
-
export declare const buildUrl: Client[
|
|
11
|
+
export declare const buildUrl: Client["buildUrl"];
|
|
12
12
|
export declare const mergeConfigs: (a: Config, b: Config) => Config;
|
|
13
13
|
export declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
|
|
14
14
|
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
import { getAuthToken } from
|
|
3
|
-
import { jsonBodySerializer } from
|
|
4
|
-
import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam
|
|
5
|
-
import { getUrl } from
|
|
2
|
+
import { getAuthToken } from "../core/auth.gen";
|
|
3
|
+
import { jsonBodySerializer } from "../core/bodySerializer.gen";
|
|
4
|
+
import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam } from "../core/pathSerializer.gen";
|
|
5
|
+
import { getUrl } from "../core/utils.gen";
|
|
6
6
|
export const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
|
|
7
7
|
const querySerializer = (queryParams) => {
|
|
8
8
|
const search = [];
|
|
9
|
-
if (queryParams && typeof queryParams ===
|
|
9
|
+
if (queryParams && typeof queryParams === "object") {
|
|
10
10
|
for (const name in queryParams) {
|
|
11
11
|
const value = queryParams[name];
|
|
12
12
|
if (value === undefined || value === null) {
|
|
@@ -18,19 +18,19 @@ export const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
|
|
|
18
18
|
allowReserved: options.allowReserved,
|
|
19
19
|
explode: true,
|
|
20
20
|
name,
|
|
21
|
-
style:
|
|
21
|
+
style: "form",
|
|
22
22
|
value,
|
|
23
23
|
...options.array,
|
|
24
24
|
});
|
|
25
25
|
if (serializedArray)
|
|
26
26
|
search.push(serializedArray);
|
|
27
27
|
}
|
|
28
|
-
else if (typeof value ===
|
|
28
|
+
else if (typeof value === "object") {
|
|
29
29
|
const serializedObject = serializeObjectParam({
|
|
30
30
|
allowReserved: options.allowReserved,
|
|
31
31
|
explode: true,
|
|
32
32
|
name,
|
|
33
|
-
style:
|
|
33
|
+
style: "deepObject",
|
|
34
34
|
value: value,
|
|
35
35
|
...options.object,
|
|
36
36
|
});
|
|
@@ -48,7 +48,7 @@ export const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
return search.join(
|
|
51
|
+
return search.join("&");
|
|
52
52
|
};
|
|
53
53
|
return querySerializer;
|
|
54
54
|
};
|
|
@@ -59,23 +59,23 @@ export const getParseAs = (contentType) => {
|
|
|
59
59
|
if (!contentType) {
|
|
60
60
|
// If no Content-Type header is provided, the best we can do is return the raw response body,
|
|
61
61
|
// which is effectively the same as the 'stream' option.
|
|
62
|
-
return
|
|
62
|
+
return "stream";
|
|
63
63
|
}
|
|
64
|
-
const cleanContent = contentType.split(
|
|
64
|
+
const cleanContent = contentType.split(";")[0]?.trim();
|
|
65
65
|
if (!cleanContent) {
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
if (cleanContent.startsWith(
|
|
69
|
-
return
|
|
68
|
+
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
|
|
69
|
+
return "json";
|
|
70
70
|
}
|
|
71
|
-
if (cleanContent ===
|
|
72
|
-
return
|
|
71
|
+
if (cleanContent === "multipart/form-data") {
|
|
72
|
+
return "formData";
|
|
73
73
|
}
|
|
74
|
-
if ([
|
|
75
|
-
return
|
|
74
|
+
if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
|
|
75
|
+
return "blob";
|
|
76
76
|
}
|
|
77
|
-
if (cleanContent.startsWith(
|
|
78
|
-
return
|
|
77
|
+
if (cleanContent.startsWith("text/")) {
|
|
78
|
+
return "text";
|
|
79
79
|
}
|
|
80
80
|
return;
|
|
81
81
|
};
|
|
@@ -83,9 +83,7 @@ const checkForExistence = (options, name) => {
|
|
|
83
83
|
if (!name) {
|
|
84
84
|
return false;
|
|
85
85
|
}
|
|
86
|
-
if (options.headers.has(name) ||
|
|
87
|
-
options.query?.[name] ||
|
|
88
|
-
options.headers.get('Cookie')?.includes(`${name}=`)) {
|
|
86
|
+
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
|
|
89
87
|
return true;
|
|
90
88
|
}
|
|
91
89
|
return false;
|
|
@@ -99,18 +97,18 @@ export const setAuthParams = async ({ security, ...options }) => {
|
|
|
99
97
|
if (!token) {
|
|
100
98
|
continue;
|
|
101
99
|
}
|
|
102
|
-
const name = auth.name ??
|
|
100
|
+
const name = auth.name ?? "Authorization";
|
|
103
101
|
switch (auth.in) {
|
|
104
|
-
case
|
|
102
|
+
case "query":
|
|
105
103
|
if (!options.query) {
|
|
106
104
|
options.query = {};
|
|
107
105
|
}
|
|
108
106
|
options.query[name] = token;
|
|
109
107
|
break;
|
|
110
|
-
case
|
|
111
|
-
options.headers.append(
|
|
108
|
+
case "cookie":
|
|
109
|
+
options.headers.append("Cookie", `${name}=${token}`);
|
|
112
110
|
break;
|
|
113
|
-
case
|
|
111
|
+
case "header":
|
|
114
112
|
default:
|
|
115
113
|
options.headers.set(name, token);
|
|
116
114
|
break;
|
|
@@ -121,14 +119,14 @@ export const buildUrl = (options) => getUrl({
|
|
|
121
119
|
baseUrl: options.baseUrl,
|
|
122
120
|
path: options.path,
|
|
123
121
|
query: options.query,
|
|
124
|
-
querySerializer: typeof options.querySerializer ===
|
|
122
|
+
querySerializer: typeof options.querySerializer === "function"
|
|
125
123
|
? options.querySerializer
|
|
126
124
|
: createQuerySerializer(options.querySerializer),
|
|
127
125
|
url: options.url,
|
|
128
126
|
});
|
|
129
127
|
export const mergeConfigs = (a, b) => {
|
|
130
128
|
const config = { ...a, ...b };
|
|
131
|
-
if (config.baseUrl?.endsWith(
|
|
129
|
+
if (config.baseUrl?.endsWith("/")) {
|
|
132
130
|
config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
|
|
133
131
|
}
|
|
134
132
|
config.headers = mergeHeaders(a.headers, b.headers);
|
|
@@ -160,7 +158,7 @@ export const mergeHeaders = (...headers) => {
|
|
|
160
158
|
else if (value !== undefined) {
|
|
161
159
|
// assume object headers are meant to be JSON stringified, i.e., their
|
|
162
160
|
// content value in OpenAPI specification is 'application/json'
|
|
163
|
-
mergedHeaders.set(key, typeof value ===
|
|
161
|
+
mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
|
|
164
162
|
}
|
|
165
163
|
}
|
|
166
164
|
}
|
|
@@ -182,7 +180,7 @@ class Interceptors {
|
|
|
182
180
|
return Boolean(this.fns[index]);
|
|
183
181
|
}
|
|
184
182
|
getInterceptorIndex(id) {
|
|
185
|
-
if (typeof id ===
|
|
183
|
+
if (typeof id === "number") {
|
|
186
184
|
return this.fns[id] ? id : -1;
|
|
187
185
|
}
|
|
188
186
|
return this.fns.indexOf(id);
|
|
@@ -209,20 +207,20 @@ const defaultQuerySerializer = createQuerySerializer({
|
|
|
209
207
|
allowReserved: false,
|
|
210
208
|
array: {
|
|
211
209
|
explode: true,
|
|
212
|
-
style:
|
|
210
|
+
style: "form",
|
|
213
211
|
},
|
|
214
212
|
object: {
|
|
215
213
|
explode: true,
|
|
216
|
-
style:
|
|
214
|
+
style: "deepObject",
|
|
217
215
|
},
|
|
218
216
|
});
|
|
219
217
|
const defaultHeaders = {
|
|
220
|
-
|
|
218
|
+
"Content-Type": "application/json",
|
|
221
219
|
};
|
|
222
220
|
export const createConfig = (override = {}) => ({
|
|
223
221
|
...jsonBodySerializer,
|
|
224
222
|
headers: defaultHeaders,
|
|
225
|
-
parseAs:
|
|
223
|
+
parseAs: "auto",
|
|
226
224
|
querySerializer: defaultQuerySerializer,
|
|
227
225
|
...override,
|
|
228
226
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type ClientOptions, type Config } from
|
|
2
|
-
import type { ClientOptions as ClientOptions2 } from
|
|
1
|
+
import { type ClientOptions, type Config } from "./client";
|
|
2
|
+
import type { ClientOptions as ClientOptions2 } from "./types.gen";
|
|
3
3
|
/**
|
|
4
4
|
* The `createClientConfig()` function will be called on client initialization
|
|
5
5
|
* and the returned object will become the client's initial configuration.
|
|
@@ -5,14 +5,14 @@ export interface Auth {
|
|
|
5
5
|
*
|
|
6
6
|
* @default 'header'
|
|
7
7
|
*/
|
|
8
|
-
in?:
|
|
8
|
+
in?: "header" | "query" | "cookie";
|
|
9
9
|
/**
|
|
10
10
|
* Header or query parameter name.
|
|
11
11
|
*
|
|
12
12
|
* @default 'Authorization'
|
|
13
13
|
*/
|
|
14
14
|
name?: string;
|
|
15
|
-
scheme?:
|
|
16
|
-
type:
|
|
15
|
+
scheme?: "basic" | "bearer";
|
|
16
|
+
type: "apiKey" | "http";
|
|
17
17
|
}
|
|
18
18
|
export declare const getAuthToken: (auth: Auth, callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken) => Promise<string | undefined>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
2
|
export const getAuthToken = async (auth, callback) => {
|
|
3
|
-
const token = typeof callback ===
|
|
3
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
4
4
|
if (!token) {
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
|
-
if (auth.scheme ===
|
|
7
|
+
if (auth.scheme === "bearer") {
|
|
8
8
|
return `Bearer ${token}`;
|
|
9
9
|
}
|
|
10
|
-
if (auth.scheme ===
|
|
10
|
+
if (auth.scheme === "basic") {
|
|
11
11
|
return `Basic ${btoa(token)}`;
|
|
12
12
|
}
|
|
13
13
|
return token;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArrayStyle, ObjectStyle, SerializerOptions } from
|
|
1
|
+
import type { ArrayStyle, ObjectStyle, SerializerOptions } from "./pathSerializer.gen";
|
|
2
2
|
export type QuerySerializer = (query: Record<string, unknown>) => string;
|
|
3
3
|
export type BodySerializer = (body: unknown) => unknown;
|
|
4
4
|
type QuerySerializerOptionsObject = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
2
|
const serializeFormDataPair = (data, key, value) => {
|
|
3
|
-
if (typeof value ===
|
|
3
|
+
if (typeof value === "string" || value instanceof Blob) {
|
|
4
4
|
data.append(key, value);
|
|
5
5
|
}
|
|
6
6
|
else if (value instanceof Date) {
|
|
@@ -11,7 +11,7 @@ const serializeFormDataPair = (data, key, value) => {
|
|
|
11
11
|
}
|
|
12
12
|
};
|
|
13
13
|
const serializeUrlSearchParamsPair = (data, key, value) => {
|
|
14
|
-
if (typeof value ===
|
|
14
|
+
if (typeof value === "string") {
|
|
15
15
|
data.append(key, value);
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
@@ -36,7 +36,7 @@ export const formDataBodySerializer = {
|
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
export const jsonBodySerializer = {
|
|
39
|
-
bodySerializer: (body) => JSON.stringify(body, (_key, value) => (typeof value ===
|
|
39
|
+
bodySerializer: (body) => JSON.stringify(body, (_key, value) => (typeof value === "bigint" ? value.toString() : value)),
|
|
40
40
|
};
|
|
41
41
|
export const urlSearchParamsBodySerializer = {
|
|
42
42
|
bodySerializer: (body) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
type Slot =
|
|
1
|
+
type Slot = "body" | "headers" | "path" | "query";
|
|
2
2
|
export type Field = {
|
|
3
|
-
in: Exclude<Slot,
|
|
3
|
+
in: Exclude<Slot, "body">;
|
|
4
4
|
/**
|
|
5
5
|
* Field name. This is the name we want the user to see and use.
|
|
6
6
|
*/
|
|
@@ -11,7 +11,7 @@ export type Field = {
|
|
|
11
11
|
*/
|
|
12
12
|
map?: string;
|
|
13
13
|
} | {
|
|
14
|
-
in: Extract<Slot,
|
|
14
|
+
in: Extract<Slot, "body">;
|
|
15
15
|
/**
|
|
16
16
|
* Key isn't required for bodies.
|
|
17
17
|
*/
|