@short.io/client-node 2.2.0 → 3.0.0

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.
Files changed (74) hide show
  1. package/README.md +747 -28
  2. package/dist/generated/client/client.d.ts +2 -0
  3. package/dist/generated/client/client.gen.d.ts +2 -0
  4. package/dist/generated/client/client.gen.js +225 -0
  5. package/dist/generated/client/client.gen.js.map +1 -0
  6. package/dist/generated/client/client.js +141 -0
  7. package/dist/generated/client/client.js.map +1 -0
  8. package/dist/generated/client/index.d.ts +8 -4
  9. package/dist/generated/client/index.js +5 -115
  10. package/dist/generated/client/index.js.map +1 -1
  11. package/dist/generated/client/types.d.ts +48 -56
  12. package/dist/generated/client/types.gen.d.ts +68 -0
  13. package/dist/generated/client/types.gen.js +2 -0
  14. package/dist/generated/client/types.gen.js.map +1 -0
  15. package/dist/generated/client/types.js.map +1 -1
  16. package/dist/generated/client/utils.d.ts +15 -30
  17. package/dist/generated/client/utils.gen.d.ts +30 -0
  18. package/dist/generated/client/utils.gen.js +224 -0
  19. package/dist/generated/client/utils.gen.js.map +1 -0
  20. package/dist/generated/client/utils.js +101 -206
  21. package/dist/generated/client/utils.js.map +1 -1
  22. package/dist/generated/client.gen.d.ts +4 -0
  23. package/dist/generated/client.gen.js +3 -0
  24. package/dist/generated/client.gen.js.map +1 -0
  25. package/dist/generated/core/auth.d.ts +8 -0
  26. package/dist/generated/core/auth.gen.d.ts +8 -0
  27. package/dist/generated/core/auth.gen.js +14 -0
  28. package/dist/generated/core/auth.gen.js.map +1 -0
  29. package/dist/generated/core/auth.js +14 -0
  30. package/dist/generated/core/auth.js.map +1 -0
  31. package/dist/generated/core/bodySerializer.d.ts +17 -0
  32. package/dist/generated/core/bodySerializer.gen.d.ts +21 -0
  33. package/dist/generated/core/bodySerializer.gen.js +57 -0
  34. package/dist/generated/core/bodySerializer.gen.js.map +1 -0
  35. package/dist/generated/core/bodySerializer.js +54 -0
  36. package/dist/generated/core/bodySerializer.js.map +1 -0
  37. package/dist/generated/core/params.d.ts +23 -0
  38. package/dist/generated/core/params.gen.d.ts +26 -0
  39. package/dist/generated/core/params.gen.js +100 -0
  40. package/dist/generated/core/params.gen.js.map +1 -0
  41. package/dist/generated/core/params.js +88 -0
  42. package/dist/generated/core/params.js.map +1 -0
  43. package/dist/generated/core/pathSerializer.d.ts +30 -0
  44. package/dist/generated/core/pathSerializer.gen.d.ts +30 -0
  45. package/dist/generated/core/pathSerializer.gen.js +114 -0
  46. package/dist/generated/core/pathSerializer.gen.js.map +1 -0
  47. package/dist/generated/core/pathSerializer.js +114 -0
  48. package/dist/generated/core/pathSerializer.js.map +1 -0
  49. package/dist/generated/core/queryKeySerializer.gen.d.ts +6 -0
  50. package/dist/generated/core/queryKeySerializer.gen.js +84 -0
  51. package/dist/generated/core/queryKeySerializer.gen.js.map +1 -0
  52. package/dist/generated/core/serverSentEvents.gen.d.ts +23 -0
  53. package/dist/generated/core/serverSentEvents.gen.js +131 -0
  54. package/dist/generated/core/serverSentEvents.gen.js.map +1 -0
  55. package/dist/generated/core/types.d.ts +32 -0
  56. package/dist/generated/core/types.gen.d.ts +32 -0
  57. package/dist/generated/core/types.gen.js +2 -0
  58. package/dist/generated/core/types.gen.js.map +1 -0
  59. package/dist/generated/core/types.js +2 -0
  60. package/dist/generated/core/types.js.map +1 -0
  61. package/dist/generated/core/utils.gen.d.ts +19 -0
  62. package/dist/generated/core/utils.gen.js +84 -0
  63. package/dist/generated/core/utils.gen.js.map +1 -0
  64. package/dist/generated/index.d.ts +2 -2
  65. package/dist/generated/index.js +1 -2
  66. package/dist/generated/index.js.map +1 -1
  67. package/dist/generated/sdk.gen.d.ts +48 -474
  68. package/dist/generated/sdk.gen.js +299 -322
  69. package/dist/generated/sdk.gen.js.map +1 -1
  70. package/dist/generated/types.gen.d.ts +699 -190
  71. package/dist/generated/types.gen.js.map +1 -1
  72. package/dist/index.js +1 -1
  73. package/dist/index.js.map +1 -1
  74. package/package.json +11 -11
