@storyblok/api-client 0.1.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 (184) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  4. package/dist/error.cjs +21 -0
  5. package/dist/error.cjs.map +1 -0
  6. package/dist/error.d.cts +19 -0
  7. package/dist/error.d.mts +19 -0
  8. package/dist/error.mjs +20 -0
  9. package/dist/error.mjs.map +1 -0
  10. package/dist/generated/datasource_entries/client.gen.cjs +10 -0
  11. package/dist/generated/datasource_entries/client.gen.cjs.map +1 -0
  12. package/dist/generated/datasource_entries/client.gen.mjs +10 -0
  13. package/dist/generated/datasource_entries/client.gen.mjs.map +1 -0
  14. package/dist/generated/datasource_entries/sdk.gen.cjs +21 -0
  15. package/dist/generated/datasource_entries/sdk.gen.cjs.map +1 -0
  16. package/dist/generated/datasource_entries/sdk.gen.mjs +21 -0
  17. package/dist/generated/datasource_entries/sdk.gen.mjs.map +1 -0
  18. package/dist/generated/datasource_entries/types.gen.d.cts +67 -0
  19. package/dist/generated/datasource_entries/types.gen.d.mts +67 -0
  20. package/dist/generated/datasources/client.gen.cjs +10 -0
  21. package/dist/generated/datasources/client.gen.cjs.map +1 -0
  22. package/dist/generated/datasources/client.gen.mjs +10 -0
  23. package/dist/generated/datasources/client.gen.mjs.map +1 -0
  24. package/dist/generated/datasources/sdk.gen.cjs +36 -0
  25. package/dist/generated/datasources/sdk.gen.cjs.map +1 -0
  26. package/dist/generated/datasources/sdk.gen.mjs +35 -0
  27. package/dist/generated/datasources/sdk.gen.mjs.map +1 -0
  28. package/dist/generated/datasources/types.gen.d.cts +109 -0
  29. package/dist/generated/datasources/types.gen.d.mts +109 -0
  30. package/dist/generated/links/client.gen.cjs +10 -0
  31. package/dist/generated/links/client.gen.cjs.map +1 -0
  32. package/dist/generated/links/client.gen.mjs +10 -0
  33. package/dist/generated/links/client.gen.mjs.map +1 -0
  34. package/dist/generated/links/sdk.gen.cjs +21 -0
  35. package/dist/generated/links/sdk.gen.cjs.map +1 -0
  36. package/dist/generated/links/sdk.gen.mjs +21 -0
  37. package/dist/generated/links/sdk.gen.mjs.map +1 -0
  38. package/dist/generated/links/types.gen.d.cts +142 -0
  39. package/dist/generated/links/types.gen.d.mts +142 -0
  40. package/dist/generated/shared/client/client.gen.cjs +215 -0
  41. package/dist/generated/shared/client/client.gen.cjs.map +1 -0
  42. package/dist/generated/shared/client/client.gen.mjs +213 -0
  43. package/dist/generated/shared/client/client.gen.mjs.map +1 -0
  44. package/dist/generated/shared/client/index.cjs +4 -0
  45. package/dist/generated/shared/client/index.mjs +6 -0
  46. package/dist/generated/shared/client/types.gen.d.cts +103 -0
  47. package/dist/generated/shared/client/types.gen.d.mts +103 -0
  48. package/dist/generated/shared/client/utils.gen.cjs +188 -0
  49. package/dist/generated/shared/client/utils.gen.cjs.map +1 -0
  50. package/dist/generated/shared/client/utils.gen.d.cts +21 -0
  51. package/dist/generated/shared/client/utils.gen.d.mts +21 -0
  52. package/dist/generated/shared/client/utils.gen.mjs +182 -0
  53. package/dist/generated/shared/client/utils.gen.mjs.map +1 -0
  54. package/dist/generated/shared/core/auth.gen.cjs +13 -0
  55. package/dist/generated/shared/core/auth.gen.cjs.map +1 -0
  56. package/dist/generated/shared/core/auth.gen.d.cts +21 -0
  57. package/dist/generated/shared/core/auth.gen.d.mts +21 -0
  58. package/dist/generated/shared/core/auth.gen.mjs +12 -0
  59. package/dist/generated/shared/core/auth.gen.mjs.map +1 -0
  60. package/dist/generated/shared/core/bodySerializer.gen.cjs +7 -0
  61. package/dist/generated/shared/core/bodySerializer.gen.cjs.map +1 -0
  62. package/dist/generated/shared/core/bodySerializer.gen.d.cts +20 -0
  63. package/dist/generated/shared/core/bodySerializer.gen.d.mts +20 -0
  64. package/dist/generated/shared/core/bodySerializer.gen.mjs +6 -0
  65. package/dist/generated/shared/core/bodySerializer.gen.mjs.map +1 -0
  66. package/dist/generated/shared/core/params.gen.cjs +11 -0
  67. package/dist/generated/shared/core/params.gen.cjs.map +1 -0
  68. package/dist/generated/shared/core/params.gen.mjs +11 -0
  69. package/dist/generated/shared/core/params.gen.mjs.map +1 -0
  70. package/dist/generated/shared/core/pathSerializer.gen.cjs +85 -0
  71. package/dist/generated/shared/core/pathSerializer.gen.cjs.map +1 -0
  72. package/dist/generated/shared/core/pathSerializer.gen.d.cts +13 -0
  73. package/dist/generated/shared/core/pathSerializer.gen.d.mts +13 -0
  74. package/dist/generated/shared/core/pathSerializer.gen.mjs +82 -0
  75. package/dist/generated/shared/core/pathSerializer.gen.mjs.map +1 -0
  76. package/dist/generated/shared/core/serverSentEvents.gen.cjs +96 -0
  77. package/dist/generated/shared/core/serverSentEvents.gen.cjs.map +1 -0
  78. package/dist/generated/shared/core/serverSentEvents.gen.d.cts +72 -0
  79. package/dist/generated/shared/core/serverSentEvents.gen.d.mts +72 -0
  80. package/dist/generated/shared/core/serverSentEvents.gen.mjs +95 -0
  81. package/dist/generated/shared/core/serverSentEvents.gen.mjs.map +1 -0
  82. package/dist/generated/shared/core/types.gen.d.cts +61 -0
  83. package/dist/generated/shared/core/types.gen.d.mts +61 -0
  84. package/dist/generated/shared/core/utils.gen.cjs +80 -0
  85. package/dist/generated/shared/core/utils.gen.cjs.map +1 -0
  86. package/dist/generated/shared/core/utils.gen.mjs +79 -0
  87. package/dist/generated/shared/core/utils.gen.mjs.map +1 -0
  88. package/dist/generated/spaces/client.gen.cjs +10 -0
  89. package/dist/generated/spaces/client.gen.cjs.map +1 -0
  90. package/dist/generated/spaces/client.gen.mjs +10 -0
  91. package/dist/generated/spaces/client.gen.mjs.map +1 -0
  92. package/dist/generated/spaces/sdk.gen.cjs +21 -0
  93. package/dist/generated/spaces/sdk.gen.cjs.map +1 -0
  94. package/dist/generated/spaces/sdk.gen.mjs +21 -0
  95. package/dist/generated/spaces/sdk.gen.mjs.map +1 -0
  96. package/dist/generated/spaces/types.gen.d.cts +34 -0
  97. package/dist/generated/spaces/types.gen.d.mts +34 -0
  98. package/dist/generated/stories/client.gen.cjs +10 -0
  99. package/dist/generated/stories/client.gen.cjs.map +1 -0
  100. package/dist/generated/stories/client.gen.mjs +10 -0
  101. package/dist/generated/stories/client.gen.mjs.map +1 -0
  102. package/dist/generated/stories/sdk.gen.cjs +36 -0
  103. package/dist/generated/stories/sdk.gen.cjs.map +1 -0
  104. package/dist/generated/stories/sdk.gen.mjs +35 -0
  105. package/dist/generated/stories/sdk.gen.mjs.map +1 -0
  106. package/dist/generated/stories/types.gen.d.cts +544 -0
  107. package/dist/generated/stories/types.gen.d.mts +544 -0
  108. package/dist/generated/tags/client.gen.cjs +10 -0
  109. package/dist/generated/tags/client.gen.cjs.map +1 -0
  110. package/dist/generated/tags/client.gen.mjs +10 -0
  111. package/dist/generated/tags/client.gen.mjs.map +1 -0
  112. package/dist/generated/tags/sdk.gen.cjs +21 -0
  113. package/dist/generated/tags/sdk.gen.cjs.map +1 -0
  114. package/dist/generated/tags/sdk.gen.mjs +21 -0
  115. package/dist/generated/tags/sdk.gen.mjs.map +1 -0
  116. package/dist/generated/tags/types.gen.d.cts +44 -0
  117. package/dist/generated/tags/types.gen.d.mts +44 -0
  118. package/dist/index.cjs +155 -0
  119. package/dist/index.cjs.map +1 -0
  120. package/dist/index.d.cts +161 -0
  121. package/dist/index.d.mts +161 -0
  122. package/dist/index.mjs +150 -0
  123. package/dist/index.mjs.map +1 -0
  124. package/dist/resources/datasource-entries.cjs +22 -0
  125. package/dist/resources/datasource-entries.cjs.map +1 -0
  126. package/dist/resources/datasource-entries.mjs +22 -0
  127. package/dist/resources/datasource-entries.mjs.map +1 -0
  128. package/dist/resources/datasources.cjs +37 -0
  129. package/dist/resources/datasources.cjs.map +1 -0
  130. package/dist/resources/datasources.mjs +37 -0
  131. package/dist/resources/datasources.mjs.map +1 -0
  132. package/dist/resources/links.cjs +22 -0
  133. package/dist/resources/links.cjs.map +1 -0
  134. package/dist/resources/links.mjs +22 -0
  135. package/dist/resources/links.mjs.map +1 -0
  136. package/dist/resources/spaces.cjs +22 -0
  137. package/dist/resources/spaces.cjs.map +1 -0
  138. package/dist/resources/spaces.mjs +22 -0
  139. package/dist/resources/spaces.mjs.map +1 -0
  140. package/dist/resources/stories.cjs +69 -0
  141. package/dist/resources/stories.cjs.map +1 -0
  142. package/dist/resources/stories.d.cts +16 -0
  143. package/dist/resources/stories.d.mts +16 -0
  144. package/dist/resources/stories.mjs +69 -0
  145. package/dist/resources/stories.mjs.map +1 -0
  146. package/dist/resources/tags.cjs +22 -0
  147. package/dist/resources/tags.cjs.map +1 -0
  148. package/dist/resources/tags.mjs +22 -0
  149. package/dist/resources/tags.mjs.map +1 -0
  150. package/dist/types.d.cts +19 -0
  151. package/dist/types.d.mts +19 -0
  152. package/dist/utils/array.cjs +12 -0
  153. package/dist/utils/array.cjs.map +1 -0
  154. package/dist/utils/array.mjs +11 -0
  155. package/dist/utils/array.mjs.map +1 -0
  156. package/dist/utils/cache.cjs +73 -0
  157. package/dist/utils/cache.cjs.map +1 -0
  158. package/dist/utils/cache.d.cts +26 -0
  159. package/dist/utils/cache.d.mts +26 -0
  160. package/dist/utils/cache.mjs +71 -0
  161. package/dist/utils/cache.mjs.map +1 -0
  162. package/dist/utils/cv.cjs +19 -0
  163. package/dist/utils/cv.cjs.map +1 -0
  164. package/dist/utils/cv.mjs +18 -0
  165. package/dist/utils/cv.mjs.map +1 -0
  166. package/dist/utils/fetch-rel-uuids.cjs +45 -0
  167. package/dist/utils/fetch-rel-uuids.cjs.map +1 -0
  168. package/dist/utils/fetch-rel-uuids.mjs +45 -0
  169. package/dist/utils/fetch-rel-uuids.mjs.map +1 -0
  170. package/dist/utils/inline-relations.cjs +86 -0
  171. package/dist/utils/inline-relations.cjs.map +1 -0
  172. package/dist/utils/inline-relations.mjs +84 -0
  173. package/dist/utils/inline-relations.mjs.map +1 -0
  174. package/dist/utils/rate-limit.cjs +140 -0
  175. package/dist/utils/rate-limit.cjs.map +1 -0
  176. package/dist/utils/rate-limit.d.cts +36 -0
  177. package/dist/utils/rate-limit.d.mts +36 -0
  178. package/dist/utils/rate-limit.mjs +137 -0
  179. package/dist/utils/rate-limit.mjs.map +1 -0
  180. package/dist/utils/request.cjs +38 -0
  181. package/dist/utils/request.cjs.map +1 -0
  182. package/dist/utils/request.mjs +35 -0
  183. package/dist/utils/request.mjs.map +1 -0
  184. package/package.json +79 -0
