@kollors/react-codegen 2.0.0-alpha.1 → 2.0.0-alpha.3
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 +60 -1
- package/README.ru.md +60 -1
- package/dist/cli.js +16 -13
- package/dist/cli.js.map +1 -1
- package/dist/generate.d.ts +1 -0
- package/dist/generate.js +131 -53
- package/dist/generate.js.map +1 -1
- package/dist/graphql-fetcher.d.ts +24 -2
- package/dist/graphql-fetcher.js +112 -24
- package/dist/graphql-fetcher.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/openapi/document.d.ts +15 -0
- package/dist/openapi/document.js +113 -0
- package/dist/openapi/document.js.map +1 -0
- package/dist/openapi/generate.d.ts +3 -0
- package/dist/openapi/generate.js +65 -0
- package/dist/openapi/generate.js.map +1 -0
- package/dist/openapi/names.d.ts +6 -0
- package/dist/openapi/names.js +24 -0
- package/dist/openapi/names.js.map +1 -0
- package/dist/openapi/operations.d.ts +10 -0
- package/dist/openapi/operations.js +319 -0
- package/dist/openapi/operations.js.map +1 -0
- package/dist/openapi/schema.d.ts +16 -0
- package/dist/openapi/schema.js +242 -0
- package/dist/openapi/schema.js.map +1 -0
- package/dist/openapi-fetcher.d.ts +3 -14
- package/dist/openapi-fetcher.js +2 -35
- package/dist/openapi-fetcher.js.map +1 -1
- package/dist/openapi-runtime.d.ts +45 -0
- package/dist/openapi-runtime.js +291 -0
- package/dist/openapi-runtime.js.map +1 -0
- package/dist/openapi-runtime.source +302 -0
- package/dist/path-utils.d.ts +2 -0
- package/dist/path-utils.js +5 -0
- package/dist/path-utils.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/package.json +4 -5
- package/templates/graphql.template +5 -8
- package/templates/openapi.template +0 -45
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
method: string;
|
|
5
|
-
pathParams?: TPathParams;
|
|
6
|
-
queryParams?: TQueryParams;
|
|
7
|
-
signal?: AbortSignal;
|
|
8
|
-
url: string;
|
|
9
|
-
}
|
|
10
|
-
export interface OpenapiFetcherConfiguration {
|
|
11
|
-
getToken?: () => string | null | undefined;
|
|
12
|
-
}
|
|
13
|
-
export declare function createOpenapiFetcher(configuration?: OpenapiFetcherConfiguration): <TData, TError, TBody, THeaders, TQueryParams, TPathParams>(options: OpenapiFetcherOptions<TBody, THeaders, TQueryParams, TPathParams>) => Promise<TData>;
|
|
14
|
-
export declare const openapiFetcher: <TData, TError, TBody, THeaders, TQueryParams, TPathParams>(options: OpenapiFetcherOptions<TBody, THeaders, TQueryParams, TPathParams>) => Promise<TData>;
|
|
1
|
+
export type { OpenapiFetcherConfiguration, OpenapiFetcherOptions } from './openapi-runtime.js';
|
|
2
|
+
export { createOpenapiFetcher, OpenapiHttpError } from './openapi-runtime.js';
|
|
3
|
+
export declare const openapiFetcher: <TData, TError = unknown, TBody = unknown, THeaders = unknown, TQueryParams = unknown, TPathParams = unknown>(options: import("./openapi-runtime.js").OpenapiFetcherOptions<TBody, THeaders, TQueryParams, TPathParams>) => Promise<TData>;
|
package/dist/openapi-fetcher.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export function createOpenapiFetcher(configuration = {}) {
|
|
5
|
-
const getToken = configuration.getToken ?? defaultGetToken;
|
|
6
|
-
return async function openapiFetcher(options) {
|
|
7
|
-
const headers = new Headers({ authorization: getToken() ?? '', 'content-type': 'application/json' });
|
|
8
|
-
new Headers(options.headers).forEach((value, key) => {
|
|
9
|
-
headers.set(key, value);
|
|
10
|
-
});
|
|
11
|
-
if (headers.get('content-type')?.toLowerCase().includes('multipart/form-data')) {
|
|
12
|
-
headers.delete('content-type');
|
|
13
|
-
}
|
|
14
|
-
const queryParams = new URLSearchParams(options.queryParams).toString();
|
|
15
|
-
const pathParams = options.pathParams;
|
|
16
|
-
const url = options.url.replace(/\{\w*}/g, (key) => String(pathParams?.[key.slice(1, -1)] ?? ''));
|
|
17
|
-
const body = options.body instanceof FormData ? options.body : options.body == null ? undefined : JSON.stringify(options.body);
|
|
18
|
-
try {
|
|
19
|
-
const response = await fetch(`${url}${queryParams ? `?${queryParams}` : ''}`, {
|
|
20
|
-
body,
|
|
21
|
-
headers,
|
|
22
|
-
method: options.method.toUpperCase(),
|
|
23
|
-
signal: options.signal,
|
|
24
|
-
});
|
|
25
|
-
const result = (response.headers.get('content-type')?.includes('json') ? await response.json() : await response.blob());
|
|
26
|
-
if (!response.ok) {
|
|
27
|
-
return Promise.reject(result);
|
|
28
|
-
}
|
|
29
|
-
return result;
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
throw error instanceof Error ? error : new Error(String(error));
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
1
|
+
import { createOpenapiFetcher } from './openapi-runtime.js';
|
|
2
|
+
export { createOpenapiFetcher, OpenapiHttpError } from './openapi-runtime.js';
|
|
36
3
|
export const openapiFetcher = createOpenapiFetcher();
|
|
37
4
|
//# sourceMappingURL=openapi-fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-fetcher.js","sourceRoot":"","sources":["../src/openapi-fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi-fetcher.js","sourceRoot":"","sources":["../src/openapi-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type TokenStorage = 'localStorage' | 'sessionStorage' | 'cookie' | 'none';
|
|
2
|
+
export interface AuthConfig {
|
|
3
|
+
storage: TokenStorage;
|
|
4
|
+
key?: string;
|
|
5
|
+
scheme?: string | false;
|
|
6
|
+
credentials?: RequestCredentials;
|
|
7
|
+
}
|
|
8
|
+
export interface OpenapiFetcherOptions<TBody, THeaders, TQueryParams, TPathParams> {
|
|
9
|
+
body?: TBody;
|
|
10
|
+
headers?: THeaders;
|
|
11
|
+
method: string;
|
|
12
|
+
pathParams?: TPathParams;
|
|
13
|
+
queryParams?: TQueryParams;
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
url: string;
|
|
16
|
+
contentType?: string;
|
|
17
|
+
accept?: string;
|
|
18
|
+
responseType?: 'blob';
|
|
19
|
+
/** Response status -> media type -> decoder. Exact statuses/media types take precedence over ranges and wildcards. */
|
|
20
|
+
responseTypes?: Record<string, Record<string, 'blob' | 'auto'>>;
|
|
21
|
+
parameters?: OpenapiParameter[];
|
|
22
|
+
}
|
|
23
|
+
export interface OpenapiParameter {
|
|
24
|
+
name: string;
|
|
25
|
+
in: 'path' | 'query' | 'header';
|
|
26
|
+
style: 'simple' | 'form' | 'deepObject' | 'spaceDelimited' | 'pipeDelimited';
|
|
27
|
+
explode: boolean;
|
|
28
|
+
required: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface OpenapiFetcherConfiguration {
|
|
31
|
+
/** Custom value for the `Authorization` header. When omitted, no authorization header is added unless `auth` is configured. */
|
|
32
|
+
getToken?: () => string | null | undefined;
|
|
33
|
+
/** Base URL prepended to paths from the OpenAPI document. */
|
|
34
|
+
baseUrl?: string;
|
|
35
|
+
/** Token storage and fetch credential settings. */
|
|
36
|
+
auth?: AuthConfig;
|
|
37
|
+
}
|
|
38
|
+
export declare class OpenapiHttpError<TError = unknown> extends Error {
|
|
39
|
+
readonly status: number;
|
|
40
|
+
readonly statusText: string;
|
|
41
|
+
readonly url: string;
|
|
42
|
+
readonly data: TError;
|
|
43
|
+
constructor(status: number, statusText: string, url: string, data: TError);
|
|
44
|
+
}
|
|
45
|
+
export declare function createOpenapiFetcher(configuration?: OpenapiFetcherConfiguration): <TData, TError = unknown, TBody = unknown, THeaders = unknown, TQueryParams = unknown, TPathParams = unknown>(options: OpenapiFetcherOptions<TBody, THeaders, TQueryParams, TPathParams>) => Promise<TData>;
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
function readConfiguredToken(auth) {
|
|
2
|
+
if (auth.storage === 'none')
|
|
3
|
+
return '';
|
|
4
|
+
if (auth.storage === 'cookie') {
|
|
5
|
+
if (typeof document === 'undefined' || !auth.key)
|
|
6
|
+
return '';
|
|
7
|
+
const cookie = document.cookie
|
|
8
|
+
.split(';')
|
|
9
|
+
.map((part) => part.trim())
|
|
10
|
+
.find((part) => part.startsWith(`${auth.key}=`));
|
|
11
|
+
if (!cookie)
|
|
12
|
+
return '';
|
|
13
|
+
const value = cookie.slice(auth.key.length + 1);
|
|
14
|
+
try {
|
|
15
|
+
return decodeURIComponent(value);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (typeof globalThis[auth.storage] === 'undefined' || !auth.key)
|
|
22
|
+
return '';
|
|
23
|
+
return globalThis[auth.storage].getItem(auth.key) ?? '';
|
|
24
|
+
}
|
|
25
|
+
function authorizationValue(configuration) {
|
|
26
|
+
if (configuration.getToken)
|
|
27
|
+
return configuration.getToken() ?? '';
|
|
28
|
+
const auth = configuration.auth;
|
|
29
|
+
if (!auth)
|
|
30
|
+
return '';
|
|
31
|
+
const token = readConfiguredToken(auth);
|
|
32
|
+
if (!token || auth.scheme === false)
|
|
33
|
+
return token;
|
|
34
|
+
const scheme = auth.scheme ?? 'Bearer';
|
|
35
|
+
if (!scheme)
|
|
36
|
+
return token;
|
|
37
|
+
return token.toLowerCase().startsWith(`${scheme.toLowerCase()} `) ? token : `${scheme} ${token}`;
|
|
38
|
+
}
|
|
39
|
+
function withBaseUrl(baseUrl, url) {
|
|
40
|
+
if (!baseUrl || /^[a-z][a-z\d+.-]*:\/\//i.test(url))
|
|
41
|
+
return url;
|
|
42
|
+
return `${baseUrl.replace(/\/+$/, '')}/${url.replace(/^\/+/, '')}`;
|
|
43
|
+
}
|
|
44
|
+
export class OpenapiHttpError extends Error {
|
|
45
|
+
status;
|
|
46
|
+
statusText;
|
|
47
|
+
url;
|
|
48
|
+
data;
|
|
49
|
+
constructor(status, statusText, url, data) {
|
|
50
|
+
super(`HTTP ${status}${statusText ? ` ${statusText}` : ''} for ${url}.`);
|
|
51
|
+
this.status = status;
|
|
52
|
+
this.statusText = statusText;
|
|
53
|
+
this.url = url;
|
|
54
|
+
this.data = data;
|
|
55
|
+
this.name = 'OpenapiHttpError';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function parameterScalar(value) {
|
|
59
|
+
if (value === null)
|
|
60
|
+
return '';
|
|
61
|
+
if (typeof value === 'object' || value === undefined)
|
|
62
|
+
throw new TypeError('OpenAPI parameters must contain scalar values.');
|
|
63
|
+
return String(value);
|
|
64
|
+
}
|
|
65
|
+
function parameterParts(value, explode, encode) {
|
|
66
|
+
if (Array.isArray(value))
|
|
67
|
+
return value.map((item) => encode(parameterScalar(item)));
|
|
68
|
+
if (value !== null && typeof value === 'object') {
|
|
69
|
+
return Object.entries(value).flatMap(([key, item]) => {
|
|
70
|
+
const pair = [encode(key), encode(parameterScalar(item))];
|
|
71
|
+
return explode ? [pair.join('=')] : pair;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return [encode(parameterScalar(value))];
|
|
75
|
+
}
|
|
76
|
+
function serializeQueryParams(queryParams, parameters = []) {
|
|
77
|
+
const result = [];
|
|
78
|
+
const append = (key, encodedValue) => {
|
|
79
|
+
result.push(`${encodeURIComponent(key)}=${encodedValue}`);
|
|
80
|
+
};
|
|
81
|
+
if (queryParams == null)
|
|
82
|
+
return '';
|
|
83
|
+
if (queryParams instanceof URLSearchParams)
|
|
84
|
+
return queryParams.toString();
|
|
85
|
+
if (typeof queryParams !== 'object' || Array.isArray(queryParams)) {
|
|
86
|
+
throw new TypeError('OpenAPI query parameters must be an object.');
|
|
87
|
+
}
|
|
88
|
+
for (const [key, value] of Object.entries(queryParams)) {
|
|
89
|
+
if (value === undefined)
|
|
90
|
+
continue;
|
|
91
|
+
const parameter = parameters.find((item) => item.in === 'query' && item.name === key);
|
|
92
|
+
const style = parameter?.style ?? 'form';
|
|
93
|
+
const explode = parameter?.explode ?? true;
|
|
94
|
+
if (style === 'deepObject') {
|
|
95
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
96
|
+
throw new TypeError(`deepObject requires an object: ${key}`);
|
|
97
|
+
for (const [name, item] of Object.entries(value))
|
|
98
|
+
append(`${key}[${name}]`, encodeURIComponent(parameterScalar(item)));
|
|
99
|
+
}
|
|
100
|
+
else if (style === 'form' && explode && value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
101
|
+
for (const [name, item] of Object.entries(value))
|
|
102
|
+
append(name, encodeURIComponent(parameterScalar(item)));
|
|
103
|
+
}
|
|
104
|
+
else if (explode && Array.isArray(value)) {
|
|
105
|
+
for (const item of value)
|
|
106
|
+
append(key, encodeURIComponent(parameterScalar(item)));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
const separator = style === 'spaceDelimited' ? '%20' : style === 'pipeDelimited' ? '|' : ',';
|
|
110
|
+
append(key, parameterParts(value, false, encodeURIComponent).join(separator));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return result.join('&');
|
|
114
|
+
}
|
|
115
|
+
function requestBody(body, contentType) {
|
|
116
|
+
if (body === undefined)
|
|
117
|
+
return undefined;
|
|
118
|
+
if (body instanceof FormData || body instanceof Blob || body instanceof URLSearchParams)
|
|
119
|
+
return body;
|
|
120
|
+
if (contentType.includes('json'))
|
|
121
|
+
return JSON.stringify(body);
|
|
122
|
+
if (contentType === 'multipart/form-data' || contentType === 'application/x-www-form-urlencoded') {
|
|
123
|
+
if (body === null || typeof body !== 'object' || Array.isArray(body))
|
|
124
|
+
throw new TypeError(`${contentType} requires an object body.`);
|
|
125
|
+
const form = new FormData();
|
|
126
|
+
for (const [key, value] of Object.entries(body)) {
|
|
127
|
+
if (value === undefined)
|
|
128
|
+
continue;
|
|
129
|
+
for (const item of Array.isArray(value) ? value : [value]) {
|
|
130
|
+
if (item instanceof Blob)
|
|
131
|
+
form.append(key, item);
|
|
132
|
+
else if (item !== null && typeof item === 'object') {
|
|
133
|
+
const json = JSON.stringify(item);
|
|
134
|
+
form.append(key, contentType === 'multipart/form-data' ? new Blob([json], { type: 'application/json' }) : json);
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
form.append(key, parameterScalar(item));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (contentType === 'multipart/form-data')
|
|
141
|
+
return form;
|
|
142
|
+
const params = new URLSearchParams();
|
|
143
|
+
form.forEach((value, key) => {
|
|
144
|
+
if (typeof value !== 'string')
|
|
145
|
+
throw new TypeError('URL-encoded bodies cannot contain binary files.');
|
|
146
|
+
params.append(key, value);
|
|
147
|
+
});
|
|
148
|
+
return params;
|
|
149
|
+
}
|
|
150
|
+
if (typeof body === 'string')
|
|
151
|
+
return body;
|
|
152
|
+
throw new TypeError(`Unsupported request body for content type ${contentType}.`);
|
|
153
|
+
}
|
|
154
|
+
function requestHeaders(value, parameters) {
|
|
155
|
+
if (value instanceof Headers || Array.isArray(value))
|
|
156
|
+
return new Headers(value);
|
|
157
|
+
const headers = new Headers();
|
|
158
|
+
if (value && typeof value === 'object') {
|
|
159
|
+
for (const [key, item] of Object.entries(value)) {
|
|
160
|
+
if (item === undefined)
|
|
161
|
+
continue;
|
|
162
|
+
const parameter = parameters.find((entry) => entry.in === 'header' && entry.name.toLowerCase() === key.toLowerCase());
|
|
163
|
+
headers.set(key, parameterParts(item, parameter?.explode ?? false, (part) => part).join(','));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return headers;
|
|
167
|
+
}
|
|
168
|
+
function withQueryParams(url, serialized) {
|
|
169
|
+
if (!serialized)
|
|
170
|
+
return url;
|
|
171
|
+
const hashIndex = url.indexOf('#');
|
|
172
|
+
const base = hashIndex === -1 ? url : url.slice(0, hashIndex);
|
|
173
|
+
const hash = hashIndex === -1 ? '' : url.slice(hashIndex);
|
|
174
|
+
const separator = base.includes('?') ? (base.endsWith('?') || base.endsWith('&') ? '' : '&') : '?';
|
|
175
|
+
return `${base}${separator}${serialized}${hash}`;
|
|
176
|
+
}
|
|
177
|
+
async function readResponse(response, responseType) {
|
|
178
|
+
if (response.status === 204 || response.status === 205)
|
|
179
|
+
return undefined;
|
|
180
|
+
if (responseType === 'blob')
|
|
181
|
+
return await response.blob();
|
|
182
|
+
if (response.body === null || response.headers.get('content-length') === '0')
|
|
183
|
+
return undefined;
|
|
184
|
+
const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
|
|
185
|
+
if (contentType.includes('json'))
|
|
186
|
+
return await response.json();
|
|
187
|
+
if (contentType.startsWith('text/') || contentType.includes('xml'))
|
|
188
|
+
return await response.text();
|
|
189
|
+
return await response.blob();
|
|
190
|
+
}
|
|
191
|
+
export function createOpenapiFetcher(configuration = {}) {
|
|
192
|
+
return async function openapiFetcher(options) {
|
|
193
|
+
try {
|
|
194
|
+
const parameters = options.parameters ?? [];
|
|
195
|
+
const headers = new Headers();
|
|
196
|
+
const contentType = options.contentType ?? 'application/json';
|
|
197
|
+
if (options.body !== undefined) {
|
|
198
|
+
if (contentType === '*/*') {
|
|
199
|
+
if (!(options.body instanceof Blob))
|
|
200
|
+
throw new TypeError('Wildcard request content requires a Blob body.');
|
|
201
|
+
headers.set('content-type', options.body.type || 'application/octet-stream');
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
headers.set('content-type', contentType);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (options.accept)
|
|
208
|
+
headers.set('accept', options.accept);
|
|
209
|
+
const token = authorizationValue(configuration);
|
|
210
|
+
if (token)
|
|
211
|
+
headers.set('authorization', token);
|
|
212
|
+
requestHeaders(options.headers, parameters).forEach((value, key) => {
|
|
213
|
+
headers.set(key, value);
|
|
214
|
+
});
|
|
215
|
+
const body = requestBody(options.body, headers.get('content-type') ?? contentType);
|
|
216
|
+
if (body instanceof FormData)
|
|
217
|
+
headers.delete('content-type');
|
|
218
|
+
for (const parameter of parameters) {
|
|
219
|
+
if (!parameter.required || parameter.in === 'path')
|
|
220
|
+
continue;
|
|
221
|
+
const value = parameter.in === 'header'
|
|
222
|
+
? headers.get(parameter.name)
|
|
223
|
+
: options.queryParams?.[parameter.name];
|
|
224
|
+
if (value === undefined || (parameter.in === 'header' && value === null))
|
|
225
|
+
throw new Error(`Missing required OpenAPI ${parameter.in} parameter "${parameter.name}" for ${options.url}.`);
|
|
226
|
+
}
|
|
227
|
+
const pathParams = options.pathParams;
|
|
228
|
+
const path = options.url.replace(/\{([^}]+)}/g, (_match, key) => {
|
|
229
|
+
const value = pathParams?.[key];
|
|
230
|
+
if (value === undefined || value === null)
|
|
231
|
+
throw new Error(`Missing required OpenAPI path parameter "${key}" for ${options.url}.`);
|
|
232
|
+
const parameter = parameters.find((item) => item.in === 'path' && item.name === key);
|
|
233
|
+
return parameterParts(value, parameter?.explode ?? false, encodeURIComponent).join(',');
|
|
234
|
+
});
|
|
235
|
+
const url = withBaseUrl(configuration.baseUrl, path);
|
|
236
|
+
const queryParams = serializeQueryParams(options.queryParams, parameters);
|
|
237
|
+
const requestUrl = withQueryParams(url, queryParams);
|
|
238
|
+
let response;
|
|
239
|
+
try {
|
|
240
|
+
response = await fetch(requestUrl, {
|
|
241
|
+
...(body === undefined ? {} : { body }),
|
|
242
|
+
headers,
|
|
243
|
+
method: options.method.toUpperCase(),
|
|
244
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
245
|
+
...(configuration.auth?.credentials ? { credentials: configuration.auth.credentials } : {}),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
if (error instanceof Error && error.name === 'AbortError')
|
|
250
|
+
throw error;
|
|
251
|
+
throw new Error(`Could not reach OpenAPI endpoint ${requestUrl}: ${error instanceof Error ? error.message : String(error)}`, {
|
|
252
|
+
cause: error,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
let result;
|
|
256
|
+
const errorResponse = response.ok ? undefined : response.clone();
|
|
257
|
+
const declaredContent = options.responseTypes?.[response.status] ??
|
|
258
|
+
options.responseTypes?.[`${Math.floor(response.status / 100)}XX`] ??
|
|
259
|
+
options.responseTypes?.default;
|
|
260
|
+
const mime = response.headers.get('content-type')?.split(';')[0]?.trim().toLowerCase() ?? '';
|
|
261
|
+
const declaredType = declaredContent?.[mime] ?? declaredContent?.[`${mime.split('/')[0]}/*`] ?? declaredContent?.['*/*'];
|
|
262
|
+
const responseType = options.responseTypes
|
|
263
|
+
? declaredType === 'blob'
|
|
264
|
+
? 'blob'
|
|
265
|
+
: undefined
|
|
266
|
+
: response.ok
|
|
267
|
+
? options.responseType
|
|
268
|
+
: undefined;
|
|
269
|
+
try {
|
|
270
|
+
result = options.method.toUpperCase() === 'HEAD' ? undefined : await readResponse(response, responseType);
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
if (!response.ok) {
|
|
274
|
+
result = errorResponse ? await errorResponse.text().catch(() => undefined) : undefined;
|
|
275
|
+
throw new OpenapiHttpError(response.status, response.statusText, requestUrl, result);
|
|
276
|
+
}
|
|
277
|
+
throw new Error(`Could not read response from ${requestUrl}: ${error instanceof Error ? error.message : String(error)}`, {
|
|
278
|
+
cause: error,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
if (!response.ok) {
|
|
282
|
+
throw new OpenapiHttpError(response.status, response.statusText, requestUrl, result);
|
|
283
|
+
}
|
|
284
|
+
return result;
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=openapi-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-runtime.js","sourceRoot":"","sources":["../src/openapi-runtime.ts"],"names":[],"mappings":"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"}
|