@remkoj/optimizely-cms-api 2.0.0-pre2 → 2.0.0-pre4

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 (175) hide show
  1. package/dist/client/CmsIntegrationApiClient.d.ts +24 -22
  2. package/dist/client/CmsIntegrationApiClient.js +36 -34
  3. package/dist/client/core/ApiError.d.ts +10 -10
  4. package/dist/client/core/ApiError.js +15 -15
  5. package/dist/client/core/ApiRequestOptions.d.ts +13 -13
  6. package/dist/client/core/ApiRequestOptions.js +2 -2
  7. package/dist/client/core/ApiResult.d.ts +7 -7
  8. package/dist/client/core/ApiResult.js +2 -2
  9. package/dist/client/core/BaseHttpRequest.d.ts +8 -8
  10. package/dist/client/core/BaseHttpRequest.js +9 -9
  11. package/dist/client/core/CancelablePromise.d.ts +20 -20
  12. package/dist/client/core/CancelablePromise.js +116 -116
  13. package/dist/client/core/FetchHttpRequest.d.ts +14 -14
  14. package/dist/client/core/FetchHttpRequest.js +20 -20
  15. package/dist/client/core/OpenAPI.d.ts +16 -16
  16. package/dist/client/core/OpenAPI.js +14 -14
  17. package/dist/client/core/request.d.ts +30 -30
  18. package/dist/client/core/request.js +294 -294
  19. package/dist/client/index.d.ts +81 -76
  20. package/dist/client/index.js +48 -46
  21. package/dist/client/models/BinaryProperty.d.ts +8 -8
  22. package/dist/client/models/BinaryProperty.js +2 -2
  23. package/dist/client/models/BooleanProperty.d.ts +5 -5
  24. package/dist/client/models/BooleanProperty.js +2 -2
  25. package/dist/client/models/Changeset.d.ts +26 -26
  26. package/dist/client/models/Changeset.js +2 -2
  27. package/dist/client/models/ChangesetItem.d.ts +11 -11
  28. package/dist/client/models/ChangesetItem.js +2 -2
  29. package/dist/client/models/ChangesetItemPage.d.ts +19 -19
  30. package/dist/client/models/ChangesetItemPage.js +2 -2
  31. package/dist/client/models/ChangesetPage.d.ts +19 -19
  32. package/dist/client/models/ChangesetPage.js +2 -2
  33. package/dist/client/models/ComponentListItem.d.ts +10 -10
  34. package/dist/client/models/ComponentListItem.js +2 -2
  35. package/dist/client/models/ComponentProperty.d.ts +10 -10
  36. package/dist/client/models/ComponentProperty.js +2 -2
  37. package/dist/client/models/ContentBaseType.d.ts +11 -11
  38. package/dist/client/models/ContentBaseType.js +19 -19
  39. package/dist/client/models/ContentComponent.d.ts +34 -34
  40. package/dist/client/models/ContentComponent.js +2 -2
  41. package/dist/client/models/ContentItem.d.ts +60 -60
  42. package/dist/client/models/ContentItem.js +2 -2
  43. package/dist/client/models/ContentItemListWithContentTypes.d.ts +27 -27
  44. package/dist/client/models/ContentItemListWithContentTypes.js +2 -2
  45. package/dist/client/models/ContentItemPage.d.ts +19 -19
  46. package/dist/client/models/ContentItemPage.js +2 -2
  47. package/dist/client/models/ContentItemWithContentTypes.d.ts +12 -12
  48. package/dist/client/models/ContentItemWithContentTypes.js +2 -2
  49. package/dist/client/models/ContentListItem.d.ts +14 -14
  50. package/dist/client/models/ContentListItem.js +2 -2
  51. package/dist/client/models/ContentLocaleInfo.d.ts +11 -11
  52. package/dist/client/models/ContentLocaleInfo.js +2 -2
  53. package/dist/client/models/ContentMetadata.d.ts +46 -46
  54. package/dist/client/models/ContentMetadata.js +2 -2
  55. package/dist/client/models/ContentMetadataPage.d.ts +19 -19
  56. package/dist/client/models/ContentMetadataPage.js +2 -2
  57. package/dist/client/models/ContentProperty.d.ts +14 -14
  58. package/dist/client/models/ContentProperty.js +2 -2
  59. package/dist/client/models/ContentReference.d.ts +17 -17
  60. package/dist/client/models/ContentReference.js +2 -2
  61. package/dist/client/models/ContentReferenceListItem.d.ts +14 -14
  62. package/dist/client/models/ContentReferenceListItem.js +2 -2
  63. package/dist/client/models/ContentReferenceProperty.d.ts +14 -14
  64. package/dist/client/models/ContentReferenceProperty.js +2 -2
  65. package/dist/client/models/ContentType.d.ts +79 -79
  66. package/dist/client/models/ContentType.js +2 -2
  67. package/dist/client/models/ContentTypeFeature.d.ts +10 -10
  68. package/dist/client/models/ContentTypeFeature.js +18 -18
  69. package/dist/client/models/ContentTypePage.d.ts +19 -19
  70. package/dist/client/models/ContentTypePage.js +2 -2
  71. package/dist/client/models/ContentTypeProperty.d.ts +47 -47
  72. package/dist/client/models/ContentTypeProperty.js +2 -2
  73. package/dist/client/models/ContentTypeUsage.d.ts +7 -7
  74. package/dist/client/models/ContentTypeUsage.js +15 -15
  75. package/dist/client/models/CopyContentOptions.d.ts +21 -21
  76. package/dist/client/models/CopyContentOptions.js +2 -2
  77. package/dist/client/models/DateTimeListItem.d.ts +14 -14
  78. package/dist/client/models/DateTimeListItem.js +2 -2
  79. package/dist/client/models/DateTimeProperty.d.ts +14 -14
  80. package/dist/client/models/DateTimeProperty.js +2 -2
  81. package/dist/client/models/DisplaySetting.d.ts +22 -0
  82. package/dist/client/models/DisplaySetting.js +2 -0
  83. package/dist/client/models/DisplaySettingChoice.d.ts +13 -0
  84. package/dist/client/models/DisplaySettingChoice.js +2 -0
  85. package/dist/client/models/DisplayTemplate.d.ts +49 -0
  86. package/dist/client/models/DisplayTemplate.js +2 -0
  87. package/dist/client/models/DisplayTemplatePage.d.ts +19 -0
  88. package/dist/client/models/DisplayTemplatePage.js +2 -0
  89. package/dist/client/models/DoubleEnumerationSettings.d.ts +9 -9
  90. package/dist/client/models/DoubleEnumerationSettings.js +2 -2
  91. package/dist/client/models/FloatListItem.d.ts +16 -16
  92. package/dist/client/models/FloatListItem.js +2 -2
  93. package/dist/client/models/FloatProperty.d.ts +16 -16
  94. package/dist/client/models/FloatProperty.js +2 -2
  95. package/dist/client/models/ImageDescriptor.d.ts +17 -17
  96. package/dist/client/models/ImageDescriptor.js +2 -2
  97. package/dist/client/models/ImportPackageMessage.d.ts +17 -17
  98. package/dist/client/models/ImportPackageMessage.js +2 -2
  99. package/dist/client/models/ImportPackageResult.d.ts +22 -22
  100. package/dist/client/models/ImportPackageResult.js +2 -2
  101. package/dist/client/models/IndexingType.d.ts +8 -8
  102. package/dist/client/models/IndexingType.js +16 -16
  103. package/dist/client/models/Int32EnumerationSettings.d.ts +9 -9
  104. package/dist/client/models/Int32EnumerationSettings.js +2 -2
  105. package/dist/client/models/IntegerListItem.d.ts +16 -16
  106. package/dist/client/models/IntegerListItem.js +2 -2
  107. package/dist/client/models/IntegerProperty.d.ts +16 -16
  108. package/dist/client/models/IntegerProperty.js +2 -2
  109. package/dist/client/models/JsonStringProperty.d.ts +5 -5
  110. package/dist/client/models/JsonStringProperty.js +2 -2
  111. package/dist/client/models/ListProperty.d.ts +26 -26
  112. package/dist/client/models/ListProperty.js +2 -2
  113. package/dist/client/models/ListPropertyItem.d.ts +11 -11
  114. package/dist/client/models/ListPropertyItem.js +2 -2
  115. package/dist/client/models/LocaleStatus.d.ts +7 -7
  116. package/dist/client/models/LocaleStatus.js +15 -15
  117. package/dist/client/models/Manifest.d.ts +24 -19
  118. package/dist/client/models/Manifest.js +2 -2
  119. package/dist/client/models/OauthToken.d.ts +18 -18
  120. package/dist/client/models/OauthToken.js +2 -2
  121. package/dist/client/models/OauthTokenError.d.ts +13 -13
  122. package/dist/client/models/OauthTokenError.js +2 -2
  123. package/dist/client/models/OauthTokenRequest.d.ts +21 -21
  124. package/dist/client/models/OauthTokenRequest.js +2 -2
  125. package/dist/client/models/PackageJob.d.ts +28 -28
  126. package/dist/client/models/PackageJob.js +2 -2
  127. package/dist/client/models/PackageJobMessage.d.ts +17 -17
  128. package/dist/client/models/PackageJobMessage.js +2 -2
  129. package/dist/client/models/PackageJobStatus.d.ts +4 -4
  130. package/dist/client/models/PackageJobStatus.js +2 -2
  131. package/dist/client/models/ProblemDetails.d.ts +1 -1
  132. package/dist/client/models/ProblemDetails.js +2 -2
  133. package/dist/client/models/PropertyDataType.d.ts +18 -18
  134. package/dist/client/models/PropertyDataType.js +26 -26
  135. package/dist/client/models/PropertyFormat.d.ts +34 -34
  136. package/dist/client/models/PropertyFormat.js +2 -2
  137. package/dist/client/models/PropertyFormatPage.d.ts +19 -19
  138. package/dist/client/models/PropertyFormatPage.js +2 -2
  139. package/dist/client/models/PropertyGroup.d.ts +21 -21
  140. package/dist/client/models/PropertyGroup.js +2 -2
  141. package/dist/client/models/PropertyGroupPage.d.ts +19 -19
  142. package/dist/client/models/PropertyGroupPage.js +2 -2
  143. package/dist/client/models/StringEnumerationSettings.d.ts +9 -9
  144. package/dist/client/models/StringEnumerationSettings.js +2 -2
  145. package/dist/client/models/StringListItem.d.ts +14 -14
  146. package/dist/client/models/StringListItem.js +2 -2
  147. package/dist/client/models/StringProperty.d.ts +14 -14
  148. package/dist/client/models/StringProperty.js +2 -2
  149. package/dist/client/models/UrlListItem.d.ts +5 -5
  150. package/dist/client/models/UrlListItem.js +2 -2
  151. package/dist/client/models/UrlProperty.d.ts +5 -5
  152. package/dist/client/models/UrlProperty.js +2 -2
  153. package/dist/client/models/VersionStatus.d.ts +12 -12
  154. package/dist/client/models/VersionStatus.js +20 -20
  155. package/dist/client/services/ChangesetsService.d.ts +105 -105
  156. package/dist/client/services/ChangesetsService.js +239 -239
  157. package/dist/client/services/ContentService.d.ts +172 -172
  158. package/dist/client/services/ContentService.js +409 -409
  159. package/dist/client/services/ContentTypesService.d.ts +66 -66
  160. package/dist/client/services/ContentTypesService.js +149 -149
  161. package/dist/client/services/DisplayTemplatesService.d.ts +60 -0
  162. package/dist/client/services/DisplayTemplatesService.js +135 -0
  163. package/dist/client/services/OauthService.d.ts +17 -17
  164. package/dist/client/services/OauthService.js +28 -28
  165. package/dist/client/services/PackagesService.d.ts +41 -41
  166. package/dist/client/services/PackagesService.js +80 -80
  167. package/dist/client/services/PropertyFormatsService.d.ts +26 -26
  168. package/dist/client/services/PropertyFormatsService.js +53 -53
  169. package/dist/client/services/PropertyGroupsService.d.ts +61 -61
  170. package/dist/client/services/PropertyGroupsService.js +135 -135
  171. package/dist/config.d.ts +8 -8
  172. package/dist/config.js +40 -36
  173. package/dist/index.d.ts +15 -15
  174. package/dist/index.js +95 -95
  175. package/package.json +4 -3