@@ -0,0 +1,103 @@
1
+ import { Auth } from "../core/auth.gen.mjs";
2
+ import { Config as Config$1 } from "../core/types.gen.mjs";
3
+ import { ServerSentEventsOptions } from "../core/serverSentEvents.gen.mjs";
4
+ import ky, { Options } from "ky";
5
+
6
+ //#region src/generated/shared/client/types.gen.d.ts
7
+ type ResponseStyle = 'data' | 'fields';
8
+ interface RetryOptions$1 {
9
+ /**
10
+ * Maximum number of retry attempts
11
+ *
12
+ * @default 2
13
+ */
14
+ limit?: number;
15
+ /**
16
+ * HTTP methods to retry
17
+ *
18
+ * @default ['get', 'put', 'head', 'delete', 'options', 'trace']
19
+ */
20
+ methods?: Array<'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options' | 'trace'>;
21
+ /**
22
+ * HTTP status codes to retry
23
+ *
24
+ * @default [408, 413, 429, 500, 502, 503, 504]
25
+ */
26
+ statusCodes?: number[];
27
+ }
28
+ interface Config<T extends ClientOptions = ClientOptions> extends Omit<Options, 'body' | 'headers' | 'method' | 'prefixUrl' | 'retry' | 'throwHttpErrors'>, Config$1 {
29
+ /**
30
+ * Base URL for all requests made by this client.
31
+ */
32
+ baseUrl?: T['baseUrl'];
33
+ /**
34
+ * Ky instance to use. You can use this option to provide a custom
35
+ * ky instance.
36
+ */
37
+ ky?: typeof ky;
38
+ /**
39
+ * Additional ky-specific options that will be passed directly to ky.
40
+ * This allows you to use any ky option not explicitly exposed in the config.
41
+ */
42
+ kyOptions?: Omit<Options, 'method' | 'prefixUrl'>;
43
+ /**
44
+ * Return the response data parsed in a specified format. By default, `auto`
45
+ * will infer the appropriate method from the `Content-Type` response header.
46
+ * You can override this behavior with any of the {@link Body} methods.
47
+ * Select `stream` if you don't want to parse response data at all.
48
+ *
49
+ * @default 'auto'
50
+ */
51
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
52
+ /**
53
+ * Should we return only data or multiple fields (data, error, response, etc.)?
54
+ *
55
+ * @default 'fields'
56
+ */
57
+ responseStyle?: ResponseStyle;
58
+ /**
59
+ * Retry configuration
60
+ */
61
+ retry?: RetryOptions$1;
62
+ /**
63
+ * Throw an error instead of returning it in the response?
64
+ *
65
+ * @default false
66
+ */
67
+ throwOnError?: T['throwOnError'];
68
+ /**
69
+ * Request timeout in milliseconds
70
+ *
71
+ * @default 10000
72
+ */
73
+ timeout?: number;
74
+ }
75
+ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
76
+ responseStyle: TResponseStyle;
77
+ throwOnError: ThrowOnError;
78
+ }>, Pick<ServerSentEventsOptions<TData>, 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
79
+ /**
80
+ * Any body that you want to add to your request.
81
+ *
82
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
83
+ */
84
+ body?: unknown;
85
+ path?: Record<string, unknown>;
86
+ query?: Record<string, unknown>;
87
+ /**
88
+ * Security mechanism(s) to use for the request.
89
+ */
90
+ security?: ReadonlyArray<Auth>;
91
+ url: Url;
92
+ }
93
+ interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
94
+ serializedBody?: string;
95
+ }
96
+ interface ClientOptions {
97
+ baseUrl?: string;
98
+ responseStyle?: ResponseStyle;
99
+ throwOnError?: boolean;
100
+ }
101
+ //#endregion
102
+ export { RequestOptions, ResolvedRequestOptions };
103
+ //# sourceMappingURL=types.gen.d.mts.map
@@ -0,0 +1,188 @@
1
+ const require_bodySerializer_gen = require('../core/bodySerializer.gen.cjs');
2
+ const require_pathSerializer_gen = require('../core/pathSerializer.gen.cjs');
3
+ const require_utils_gen = require('../core/utils.gen.cjs');
4
+ const require_auth_gen = require('../core/auth.gen.cjs');
5
+
6
+ //#region src/generated/shared/client/utils.gen.ts
7
+ const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
8
+ const querySerializer = (queryParams) => {
9
+ const search = [];
10
+ if (queryParams && typeof queryParams === "object") for (const name in queryParams) {
11
+ const value = queryParams[name];
12
+ if (value === void 0 || value === null) continue;
13
+ const options = parameters[name] || args;
14
+ if (Array.isArray(value)) {
15
+ const serializedArray = require_pathSerializer_gen.serializeArrayParam({
16
+ allowReserved: options.allowReserved,
17
+ explode: true,
18
+ name,
19
+ style: "form",
20
+ value,
21
+ ...options.array
22
+ });
23
+ if (serializedArray) search.push(serializedArray);
24
+ } else if (typeof value === "object") {
25
+ const serializedObject = require_pathSerializer_gen.serializeObjectParam({
26
+ allowReserved: options.allowReserved,
27
+ explode: true,
28
+ name,
29
+ style: "deepObject",
30
+ value,
31
+ ...options.object
32
+ });
33
+ if (serializedObject) search.push(serializedObject);
34
+ } else {
35
+ const serializedPrimitive = require_pathSerializer_gen.serializePrimitiveParam({
36
+ allowReserved: options.allowReserved,
37
+ name,
38
+ value
39
+ });
40
+ if (serializedPrimitive) search.push(serializedPrimitive);
41
+ }
42
+ }
43
+ return search.join("&");
44
+ };
45
+ return querySerializer;
46
+ };
47
+ /**
48
+ * Infers parseAs value from provided Content-Type header.
49
+ */
50
+ const getParseAs = (contentType) => {
51
+ if (!contentType) return "stream";
52
+ const cleanContent = contentType.split(";")[0]?.trim();
53
+ if (!cleanContent) return;
54
+ if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) return "json";
55
+ if (cleanContent === "multipart/form-data") return "formData";
56
+ if ([
57
+ "application/",
58
+ "audio/",
59
+ "image/",
60
+ "video/"
61
+ ].some((type) => cleanContent.startsWith(type))) return "blob";
62
+ if (cleanContent.startsWith("text/")) return "text";
63
+ };
64
+ const checkForExistence = (options, name) => {
65
+ if (!name) return false;
66
+ if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) return true;
67
+ return false;
68
+ };
69
+ const setAuthParams = async ({ security, ...options }) => {
70
+ for (const auth of security) {
71
+ if (checkForExistence(options, auth.name)) continue;
72
+ const token = await require_auth_gen.getAuthToken(auth, options.auth);
73
+ if (!token) continue;
74
+ const name = auth.name ?? "Authorization";
75
+ switch (auth.in) {
76
+ case "query":
77
+ if (!options.query) options.query = {};
78
+ options.query[name] = token;
79
+ break;
80
+ case "cookie":
81
+ options.headers.append("Cookie", `${name}=${token}`);
82
+ break;
83
+ default:
84
+ options.headers.set(name, token);
85
+ break;
86
+ }
87
+ }
88
+ };
89
+ const buildUrl = (options) => require_utils_gen.getUrl({
90
+ baseUrl: options.baseUrl,
91
+ path: options.path,
92
+ query: options.query,
93
+ querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
94
+ url: options.url
95
+ });
96
+ const mergeConfigs = (a, b) => {
97
+ const config = {
98
+ ...a,
99
+ ...b
100
+ };
101
+ if (config.baseUrl?.endsWith("/")) config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
102
+ config.headers = mergeHeaders(a.headers, b.headers);
103
+ return config;
104
+ };
105
+ const headersEntries = (headers) => {
106
+ const entries = [];
107
+ headers.forEach((value, key) => {
108
+ entries.push([key, value]);
109
+ });
110
+ return entries;
111
+ };
112
+ const mergeHeaders = (...headers) => {
113
+ const mergedHeaders = new Headers();
114
+ for (const header of headers) {
115
+ if (!header) continue;
116
+ const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
117
+ for (const [key, value] of iterator) if (value === null) mergedHeaders.delete(key);
118
+ else if (Array.isArray(value)) for (const v of value) mergedHeaders.append(key, v);
119
+ else if (value !== void 0) mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
120
+ }
121
+ return mergedHeaders;
122
+ };
123
+ var Interceptors = class {
124
+ fns = [];
125
+ clear() {
126
+ this.fns = [];
127
+ }
128
+ eject(id) {
129
+ const index = this.getInterceptorIndex(id);
130
+ if (this.fns[index]) this.fns[index] = null;
131
+ }
132
+ exists(id) {
133
+ const index = this.getInterceptorIndex(id);
134
+ return Boolean(this.fns[index]);
135
+ }
136
+ getInterceptorIndex(id) {
137
+ if (typeof id === "number") return this.fns[id] ? id : -1;
138
+ return this.fns.indexOf(id);
139
+ }
140
+ update(id, fn) {
141
+ const index = this.getInterceptorIndex(id);
142
+ if (this.fns[index]) {
143
+ this.fns[index] = fn;
144
+ return id;
145
+ }
146
+ return false;
147
+ }
148
+ use(fn) {
149
+ this.fns.push(fn);
150
+ return this.fns.length - 1;
151
+ }
152
+ };
153
+ const createInterceptors = () => ({
154
+ error: new Interceptors(),
155
+ request: new Interceptors(),
156
+ response: new Interceptors()
157
+ });
158
+ const defaultQuerySerializer = createQuerySerializer({
159
+ allowReserved: false,
160
+ array: {
161
+ explode: true,
162
+ style: "form"
163
+ },
164
+ object: {
165
+ explode: true,
166
+ style: "deepObject"
167
+ }
168
+ });
169
+ const defaultHeaders = { "Content-Type": "application/json" };
170
+ const createConfig = (override = {}) => ({
171
+ ...require_bodySerializer_gen.jsonBodySerializer,
172
+ headers: defaultHeaders,
173
+ parseAs: "auto",
174
+ querySerializer: defaultQuerySerializer,
175
+ throwOnError: false,
176
+ timeout: 1e4,
177
+ ...override
178
+ });
179
+
180
+ //#endregion
181
+ exports.buildUrl = buildUrl;
182
+ exports.createConfig = createConfig;
183
+ exports.createInterceptors = createInterceptors;
184
+ exports.getParseAs = getParseAs;
185
+ exports.mergeConfigs = mergeConfigs;
186
+ exports.mergeHeaders = mergeHeaders;
187
+ exports.setAuthParams = setAuthParams;
188
+ //# sourceMappingURL=utils.gen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.gen.cjs","names":["serializeArrayParam","serializeObjectParam","serializePrimitiveParam","getAuthToken","getUrl","jsonBodySerializer"],"sources":["../../../../src/generated/shared/client/utils.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen';\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen';\nimport { jsonBodySerializer } from '../core/bodySerializer.gen';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen';\nimport { getUrl } from '../core/utils.gen';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen';\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\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 const options = parameters[name] || args;\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.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 = (contentType: string | null): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (cleanContent.startsWith('application/json') || cleanContent.endsWith('+json')) {\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) => cleanContent.startsWith(type))\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false;\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true;\n }\n return false;\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 if (checkForExistence(options, auth.name)) {\n continue;\n }\n\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};\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n 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\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\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = [];\n headers.forEach((value, key) => {\n entries.push([key, value]);\n });\n return entries;\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) {\n continue;\n }\n\n const iterator = header instanceof Headers ? headersEntries(header) : 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 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> = (request: Req, options: Options) => 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: Array<Interceptor | null> = [];\n\n clear(): void {\n this.fns = [];\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = null;\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id);\n return Boolean(this.fns[index]);\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1;\n }\n return this.fns.indexOf(id);\n }\n\n update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = fn;\n return id;\n }\n return false;\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn);\n return this.fns.length - 1;\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n request: Interceptors<ReqInterceptor<Req, Options>>;\n response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\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 throwOnError: false,\n timeout: 10000,\n ...override,\n});\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ //#region src/generated/shared/client/utils.gen.d.ts
2
+ type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
3
+ type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
4
+ type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
5
+ declare class Interceptors<Interceptor> {
6
+ fns: Array<Interceptor | null>;
7
+ clear(): void;
8
+ eject(id: number | Interceptor): void;
9
+ exists(id: number | Interceptor): boolean;
10
+ getInterceptorIndex(id: number | Interceptor): number;
11
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
12
+ use(fn: Interceptor): number;
13
+ }
14
+ interface Middleware<Req, Res, Err, Options> {
15
+ error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;
16
+ request: Interceptors<ReqInterceptor<Req, Options>>;
17
+ response: Interceptors<ResInterceptor<Res, Req, Options>>;
18
+ }
19
+ //#endregion
20
+ export { Middleware };
21
+ //# sourceMappingURL=utils.gen.d.cts.map
@@ -0,0 +1,21 @@
1
+ //#region src/generated/shared/client/utils.gen.d.ts
2
+ type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
3
+ type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
4
+ type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
5
+ declare class Interceptors<Interceptor> {
6
+ fns: Array<Interceptor | null>;
7
+ clear(): void;
8
+ eject(id: number | Interceptor): void;
9
+ exists(id: number | Interceptor): boolean;
10
+ getInterceptorIndex(id: number | Interceptor): number;
11
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
12
+ use(fn: Interceptor): number;
13
+ }
14
+ interface Middleware<Req, Res, Err, Options> {
15
+ error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;
16
+ request: Interceptors<ReqInterceptor<Req, Options>>;
17
+ response: Interceptors<ResInterceptor<Res, Req, Options>>;
18
+ }
19
+ //#endregion
20
+ export { Middleware };
21
+ //# sourceMappingURL=utils.gen.d.mts.map
@@ -0,0 +1,182 @@
1
+ import { jsonBodySerializer } from "../core/bodySerializer.gen.mjs";
2
+ import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam } from "../core/pathSerializer.gen.mjs";
3
+ import { getUrl } from "../core/utils.gen.mjs";
4
+ import { getAuthToken } from "../core/auth.gen.mjs";
5
+
6
+ //#region src/generated/shared/client/utils.gen.ts
7
+ const createQuerySerializer = ({ parameters = {}, ...args } = {}) => {
8
+ const querySerializer = (queryParams) => {
9
+ const search = [];
10
+ if (queryParams && typeof queryParams === "object") for (const name in queryParams) {
11
+ const value = queryParams[name];
12
+ if (value === void 0 || value === null) continue;
13
+ const options = parameters[name] || args;
14
+ if (Array.isArray(value)) {
15
+ const serializedArray = serializeArrayParam({
16
+ allowReserved: options.allowReserved,
17
+ explode: true,
18
+ name,
19
+ style: "form",
20
+ value,
21
+ ...options.array
22
+ });
23
+ if (serializedArray) search.push(serializedArray);
24
+ } else if (typeof value === "object") {
25
+ const serializedObject = serializeObjectParam({
26
+ allowReserved: options.allowReserved,
27
+ explode: true,
28
+ name,
29
+ style: "deepObject",
30
+ value,
31
+ ...options.object
32
+ });
33
+ if (serializedObject) search.push(serializedObject);
34
+ } else {
35
+ const serializedPrimitive = serializePrimitiveParam({
36
+ allowReserved: options.allowReserved,
37
+ name,
38
+ value
39
+ });
40
+ if (serializedPrimitive) search.push(serializedPrimitive);
41
+ }
42
+ }
43
+ return search.join("&");
44
+ };
45
+ return querySerializer;
46
+ };
47
+ /**
48
+ * Infers parseAs value from provided Content-Type header.
49
+ */
50
+ const getParseAs = (contentType) => {
51
+ if (!contentType) return "stream";
52
+ const cleanContent = contentType.split(";")[0]?.trim();
53
+ if (!cleanContent) return;
54
+ if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) return "json";
55
+ if (cleanContent === "multipart/form-data") return "formData";
56
+ if ([
57
+ "application/",
58
+ "audio/",
59
+ "image/",
60
+ "video/"
61
+ ].some((type) => cleanContent.startsWith(type))) return "blob";
62
+ if (cleanContent.startsWith("text/")) return "text";
63
+ };
64
+ const checkForExistence = (options, name) => {
65
+ if (!name) return false;
66
+ if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) return true;
67
+ return false;
68
+ };
69
+ const setAuthParams = async ({ security, ...options }) => {
70
+ for (const auth of security) {
71
+ if (checkForExistence(options, auth.name)) continue;
72
+ const token = await getAuthToken(auth, options.auth);
73
+ if (!token) continue;
74
+ const name = auth.name ?? "Authorization";
75
+ switch (auth.in) {
76
+ case "query":
77
+ if (!options.query) options.query = {};
78
+ options.query[name] = token;
79
+ break;
80
+ case "cookie":
81
+ options.headers.append("Cookie", `${name}=${token}`);
82
+ break;
83
+ default:
84
+ options.headers.set(name, token);
85
+ break;
86
+ }
87
+ }
88
+ };
89
+ const buildUrl = (options) => getUrl({
90
+ baseUrl: options.baseUrl,
91
+ path: options.path,
92
+ query: options.query,
93
+ querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
94
+ url: options.url
95
+ });
96
+ const mergeConfigs = (a, b) => {
97
+ const config = {
98
+ ...a,
99
+ ...b
100
+ };
101
+ if (config.baseUrl?.endsWith("/")) config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
102
+ config.headers = mergeHeaders(a.headers, b.headers);
103
+ return config;
104
+ };
105
+ const headersEntries = (headers) => {
106
+ const entries = [];
107
+ headers.forEach((value, key) => {
108
+ entries.push([key, value]);
109
+ });
110
+ return entries;
111
+ };
112
+ const mergeHeaders = (...headers) => {
113
+ const mergedHeaders = new Headers();
114
+ for (const header of headers) {
115
+ if (!header) continue;
116
+ const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
117
+ for (const [key, value] of iterator) if (value === null) mergedHeaders.delete(key);
118
+ else if (Array.isArray(value)) for (const v of value) mergedHeaders.append(key, v);
119
+ else if (value !== void 0) mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
120
+ }
121
+ return mergedHeaders;
122
+ };
123
+ var Interceptors = class {
124
+ fns = [];
125
+ clear() {
126
+ this.fns = [];
127
+ }
128
+ eject(id) {
129
+ const index = this.getInterceptorIndex(id);
130
+ if (this.fns[index]) this.fns[index] = null;
131
+ }
132
+ exists(id) {
133
+ const index = this.getInterceptorIndex(id);
134
+ return Boolean(this.fns[index]);
135
+ }
136
+ getInterceptorIndex(id) {
137
+ if (typeof id === "number") return this.fns[id] ? id : -1;
138
+ return this.fns.indexOf(id);
139
+ }
140
+ update(id, fn) {
141
+ const index = this.getInterceptorIndex(id);
142
+ if (this.fns[index]) {
143
+ this.fns[index] = fn;
144
+ return id;
145
+ }
146
+ return false;
147
+ }
148
+ use(fn) {
149
+ this.fns.push(fn);
150
+ return this.fns.length - 1;
151
+ }
152
+ };
153
+ const createInterceptors = () => ({
154
+ error: new Interceptors(),
155
+ request: new Interceptors(),
156
+ response: new Interceptors()
157
+ });
158
+ const defaultQuerySerializer = createQuerySerializer({
159
+ allowReserved: false,
160
+ array: {
161
+ explode: true,
162
+ style: "form"
163
+ },
164
+ object: {
165
+ explode: true,
166
+ style: "deepObject"
167
+ }
168
+ });
169
+ const defaultHeaders = { "Content-Type": "application/json" };
170
+ const createConfig = (override = {}) => ({
171
+ ...jsonBodySerializer,
172
+ headers: defaultHeaders,
173
+ parseAs: "auto",
174
+ querySerializer: defaultQuerySerializer,
175
+ throwOnError: false,
176
+ timeout: 1e4,
177
+ ...override
178
+ });
179
+
180
+ //#endregion
181
+ export { buildUrl, createConfig, createInterceptors, getParseAs, mergeConfigs, mergeHeaders, setAuthParams };
182
+ //# sourceMappingURL=utils.gen.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.gen.mjs","names":[],"sources":["../../../../src/generated/shared/client/utils.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport { getAuthToken } from '../core/auth.gen';\nimport type { QuerySerializerOptions } from '../core/bodySerializer.gen';\nimport { jsonBodySerializer } from '../core/bodySerializer.gen';\nimport {\n serializeArrayParam,\n serializeObjectParam,\n serializePrimitiveParam,\n} from '../core/pathSerializer.gen';\nimport { getUrl } from '../core/utils.gen';\nimport type { Client, ClientOptions, Config, RequestOptions } from './types.gen';\n\nexport const createQuerySerializer = <T = unknown>({\n parameters = {},\n ...args\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 const options = parameters[name] || args;\n\n if (Array.isArray(value)) {\n const serializedArray = serializeArrayParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'form',\n value,\n ...options.array,\n });\n if (serializedArray) search.push(serializedArray);\n } else if (typeof value === 'object') {\n const serializedObject = serializeObjectParam({\n allowReserved: options.allowReserved,\n explode: true,\n name,\n style: 'deepObject',\n value: value as Record<string, unknown>,\n ...options.object,\n });\n if (serializedObject) search.push(serializedObject);\n } else {\n const serializedPrimitive = serializePrimitiveParam({\n allowReserved: options.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 = (contentType: string | null): Exclude<Config['parseAs'], 'auto'> => {\n if (!contentType) {\n return 'stream';\n }\n\n const cleanContent = contentType.split(';')[0]?.trim();\n\n if (!cleanContent) {\n return;\n }\n\n if (cleanContent.startsWith('application/json') || cleanContent.endsWith('+json')) {\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) => cleanContent.startsWith(type))\n ) {\n return 'blob';\n }\n\n if (cleanContent.startsWith('text/')) {\n return 'text';\n }\n\n return;\n};\n\nconst checkForExistence = (\n options: Pick<RequestOptions, 'auth' | 'query'> & {\n headers: Headers;\n },\n name?: string,\n): boolean => {\n if (!name) {\n return false;\n }\n if (\n options.headers.has(name) ||\n options.query?.[name] ||\n options.headers.get('Cookie')?.includes(`${name}=`)\n ) {\n return true;\n }\n return false;\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 if (checkForExistence(options, auth.name)) {\n continue;\n }\n\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};\n\nexport const buildUrl: Client['buildUrl'] = (options) =>\n 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\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\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n const entries: Array<[string, string]> = [];\n headers.forEach((value, key) => {\n entries.push([key, value]);\n });\n return entries;\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) {\n continue;\n }\n\n const iterator = header instanceof Headers ? headersEntries(header) : 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 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> = (request: Req, options: Options) => 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: Array<Interceptor | null> = [];\n\n clear(): void {\n this.fns = [];\n }\n\n eject(id: number | Interceptor): void {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = null;\n }\n }\n\n exists(id: number | Interceptor): boolean {\n const index = this.getInterceptorIndex(id);\n return Boolean(this.fns[index]);\n }\n\n getInterceptorIndex(id: number | Interceptor): number {\n if (typeof id === 'number') {\n return this.fns[id] ? id : -1;\n }\n return this.fns.indexOf(id);\n }\n\n update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false {\n const index = this.getInterceptorIndex(id);\n if (this.fns[index]) {\n this.fns[index] = fn;\n return id;\n }\n return false;\n }\n\n use(fn: Interceptor): number {\n this.fns.push(fn);\n return this.fns.length - 1;\n }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n request: Interceptors<ReqInterceptor<Req, Options>>;\n response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n Req,\n Res,\n Err,\n Options\n> => ({\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 throwOnError: false,\n timeout: 10000,\n ...override,\n});\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+
2
+ //#region src/generated/shared/core/auth.gen.ts
3
+ const getAuthToken = async (auth, callback) => {
4
+ const token = typeof callback === "function" ? await callback(auth) : callback;
5
+ if (!token) return;
6
+ if (auth.scheme === "bearer") return `Bearer ${token}`;
7
+ if (auth.scheme === "basic") return `Basic ${btoa(token)}`;
8
+ return token;
9
+ };
10
+
11
+ //#endregion
12
+ exports.getAuthToken = getAuthToken;
13
+ //# sourceMappingURL=auth.gen.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.gen.cjs","names":[],"sources":["../../../../src/generated/shared/core/auth.gen.ts"],"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 = 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"],"mappings":";;AAqBA,MAAa,eAAe,OAC1B,MACA,aACgC;CAChC,MAAM,QAAQ,OAAO,aAAa,aAAa,MAAM,SAAS,KAAK,GAAG;AAEtE,KAAI,CAAC,MACH;AAGF,KAAI,KAAK,WAAW,SAClB,QAAO,UAAU;AAGnB,KAAI,KAAK,WAAW,QAClB,QAAO,SAAS,KAAK,MAAM;AAG7B,QAAO"}
@@ -0,0 +1,21 @@
1
+ //#region src/generated/shared/core/auth.gen.d.ts
2
+ type AuthToken = string | undefined;
3
+ interface Auth {
4
+ /**
5
+ * Which part of the request do we use to send the auth?
6
+ *
7
+ * @default 'header'
8
+ */
9
+ in?: 'header' | 'query' | 'cookie';
10
+ /**
11
+ * Header or query parameter name.
12
+ *
13
+ * @default 'Authorization'
14
+ */
15
+ name?: string;
16
+ scheme?: 'basic' | 'bearer';
17
+ type: 'apiKey' | 'http';
18
+ }
19
+ //#endregion
20
+ export { Auth, AuthToken };
21
+ //# sourceMappingURL=auth.gen.d.cts.map
@@ -0,0 +1,21 @@
1
+ //#region src/generated/shared/core/auth.gen.d.ts
2
+ type AuthToken = string | undefined;
3
+ interface Auth {
4
+ /**
5
+ * Which part of the request do we use to send the auth?
6
+ *
7
+ * @default 'header'
8
+ */
9
+ in?: 'header' | 'query' | 'cookie';
10
+ /**
11
+ * Header or query parameter name.
12
+ *
13
+ * @default 'Authorization'
14
+ */
15
+ name?: string;
16
+ scheme?: 'basic' | 'bearer';
17
+ type: 'apiKey' | 'http';
18
+ }
19
+ //#endregion
20
+ export { Auth, AuthToken };
21
+ //# sourceMappingURL=auth.gen.d.mts.map
@@ -0,0 +1,12 @@
1
+ //#region src/generated/shared/core/auth.gen.ts
2
+ const getAuthToken = async (auth, callback) => {
3
+ const token = typeof callback === "function" ? await callback(auth) : callback;
4
+ if (!token) return;
5
+ if (auth.scheme === "bearer") return `Bearer ${token}`;
6
+ if (auth.scheme === "basic") return `Basic ${btoa(token)}`;
7
+ return token;
8
+ };
9
+
10
+ //#endregion
11
+ export { getAuthToken };
12
+ //# sourceMappingURL=auth.gen.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.gen.mjs","names":[],"sources":["../../../../src/generated/shared/core/auth.gen.ts"],"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 = 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"],"mappings":";AAqBA,MAAa,eAAe,OAC1B,MACA,aACgC;CAChC,MAAM,QAAQ,OAAO,aAAa,aAAa,MAAM,SAAS,KAAK,GAAG;AAEtE,KAAI,CAAC,MACH;AAGF,KAAI,KAAK,WAAW,SAClB,QAAO,UAAU;AAGnB,KAAI,KAAK,WAAW,QAClB,QAAO,SAAS,KAAK,MAAM;AAG7B,QAAO"}
@@ -0,0 +1,7 @@
1
+
2
+ //#region src/generated/shared/core/bodySerializer.gen.ts
3
+ const jsonBodySerializer = { bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value) };
4
+
5
+ //#endregion
6
+ exports.jsonBodySerializer = jsonBodySerializer;
7
+ //# sourceMappingURL=bodySerializer.gen.cjs.map