@@ -1,117 +1,7 @@
1
+ import { getAuthToken } from '../core/auth.js';
2
+ import { jsonBodySerializer } from '../core/bodySerializer.js';
3
+ import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam, } from '../core/pathSerializer.js';
1
4
  const PATH_PARAM_RE = /\{[^{}]+\}/g;
2
- const serializePrimitiveParam = ({ allowReserved, name, value, }) => {
3
- if (value === undefined || value === null) {
4
- return '';
5
- }
6
- if (typeof value === 'object') {
7
- throw new Error('Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.');
8
- }
9
- return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
10
- };
11
- const separatorArrayExplode = (style) => {
12
- switch (style) {
13
- case 'label':
14
- return '.';
15
- case 'matrix':
16
- return ';';
17
- case 'simple':
18
- return ',';
19
- default:
20
- return '&';
21
- }
22
- };
23
- const separatorArrayNoExplode = (style) => {
24
- switch (style) {
25
- case 'form':
26
- return ',';
27
- case 'pipeDelimited':
28
- return '|';
29
- case 'spaceDelimited':
30
- return '%20';
31
- default:
32
- return ',';
33
- }
34
- };
35
- const separatorObjectExplode = (style) => {
36
- switch (style) {
37
- case 'label':
38
- return '.';
39
- case 'matrix':
40
- return ';';
41
- case 'simple':
42
- return ',';
43
- default:
44
- return '&';
45
- }
46
- };
47
- const serializeArrayParam = ({ allowReserved, explode, name, style, value, }) => {
48
- if (!explode) {
49
- const joinedValues = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
50
- switch (style) {
51
- case 'label':
52
- return `.${joinedValues}`;
53
- case 'matrix':
54
- return `;${name}=${joinedValues}`;
55
- case 'simple':
56
- return joinedValues;
57
- default:
58
- return `${name}=${joinedValues}`;
59
- }
60
- }
61
- const separator = separatorArrayExplode(style);
62
- const joinedValues = value
63
- .map((v) => {
64
- if (style === 'label' || style === 'simple') {
65
- return allowReserved ? v : encodeURIComponent(v);
66
- }
67
- return serializePrimitiveParam({
68
- allowReserved,
69
- name,
70
- value: v,
71
- });
72
- })
73
- .join(separator);
74
- return style === 'label' || style === 'matrix'
75
- ? separator + joinedValues
76
- : joinedValues;
77
- };
78
- const serializeObjectParam = ({ allowReserved, explode, name, style, value, }) => {
79
- if (value instanceof Date) {
80
- return `${name}=${value.toISOString()}`;
81
- }
82
- if (style !== 'deepObject' && !explode) {
83
- let values = [];
84
- Object.entries(value).forEach(([key, v]) => {
85
- values = [
86
- ...values,
87
- key,
88
- allowReserved ? v : encodeURIComponent(v),
89
- ];
90
- });
91
- const joinedValues = values.join(',');
92
- switch (style) {
93
- case 'form':
94
- return `${name}=${joinedValues}`;
95
- case 'label':
96
- return `.${joinedValues}`;
97
- case 'matrix':
98
- return `;${name}=${joinedValues}`;
99
- default:
100
- return joinedValues;
101
- }
102
- }
103
- const separator = separatorObjectExplode(style);
104
- const joinedValues = Object.entries(value)
105
- .map(([key, v]) => serializePrimitiveParam({
106
- allowReserved,
107
- name: style === 'deepObject' ? `${name}[${key}]` : key,
108
- value: v,
109
- }))
110
- .join(separator);
111
- return style === 'label' || style === 'matrix'
112
- ? separator + joinedValues
113
- : joinedValues;
114
- };
115
5
  const defaultPathSerializer = ({ path, url: _url }) => {
116
6
  let url = _url;
117
7
  const matches = _url.match(PATH_PARAM_RE);
@@ -146,6 +36,7 @@ const defaultPathSerializer = ({ path, url: _url }) => {
146
36
  name,
147
37
  style,
148
38
  value: value,
39
+ valueOnly: true,
149
40
  }));
150
41
  continue;
151
42
  }
@@ -164,7 +55,7 @@ const defaultPathSerializer = ({ path, url: _url }) => {
164
55
  };