@@ -1,294 +1,294 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.request = exports.catchErrorCodes = exports.getResponseBody = exports.getResponseHeader = exports.sendRequest = exports.getRequestBody = exports.getHeaders = exports.resolve = exports.getFormData = exports.getQueryString = exports.base64 = exports.isFormData = exports.isBlob = exports.isStringWithValue = exports.isString = exports.isDefined = void 0;
4
- /* generated using openapi-typescript-codegen -- do not edit */
5
- /* istanbul ignore file */
6
- /* tslint:disable */
7
- /* eslint-disable */
8
- const ApiError_1 = require("./ApiError");
9
- const CancelablePromise_1 = require("./CancelablePromise");
10
- const isDefined = (value) => {
11
- return value !== undefined && value !== null;
12
- };
13
- exports.isDefined = isDefined;
14
- const isString = (value) => {
15
- return typeof value === 'string';
16
- };
17
- exports.isString = isString;
18
- const isStringWithValue = (value) => {
19
- return (0, exports.isString)(value) && value !== '';
20
- };
21
- exports.isStringWithValue = isStringWithValue;
22
- const isBlob = (value) => {
23
- return (typeof value === 'object' &&
24
- typeof value.type === 'string' &&
25
- typeof value.stream === 'function' &&
26
- typeof value.arrayBuffer === 'function' &&
27
- typeof value.constructor === 'function' &&
28
- typeof value.constructor.name === 'string' &&
29
- /^(Blob|File)$/.test(value.constructor.name) &&
30
- /^(Blob|File)$/.test(value[Symbol.toStringTag]));
31
- };
32
- exports.isBlob = isBlob;
33
- const isFormData = (value) => {
34
- return value instanceof FormData;
35
- };
36
- exports.isFormData = isFormData;
37
- const base64 = (str) => {
38
- try {
39
- return btoa(str);
40
- }
41
- catch (err) {
42
- // @ts-ignore
43
- return Buffer.from(str).toString('base64');
44
- }
45
- };
46
- exports.base64 = base64;
47
- const getQueryString = (params) => {
48
- const qs = [];
49
- const append = (key, value) => {
50
- qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
51
- };
52
- const process = (key, value) => {
53
- if ((0, exports.isDefined)(value)) {
54
- if (Array.isArray(value)) {
55
- value.forEach(v => {
56
- process(key, v);
57
- });
58
- }
59
- else if (typeof value === 'object') {
60
- Object.entries(value).forEach(([k, v]) => {
61
- process(`${key}[${k}]`, v);
62
- });
63
- }
64
- else {
65
- append(key, value);
66
- }
67
- }
68
- };
69
- Object.entries(params).forEach(([key, value]) => {
70
- process(key, value);
71
- });
72
- if (qs.length > 0) {
73
- return `?${qs.join('&')}`;
74
- }
75
- return '';
76
- };
77
- exports.getQueryString = getQueryString;
78
- const getUrl = (config, options) => {
79
- const encoder = config.ENCODE_PATH || encodeURI;
80
- const path = options.url
81
- .replace('{api-version}', config.VERSION)
82
- .replace(/{(.*?)}/g, (substring, group) => {
83
- if (options.path?.hasOwnProperty(group)) {
84
- return encoder(String(options.path[group]));
85
- }
86
- return substring;
87
- });
88
- const url = `${config.BASE}${path}`;
89
- if (options.query) {
90
- return `${url}${(0, exports.getQueryString)(options.query)}`;
91
- }
92
- return url;
93
- };
94
- const getFormData = (options) => {
95
- if (options.formData) {
96
- const formData = new FormData();
97
- const process = (key, value) => {
98
- if ((0, exports.isString)(value) || (0, exports.isBlob)(value)) {
99
- formData.append(key, value);
100
- }
101
- else {
102
- formData.append(key, JSON.stringify(value));
103
- }
104
- };
105
- Object.entries(options.formData)
106
- .filter(([_, value]) => (0, exports.isDefined)(value))
107
- .forEach(([key, value]) => {
108
- if (Array.isArray(value)) {
109
- value.forEach(v => process(key, v));
110
- }
111
- else {
112
- process(key, value);
113
- }
114
- });
115
- return formData;
116
- }
117
- return undefined;
118
- };
119
- exports.getFormData = getFormData;
120
- const resolve = async (options, resolver) => {
121
- if (typeof resolver === 'function') {
122
- return resolver(options);
123
- }
124
- return resolver;
125
- };
126
- exports.resolve = resolve;
127
- const getHeaders = async (config, options) => {
128
- const [token, username, password, additionalHeaders] = await Promise.all([
129
- (0, exports.resolve)(options, config.TOKEN),
130
- (0, exports.resolve)(options, config.USERNAME),
131
- (0, exports.resolve)(options, config.PASSWORD),
132
- (0, exports.resolve)(options, config.HEADERS),
133
- ]);
134
- const headers = Object.entries({
135
- Accept: 'application/json',
136
- ...additionalHeaders,
137
- ...options.headers,
138
- })
139
- .filter(([_, value]) => (0, exports.isDefined)(value))
140
- .reduce((headers, [key, value]) => ({
141
- ...headers,
142
- [key]: String(value),
143
- }), {});
144
- if ((0, exports.isStringWithValue)(token)) {
145
- headers['Authorization'] = `Bearer ${token}`;
146
- }
147
- if ((0, exports.isStringWithValue)(username) && (0, exports.isStringWithValue)(password)) {
148
- const credentials = (0, exports.base64)(`${username}:${password}`);
149
- headers['Authorization'] = `Basic ${credentials}`;
150
- }
151
- if (options.body !== undefined) {
152
- if (options.mediaType) {
153
- headers['Content-Type'] = options.mediaType;
154
- }
155
- else if ((0, exports.isBlob)(options.body)) {
156
- headers['Content-Type'] = options.body.type || 'application/octet-stream';
157
- }
158
- else if ((0, exports.isString)(options.body)) {
159
- headers['Content-Type'] = 'text/plain';
160
- }
161
- else if (!(0, exports.isFormData)(options.body)) {
162
- headers['Content-Type'] = 'application/json';
163
- }
164
- }
165
- return new Headers(headers);
166
- };
167
- exports.getHeaders = getHeaders;
168
- const getRequestBody = (options) => {
169
- if (options.body !== undefined) {
170
- if (options.mediaType?.includes('/json')) {
171
- return JSON.stringify(options.body);
172
- }
173
- else if ((0, exports.isString)(options.body) || (0, exports.isBlob)(options.body) || (0, exports.isFormData)(options.body)) {
174
- return options.body;
175
- }
176
- else {
177
- return JSON.stringify(options.body);
178
- }
179
- }
180
- return undefined;
181
- };
182
- exports.getRequestBody = getRequestBody;
183
- const sendRequest = async (config, options, url, body, formData, headers, onCancel) => {
184
- const controller = new AbortController();
185
- const request = {
186
- headers,
187
- body: body ?? formData,
188
- method: options.method,
189
- signal: controller.signal,
190
- };
191
- if (config.WITH_CREDENTIALS) {
192
- request.credentials = config.CREDENTIALS;
193
- }
194
- onCancel(() => controller.abort());
195
- return await fetch(url, request);
196
- };
197
- exports.sendRequest = sendRequest;
198
- const getResponseHeader = (response, responseHeader) => {
199
- if (responseHeader) {
200
- const content = response.headers.get(responseHeader);
201
- if ((0, exports.isString)(content)) {
202
- return content;
203
- }
204
- }
205
- return undefined;
206
- };
207
- exports.getResponseHeader = getResponseHeader;
208
- const getResponseBody = async (response) => {
209
- if (response.status !== 204) {
210
- try {
211
- const contentType = response.headers.get('Content-Type');
212
- if (contentType) {
213
- const jsonTypes = ['application/json', 'application/problem+json'];
214
- const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));
215
- if (isJSON) {
216
- return await response.json();
217
- }
218
- else {
219
- return await response.text();
220
- }
221
- }
222
- }
223
- catch (error) {
224
- console.error(error);
225
- }
226
- }
227
- return undefined;
228
- };
229
- exports.getResponseBody = getResponseBody;
230
- const catchErrorCodes = (options, result) => {
231
- const errors = {
232
- 400: 'Bad Request',
233
- 401: 'Unauthorized',
234
- 403: 'Forbidden',
235
- 404: 'Not Found',
236
- 500: 'Internal Server Error',
237
- 502: 'Bad Gateway',
238
- 503: 'Service Unavailable',
239
- ...options.errors,
240
- };
241
- const error = errors[result.status];
242
- if (error) {
243
- throw new ApiError_1.ApiError(options, result, error);
244
- }
245
- if (!result.ok) {
246
- const errorStatus = result.status ?? 'unknown';
247
- const errorStatusText = result.statusText ?? 'unknown';
248
- const errorBody = (() => {
249
- try {
250
- return JSON.stringify(result.body, null, 2);
251
- }
252
- catch (e) {
253
- return undefined;
254
- }
255
- })();
256
- throw new ApiError_1.ApiError(options, result, `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`);
257
- }
258
- };
259
- exports.catchErrorCodes = catchErrorCodes;
260
- /**
261
- * Request method
262
- * @param config The OpenAPI configuration object
263
- * @param options The request options from the service
264
- * @returns CancelablePromise<T>
265
- * @throws ApiError
266
- */
267
- const request = (config, options) => {
268
- return new CancelablePromise_1.CancelablePromise(async (resolve, reject, onCancel) => {
269
- try {
270
- const url = getUrl(config, options);
271
- const formData = (0, exports.getFormData)(options);
272
- const body = (0, exports.getRequestBody)(options);
273
- const headers = await (0, exports.getHeaders)(config, options);
274
- if (!onCancel.isCancelled) {
275
- const response = await (0, exports.sendRequest)(config, options, url, body, formData, headers, onCancel);
276
- const responseBody = await (0, exports.getResponseBody)(response);
277
- const responseHeader = (0, exports.getResponseHeader)(response, options.responseHeader);
278
- const result = {
279
- url,
280
- ok: response.ok,
281
- status: response.status,
282
- statusText: response.statusText,
283
- body: responseHeader ?? responseBody,
284
- };
285
- (0, exports.catchErrorCodes)(options, result);
286
- resolve(result.body);
287
- }
288
- }
289
- catch (error) {
290
- reject(error);
291
- }
292
- });
293
- };
294
- exports.request = request;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.request = exports.catchErrorCodes = exports.getResponseBody = exports.getResponseHeader = exports.sendRequest = exports.getRequestBody = exports.getHeaders = exports.resolve = exports.getFormData = exports.getQueryString = exports.base64 = exports.isFormData = exports.isBlob = exports.isStringWithValue = exports.isString = exports.isDefined = void 0;
4
+ /* generated using openapi-typescript-codegen -- do not edit */
5
+ /* istanbul ignore file */
6
+ /* tslint:disable */
7
+ /* eslint-disable */
8
+ const ApiError_1 = require("./ApiError");
9
+ const CancelablePromise_1 = require("./CancelablePromise");
10
+ const isDefined = (value) => {
11
+ return value !== undefined && value !== null;
12
+ };
13
+ exports.isDefined = isDefined;
14
+ const isString = (value) => {
15
+ return typeof value === 'string';
16
+ };
17
+ exports.isString = isString;
18
+ const isStringWithValue = (value) => {
19
+ return (0, exports.isString)(value) && value !== '';
20
+ };
21
+ exports.isStringWithValue = isStringWithValue;
22
+ const isBlob = (value) => {
23
+ return (typeof value === 'object' &&
24
+ typeof value.type === 'string' &&
25
+ typeof value.stream === 'function' &&
26
+ typeof value.arrayBuffer === 'function' &&
27
+ typeof value.constructor === 'function' &&
28
+ typeof value.constructor.name === 'string' &&
29
+ /^(Blob|File)$/.test(value.constructor.name) &&
30
+ /^(Blob|File)$/.test(value[Symbol.toStringTag]));
31
+ };
32
+ exports.isBlob = isBlob;
33
+ const isFormData = (value) => {
34
+ return value instanceof FormData;
35
+ };
36
+ exports.isFormData = isFormData;
37
+ const base64 = (str) => {
38
+ try {
39
+ return btoa(str);
40
+ }
41
+ catch (err) {
42
+ // @ts-ignore
43
+ return Buffer.from(str).toString('base64');
44
+ }
45
+ };
46
+ exports.base64 = base64;
47
+ const getQueryString = (params) => {
48
+ const qs = [];
49
+ const append = (key, value) => {
50
+ qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
51
+ };
52
+ const process = (key, value) => {
53
+ if ((0, exports.isDefined)(value)) {
54
+ if (Array.isArray(value)) {
55
+ value.forEach(v => {
56
+ process(key, v);
57
+ });
58
+ }
59
+ else if (typeof value === 'object') {
60
+ Object.entries(value).forEach(([k, v]) => {
61
+ process(`${key}[${k}]`, v);
62
+ });
63
+ }
64
+ else {
65
+ append(key, value);
66
+ }
67
+ }
68
+ };
69
+ Object.entries(params).forEach(([key, value]) => {
70
+ process(key, value);
71
+ });
72
+ if (qs.length > 0) {
73
+ return `?${qs.join('&')}`;
74
+ }
75
+ return '';
76
+ };
77
+ exports.getQueryString = getQueryString;
78
+ const getUrl = (config, options) => {
79
+ const encoder = config.ENCODE_PATH || encodeURI;
80
+ const path = options.url
81
+ .replace('{api-version}', config.VERSION)
82
+ .replace(/{(.*?)}/g, (substring, group) => {
83
+ if (options.path?.hasOwnProperty(group)) {
84
+ return encoder(String(options.path[group]));
85
+ }
86
+ return substring;
87
+ });
88
+ const url = `${config.BASE}${path}`;
89
+ if (options.query) {
90
+ return `${url}${(0, exports.getQueryString)(options.query)}`;
91
+ }
92
+ return url;
93
+ };
94
+ const getFormData = (options) => {
95
+ if (options.formData) {
96
+ const formData = new FormData();
97
+ const process = (key, value) => {
98
+ if ((0, exports.isString)(value) || (0, exports.isBlob)(value)) {
99
+ formData.append(key, value);
100
+ }
101
+ else {
102
+ formData.append(key, JSON.stringify(value));
103
+ }
104
+ };
105
+ Object.entries(options.formData)
106
+ .filter(([_, value]) => (0, exports.isDefined)(value))
107
+ .forEach(([key, value]) => {
108
+ if (Array.isArray(value)) {
109
+ value.forEach(v => process(key, v));
110
+ }
111
+ else {
112
+ process(key, value);
113
+ }
114
+ });
115
+ return formData;
116
+ }
117
+ return undefined;
118
+ };
119
+ exports.getFormData = getFormData;
120
+ const resolve = async (options, resolver) => {
121
+ if (typeof resolver === 'function') {
122
+ return resolver(options);
123
+ }
124
+ return resolver;
125
+ };
126
+ exports.resolve = resolve;
127
+ const getHeaders = async (config, options) => {
128
+ const [token, username, password, additionalHeaders] = await Promise.all([
129
+ (0, exports.resolve)(options, config.TOKEN),
130
+ (0, exports.resolve)(options, config.USERNAME),
131
+ (0, exports.resolve)(options, config.PASSWORD),
132
+ (0, exports.resolve)(options, config.HEADERS),
133
+ ]);
134
+ const headers = Object.entries({
135
+ Accept: 'application/json',
136
+ ...additionalHeaders,
137
+ ...options.headers,
138
+ })
139
+ .filter(([_, value]) => (0, exports.isDefined)(value))
140
+ .reduce((headers, [key, value]) => ({
141
+ ...headers,
142
+ [key]: String(value),
143
+ }), {});
144
+ if ((0, exports.isStringWithValue)(token)) {
145
+ headers['Authorization'] = `Bearer ${token}`;
146
+ }
147
+ if ((0, exports.isStringWithValue)(username) && (0, exports.isStringWithValue)(password)) {
148
+ const credentials = (0, exports.base64)(`${username}:${password}`);
149
+ headers['Authorization'] = `Basic ${credentials}`;
150
+ }
151
+ if (options.body !== undefined) {
152
+ if (options.mediaType) {
153
+ headers['Content-Type'] = options.mediaType;
154
+ }
155
+ else if ((0, exports.isBlob)(options.body)) {
156
+ headers['Content-Type'] = options.body.type || 'application/octet-stream';
157
+ }
158
+ else if ((0, exports.isString)(options.body)) {
159
+ headers['Content-Type'] = 'text/plain';
160
+ }
161
+ else if (!(0, exports.isFormData)(options.body)) {
162
+ headers['Content-Type'] = 'application/json';
163
+ }
164
+ }
165
+ return new Headers(headers);
166
+ };
167
+ exports.getHeaders = getHeaders;
168
+ const getRequestBody = (options) => {
169
+ if (options.body !== undefined) {
170
+ if (options.mediaType?.includes('/json')) {
171
+ return JSON.stringify(options.body);
172
+ }
173
+ else if ((0, exports.isString)(options.body) || (0, exports.isBlob)(options.body) || (0, exports.isFormData)(options.body)) {
174
+ return options.body;
175
+ }
176
+ else {
177
+ return JSON.stringify(options.body);
178
+ }
179
+ }
180
+ return undefined;
181
+ };
182
+ exports.getRequestBody = getRequestBody;
183
+ const sendRequest = async (config, options, url, body, formData, headers, onCancel) => {
184
+ const controller = new AbortController();
185
+ const request = {
186
+ headers,
187
+ body: body ?? formData,
188
+ method: options.method,
189
+ signal: controller.signal,
190
+ };
191
+ if (config.WITH_CREDENTIALS) {
192
+ request.credentials = config.CREDENTIALS;
193
+ }
194
+ onCancel(() => controller.abort());
195
+ return await fetch(url, request);
196
+ };
197
+ exports.sendRequest = sendRequest;
198
+ const getResponseHeader = (response, responseHeader) => {
199
+ if (responseHeader) {
200
+ const content = response.headers.get(responseHeader);
201
+ if ((0, exports.isString)(content)) {
202
+ return content;
203
+ }
204
+ }
205
+ return undefined;
206
+ };
207
+ exports.getResponseHeader = getResponseHeader;
208
+ const getResponseBody = async (response) => {
209
+ if (response.status !== 204) {
210
+ try {
211
+ const contentType = response.headers.get('Content-Type');
212
+ if (contentType) {
213
+ const jsonTypes = ['application/json', 'application/problem+json'];
214
+ const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));
215
+ if (isJSON) {
216
+ return await response.json();
217
+ }
218
+ else {
219
+ return await response.text();
220
+ }
221
+ }
222
+ }
223
+ catch (error) {
224
+ console.error(error);
225
+ }
226
+ }
227
+ return undefined;
228
+ };
229
+ exports.getResponseBody = getResponseBody;
230
+ const catchErrorCodes = (options, result) => {
231
+ const errors = {
232
+ 400: 'Bad Request',
233
+ 401: 'Unauthorized',
234
+ 403: 'Forbidden',
235
+ 404: 'Not Found',
236
+ 500: 'Internal Server Error',
237
+ 502: 'Bad Gateway',
238
+ 503: 'Service Unavailable',
239
+ ...options.errors,
240
+ };
241
+ const error = errors[result.status];
242
+ if (error) {
243
+ throw new ApiError_1.ApiError(options, result, error);
244
+ }
245
+ if (!result.ok) {
246
+ const errorStatus = result.status ?? 'unknown';
247
+ const errorStatusText = result.statusText ?? 'unknown';
248
+ const errorBody = (() => {
249
+ try {
250
+ return JSON.stringify(result.body, null, 2);
251
+ }
252
+ catch (e) {
253
+ return undefined;
254
+ }
255
+ })();
256
+ throw new ApiError_1.ApiError(options, result, `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`);
257
+ }
258
+ };
259
+ exports.catchErrorCodes = catchErrorCodes;
260
+ /**
261
+ * Request method
262
+ * @param config The OpenAPI configuration object
263
+ * @param options The request options from the service
264
+ * @returns CancelablePromise<T>
265
+ * @throws ApiError
266
+ */
267
+ const request = (config, options) => {
268
+ return new CancelablePromise_1.CancelablePromise(async (resolve, reject, onCancel) => {
269
+ try {
270
+ const url = getUrl(config, options);
271
+ const formData = (0, exports.getFormData)(options);
272
+ const body = (0, exports.getRequestBody)(options);
273
+ const headers = await (0, exports.getHeaders)(config, options);
274
+ if (!onCancel.isCancelled) {
275
+ const response = await (0, exports.sendRequest)(config, options, url, body, formData, headers, onCancel);
276
+ const responseBody = await (0, exports.getResponseBody)(response);
277
+ const responseHeader = (0, exports.getResponseHeader)(response, options.responseHeader);
278
+ const result = {
279
+ url,
280
+ ok: response.ok,
281
+ status: response.status,
282
+ statusText: response.statusText,
283
+ body: responseHeader ?? responseBody,
284
+ };
285
+ (0, exports.catchErrorCodes)(options, result);
286
+ resolve(result.body);
287
+ }
288
+ }
289
+ catch (error) {
290
+ reject(error);
291
+ }
292
+ });
293
+ };
294
+ exports.request = request;