typedapi-client-helpers 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +231 -220
  3. package/dist/cjs/httpClient.js +258 -0
  4. package/dist/cjs/httpClient.js.map +1 -0
  5. package/dist/cjs/index.js +32 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/interfaces/ApiResult.js +3 -0
  8. package/dist/cjs/interfaces/ApiResult.js.map +1 -0
  9. package/dist/cjs/interfaces/Filter.js +3 -0
  10. package/dist/cjs/interfaces/Filter.js.map +1 -0
  11. package/dist/cjs/interfaces/SortType.js +3 -0
  12. package/dist/cjs/interfaces/SortType.js.map +1 -0
  13. package/dist/cjs/package.json +3 -0
  14. package/dist/cjs/types/ApiCallOptions.js +3 -0
  15. package/dist/cjs/types/ApiCallOptions.js.map +1 -0
  16. package/dist/cjs/types/ApiMethodArguments.js +3 -0
  17. package/dist/cjs/types/ApiMethodArguments.js.map +1 -0
  18. package/dist/cjs/types/ApiMethodOptions.js +3 -0
  19. package/dist/cjs/types/ApiMethodOptions.js.map +1 -0
  20. package/dist/cjs/types/ApiMethodTypes.js +3 -0
  21. package/dist/cjs/types/ApiMethodTypes.js.map +1 -0
  22. package/dist/cjs/types/HttpResponse.js +3 -0
  23. package/dist/cjs/types/HttpResponse.js.map +1 -0
  24. package/dist/cjs/types/httpClientTypes.js +3 -0
  25. package/dist/cjs/types/httpClientTypes.js.map +1 -0
  26. package/dist/cjs/utils/SortTypeFromSortDirection.js +43 -0
  27. package/dist/cjs/utils/SortTypeFromSortDirection.js.map +1 -0
  28. package/dist/cjs/utils/buildQuery.js +96 -0
  29. package/dist/cjs/utils/buildQuery.js.map +1 -0
  30. package/dist/cjs/utils/extractArgsCallbacksAndParams.js +51 -0
  31. package/dist/cjs/utils/extractArgsCallbacksAndParams.js.map +1 -0
  32. package/dist/cjs/utils/extractArgsToastsAndParams.js +49 -0
  33. package/dist/cjs/utils/extractArgsToastsAndParams.js.map +1 -0
  34. package/dist/cjs/utils/handleApiResponse.js +132 -0
  35. package/dist/cjs/utils/handleApiResponse.js.map +1 -0
  36. package/dist/cjs/utils/toFormData.js +58 -0
  37. package/dist/cjs/utils/toFormData.js.map +1 -0
  38. package/dist/cjs/utils/wireMapping.js +123 -0
  39. package/dist/cjs/utils/wireMapping.js.map +1 -0
  40. package/dist/esm/httpClient.js +251 -0
  41. package/dist/esm/httpClient.js.map +1 -0
  42. package/dist/esm/index.js +16 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/interfaces/ApiResult.js +2 -0
  45. package/dist/esm/interfaces/ApiResult.js.map +1 -0
  46. package/dist/esm/interfaces/Filter.js +2 -0
  47. package/dist/esm/interfaces/Filter.js.map +1 -0
  48. package/dist/esm/interfaces/SortType.js +2 -0
  49. package/dist/esm/interfaces/SortType.js.map +1 -0
  50. package/dist/esm/types/ApiCallOptions.js +2 -0
  51. package/dist/esm/types/ApiCallOptions.js.map +1 -0
  52. package/dist/esm/types/ApiMethodArguments.js +2 -0
  53. package/dist/esm/types/ApiMethodArguments.js.map +1 -0
  54. package/dist/esm/types/ApiMethodOptions.js +2 -0
  55. package/dist/esm/types/ApiMethodOptions.js.map +1 -0
  56. package/dist/esm/types/ApiMethodTypes.js +2 -0
  57. package/dist/esm/types/ApiMethodTypes.js.map +1 -0
  58. package/dist/esm/types/HttpResponse.js +2 -0
  59. package/dist/esm/types/HttpResponse.js.map +1 -0
  60. package/dist/esm/types/httpClientTypes.js +2 -0
  61. package/dist/esm/types/httpClientTypes.js.map +1 -0
  62. package/dist/esm/utils/SortTypeFromSortDirection.js +38 -0
  63. package/dist/esm/utils/SortTypeFromSortDirection.js.map +1 -0
  64. package/dist/esm/utils/buildQuery.js +93 -0
  65. package/dist/esm/utils/buildQuery.js.map +1 -0
  66. package/dist/esm/utils/extractArgsCallbacksAndParams.js +48 -0
  67. package/dist/esm/utils/extractArgsCallbacksAndParams.js.map +1 -0
  68. package/dist/esm/utils/extractArgsToastsAndParams.js +46 -0
  69. package/dist/esm/utils/extractArgsToastsAndParams.js.map +1 -0
  70. package/dist/esm/utils/handleApiResponse.js +128 -0
  71. package/dist/esm/utils/handleApiResponse.js.map +1 -0
  72. package/dist/esm/utils/toFormData.js +55 -0
  73. package/dist/esm/utils/toFormData.js.map +1 -0
  74. package/dist/esm/utils/wireMapping.js +119 -0
  75. package/dist/esm/utils/wireMapping.js.map +1 -0
  76. package/dist/types/httpClient.d.ts +63 -0
  77. package/dist/types/httpClient.d.ts.map +1 -0
  78. package/dist/types/index.d.ts +16 -0
  79. package/dist/types/index.d.ts.map +1 -0
  80. package/dist/types/interfaces/ApiResult.d.ts +41 -0
  81. package/dist/types/interfaces/ApiResult.d.ts.map +1 -0
  82. package/dist/types/interfaces/Filter.d.ts +31 -0
  83. package/dist/types/interfaces/Filter.d.ts.map +1 -0
  84. package/dist/types/interfaces/SortType.d.ts +7 -0
  85. package/dist/types/interfaces/SortType.d.ts.map +1 -0
  86. package/dist/types/types/ApiCallOptions.d.ts +26 -0
  87. package/dist/types/types/ApiCallOptions.d.ts.map +1 -0
  88. package/dist/types/types/ApiMethodArguments.d.ts +6 -0
  89. package/dist/types/types/ApiMethodArguments.d.ts.map +1 -0
  90. package/dist/types/types/ApiMethodOptions.d.ts +8 -0
  91. package/dist/types/types/ApiMethodOptions.d.ts.map +1 -0
  92. package/dist/types/types/ApiMethodTypes.d.ts +47 -0
  93. package/dist/types/types/ApiMethodTypes.d.ts.map +1 -0
  94. package/dist/types/types/HttpResponse.d.ts +2 -0
  95. package/dist/types/types/HttpResponse.d.ts.map +1 -0
  96. package/dist/types/types/httpClientTypes.d.ts +2 -0
  97. package/dist/types/types/httpClientTypes.d.ts.map +1 -0
  98. package/dist/types/utils/SortTypeFromSortDirection.d.ts +13 -0
  99. package/dist/types/utils/SortTypeFromSortDirection.d.ts.map +1 -0
  100. package/dist/types/utils/buildQuery.d.ts +16 -0
  101. package/dist/types/utils/buildQuery.d.ts.map +1 -0
  102. package/dist/types/utils/extractArgsCallbacksAndParams.d.ts +22 -0
  103. package/dist/types/utils/extractArgsCallbacksAndParams.d.ts.map +1 -0
  104. package/dist/types/utils/extractArgsToastsAndParams.d.ts +20 -0
  105. package/dist/types/utils/extractArgsToastsAndParams.d.ts.map +1 -0
  106. package/dist/types/utils/handleApiResponse.d.ts +12 -0
  107. package/dist/types/utils/handleApiResponse.d.ts.map +1 -0
  108. package/dist/types/utils/toFormData.d.ts +10 -0
  109. package/dist/types/utils/toFormData.d.ts.map +1 -0
  110. package/dist/types/utils/wireMapping.d.ts +30 -0
  111. package/dist/types/utils/wireMapping.d.ts.map +1 -0
  112. package/package.json +90 -84
  113. package/scripts/build.mjs +74 -0
  114. package/scripts/generate-api-minimal.mjs +568 -476
  115. package/scripts/openapi-generator/controller-template.mjs +1 -1
  116. package/scripts/openapi-generator/index.mjs +348 -113
  117. package/scripts/openapi-generator/method-template.mjs +405 -440
  118. package/scripts/openapi-generator/names.mjs +37 -86
  119. package/scripts/openapi-generator/openapi-utils.mjs +411 -147
  120. package/scripts/openapi-generator/schema.mjs +737 -455
  121. package/dist/index.cjs +0 -536
  122. package/dist/index.d.cts +0 -285
  123. package/dist/index.d.ts +0 -285
  124. package/dist/index.js +0 -495
