@robosystems/client 0.2.25 → 0.2.27
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/README.md +7 -6
- package/bin/{create-feature → create-feature.sh} +11 -1
- package/client/client.gen.js +118 -34
- package/client/client.gen.ts +125 -38
- package/client/index.d.ts +2 -1
- package/client/index.js +3 -1
- package/client/index.ts +1 -1
- package/client/types.gen.d.ts +11 -16
- package/client/types.gen.js +0 -1
- package/client/types.gen.ts +44 -64
- package/client/utils.gen.d.ts +8 -20
- package/client/utils.gen.js +44 -112
- package/client/utils.gen.ts +57 -181
- package/client.gen.d.ts +3 -3
- package/client.gen.js +1 -3
- package/client.gen.ts +4 -6
- package/core/auth.gen.ts +1 -2
- package/core/bodySerializer.gen.d.ts +12 -4
- package/core/bodySerializer.gen.js +1 -1
- package/core/bodySerializer.gen.ts +17 -25
- package/core/params.gen.d.ts +10 -0
- package/core/params.gen.js +17 -5
- package/core/params.gen.ts +37 -21
- package/core/pathSerializer.gen.js +3 -11
- package/core/pathSerializer.gen.ts +4 -14
- package/core/queryKeySerializer.gen.d.ts +18 -0
- package/core/queryKeySerializer.gen.js +98 -0
- package/core/queryKeySerializer.gen.ts +117 -0
- package/core/serverSentEvents.gen.d.ts +71 -0
- package/core/serverSentEvents.gen.js +137 -0
- package/core/serverSentEvents.gen.ts +243 -0
- package/core/types.gen.d.ts +12 -12
- package/core/types.gen.js +0 -1
- package/core/types.gen.ts +21 -38
- package/core/utils.gen.d.ts +19 -0
- package/core/utils.gen.js +93 -0
- package/core/utils.gen.ts +140 -0
- package/extensions/QueryClient.js +23 -2
- package/extensions/QueryClient.test.ts +2 -1
- package/extensions/QueryClient.ts +27 -2
- package/index.ts +3 -2
- package/package.json +9 -7
- package/sdk/client/client.gen.js +118 -34
- package/sdk/client/client.gen.ts +125 -38
- package/sdk/client/index.d.ts +2 -1
- package/sdk/client/index.js +3 -1
- package/sdk/client/index.ts +1 -1
- package/sdk/client/types.gen.d.ts +11 -16
- package/sdk/client/types.gen.js +0 -1
- package/sdk/client/types.gen.ts +44 -64
- package/sdk/client/utils.gen.d.ts +8 -20
- package/sdk/client/utils.gen.js +44 -112
- package/sdk/client/utils.gen.ts +57 -181
- package/sdk/client.gen.d.ts +3 -3
- package/sdk/client.gen.js +1 -3
- package/sdk/client.gen.ts +4 -6
- package/sdk/core/auth.gen.ts +1 -2
- package/sdk/core/bodySerializer.gen.d.ts +12 -4
- package/sdk/core/bodySerializer.gen.js +1 -1
- package/sdk/core/bodySerializer.gen.ts +17 -25
- package/sdk/core/params.gen.d.ts +10 -0
- package/sdk/core/params.gen.js +17 -5
- package/sdk/core/params.gen.ts +37 -21
- package/sdk/core/pathSerializer.gen.js +3 -11
- package/sdk/core/pathSerializer.gen.ts +4 -14
- package/sdk/core/queryKeySerializer.gen.d.ts +18 -0
- package/sdk/core/queryKeySerializer.gen.js +98 -0
- package/sdk/core/queryKeySerializer.gen.ts +117 -0
- package/sdk/core/serverSentEvents.gen.d.ts +71 -0
- package/sdk/core/serverSentEvents.gen.js +137 -0
- package/sdk/core/serverSentEvents.gen.ts +243 -0
- package/sdk/core/types.gen.d.ts +12 -12
- package/sdk/core/types.gen.js +0 -1
- package/sdk/core/types.gen.ts +21 -38
- package/sdk/core/utils.gen.d.ts +19 -0
- package/sdk/core/utils.gen.js +93 -0
- package/sdk/core/utils.gen.ts +140 -0
- package/sdk/index.d.ts +2 -2
- package/sdk/index.js +114 -17
- package/sdk/index.ts +3 -2
- package/sdk/sdk.gen.d.ts +112 -3
- package/sdk/sdk.gen.js +778 -1736
- package/sdk/sdk.gen.ts +782 -1740
- package/sdk/types.gen.d.ts +851 -5
- package/sdk/types.gen.ts +852 -6
- package/sdk-extensions/QueryClient.js +23 -2
- package/sdk-extensions/QueryClient.test.ts +2 -1
- package/sdk-extensions/QueryClient.ts +27 -2
- package/sdk.gen.d.ts +112 -3
- package/sdk.gen.js +778 -1736
- package/sdk.gen.ts +782 -1740
- package/types.gen.d.ts +851 -5
- package/types.gen.ts +852 -6
package/sdk/client/client.gen.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
/* eslint-disable no-undef */
|
|
3
2
|
|
|
4
|
-
import
|
|
3
|
+
import { createSseClient } from '../core/serverSentEvents.gen';
|
|
4
|
+
import type { HttpMethod } from '../core/types.gen';
|
|
5
|
+
import { getValidRequestBody } from '../core/utils.gen';
|
|
6
|
+
import type { Client, Config, RequestOptions, ResolvedRequestOptions } from './types.gen';
|
|
5
7
|
import {
|
|
6
8
|
buildUrl,
|
|
7
9
|
createConfig,
|
|
@@ -27,14 +29,9 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
27
29
|
return getConfig();
|
|
28
30
|
};
|
|
29
31
|
|
|
30
|
-
const interceptors = createInterceptors<
|
|
31
|
-
Request,
|
|
32
|
-
Response,
|
|
33
|
-
unknown,
|
|
34
|
-
ResolvedRequestOptions
|
|
35
|
-
>();
|
|
32
|
+
const interceptors = createInterceptors<Request, Response, unknown, ResolvedRequestOptions>();
|
|
36
33
|
|
|
37
|
-
const
|
|
34
|
+
const beforeRequest = async (options: RequestOptions) => {
|
|
38
35
|
const opts = {
|
|
39
36
|
..._config,
|
|
40
37
|
...options,
|
|
@@ -54,25 +51,31 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
54
51
|
await opts.requestValidator(opts);
|
|
55
52
|
}
|
|
56
53
|
|
|
57
|
-
if (opts.body && opts.bodySerializer) {
|
|
54
|
+
if (opts.body !== undefined && opts.bodySerializer) {
|
|
58
55
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
59
56
|
}
|
|
60
57
|
|
|
61
58
|
// remove Content-Type header if body is empty to avoid sending invalid requests
|
|
62
|
-
if (opts.
|
|
59
|
+
if (opts.body === undefined || opts.serializedBody === '') {
|
|
63
60
|
opts.headers.delete('Content-Type');
|
|
64
61
|
}
|
|
65
62
|
|
|
66
63
|
const url = buildUrl(opts);
|
|
64
|
+
|
|
65
|
+
return { opts, url };
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const request: Client['request'] = async (options) => {
|
|
69
|
+
const { opts, url } = await beforeRequest(options);
|
|
67
70
|
const requestInit: ReqInit = {
|
|
68
71
|
redirect: 'follow',
|
|
69
72
|
...opts,
|
|
70
|
-
body: opts
|
|
73
|
+
body: getValidRequestBody(opts),
|
|
71
74
|
};
|
|
72
75
|
|
|
73
76
|
let request = new Request(url, requestInit);
|
|
74
77
|
|
|
75
|
-
for (const fn of interceptors.request.
|
|
78
|
+
for (const fn of interceptors.request.fns) {
|
|
76
79
|
if (fn) {
|
|
77
80
|
request = await fn(request, opts);
|
|
78
81
|
}
|
|
@@ -81,9 +84,37 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
81
84
|
// fetch must be assigned here, otherwise it would throw the error:
|
|
82
85
|
// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
|
|
83
86
|
const _fetch = opts.fetch!;
|
|
84
|
-
let response
|
|
87
|
+
let response: Response;
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
response = await _fetch(request);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
// Handle fetch exceptions (AbortError, network errors, etc.)
|
|
93
|
+
let finalError = error;
|
|
94
|
+
|
|
95
|
+
for (const fn of interceptors.error.fns) {
|
|
96
|
+
if (fn) {
|
|
97
|
+
finalError = (await fn(error, undefined as any, request, opts)) as unknown;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
85
100
|
|
|
86
|
-
|
|
101
|
+
finalError = finalError || ({} as unknown);
|
|
102
|
+
|
|
103
|
+
if (opts.throwOnError) {
|
|
104
|
+
throw finalError;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Return error response
|
|
108
|
+
return opts.responseStyle === 'data'
|
|
109
|
+
? undefined
|
|
110
|
+
: {
|
|
111
|
+
error: finalError,
|
|
112
|
+
request,
|
|
113
|
+
response: undefined as any,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
for (const fn of interceptors.response.fns) {
|
|
87
118
|
if (fn) {
|
|
88
119
|
response = await fn(response, request, opts);
|
|
89
120
|
}
|
|
@@ -95,32 +126,53 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
95
126
|
};
|
|
96
127
|
|
|
97
128
|
if (response.ok) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
129
|
+
const parseAs =
|
|
130
|
+
(opts.parseAs === 'auto'
|
|
131
|
+
? getParseAs(response.headers.get('Content-Type'))
|
|
132
|
+
: opts.parseAs) ?? 'json';
|
|
133
|
+
|
|
134
|
+
if (response.status === 204 || response.headers.get('Content-Length') === '0') {
|
|
135
|
+
let emptyData: any;
|
|
136
|
+
switch (parseAs) {
|
|
137
|
+
case 'arrayBuffer':
|
|
138
|
+
case 'blob':
|
|
139
|
+
case 'text':
|
|
140
|
+
emptyData = await response[parseAs]();
|
|
141
|
+
break;
|
|
142
|
+
case 'formData':
|
|
143
|
+
emptyData = new FormData();
|
|
144
|
+
break;
|
|
145
|
+
case 'stream':
|
|
146
|
+
emptyData = response.body;
|
|
147
|
+
break;
|
|
148
|
+
case 'json':
|
|
149
|
+
default:
|
|
150
|
+
emptyData = {};
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
102
153
|
return opts.responseStyle === 'data'
|
|
103
|
-
?
|
|
154
|
+
? emptyData
|
|
104
155
|
: {
|
|
105
|
-
data:
|
|
156
|
+
data: emptyData,
|
|
106
157
|
...result,
|
|
107
158
|
};
|
|
108
159
|
}
|
|
109
160
|
|
|
110
|
-
const parseAs =
|
|
111
|
-
(opts.parseAs === 'auto'
|
|
112
|
-
? getParseAs(response.headers.get('Content-Type'))
|
|
113
|
-
: opts.parseAs) ?? 'json';
|
|
114
|
-
|
|
115
161
|
let data: any;
|
|
116
162
|
switch (parseAs) {
|
|
117
163
|
case 'arrayBuffer':
|
|
118
164
|
case 'blob':
|
|
119
165
|
case 'formData':
|
|
120
|
-
case 'json':
|
|
121
166
|
case 'text':
|
|
122
167
|
data = await response[parseAs]();
|
|
123
168
|
break;
|
|
169
|
+
case 'json': {
|
|
170
|
+
// Some servers return 200 with no Content-Length and empty body.
|
|
171
|
+
// response.json() would throw; read as text and parse if non-empty.
|
|
172
|
+
const text = await response.text();
|
|
173
|
+
data = text ? JSON.parse(text) : {};
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
124
176
|
case 'stream':
|
|
125
177
|
return opts.responseStyle === 'data'
|
|
126
178
|
? response.body
|
|
@@ -160,7 +212,7 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
160
212
|
const error = jsonError ?? textError;
|
|
161
213
|
let finalError = error;
|
|
162
214
|
|
|
163
|
-
for (const fn of interceptors.error.
|
|
215
|
+
for (const fn of interceptors.error.fns) {
|
|
164
216
|
if (fn) {
|
|
165
217
|
finalError = (await fn(error, response, request, opts)) as string;
|
|
166
218
|
}
|
|
@@ -181,20 +233,55 @@ export const createClient = (config: Config = {}): Client => {
|
|
|
181
233
|
};
|
|
182
234
|
};
|
|
183
235
|
|
|
236
|
+
const makeMethodFn = (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>
|
|
237
|
+
request({ ...options, method });
|
|
238
|
+
|
|
239
|
+
const makeSseFn = (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {
|
|
240
|
+
const { opts, url } = await beforeRequest(options);
|
|
241
|
+
return createSseClient({
|
|
242
|
+
...opts,
|
|
243
|
+
body: opts.body as BodyInit | null | undefined,
|
|
244
|
+
headers: opts.headers as unknown as Record<string, string>,
|
|
245
|
+
method,
|
|
246
|
+
onRequest: async (url, init) => {
|
|
247
|
+
let request = new Request(url, init);
|
|
248
|
+
for (const fn of interceptors.request.fns) {
|
|
249
|
+
if (fn) {
|
|
250
|
+
request = await fn(request, opts);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return request;
|
|
254
|
+
},
|
|
255
|
+
serializedBody: getValidRequestBody(opts) as BodyInit | null | undefined,
|
|
256
|
+
url,
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
|
|
184
260
|
return {
|
|
185
261
|
buildUrl,
|
|
186
|
-
connect: (
|
|
187
|
-
delete: (
|
|
188
|
-
get: (
|
|
262
|
+
connect: makeMethodFn('CONNECT'),
|
|
263
|
+
delete: makeMethodFn('DELETE'),
|
|
264
|
+
get: makeMethodFn('GET'),
|
|
189
265
|
getConfig,
|
|
190
|
-
head: (
|
|
266
|
+
head: makeMethodFn('HEAD'),
|
|
191
267
|
interceptors,
|
|
192
|
-
options: (
|
|
193
|
-
patch: (
|
|
194
|
-
post: (
|
|
195
|
-
put: (
|
|
268
|
+
options: makeMethodFn('OPTIONS'),
|
|
269
|
+
patch: makeMethodFn('PATCH'),
|
|
270
|
+
post: makeMethodFn('POST'),
|
|
271
|
+
put: makeMethodFn('PUT'),
|
|
196
272
|
request,
|
|
197
273
|
setConfig,
|
|
198
|
-
|
|
199
|
-
|
|
274
|
+
sse: {
|
|
275
|
+
connect: makeSseFn('CONNECT'),
|
|
276
|
+
delete: makeSseFn('DELETE'),
|
|
277
|
+
get: makeSseFn('GET'),
|
|
278
|
+
head: makeSseFn('HEAD'),
|
|
279
|
+
options: makeSseFn('OPTIONS'),
|
|
280
|
+
patch: makeSseFn('PATCH'),
|
|
281
|
+
post: makeSseFn('POST'),
|
|
282
|
+
put: makeSseFn('PUT'),
|
|
283
|
+
trace: makeSseFn('TRACE'),
|
|
284
|
+
},
|
|
285
|
+
trace: makeMethodFn('TRACE'),
|
|
286
|
+
} as Client;
|
|
200
287
|
};
|
package/sdk/client/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export type { Auth } from '../core/auth.gen';
|
|
|
2
2
|
export type { QuerySerializerOptions } from '../core/bodySerializer.gen';
|
|
3
3
|
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen';
|
|
4
4
|
export { buildClientParams } from '../core/params.gen';
|
|
5
|
+
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
|
|
5
6
|
export { createClient } from './client.gen';
|
|
6
|
-
export type { Client, ClientOptions, Config, CreateClientConfig, Options,
|
|
7
|
+
export type { Client, ClientOptions, Config, CreateClientConfig, Options, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from './types.gen';
|
|
7
8
|
export { createConfig, mergeHeaders } from './utils.gen';
|
package/sdk/client/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.mergeHeaders = exports.createConfig = exports.createClient = exports.buildClientParams = exports.urlSearchParamsBodySerializer = exports.jsonBodySerializer = exports.formDataBodySerializer = void 0;
|
|
4
|
+
exports.mergeHeaders = exports.createConfig = exports.createClient = exports.serializeQueryKeyValue = exports.buildClientParams = exports.urlSearchParamsBodySerializer = exports.jsonBodySerializer = exports.formDataBodySerializer = void 0;
|
|
5
5
|
var bodySerializer_gen_1 = require("../core/bodySerializer.gen");
|
|
6
6
|
Object.defineProperty(exports, "formDataBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.formDataBodySerializer; } });
|
|
7
7
|
Object.defineProperty(exports, "jsonBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.jsonBodySerializer; } });
|
|
8
8
|
Object.defineProperty(exports, "urlSearchParamsBodySerializer", { enumerable: true, get: function () { return bodySerializer_gen_1.urlSearchParamsBodySerializer; } });
|
|
9
9
|
var params_gen_1 = require("../core/params.gen");
|
|
10
10
|
Object.defineProperty(exports, "buildClientParams", { enumerable: true, get: function () { return params_gen_1.buildClientParams; } });
|
|
11
|
+
var queryKeySerializer_gen_1 = require("../core/queryKeySerializer.gen");
|
|
12
|
+
Object.defineProperty(exports, "serializeQueryKeyValue", { enumerable: true, get: function () { return queryKeySerializer_gen_1.serializeQueryKeyValue; } });
|
|
11
13
|
var client_gen_1 = require("./client.gen");
|
|
12
14
|
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_gen_1.createClient; } });
|
|
13
15
|
var utils_gen_1 = require("./utils.gen");
|
package/sdk/client/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export {
|
|
|
8
8
|
urlSearchParamsBodySerializer,
|
|
9
9
|
} from '../core/bodySerializer.gen';
|
|
10
10
|
export { buildClientParams } from '../core/params.gen';
|
|
11
|
+
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
|
|
11
12
|
export { createClient } from './client.gen';
|
|
12
13
|
export type {
|
|
13
14
|
Client,
|
|
@@ -15,7 +16,6 @@ export type {
|
|
|
15
16
|
Config,
|
|
16
17
|
CreateClientConfig,
|
|
17
18
|
Options,
|
|
18
|
-
OptionsLegacyParser,
|
|
19
19
|
RequestOptions,
|
|
20
20
|
RequestResult,
|
|
21
21
|
ResolvedRequestOptions,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Auth } from '../core/auth.gen';
|
|
2
|
+
import type { ServerSentEventsOptions, ServerSentEventsResult } from '../core/serverSentEvents.gen';
|
|
2
3
|
import type { Client as CoreClient, Config as CoreConfig } from '../core/types.gen';
|
|
3
4
|
import type { Middleware } from './utils.gen';
|
|
4
5
|
export type ResponseStyle = 'data' | 'fields';
|
|
@@ -13,7 +14,7 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
|
|
|
13
14
|
*
|
|
14
15
|
* @default globalThis.fetch
|
|
15
16
|
*/
|
|
16
|
-
fetch?:
|
|
17
|
+
fetch?: typeof fetch;
|
|
17
18
|
/**
|
|
18
19
|
* Please don't use the Fetch client for Next.js applications. The `next`
|
|
19
20
|
* options won't have any effect.
|
|
@@ -43,10 +44,10 @@ export interface Config<T extends ClientOptions = ClientOptions> extends Omit<Re
|
|
|
43
44
|
*/
|
|
44
45
|
throwOnError?: T['throwOnError'];
|
|
45
46
|
}
|
|
46
|
-
export interface RequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
|
|
47
|
+
export interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
|
|
47
48
|
responseStyle: TResponseStyle;
|
|
48
49
|
throwOnError: ThrowOnError;
|
|
49
|
-
}> {
|
|
50
|
+
}>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
|
|
50
51
|
/**
|
|
51
52
|
* Any body that you want to add to your request.
|
|
52
53
|
*
|
|
@@ -61,7 +62,7 @@ export interface RequestOptions<TResponseStyle extends ResponseStyle = 'fields',
|
|
|
61
62
|
security?: ReadonlyArray<Auth>;
|
|
62
63
|
url: Url;
|
|
63
64
|
}
|
|
64
|
-
export interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<TResponseStyle, ThrowOnError, Url> {
|
|
65
|
+
export interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
65
66
|
serializedBody?: string;
|
|
66
67
|
}
|
|
67
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 : {
|
|
@@ -83,15 +84,16 @@ export interface ClientOptions {
|
|
|
83
84
|
responseStyle?: ResponseStyle;
|
|
84
85
|
throwOnError?: boolean;
|
|
85
86
|
}
|
|
86
|
-
type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TResponseStyle, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
87
|
-
type
|
|
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<TData, 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>;
|
|
88
90
|
type BuildUrlFn = <TData extends {
|
|
89
91
|
body?: unknown;
|
|
90
92
|
path?: Record<string, unknown>;
|
|
91
93
|
query?: Record<string, unknown>;
|
|
92
94
|
url: string;
|
|
93
|
-
}>(options:
|
|
94
|
-
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn> & {
|
|
95
|
+
}>(options: TData & Options<TData>) => string;
|
|
96
|
+
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
|
|
95
97
|
interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
|
|
96
98
|
};
|
|
97
99
|
/**
|
|
@@ -111,12 +113,5 @@ export interface TDataShape {
|
|
|
111
113
|
url: string;
|
|
112
114
|
}
|
|
113
115
|
type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
114
|
-
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & Omit<TData, 'url'
|
|
115
|
-
export type OptionsLegacyParser<TData = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = TData extends {
|
|
116
|
-
body?: any;
|
|
117
|
-
} ? TData extends {
|
|
118
|
-
headers?: any;
|
|
119
|
-
} ? OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'body' | 'headers' | 'url'> & TData : OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'body' | 'url'> & TData & Pick<RequestOptions<TResponseStyle, ThrowOnError>, 'headers'> : TData extends {
|
|
120
|
-
headers?: any;
|
|
121
|
-
} ? OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'headers' | 'url'> & TData & Pick<RequestOptions<TResponseStyle, ThrowOnError>, 'body'> : OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'url'> & TData;
|
|
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'>);
|
|
122
117
|
export {};
|
package/sdk/client/types.gen.js
CHANGED
package/sdk/client/types.gen.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
/* eslint-disable no-undef */
|
|
3
2
|
|
|
4
3
|
import type { Auth } from '../core/auth.gen';
|
|
5
4
|
import type {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from '../core/
|
|
5
|
+
ServerSentEventsOptions,
|
|
6
|
+
ServerSentEventsResult,
|
|
7
|
+
} from '../core/serverSentEvents.gen';
|
|
8
|
+
import type { Client as CoreClient, Config as CoreConfig } from '../core/types.gen';
|
|
9
9
|
import type { Middleware } from './utils.gen';
|
|
10
10
|
|
|
11
11
|
export type ResponseStyle = 'data' | 'fields';
|
|
12
12
|
|
|
13
13
|
export interface Config<T extends ClientOptions = ClientOptions>
|
|
14
|
-
extends Omit<RequestInit, 'body' | 'headers' | 'method'>,
|
|
15
|
-
CoreConfig {
|
|
14
|
+
extends Omit<RequestInit, 'body' | 'headers' | 'method'>, CoreConfig {
|
|
16
15
|
/**
|
|
17
16
|
* Base URL for all requests made by this client.
|
|
18
17
|
*/
|
|
@@ -23,7 +22,7 @@ export interface Config<T extends ClientOptions = ClientOptions>
|
|
|
23
22
|
*
|
|
24
23
|
* @default globalThis.fetch
|
|
25
24
|
*/
|
|
26
|
-
fetch?:
|
|
25
|
+
fetch?: typeof fetch;
|
|
27
26
|
/**
|
|
28
27
|
* Please don't use the Fetch client for Next.js applications. The `next`
|
|
29
28
|
* options won't have any effect.
|
|
@@ -39,14 +38,7 @@ export interface Config<T extends ClientOptions = ClientOptions>
|
|
|
39
38
|
*
|
|
40
39
|
* @default 'auto'
|
|
41
40
|
*/
|
|
42
|
-
parseAs?:
|
|
43
|
-
| 'arrayBuffer'
|
|
44
|
-
| 'auto'
|
|
45
|
-
| 'blob'
|
|
46
|
-
| 'formData'
|
|
47
|
-
| 'json'
|
|
48
|
-
| 'stream'
|
|
49
|
-
| 'text';
|
|
41
|
+
parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
|
|
50
42
|
/**
|
|
51
43
|
* Should we return only data or multiple fields (data, error, response, etc.)?
|
|
52
44
|
*
|
|
@@ -62,13 +54,24 @@ export interface Config<T extends ClientOptions = ClientOptions>
|
|
|
62
54
|
}
|
|
63
55
|
|
|
64
56
|
export interface RequestOptions<
|
|
57
|
+
TData = unknown,
|
|
65
58
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
66
59
|
ThrowOnError extends boolean = boolean,
|
|
67
60
|
Url extends string = string,
|
|
68
|
-
>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
>
|
|
62
|
+
extends
|
|
63
|
+
Config<{
|
|
64
|
+
responseStyle: TResponseStyle;
|
|
65
|
+
throwOnError: ThrowOnError;
|
|
66
|
+
}>,
|
|
67
|
+
Pick<
|
|
68
|
+
ServerSentEventsOptions<TData>,
|
|
69
|
+
| 'onSseError'
|
|
70
|
+
| 'onSseEvent'
|
|
71
|
+
| 'sseDefaultRetryDelay'
|
|
72
|
+
| 'sseMaxRetryAttempts'
|
|
73
|
+
| 'sseMaxRetryDelay'
|
|
74
|
+
> {
|
|
72
75
|
/**
|
|
73
76
|
* Any body that you want to add to your request.
|
|
74
77
|
*
|
|
@@ -88,7 +91,7 @@ export interface ResolvedRequestOptions<
|
|
|
88
91
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
89
92
|
ThrowOnError extends boolean = boolean,
|
|
90
93
|
Url extends string = string,
|
|
91
|
-
> extends RequestOptions<TResponseStyle, ThrowOnError, Url> {
|
|
94
|
+
> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
|
|
92
95
|
serializedBody?: string;
|
|
93
96
|
}
|
|
94
97
|
|
|
@@ -104,32 +107,22 @@ export type RequestResult<
|
|
|
104
107
|
? TData[keyof TData]
|
|
105
108
|
: TData
|
|
106
109
|
: {
|
|
107
|
-
data: TData extends Record<string, unknown>
|
|
108
|
-
? TData[keyof TData]
|
|
109
|
-
: TData;
|
|
110
|
+
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
|
|
110
111
|
request: Request;
|
|
111
112
|
response: Response;
|
|
112
113
|
}
|
|
113
114
|
>
|
|
114
115
|
: Promise<
|
|
115
116
|
TResponseStyle extends 'data'
|
|
116
|
-
?
|
|
117
|
-
| (TData extends Record<string, unknown>
|
|
118
|
-
? TData[keyof TData]
|
|
119
|
-
: TData)
|
|
120
|
-
| undefined
|
|
117
|
+
? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined
|
|
121
118
|
: (
|
|
122
119
|
| {
|
|
123
|
-
data: TData extends Record<string, unknown>
|
|
124
|
-
? TData[keyof TData]
|
|
125
|
-
: TData;
|
|
120
|
+
data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
|
|
126
121
|
error: undefined;
|
|
127
122
|
}
|
|
128
123
|
| {
|
|
129
124
|
data: undefined;
|
|
130
|
-
error: TError extends Record<string, unknown>
|
|
131
|
-
? TError[keyof TError]
|
|
132
|
-
: TError;
|
|
125
|
+
error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
|
|
133
126
|
}
|
|
134
127
|
) & {
|
|
135
128
|
request: Request;
|
|
@@ -149,17 +142,26 @@ type MethodFn = <
|
|
|
149
142
|
ThrowOnError extends boolean = false,
|
|
150
143
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
151
144
|
>(
|
|
152
|
-
options: Omit<RequestOptions<TResponseStyle, ThrowOnError>, 'method'>,
|
|
145
|
+
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>,
|
|
153
146
|
) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
154
147
|
|
|
148
|
+
type SseFn = <
|
|
149
|
+
TData = unknown,
|
|
150
|
+
TError = unknown,
|
|
151
|
+
ThrowOnError extends boolean = false,
|
|
152
|
+
TResponseStyle extends ResponseStyle = 'fields',
|
|
153
|
+
>(
|
|
154
|
+
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>,
|
|
155
|
+
) => Promise<ServerSentEventsResult<TData, TError>>;
|
|
156
|
+
|
|
155
157
|
type RequestFn = <
|
|
156
158
|
TData = unknown,
|
|
157
159
|
TError = unknown,
|
|
158
160
|
ThrowOnError extends boolean = false,
|
|
159
161
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
160
162
|
>(
|
|
161
|
-
options: Omit<RequestOptions<TResponseStyle, ThrowOnError>, 'method'> &
|
|
162
|
-
Pick<Required<RequestOptions<TResponseStyle, ThrowOnError>>, 'method'>,
|
|
163
|
+
options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'> &
|
|
164
|
+
Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, 'method'>,
|
|
163
165
|
) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
|
|
164
166
|
|
|
165
167
|
type BuildUrlFn = <
|
|
@@ -170,10 +172,10 @@ type BuildUrlFn = <
|
|
|
170
172
|
url: string;
|
|
171
173
|
},
|
|
172
174
|
>(
|
|
173
|
-
options:
|
|
175
|
+
options: TData & Options<TData>,
|
|
174
176
|
) => string;
|
|
175
177
|
|
|
176
|
-
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn> & {
|
|
178
|
+
export type Client = CoreClient<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
|
|
177
179
|
interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
|
|
178
180
|
};
|
|
179
181
|
|
|
@@ -202,32 +204,10 @@ type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
|
|
|
202
204
|
export type Options<
|
|
203
205
|
TData extends TDataShape = TDataShape,
|
|
204
206
|
ThrowOnError extends boolean = boolean,
|
|
207
|
+
TResponse = unknown,
|
|
205
208
|
TResponseStyle extends ResponseStyle = 'fields',
|
|
206
209
|
> = OmitKeys<
|
|
207
|
-
RequestOptions<TResponseStyle, ThrowOnError>,
|
|
210
|
+
RequestOptions<TResponse, TResponseStyle, ThrowOnError>,
|
|
208
211
|
'body' | 'path' | 'query' | 'url'
|
|
209
212
|
> &
|
|
210
|
-
Omit<TData, 'url'
|
|
211
|
-
|
|
212
|
-
export type OptionsLegacyParser<
|
|
213
|
-
TData = unknown,
|
|
214
|
-
ThrowOnError extends boolean = boolean,
|
|
215
|
-
TResponseStyle extends ResponseStyle = 'fields',
|
|
216
|
-
> = TData extends { body?: any }
|
|
217
|
-
? TData extends { headers?: any }
|
|
218
|
-
? OmitKeys<
|
|
219
|
-
RequestOptions<TResponseStyle, ThrowOnError>,
|
|
220
|
-
'body' | 'headers' | 'url'
|
|
221
|
-
> &
|
|
222
|
-
TData
|
|
223
|
-
: OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'body' | 'url'> &
|
|
224
|
-
TData &
|
|
225
|
-
Pick<RequestOptions<TResponseStyle, ThrowOnError>, 'headers'>
|
|
226
|
-
: TData extends { headers?: any }
|
|
227
|
-
? OmitKeys<
|
|
228
|
-
RequestOptions<TResponseStyle, ThrowOnError>,
|
|
229
|
-
'headers' | 'url'
|
|
230
|
-
> &
|
|
231
|
-
TData &
|
|
232
|
-
Pick<RequestOptions<TResponseStyle, ThrowOnError>, 'body'>
|
|
233
|
-
: OmitKeys<RequestOptions<TResponseStyle, ThrowOnError>, 'url'> & TData;
|
|
213
|
+
([TData] extends [never] ? unknown : Omit<TData, 'url'>);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { QuerySerializerOptions } from '../core/bodySerializer.gen';
|
|
2
2
|
import type { Client, ClientOptions, Config, RequestOptions } from './types.gen';
|
|
3
|
-
export declare const createQuerySerializer: <T = unknown>({
|
|
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.
|
|
6
6
|
*/
|
|
@@ -9,37 +9,25 @@ export declare const setAuthParams: ({ security, ...options }: Pick<Required<Req
|
|
|
9
9
|
headers: Headers;
|
|
10
10
|
}) => Promise<void>;
|
|
11
11
|
export declare const buildUrl: Client['buildUrl'];
|
|
12
|
-
export declare const getUrl: ({ baseUrl, path, query, querySerializer, url: _url, }: {
|
|
13
|
-
baseUrl?: string;
|
|
14
|
-
path?: Record<string, unknown>;
|
|
15
|
-
query?: Record<string, unknown>;
|
|
16
|
-
querySerializer: QuerySerializer;
|
|
17
|
-
url: string;
|
|
18
|
-
}) => string;
|
|
19
12
|
export declare const mergeConfigs: (a: Config, b: Config) => Config;
|
|
20
13
|
export declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
|
|
21
14
|
type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
|
|
22
15
|
type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
|
|
23
16
|
type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
|
|
24
17
|
declare class Interceptors<Interceptor> {
|
|
25
|
-
|
|
26
|
-
constructor();
|
|
18
|
+
fns: Array<Interceptor | null>;
|
|
27
19
|
clear(): void;
|
|
28
|
-
getInterceptorIndex(id: number | Interceptor): number;
|
|
29
|
-
exists(id: number | Interceptor): boolean;
|
|
30
20
|
eject(id: number | Interceptor): void;
|
|
31
|
-
|
|
21
|
+
exists(id: number | Interceptor): boolean;
|
|
22
|
+
getInterceptorIndex(id: number | Interceptor): number;
|
|
23
|
+
update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
|
|
32
24
|
use(fn: Interceptor): number;
|
|
33
25
|
}
|
|
34
26
|
export interface Middleware<Req, Res, Err, Options> {
|
|
35
|
-
error: Pick<Interceptors<ErrInterceptor<Err, Res, Req, Options>>, 'eject' | 'use'>;
|
|
36
|
-
request: Pick<Interceptors<ReqInterceptor<Req, Options>>, 'eject' | 'use'>;
|
|
37
|
-
response: Pick<Interceptors<ResInterceptor<Res, Req, Options>>, 'eject' | 'use'>;
|
|
38
|
-
}
|
|
39
|
-
export declare const createInterceptors: <Req, Res, Err, Options>() => {
|
|
40
27
|
error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;
|
|
41
28
|
request: Interceptors<ReqInterceptor<Req, Options>>;
|
|
42
29
|
response: Interceptors<ResInterceptor<Res, Req, Options>>;
|
|
43
|
-
}
|
|
30
|
+
}
|
|
31
|
+
export declare const createInterceptors: <Req, Res, Err, Options>() => Middleware<Req, Res, Err, Options>;
|
|
44
32
|
export declare const createConfig: <T extends ClientOptions = ClientOptions>(override?: Config<Omit<ClientOptions, keyof T> & T>) => Config<Omit<ClientOptions, keyof T> & T>;
|
|
45
33
|
export {};
|