165
56
  export const createQuerySerializer = ({ allowReserved, array, object, } = {}) => {
166
57
  const querySerializer = (queryParams) => {
167
- let search = [];
58
+ const search = [];
168
59
  if (queryParams && typeof queryParams === 'object') {
169
60
  for (const name in queryParams) {
170
61
  const value = queryParams[name];
@@ -172,41 +63,38 @@ export const createQuerySerializer = ({ allowReserved, array, object, } = {}) =>
172
63
  continue;
173
64
  }
174
65
  if (Array.isArray(value)) {
175
- search = [
176
- ...search,
177
- serializeArrayParam({
178
- allowReserved,
179
- explode: true,
180
- name,
181
- style: 'form',
182
- value,
183
- ...array,
184
- }),
185
- ];
186
- continue;
66
+ const serializedArray = serializeArrayParam({
67
+ allowReserved,
68
+ explode: true,
69
+ name,
70
+ style: 'form',
71
+ value,
72
+ ...array,
73
+ });
74
+ if (serializedArray)
75
+ search.push(serializedArray);
187
76
  }
188
- if (typeof value === 'object') {
189
- search = [
190
- ...search,
191
- serializeObjectParam({
192
- allowReserved,
193
- explode: true,
194
- name,
195
- style: 'deepObject',
196
- value: value,
197
- ...object,
198
- }),
199
- ];
200
- continue;
77
+ else if (typeof value === 'object') {
78
+ const serializedObject = serializeObjectParam({
79
+ allowReserved,
80
+ explode: true,
81
+ name,
82
+ style: 'deepObject',
83
+ value: value,
84
+ ...object,
85
+ });
86
+ if (serializedObject)
87
+ search.push(serializedObject);
201
88
  }
202
- search = [
203
- ...search,
204
- serializePrimitiveParam({
89
+ else {
90
+ const serializedPrimitive = serializePrimitiveParam({
205
91
  allowReserved,
206
92
  name,
207
93
  value: value,
208
- }),
209
- ];
94
+ });
95
+ if (serializedPrimitive)
96
+ search.push(serializedPrimitive);
97
+ }
210
98
  }
211
99
  }
212
100
  return search.join('&');
@@ -215,9 +103,12 @@ export const createQuerySerializer = ({ allowReserved, array, object, } = {}) =>
215
103
  };
216
104
  export const getParseAs = (contentType) => {
217
105
  if (!contentType) {
106
+ return 'stream';
107
+ }
108
+ const cleanContent = contentType.split(';')[0]?.trim();
109
+ if (!cleanContent) {
218
110
  return;
219
111
  }
220
- const cleanContent = contentType.split(';')[0].trim();
221
112
  if (cleanContent.startsWith('application/json') ||
222
113
  cleanContent.endsWith('+json')) {
223
114
  return 'json';
@@ -231,10 +122,48 @@ export const getParseAs = (contentType) => {
231
122
  if (cleanContent.startsWith('text/')) {
232
123
  return 'text';
233
124
  }
125
+ return;
126
+ };
127
+ export const setAuthParams = async ({ security, ...options }) => {
128
+ for (const auth of security) {
129
+ const token = await getAuthToken(auth, options.auth);
130
+ if (!token) {
131
+ continue;
132
+ }
133
+ const name = auth.name ?? 'Authorization';
134
+ switch (auth.in) {
135
+ case 'query':
136
+ if (!options.query) {
137
+ options.query = {};
138
+ }
139
+ options.query[name] = token;
140
+ break;
141
+ case 'cookie':
142
+ options.headers.append('Cookie', `${name}=${token}`);
143
+ break;
144
+ case 'header':
145
+ default:
146
+ options.headers.set(name, token);
147
+ break;
148
+ }
149
+ return;
150
+ }
151
+ };
152
+ export const buildUrl = (options) => {
153
+ const url = getUrl({
154
+ baseUrl: options.baseUrl,
155
+ path: options.path,
156
+ query: options.query,
157
+ querySerializer: typeof options.querySerializer === 'function'
158
+ ? options.querySerializer
159
+ : createQuerySerializer(options.querySerializer),
160
+ url: options.url,
161
+ });
162
+ return url;
234
163
  };
235
164
  export const getUrl = ({ baseUrl, path, query, querySerializer, url: _url, }) => {
236
165
  const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;
237
- let url = baseUrl + pathUrl;
166
+ let url = (baseUrl ?? '') + pathUrl;
238
167
  if (path) {
239
168
  url = defaultPathSerializer({ path, url });
240
169
  }
@@ -286,17 +215,37 @@ class Interceptors {
286
215
  clear() {
287
216
  this._fns = [];
288
217
  }
289
- exists(fn) {
290
- return this._fns.indexOf(fn) !== -1;
218
+ getInterceptorIndex(id) {
219
+ if (typeof id === 'number') {
220
+ return this._fns[id] ? id : -1;
221
+ }
222
+ else {
223
+ return this._fns.indexOf(id);
224
+ }
225
+ }
226
+ exists(id) {
227
+ const index = this.getInterceptorIndex(id);
228
+ return !!this._fns[index];
291
229
  }
292
- eject(fn) {
293
- const index = this._fns.indexOf(fn);
294
- if (index !== -1) {
295
- this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];
230
+ eject(id) {
231
+ const index = this.getInterceptorIndex(id);
232
+ if (this._fns[index]) {
233
+ this._fns[index] = null;
234
+ }
235
+ }
236
+ update(id, fn) {
237
+ const index = this.getInterceptorIndex(id);
238
+ if (this._fns[index]) {
239
+ this._fns[index] = fn;
240
+ return id;
241
+ }
242
+ else {
243
+ return false;
296
244
  }
297
245
  }
298
246
  use(fn) {
299
247
  this._fns = [...this._fns, fn];
248
+ return this._fns.length - 1;
300
249
  }
301
250
  }
302
251
  export const createInterceptors = () => ({
@@ -304,59 +253,6 @@ export const createInterceptors = () => ({
304
253
  request: new Interceptors(),
305
254
  response: new Interceptors(),
306
255
  });
307
- const serializeFormDataPair = (data, key, value) => {
308
- if (typeof value === 'string' || value instanceof Blob) {
309
- data.append(key, value);
310
- }
311
- else {
312
- data.append(key, JSON.stringify(value));
313
- }
314
- };
315
- export const formDataBodySerializer = {
316
- bodySerializer: (body) => {
317
- const data = new FormData();
318
- Object.entries(body).forEach(([key, value]) => {
319
- if (value === undefined || value === null) {
320
- return;
321
- }
322
- if (Array.isArray(value)) {
323
- value.forEach((v) => serializeFormDataPair(data, key, v));
324
- }
325
- else {
326
- serializeFormDataPair(data, key, value);
327
- }
328
- });
329
- return data;
330
- },
331
- };
332
- export const jsonBodySerializer = {
333
- bodySerializer: (body) => JSON.stringify(body),
334
- };
335
- const serializeUrlSearchParamsPair = (data, key, value) => {
336
- if (typeof value === 'string') {
337
- data.append(key, value);
338
- }
339
- else {
340
- data.append(key, JSON.stringify(value));
341
- }
342
- };
343
- export const urlSearchParamsBodySerializer = {
344
- bodySerializer: (body) => {
345
- const data = new URLSearchParams();
346
- Object.entries(body).forEach(([key, value]) => {
347
- if (value === undefined || value === null) {
348
- return;
349
- }
350
- if (Array.isArray(value)) {
351
- value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));
352
- }
353
- else {
354
- serializeUrlSearchParamsPair(data, key, value);
355
- }
356
- });
357
- return data;
358
- },
359
- };
360
256
  const defaultQuerySerializer = createQuerySerializer({
361
257
  allowReserved: false,
362
258
  array: {
@@ -373,7 +269,6 @@ const defaultHeaders = {
373
269
  };
374
270
  export const createConfig = (override = {}) => ({
375
271
  ...jsonBodySerializer,
376
- baseUrl: '',
377
272
  headers: defaultHeaders,
378
273
  parseAs: 'auto',
379
274
  querySerializer: defaultQuerySerializer,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/generated/client/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Config } from './types';\n\ninterface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\ntype ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\ntype ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype ObjectStyle = 'form' | 'deepObject';\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\n\ninterface SerializerOptions<T> {\n /**\n * @default true\n */\n explode: boolean;\n style: T;\n}\n\ninterface SerializeOptions<T>\n extends SerializePrimitiveOptions,\n SerializerOptions<T> {}\ninterface SerializePrimitiveOptions {\n allowReserved?: boolean;\n name: string;\n}\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n value: string;\n}\n\nexport interface QuerySerializerOptions {\n allowReserved?: boolean;\n array?: SerializerOptions<ArrayStyle>;\n object?: SerializerOptions<ObjectStyle>;\n}\n\nconst serializePrimitiveParam = ({\n allowReserved,\n name,\n value,\n}: SerializePrimitiveParam) => {\n if (value === undefined || value === null) {\n return '';\n }\n\n if (typeof value === 'object') {\n throw new Error(\n 'Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.',\n );\n }\n\n return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nconst separatorArrayExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nconst separatorArrayNoExplode = (style: ArraySeparatorStyle) => {\n switch (style) {\n case 'form':\n return ',';\n case 'pipeDelimited':\n return '|';\n case 'spaceDelimited':\n return '%20';\n default:\n return ',';\n }\n};\n\nconst separatorObjectExplode = (style: ObjectSeparatorStyle) => {\n switch (style) {\n case 'label':\n return '.';\n case 'matrix':\n return ';';\n case 'simple':\n return ',';\n default:\n return '&';\n }\n};\n\nconst serializeArrayParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n value: unknown[];\n}) => {\n if (!explode) {\n const joinedValues = (\n allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n ).join(separatorArrayNoExplode(style));\n switch (style) {\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n case 'simple':\n return joinedValues;\n default:\n return `${name}=${joinedValues}`;\n }\n }\n\n const separator = separatorArrayExplode(style);\n const joinedValues = value\n .map((v) => {\n if (style === 'label' || style === 'simple') {\n return allowReserved ? v : encodeURIComponent(v as string);\n }\n\n return serializePrimitiveParam({\n allowReserved,\n name,\n value: v as string,\n });\n })\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n\nconst serializeObjectParam = ({\n allowReserved,\n explode,\n name,\n style,\n value,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n value: Record<string, unknown> | Date;\n}) => {\n if (value instanceof Date) {\n return `${name}=${value.toISOString()}`;\n }\n\n if (style !== 'deepObject' && !explode) {\n let values: string[] = [];\n Object.entries(value).forEach(([key, v]) => {\n values = [\n ...values,\n key,\n allowReserved ? (v as string) : encodeURIComponent(v as string),\n ];\n });\n const joinedValues = values.join(',');\n switch (style) {\n case 'form':\n return `${name}=${joinedValues}`;\n case 'label':\n return `.${joinedValues}`;\n case 'matrix':\n return `;${name}=${joinedValues}`;\n default:\n return joinedValues;\n }\n }\n\n const separator = separatorObjectExplode(style);\n const joinedValues = Object.entries(value)\n .map(([key, v]) =>\n serializePrimitiveParam({\n allowReserved,\n name: style === 'deepObject' ? `${name}[${key}]` : key,\n value: v as string,\n }),\n )\n .join(separator);\n return style === 'label' || style === 'matrix'\n ? separator + joinedValues\n : joinedValues;\n};\n\nconst defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(\n match,\n serializeArrayParam({ explode, name, style, value }),\n );\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const createQuerySerializer = <T = unknown>({\n allowReserved,\n array,\n object,\n}: QuerySerializerOptions = {}) => {\n const querySerializer = (queryParams: T) => {\n let search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n search = [\n ...search,\n serializeArrayParam({\n allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...array,\n }),\n ];\n continue;\n }\n\n if (typeof value === 'object') {\n search = [\n ...search,\n serializeObjectParam({\n allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...object,\n }),\n ];\n continue;\n }\n\n search = [\n ...search,\n serializePrimitiveParam({\n allowReserved,\n name,\n value: value as string,\n }),\n ];\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (\n contentType: string | null,\n): Exclude<Config['parseAs'], 'auto' | 'stream'> => {\n if (!contentType) {\n return;\n }\n\n const cleanContent = contentType.split(';')[0].trim();\n\n if (\n cleanContent.startsWith('application/json') ||\n cleanContent.endsWith('+json')\n ) {\n return 'json';\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData';\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) =>\n cleanContent.startsWith(type),\n )\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n};\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl: string;\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}) => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = baseUrl + pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n }\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n) => {\n const mergedHeaders = new Headers();\n for (const header of headers) {\n if (!header || typeof header !== 'object') {\n continue;\n }\n\n const iterator =\n header instanceof Headers ? header.entries() : Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key);\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string);\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e. their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n );\n }\n }\n }\n return mergedHeaders;\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n response: Res,\n request: Req,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (\n request: Req,\n options: Options,\n) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n _fns: Interceptor[];\n\n constructor() {\n this._fns = [];\n }\n\n clear() {\n this._fns = [];\n }\n\n exists(fn: Interceptor) {\n return this._fns.indexOf(fn) !== -1;\n }\n\n eject(fn: Interceptor) {\n const index = this._fns.indexOf(fn);\n if (index !== -1) {\n this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];\n }\n }\n\n use(fn: Interceptor) {\n this._fns = [...this._fns, fn];\n }\n}\n\n// `createInterceptors()` response, meant for external use as it does not\n// expose internals\nexport interface Middleware<Req, Res, Err, Options> {\n error: Pick<\n Interceptors<ErrInterceptor<Err, Res, Req, Options>>,\n 'eject' | 'use'\n >;\n request: Pick<Interceptors<ReqInterceptor<Req, Options>>, 'eject' | 'use'>;\n response: Pick<\n Interceptors<ResInterceptor<Res, Req, Options>>,\n 'eject' | 'use'\n >;\n}\n\n// do not add `Middleware` as return type so we can use _fns internally\nexport const createInterceptors = <Req, Res, Err, Options>() => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst serializeFormDataPair = (data: FormData, key: string, value: unknown) => {\n if (typeof value === 'string' || value instanceof Blob) {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const formDataBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ) => {\n const data = new FormData();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeFormDataPair(data, key, v));\n } else {\n serializeFormDataPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nexport const jsonBodySerializer = {\n bodySerializer: <T>(body: T) => JSON.stringify(body),\n};\n\nconst serializeUrlSearchParamsPair = (\n data: URLSearchParams,\n key: string,\n value: unknown,\n) => {\n if (typeof value === 'string') {\n data.append(key, value);\n } else {\n data.append(key, JSON.stringify(value));\n }\n};\n\nexport const urlSearchParamsBodySerializer = {\n bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n body: T,\n ) => {\n const data = new URLSearchParams();\n\n Object.entries(body).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n } else {\n serializeUrlSearchParamsPair(data, key, value);\n }\n });\n\n return data;\n },\n};\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n});\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n};\n\nexport const createConfig = (override: Config = {}): Config => ({\n ...jsonBodySerializer,\n baseUrl: '',\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n});\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/generated/client/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAuthToken } from '../core/auth';\nimport type {\n QuerySerializer,\n QuerySerializerOptions,\n} from '../core/bodySerializer';\nimport { jsonBodySerializer } from '../core/bodySerializer';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types';\n\ninterface PathSerializer {\n path: Record<string, unknown>;\n url: string;\n}\n\nconst PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\ntype ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';\ntype MatrixStyle = 'label' | 'matrix' | 'simple';\ntype ArraySeparatorStyle = ArrayStyle | MatrixStyle;\n\nconst defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n let url = _url;\n const matches = _url.match(PATH_PARAM_RE);\n if (matches) {\n for (const match of matches) {\n let explode = false;\n let name = match.substring(1, match.length - 1);\n let style: ArraySeparatorStyle = 'simple';\n\n if (name.endsWith('*')) {\n explode = true;\n name = name.substring(0, name.length - 1);\n }\n\n if (name.startsWith('.')) {\n name = name.substring(1);\n style = 'label';\n } else if (name.startsWith(';')) {\n name = name.substring(1);\n style = 'matrix';\n }\n\n const value = path[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n url = url.replace(\n match,\n serializeArrayParam({ explode, name, style, value }),\n );\n continue;\n }\n\n if (typeof value === 'object') {\n url = url.replace(\n match,\n serializeObjectParam({\n explode,\n name,\n style,\n value: value as Record<string, unknown>,\n valueOnly: true,\n }),\n );\n continue;\n }\n\n if (style === 'matrix') {\n url = url.replace(\n match,\n `;${serializePrimitiveParam({\n name,\n value: value as string,\n })}`,\n );\n continue;\n }\n\n const replaceValue = encodeURIComponent(\n style === 'label' ? `.${value as string}` : (value as string),\n );\n url = url.replace(match, replaceValue);\n }\n }\n return url;\n};\n\nexport const createQuerySerializer = <T = unknown>({\n allowReserved,\n array,\n object,\n}: QuerySerializerOptions = {}) => {\n const querySerializer = (queryParams: T) => {\n const search: string[] = [];\n if (queryParams && typeof queryParams === 'object') {\n for (const name in queryParams) {\n const value = queryParams[name];\n\n if (value === undefined || value === null) {\n continue;\n }\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved,\n name,\n value: value as string,\n });\n if (serializedPrimitive) search.push(serializedPrimitive);\n }\n }\n }\n return search.join('&');\n };\n return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (\n contentType: string | null,\n): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n // If no Content-Type header is provided, the best we can do is return the raw response body,\n // which is effectively the same as the 'stream' option.\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (\n cleanContent.startsWith('application/json') ||\n cleanContent.endsWith('+json')\n ) {\n return 'json';\n }\n\n if (cleanContent === 'multipart/form-data') {\n return 'formData';\n }\n\n if (\n ['application/', 'audio/', 'image/', 'video/'].some((type) =>\n cleanContent.startsWith(type),\n )\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nexport const setAuthParams = async ({\n security,\n ...options\n}: Pick<Required<RequestOptions>, 'security'> &\n Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n }) => {\n for (const auth of security) {\n const token = await getAuthToken(auth, options.auth);\n\n if (!token) {\n continue;\n }\n\n const name = auth.name ?? 'Authorization';\n\n switch (auth.in) {\n case 'query':\n if (!options.query) {\n options.query = {};\n }\n options.query[name] = token;\n break;\n case 'cookie':\n options.headers.append('Cookie', `${name}=${token}`);\n break;\n case 'header':\n default:\n options.headers.set(name, token);\n break;\n }\n\n return;\n }\n};\n\nexport const buildUrl: Client['buildUrl'] = (options) => {\n const url = getUrl({\n baseUrl: options.baseUrl as string,\n path: options.path,\n query: options.query,\n querySerializer:\n typeof options.querySerializer === 'function'\n ? options.querySerializer\n : createQuerySerializer(options.querySerializer),\n url: options.url,\n });\n return url;\n};\n\nexport const getUrl = ({\n baseUrl,\n path,\n query,\n querySerializer,\n url: _url,\n}: {\n baseUrl?: string;\n path?: Record<string, unknown>;\n query?: Record<string, unknown>;\n querySerializer: QuerySerializer;\n url: string;\n}) => {\n const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;\n let url = (baseUrl ?? '') + pathUrl;\n if (path) {\n url = defaultPathSerializer({ path, url });\n }\n let search = query ? querySerializer(query) : '';\n if (search.startsWith('?')) {\n search = search.substring(1);\n }\n if (search) {\n url += `?${search}`;\n }\n return url;\n};\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n const config = { ...a, ...b };\n if (config.baseUrl?.endsWith('/')) {\n config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n }\n config.headers = mergeHeaders(a.headers, b.headers);\n return config;\n};\n\nexport const mergeHeaders = (\n ...headers: Array<Required<Config>['headers'] | undefined>\n): Headers => {\n const mergedHeaders = new Headers();\n for (const header of headers) {\n if (!header || typeof header !== 'object') {\n continue;\n }\n\n const iterator =\n header instanceof Headers ? header.entries() : Object.entries(header);\n\n for (const [key, value] of iterator) {\n if (value === null) {\n mergedHeaders.delete(key);\n } else if (Array.isArray(value)) {\n for (const v of value) {\n mergedHeaders.append(key, v as string);\n }\n } else if (value !== undefined) {\n // assume object headers are meant to be JSON stringified, i.e. their\n // content value in OpenAPI specification is 'application/json'\n mergedHeaders.set(\n key,\n typeof value === 'object' ? JSON.stringify(value) : (value as string),\n );\n }\n }\n }\n return mergedHeaders;\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n error: Err,\n response: Res,\n request: Req,\n options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (\n request: Req,\n options: Options,\n) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n response: Res,\n request: Req,\n options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n _fns: (Interceptor | null)[];\n\n constructor() {\n this._fns = [];\n }\n\n clear() {\n this._fns = [];\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this._fns[id] ? id : -1;\n } else {\n return this._fns.indexOf(id);\n }\n }\n exists(id: number | Interceptor) {\n const index = this.getInterceptorIndex(id);\n return !!this._fns[index];\n }\n\n eject(id: number | Interceptor) {\n const index = this.getInterceptorIndex(id);\n if (this._fns[index]) {\n this._fns[index] = null;\n }\n }\n\n update(id: number | Interceptor, fn: Interceptor) {\n const index = this.getInterceptorIndex(id);\n if (this._fns[index]) {\n this._fns[index] = fn;\n return id;\n } else {\n return false;\n }\n }\n\n use(fn: Interceptor) {\n this._fns = [...this._fns, fn];\n return this._fns.length - 1;\n }\n}\n\n// `createInterceptors()` response, meant for external use as it does not\n// expose internals\nexport interface Middleware<Req, Res, Err, Options> {\n error: Pick<\n Interceptors<ErrInterceptor<Err, Res, Req, Options>>,\n 'eject' | 'use'\n >;\n request: Pick<Interceptors<ReqInterceptor<Req, Options>>, 'eject' | 'use'>;\n response: Pick<\n Interceptors<ResInterceptor<Res, Req, Options>>,\n 'eject' | 'use'\n >;\n}\n\n// do not add `Middleware` as return type so we can use _fns internally\nexport const createInterceptors = <Req, Res, Err, Options>() => ({\n error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n request: new Interceptors<ReqInterceptor<Req, Options>>(),\n response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst defaultQuerySerializer = createQuerySerializer({\n allowReserved: false,\n array: {\n explode: true,\n style: 'form',\n },\n object: {\n explode: true,\n style: 'deepObject',\n },\n});\n\nconst defaultHeaders = {\n 'Content-Type': 'application/json',\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n ...jsonBodySerializer,\n headers: defaultHeaders,\n parseAs: 'auto',\n querySerializer: defaultQuerySerializer,\n ...override,\n});\n"]}
@@ -0,0 +1,4 @@
1
+ import { type ClientOptions, type Config } from './client/index.js';
2
+ import type { ClientOptions as ClientOptions2 } from './types.gen.js';
3
+ export type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
4
+ export declare const client: import("./client/index.js").Client;
@@ -0,0 +1,3 @@
1
+ import { createClient, createConfig } from './client/index.js';
2
+ export const client = createClient(createConfig({ baseUrl: 'https://api.short.io' }));
3
+ //# sourceMappingURL=client.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.gen.js","sourceRoot":"","sources":["../../src/generated/client.gen.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAavF,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC","sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport { type ClientOptions, type Config, createClient, createConfig } from './client';\nimport type { ClientOptions as ClientOptions2 } from './types.gen';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions2>({ baseUrl: 'https://api.short.io' }));\n"]}
@@ -0,0 +1,8 @@
1
+ export type AuthToken = string | undefined;
2
+ export interface Auth {
3
+ in?: 'header' | 'query' | 'cookie';
4
+ name?: string;
5
+ scheme?: 'basic' | 'bearer';
6
+ type: 'apiKey' | 'http';
7
+ }
8
+ export declare const getAuthToken: (auth: Auth, callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken) => Promise<string | undefined>;
@@ -0,0 +1,8 @@
1
+ export type AuthToken = string | undefined;
2
+ export interface Auth {
3
+ in?: 'header' | 'query' | 'cookie';
4
+ name?: string;
5
+ scheme?: 'basic' | 'bearer';
6
+ type: 'apiKey' | 'http';
7
+ }
8
+ export declare const getAuthToken: (auth: Auth, callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken) => Promise<string | undefined>;
@@ -0,0 +1,14 @@
1
+ export const getAuthToken = async (auth, callback) => {
2
+ const token = typeof callback === 'function' ? await callback(auth) : callback;
3
+ if (!token) {
4
+ return;
5
+ }
6
+ if (auth.scheme === 'bearer') {
7
+ return `Bearer ${token}`;
8
+ }
9
+ if (auth.scheme === 'basic') {
10
+ return `Basic ${btoa(token)}`;
11
+ }
12
+ return token;
13
+ };
14
+ //# sourceMappingURL=auth.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.gen.js","sourceRoot":"","sources":["../../../src/generated/core/auth.gen.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,IAAU,EACV,QAAsE,EACzC,EAAE;IAC/B,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token =\n typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n"]}
@@ -0,0 +1,14 @@
1
+ export const getAuthToken = async (auth, callback) => {
2
+ const token = typeof callback === 'function' ? await callback(auth) : callback;
3
+ if (!token) {
4
+ return;
5
+ }
6
+ if (auth.scheme === 'bearer') {
7
+ return `Bearer ${token}`;
8
+ }
9
+ if (auth.scheme === 'basic') {
10
+ return `Basic ${btoa(token)}`;
11
+ }
12
+ return token;
13
+ };
14
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/generated/core/auth.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,IAAU,EACV,QAAsE,EACzC,EAAE;IAC/B,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,UAAU,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,SAAS,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["export type AuthToken = string | undefined;\n\nexport interface Auth {\n /**\n * Which part of the request do we use to send the auth?\n *\n * @default 'header'\n */\n in?: 'header' | 'query' | 'cookie';\n /**\n * Header or query parameter name.\n *\n * @default 'Authorization'\n */\n name?: string;\n scheme?: 'basic' | 'bearer';\n type: 'apiKey' | 'http';\n}\n\nexport const getAuthToken = async (\n auth: Auth,\n callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n const token =\n typeof callback === 'function' ? await callback(auth) : callback;\n\n if (!token) {\n return;\n }\n\n if (auth.scheme === 'bearer') {\n return `Bearer ${token}`;\n }\n\n if (auth.scheme === 'basic') {\n return `Basic ${btoa(token)}`;\n }\n\n return token;\n};\n"]}
@@ -0,0 +1,17 @@
1
+ import type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerializer.js';
2
+ export type QuerySerializer = (query: Record<string, unknown>) => string;
3
+ export type BodySerializer = (body: any) => any;
4
+ export interface QuerySerializerOptions {
5
+ allowReserved?: boolean;
6
+ array?: SerializerOptions<ArrayStyle>;
7
+ object?: SerializerOptions<ObjectStyle>;
8
+ }
9
+ export declare const formDataBodySerializer: {
10
+ bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => FormData;
11
+ };
12
+ export declare const jsonBodySerializer: {
13
+ bodySerializer: <T>(body: T) => string;
14
+ };
15
+ export declare const urlSearchParamsBodySerializer: {
16
+ bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => string;
17
+ };
@@ -0,0 +1,21 @@
1
+ import type { ArrayStyle, ObjectStyle, SerializerOptions } from './pathSerializer.gen.js';
2
+ export type QuerySerializer = (query: Record<string, unknown>) => string;
3
+ export type BodySerializer = (body: any) => any;
4
+ type QuerySerializerOptionsObject = {
5
+ allowReserved?: boolean;
6
+ array?: Partial<SerializerOptions<ArrayStyle>>;
7
+ object?: Partial<SerializerOptions<ObjectStyle>>;
8
+ };
9
+ export type QuerySerializerOptions = QuerySerializerOptionsObject & {
10
+ parameters?: Record<string, QuerySerializerOptionsObject>;
11
+ };
12
+ export declare const formDataBodySerializer: {
13
+ bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => FormData;
14
+ };
15
+ export declare const jsonBodySerializer: {
16
+ bodySerializer: <T>(body: T) => string;
17
+ };
18
+ export declare const urlSearchParamsBodySerializer: {
19
+ bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => string;
20
+ };
21
+ export {};