package/dist/index.cjs DELETED
@@ -1,536 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var index_exports = {};
22
- __export(index_exports, {
23
- ContentType: () => ContentType,
24
- abortRequest: () => abortRequest,
25
- buildQuery: () => buildQuery,
26
- configureApiClient: () => configureApiClient,
27
- createApiClient: () => createApiClient,
28
- defaultApiClient: () => defaultApiClient,
29
- extractArgsCallbacksAndParams: () => extractArgsCallbacksAndParams,
30
- extractArgsToastsAndParams: () => extractArgsToastsAndParams,
31
- getSortDirectionFromSortType: () => getSortDirectionFromSortType,
32
- getSortTypeFromSortDirection: () => getSortTypeFromSortDirection,
33
- handleApiResponse: () => handleApiResponse,
34
- request: () => request,
35
- setSecurityData: () => setSecurityData,
36
- sortTypes: () => sortTypes,
37
- toFormData: () => toFormData
38
- });
39
- module.exports = __toCommonJS(index_exports);
40
-
41
- // src/httpClient.ts
42
- var ContentType = {
43
- Json: "application/json",
44
- JsonApi: "application/vnd.api+json",
45
- FormData: "multipart/form-data",
46
- UrlEncoded: "application/x-www-form-urlencoded",
47
- Text: "text/plain"
48
- };
49
- function createApiClient(apiConfig = {}) {
50
- const state = {
51
- baseUrl: apiConfig.baseUrl ?? "",
52
- securityData: null,
53
- securityWorker: apiConfig.securityWorker,
54
- customFetch: apiConfig.customFetch ?? ((...fetchParams) => fetch(...fetchParams)),
55
- baseApiParams: {
56
- credentials: "same-origin",
57
- headers: {},
58
- redirect: "follow",
59
- referrerPolicy: "no-referrer",
60
- ...apiConfig.baseApiParams ?? {}
61
- },
62
- abortControllers: /* @__PURE__ */ new Map()
63
- };
64
- function configureApiClient2(nextConfig = {}) {
65
- if (typeof nextConfig.baseUrl === "string") {
66
- state.baseUrl = nextConfig.baseUrl;
67
- }
68
- if (nextConfig.securityWorker) {
69
- state.securityWorker = nextConfig.securityWorker;
70
- }
71
- if (nextConfig.customFetch) {
72
- state.customFetch = nextConfig.customFetch;
73
- }
74
- if (nextConfig.baseApiParams) {
75
- state.baseApiParams = mergeRequestParams(
76
- state.baseApiParams,
77
- nextConfig.baseApiParams
78
- );
79
- }
80
- }
81
- function setSecurityData2(data) {
82
- state.securityData = data;
83
- }
84
- function encodeQueryParam(key, value) {
85
- const encodedKey = encodeURIComponent(key);
86
- const normalizedValue = value instanceof Date ? value.toISOString() : value;
87
- return `${encodedKey}=${encodeURIComponent(String(normalizedValue))}`;
88
- }
89
- function addArrayQueryParam(key, value) {
90
- return value.map((item) => encodeQueryParam(key, item)).join("&");
91
- }
92
- function toQueryString(rawQuery) {
93
- if (!rawQuery) {
94
- return "";
95
- }
96
- return Object.entries(rawQuery).filter(([, value]) => value !== void 0 && value !== null).map(
97
- ([key, value]) => Array.isArray(value) ? addArrayQueryParam(key, value) : encodeQueryParam(key, value)
98
- ).join("&");
99
- }
100
- function contentFormatter(type, input) {
101
- if (input === void 0 || input === null) {
102
- return null;
103
- }
104
- if (input instanceof FormData || input instanceof Blob) {
105
- return input;
106
- }
107
- switch (type ?? ContentType.Json) {
108
- case ContentType.Json:
109
- case ContentType.JsonApi:
110
- return JSON.stringify(input);
111
- case ContentType.Text:
112
- return typeof input === "string" ? input : JSON.stringify(input);
113
- case ContentType.FormData:
114
- return toFormData2(input);
115
- case ContentType.UrlEncoded:
116
- return toQueryString(input);
117
- default:
118
- return input;
119
- }
120
- }
121
- function toFormData2(input) {
122
- if (input instanceof FormData) {
123
- return input;
124
- }
125
- const formData = new FormData();
126
- for (const [key, value] of Object.entries(
127
- input ?? {}
128
- )) {
129
- appendFormDataValue2(formData, key, value);
130
- }
131
- return formData;
132
- }
133
- function appendFormDataValue2(formData, key, value) {
134
- if (value === void 0 || value === null) {
135
- return;
136
- }
137
- if (Array.isArray(value)) {
138
- for (const item of value) {
139
- appendFormDataValue2(formData, key, item);
140
- }
141
- return;
142
- }
143
- if (value instanceof File) {
144
- formData.append(key, value, value.name);
145
- return;
146
- }
147
- if (value instanceof Blob) {
148
- formData.append(key, value);
149
- return;
150
- }
151
- if (typeof value === "object") {
152
- formData.append(key, JSON.stringify(value));
153
- return;
154
- }
155
- formData.append(key, String(value));
156
- }
157
- function mergeRequestParams(params1, params2) {
158
- return {
159
- ...params1,
160
- ...params2 ?? {},
161
- headers: {
162
- ...params1.headers ?? {},
163
- ...params2?.headers ?? {}
164
- }
165
- };
166
- }
167
- function createAbortSignal(cancelToken) {
168
- const existingAbortController = state.abortControllers.get(cancelToken);
169
- if (existingAbortController) {
170
- return existingAbortController.signal;
171
- }
172
- const abortController = new AbortController();
173
- state.abortControllers.set(cancelToken, abortController);
174
- return abortController.signal;
175
- }
176
- function abortRequest2(cancelToken) {
177
- const abortController = state.abortControllers.get(cancelToken);
178
- if (!abortController) {
179
- return;
180
- }
181
- abortController.abort();
182
- state.abortControllers.delete(cancelToken);
183
- }
184
- async function request2({
185
- body,
186
- secure,
187
- path,
188
- type,
189
- query,
190
- baseUrl,
191
- cancelToken,
192
- ...params
193
- }) {
194
- const secureParams = (typeof secure === "boolean" ? secure : state.baseApiParams.secure) && state.securityWorker && await state.securityWorker(state.securityData) || {};
195
- const requestParams = mergeRequestParams(
196
- mergeRequestParams(state.baseApiParams, params),
197
- secureParams
198
- );
199
- const queryString = query ? toQueryString(query) : "";
200
- const url = `${baseUrl ?? state.baseUrl}${path}${queryString ? `?${queryString}` : ""}`;
201
- const requestInit = {
202
- ...requestParams,
203
- headers: {
204
- ...requestParams.headers ?? {},
205
- ...type && type !== ContentType.FormData ? { "Content-Type": type } : {}
206
- },
207
- signal: cancelToken ? createAbortSignal(cancelToken) : requestParams.signal
208
- };
209
- if (body !== void 0 && body !== null) {
210
- requestInit.body = contentFormatter(type, body);
211
- }
212
- const response = await state.customFetch(url, requestInit);
213
- const typedResponse = response;
214
- typedResponse.data = null;
215
- typedResponse.error = null;
216
- if (cancelToken) {
217
- state.abortControllers.delete(cancelToken);
218
- }
219
- if (!response.ok) {
220
- throw typedResponse;
221
- }
222
- return typedResponse;
223
- }
224
- return {
225
- configureApiClient: configureApiClient2,
226
- setSecurityData: setSecurityData2,
227
- abortRequest: abortRequest2,
228
- request: request2,
229
- toQueryString
230
- };
231
- }
232
- var defaultApiClient = createApiClient();
233
- var configureApiClient = defaultApiClient.configureApiClient;
234
- var setSecurityData = defaultApiClient.setSecurityData;
235
- var abortRequest = defaultApiClient.abortRequest;
236
- var request = defaultApiClient.request;
237
-
238
- // src/utils/buildQuery.ts
239
- function buildQuery(filters, page = 1, pageSize = 100, sortBy = null, sortDirection) {
240
- const query = filters.reduce((queryResult, filter) => {
241
- const { filterName, filterNameMax, type, value, maxValue, isAList } = filter;
242
- if (isEmptyValue(value) && isEmptyValue(maxValue)) {
243
- return queryResult;
244
- }
245
- if (isAList && Array.isArray(value)) {
246
- const convertedValues = value.map(
247
- (item) => convertType(type, isOptionValue(item) ? item.value : item)
248
- ).filter((item) => item !== null);
249
- if (convertedValues.length > 0) {
250
- queryResult[filterName] = convertedValues;
251
- }
252
- return queryResult;
253
- }
254
- const rawValue = isOptionValue(value) ? value.value : value;
255
- const convertedValue = convertType(type, rawValue);
256
- if (convertedValue !== null) {
257
- queryResult[filterName] = convertedValue;
258
- }
259
- if (filterNameMax && !isEmptyValue(maxValue)) {
260
- const convertedMaxValue = convertType(type, maxValue);
261
- if (convertedMaxValue !== null) {
262
- queryResult[filterNameMax] = convertedMaxValue;
263
- }
264
- }
265
- return queryResult;
266
- }, {});
267
- query.pageNumber = page;
268
- if (pageSize > 0) {
269
- query.pageSize = pageSize;
270
- }
271
- if (sortBy) {
272
- query.sortBy = sortBy;
273
- }
274
- if (sortDirection !== void 0 && sortDirection !== "Default") {
275
- query.sortDirection = sortDirection;
276
- }
277
- return query;
278
- }
279
- function isEmptyValue(value) {
280
- return value === null || value === void 0 || value === "" || value === "null" || value === "undefined";
281
- }
282
- function isOptionValue(value) {
283
- return typeof value === "object" && value !== null && "value" in value;
284
- }
285
- function convertType(type, value) {
286
- if (isEmptyValue(value)) {
287
- return null;
288
- }
289
- switch (type) {
290
- case "date": {
291
- if (value instanceof Date) {
292
- return Number.isNaN(value.getTime()) ? null : value.toISOString();
293
- }
294
- return value;
295
- }
296
- case "number": {
297
- const numberValue = Number(value);
298
- return Number.isNaN(numberValue) ? null : numberValue;
299
- }
300
- case "boolean":
301
- case "boolean-button": {
302
- if (typeof value === "boolean") {
303
- return value;
304
- }
305
- if (typeof value === "string") {
306
- const normalized = value.trim().toLowerCase();
307
- if (["true", "1", "yes", "on"].includes(normalized)) {
308
- return true;
309
- }
310
- if (["false", "0", "no", "off"].includes(normalized)) {
311
- return false;
312
- }
313
- }
314
- return Boolean(value);
315
- }
316
- default:
317
- return value;
318
- }
319
- }
320
-
321
- // src/utils/extractArgsToastsAndParams.ts
322
- function isCallback(value) {
323
- return typeof value === "function";
324
- }
325
- function isRequestParams(value) {
326
- return typeof value === "object" && value !== null && !Array.isArray(value);
327
- }
328
- function extractArgsToastsAndParams(argsWithCallbacks) {
329
- const values = [...argsWithCallbacks];
330
- let onSuccess;
331
- let onError;
332
- let params;
333
- let lastArgument = values[values.length - 1];
334
- if (isRequestParams(lastArgument)) {
335
- params = lastArgument;
336
- values.pop();
337
- }
338
- lastArgument = values[values.length - 1];
339
- if (isCallback(lastArgument)) {
340
- onError = lastArgument;
341
- values.pop();
342
- }
343
- lastArgument = values[values.length - 1];
344
- if (isCallback(lastArgument)) {
345
- onSuccess = lastArgument;
346
- values.pop();
347
- }
348
- return {
349
- args: values,
350
- onSuccess,
351
- onError,
352
- params
353
- };
354
- }
355
-
356
- // src/utils/extractArgsCallbacksAndParams.ts
357
- function isCallback2(value) {
358
- return typeof value === "function";
359
- }
360
- function isRequestParams2(value) {
361
- return typeof value === "object" && value !== null && !Array.isArray(value);
362
- }
363
- function extractArgsCallbacksAndParams(argsWithCallbacks) {
364
- const values = [...argsWithCallbacks];
365
- let onSuccess;
366
- let onError;
367
- let params;
368
- let lastArgument = values[values.length - 1];
369
- if (isRequestParams2(lastArgument)) {
370
- params = lastArgument;
371
- values.pop();
372
- }
373
- lastArgument = values[values.length - 1];
374
- if (isCallback2(lastArgument)) {
375
- onError = lastArgument;
376
- values.pop();
377
- }
378
- lastArgument = values[values.length - 1];
379
- if (isCallback2(lastArgument)) {
380
- onSuccess = lastArgument;
381
- values.pop();
382
- }
383
- return {
384
- args: values,
385
- onSuccess,
386
- onError,
387
- params
388
- };
389
- }
390
-
391
- // src/utils/handleApiResponse.ts
392
- async function readResponseBody(response) {
393
- if (response.status === 204 || response.status === 205) {
394
- return void 0;
395
- }
396
- const contentType = response.headers.get("content-type") ?? "";
397
- if (contentType.includes("application/octet-stream")) {
398
- return response.blob();
399
- }
400
- const text = await response.text();
401
- if (!text) {
402
- return void 0;
403
- }
404
- if (contentType.includes("json") || contentType.includes("+json")) {
405
- try {
406
- return JSON.parse(text);
407
- } catch {
408
- return text;
409
- }
410
- }
411
- return text;
412
- }
413
- function isResponseLike(value) {
414
- return typeof value === "object" && value !== null && "status" in value && "ok" in value && "headers" in value && typeof value.text === "function";
415
- }
416
- async function handleApiResponse(call, options) {
417
- let response;
418
- try {
419
- response = await call();
420
- const data = await readResponseBody(response.clone());
421
- const result = {
422
- ok: true,
423
- status: response.status,
424
- response: data
425
- };
426
- await options?.onSuccess?.(result);
427
- return result;
428
- } catch (error) {
429
- if (isResponseLike(error)) {
430
- const errorData = await readResponseBody(error.clone());
431
- const result2 = {
432
- ok: false,
433
- status: error.status,
434
- response: void 0,
435
- error: errorData
436
- };
437
- await options?.onError?.(result2);
438
- return result2;
439
- }
440
- const result = {
441
- ok: false,
442
- status: response?.status ?? 0,
443
- response: void 0,
444
- error
445
- };
446
- await options?.onError?.(result);
447
- return result;
448
- }
449
- }
450
-
451
- // src/utils/SortTypeFromSortDirection.ts
452
- var sortTypes = [
453
- "Default",
454
- "Neutral",
455
- "Ascending",
456
- "Descending"
457
- ];
458
- function getSortTypeFromSortDirection(sortDirection) {
459
- switch (sortDirection) {
460
- case "Asc":
461
- case "Ascending":
462
- return "Ascending";
463
- case "Desc":
464
- case "Descending":
465
- return "Descending";
466
- case "Neutral":
467
- return "Neutral";
468
- case "Default":
469
- default:
470
- return "Default";
471
- }
472
- }
473
- function getSortDirectionFromSortType(sortType) {
474
- switch (sortType) {
475
- case "Ascending":
476
- return "Asc";
477
- case "Descending":
478
- return "Desc";
479
- case "Neutral":
480
- return "Neutral";
481
- case "Default":
482
- default:
483
- return "Default";
484
- }
485
- }
486
-
487
- // src/utils/toFormData.ts
488
- function toFormData(payload) {
489
- const formData = new FormData();
490
- for (const [key, value] of Object.entries(payload)) {
491
- appendFormDataValue(formData, key, value);
492
- }
493
- return formData;
494
- }
495
- function appendFormDataValue(formData, key, value) {
496
- if (value === null || value === void 0) {
497
- return;
498
- }
499
- if (Array.isArray(value)) {
500
- for (const item of value) {
501
- appendFormDataValue(formData, key, item);
502
- }
503
- return;
504
- }
505
- if (value instanceof File) {
506
- formData.append(key, value, value.name);
507
- return;
508
- }
509
- if (value instanceof Blob) {
510
- formData.append(key, value);
511
- return;
512
- }
513
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
514
- formData.append(key, String(value));
515
- return;
516
- }
517
- formData.append(key, JSON.stringify(value));
518
- }
519
- // Annotate the CommonJS export names for ESM import in node:
520
- 0 && (module.exports = {
521
- ContentType,
522
- abortRequest,
523
- buildQuery,
524
- configureApiClient,
525
- createApiClient,
526
- defaultApiClient,
527
- extractArgsCallbacksAndParams,
528
- extractArgsToastsAndParams,
529
- getSortDirectionFromSortType,
530
- getSortTypeFromSortDirection,
531
- handleApiResponse,
532
- request,
533
- setSecurityData,
534
- sortTypes,
535
- toFormData
536
- });