@aws-amplify/api-rest 3.5.6-unstable.7762f1a.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +3 -0
  2. package/internals/package.json +8 -0
  3. package/internals/server/package.json +8 -0
  4. package/lib/apis/common/handler.d.ts +27 -0
  5. package/lib/apis/common/handler.js +73 -0
  6. package/lib/apis/common/internalPost.d.ts +16 -0
  7. package/lib/apis/common/internalPost.js +65 -0
  8. package/lib/apis/common/publicApis.d.ts +8 -0
  9. package/lib/apis/common/publicApis.js +44 -0
  10. package/lib/apis/index.d.ts +203 -0
  11. package/lib/apis/index.js +215 -0
  12. package/lib/apis/server.d.ts +151 -0
  13. package/lib/apis/server.js +162 -0
  14. package/lib/errors/CanceledError.d.ts +17 -0
  15. package/lib/errors/CanceledError.js +32 -0
  16. package/lib/errors/RestApiError.d.ts +4 -0
  17. package/lib/errors/RestApiError.js +15 -0
  18. package/lib/errors/assertValidatonError.d.ts +5 -0
  19. package/lib/errors/assertValidatonError.js +17 -0
  20. package/lib/errors/index.d.ts +4 -0
  21. package/lib/errors/index.js +15 -0
  22. package/lib/errors/validation.d.ts +6 -0
  23. package/lib/errors/validation.js +19 -0
  24. package/lib/index.d.ts +2 -2
  25. package/lib/index.js +10 -6
  26. package/lib/internals/index.d.ts +19 -0
  27. package/lib/internals/index.js +30 -0
  28. package/lib/internals/server.d.ts +20 -0
  29. package/lib/internals/server.js +30 -0
  30. package/lib/server.d.ts +2 -0
  31. package/lib/server.js +14 -0
  32. package/lib/tsconfig.tsbuildinfo +1 -0
  33. package/lib/types/index.d.ts +90 -37
  34. package/lib/types/index.js +0 -23
  35. package/lib/utils/constants.d.ts +8 -0
  36. package/lib/utils/constants.js +13 -0
  37. package/lib/utils/createCancellableOperation.d.ts +12 -0
  38. package/lib/utils/createCancellableOperation.js +63 -0
  39. package/lib/utils/index.d.ts +6 -0
  40. package/lib/utils/index.js +17 -0
  41. package/lib/utils/logger.d.ts +2 -0
  42. package/lib/utils/logger.js +7 -0
  43. package/lib/utils/normalizeHeaders.d.ts +1 -0
  44. package/lib/utils/normalizeHeaders.js +13 -0
  45. package/lib/utils/parseSigningInfo.d.ts +14 -0
  46. package/lib/utils/parseSigningInfo.js +41 -0
  47. package/lib/utils/resolveApiUrl.d.ts +12 -0
  48. package/lib/utils/resolveApiUrl.js +40 -0
  49. package/lib/utils/resolveCredentials.d.ts +5 -0
  50. package/lib/utils/resolveCredentials.js +15 -0
  51. package/lib/utils/serviceError.d.ts +10 -0
  52. package/lib/utils/serviceError.js +30 -0
  53. package/lib-esm/apis/common/handler.d.ts +27 -0
  54. package/lib-esm/apis/common/handler.js +69 -0
  55. package/lib-esm/apis/common/internalPost.d.ts +16 -0
  56. package/lib-esm/apis/common/internalPost.js +59 -0
  57. package/lib-esm/apis/common/publicApis.d.ts +8 -0
  58. package/lib-esm/apis/common/publicApis.js +35 -0
  59. package/lib-esm/apis/index.d.ts +203 -0
  60. package/lib-esm/apis/index.js +206 -0
  61. package/lib-esm/apis/server.d.ts +151 -0
  62. package/lib-esm/apis/server.js +153 -0
  63. package/lib-esm/errors/CanceledError.d.ts +17 -0
  64. package/lib-esm/errors/CanceledError.js +27 -0
  65. package/lib-esm/errors/RestApiError.d.ts +4 -0
  66. package/lib-esm/errors/RestApiError.js +11 -0
  67. package/lib-esm/errors/assertValidatonError.d.ts +5 -0
  68. package/lib-esm/errors/assertValidatonError.js +13 -0
  69. package/lib-esm/errors/index.d.ts +4 -0
  70. package/lib-esm/errors/index.js +6 -0
  71. package/lib-esm/errors/validation.d.ts +6 -0
  72. package/lib-esm/errors/validation.js +16 -0
  73. package/lib-esm/index.d.ts +2 -2
  74. package/lib-esm/index.js +2 -3
  75. package/lib-esm/internals/index.d.ts +19 -0
  76. package/lib-esm/internals/index.js +24 -0
  77. package/lib-esm/internals/server.d.ts +20 -0
  78. package/lib-esm/internals/server.js +24 -0
  79. package/lib-esm/server.d.ts +2 -0
  80. package/lib-esm/server.js +4 -0
  81. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  82. package/lib-esm/types/index.d.ts +90 -37
  83. package/lib-esm/types/index.js +1 -23
  84. package/lib-esm/utils/constants.d.ts +8 -0
  85. package/lib-esm/utils/constants.js +10 -0
  86. package/lib-esm/utils/createCancellableOperation.d.ts +12 -0
  87. package/lib-esm/utils/createCancellableOperation.js +59 -0
  88. package/lib-esm/utils/index.d.ts +6 -0
  89. package/lib-esm/utils/index.js +8 -0
  90. package/lib-esm/utils/logger.d.ts +2 -0
  91. package/lib-esm/utils/logger.js +4 -0
  92. package/lib-esm/utils/normalizeHeaders.d.ts +1 -0
  93. package/lib-esm/utils/normalizeHeaders.js +9 -0
  94. package/lib-esm/utils/parseSigningInfo.d.ts +14 -0
  95. package/lib-esm/utils/parseSigningInfo.js +37 -0
  96. package/lib-esm/utils/resolveApiUrl.d.ts +12 -0
  97. package/lib-esm/utils/resolveApiUrl.js +36 -0
  98. package/lib-esm/utils/resolveCredentials.d.ts +5 -0
  99. package/lib-esm/utils/resolveCredentials.js +11 -0
  100. package/lib-esm/utils/serviceError.d.ts +10 -0
  101. package/lib-esm/utils/serviceError.js +25 -0
  102. package/package.json +113 -105
  103. package/server/package.json +8 -0
  104. package/src/apis/common/handler.ts +109 -0
  105. package/src/apis/common/internalPost.ts +81 -0
  106. package/src/apis/common/publicApis.ts +99 -0
  107. package/src/apis/index.ts +239 -0
  108. package/src/apis/server.ts +209 -0
  109. package/src/errors/CanceledError.ts +33 -0
  110. package/src/errors/RestApiError.ts +17 -0
  111. package/src/errors/assertValidatonError.ts +19 -0
  112. package/src/errors/index.ts +7 -0
  113. package/src/errors/validation.ts +20 -0
  114. package/src/index.ts +2 -2
  115. package/src/internals/index.ts +31 -0
  116. package/src/internals/server.ts +37 -0
  117. package/src/server.ts +5 -0
  118. package/src/types/index.ts +95 -44
  119. package/src/utils/constants.ts +15 -0
  120. package/src/utils/createCancellableOperation.ts +94 -0
  121. package/src/utils/index.ts +9 -0
  122. package/src/utils/logger.ts +6 -0
  123. package/src/utils/normalizeHeaders.ts +10 -0
  124. package/src/utils/parseSigningInfo.ts +52 -0
  125. package/src/utils/resolveApiUrl.ts +51 -0
  126. package/src/utils/resolveCredentials.ts +17 -0
  127. package/src/utils/serviceError.ts +35 -0
  128. package/lib/.tsbuildinfo +0 -3
  129. package/lib/RestAPI.d.ts +0 -108
  130. package/lib/RestAPI.js +0 -282
  131. package/lib/RestAPI.js.map +0 -1
  132. package/lib/RestClient.d.ts +0 -138
  133. package/lib/RestClient.js +0 -368
  134. package/lib/RestClient.js.map +0 -1
  135. package/lib/index.js.map +0 -1
  136. package/lib/types/index.js.map +0 -1
  137. package/lib-esm/.tsbuildinfo +0 -3
  138. package/lib-esm/RestAPI.d.ts +0 -108
  139. package/lib-esm/RestAPI.js +0 -280
  140. package/lib-esm/RestAPI.js.map +0 -1
  141. package/lib-esm/RestClient.d.ts +0 -138
  142. package/lib-esm/RestClient.js +0 -366
  143. package/lib-esm/RestClient.js.map +0 -1
  144. package/lib-esm/index.js.map +0 -1
  145. package/lib-esm/types/index.js.map +0 -1
  146. package/src/RestAPI.ts +0 -338
  147. package/src/RestClient.ts +0 -417
@@ -1,366 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { __assign, __awaiter, __generator, __rest } from "tslib";
4
- import { ConsoleLogger as Logger, Credentials, DateUtils, Signer, } from '@aws-amplify/core';
5
- import axios from 'axios';
6
- import { parse, format } from 'url';
7
- var logger = new Logger('RestClient');
8
- /**
9
- * HTTP Client for REST requests. Send and receive JSON data.
10
- * Sign request with AWS credentials if available
11
- * Usage:
12
- <pre>
13
- const restClient = new RestClient();
14
- restClient.get('...')
15
- .then(function(data) {
16
- console.log(data);
17
- })
18
- .catch(err => console.log(err));
19
- </pre>
20
- */
21
- var RestClient = /** @class */ (function () {
22
- /**
23
- * @param {RestClientOptions} [options] - Instance options
24
- */
25
- function RestClient(options) {
26
- this._region = 'us-east-1'; // this will be updated by endpoint function
27
- this._service = 'execute-api'; // this can be updated by endpoint function
28
- this._custom_header = undefined; // this can be updated by endpoint function
29
- /**
30
- * This weak map provides functionality to let clients cancel
31
- * in-flight axios requests. https://github.com/axios/axios#cancellation
32
- *
33
- * 1. For every axios request, a unique cancel token is generated and added in the request.
34
- * 2. Promise for fulfilling the request is then mapped to that unique cancel token.
35
- * 3. The promise is returned to the client.
36
- * 4. Clients can either wait for the promise to fulfill or call `API.cancel(promise)` to cancel the request.
37
- * 5. If `API.cancel(promise)` is called, then the corresponding cancel token is retrieved from the map below.
38
- * 6. Promise returned to the client will be in rejected state with the error provided during cancel.
39
- * 7. Clients can check if the error is because of cancelling by calling `API.isCancel(error)`.
40
- *
41
- * For more details, see https://github.com/aws-amplify/amplify-js/pull/3769#issuecomment-552660025
42
- */
43
- this._cancelTokenMap = null;
44
- this.Credentials = Credentials;
45
- this._options = options;
46
- logger.debug('API Options', this._options);
47
- if (this._cancelTokenMap == null) {
48
- this._cancelTokenMap = new WeakMap();
49
- }
50
- }
51
- /**
52
- * Update AWS credentials
53
- * @param {AWSCredentials} credentials - AWS credentials
54
- *
55
- updateCredentials(credentials: AWSCredentials) {
56
- this.options.credentials = credentials;
57
- }
58
- */
59
- /**
60
- * Basic HTTP request. Customizable
61
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
62
- * @param {string} method - Request HTTP method
63
- * @param {json} [init] - Request extra params
64
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
65
- */
66
- RestClient.prototype.ajax = function (urlOrApiInfo, method, init) {
67
- return __awaiter(this, void 0, void 0, function () {
68
- var parsed_url, url, region, service, custom_header, params, libraryHeaders, initParams, isAllResponse, custom_header_obj, _a, _b, search, parsedUrl, credentials, error_1, signedParams, response, error_2, headers, dateHeader, responseDate, requestDate;
69
- return __generator(this, function (_c) {
70
- switch (_c.label) {
71
- case 0:
72
- logger.debug(method, urlOrApiInfo);
73
- region = 'us-east-1';
74
- service = 'execute-api';
75
- custom_header = undefined;
76
- if (typeof urlOrApiInfo === 'string') {
77
- parsed_url = this._parseUrl(urlOrApiInfo);
78
- url = urlOrApiInfo;
79
- }
80
- else {
81
- (url = urlOrApiInfo.endpoint, custom_header = urlOrApiInfo.custom_header, region = urlOrApiInfo.region, service = urlOrApiInfo.service);
82
- parsed_url = this._parseUrl(urlOrApiInfo.endpoint);
83
- }
84
- params = {
85
- method: method,
86
- url: url,
87
- host: parsed_url.host,
88
- path: parsed_url.path,
89
- headers: {},
90
- data: null,
91
- responseType: 'json',
92
- timeout: 0,
93
- cancelToken: null,
94
- };
95
- libraryHeaders = {};
96
- initParams = Object.assign({}, init);
97
- isAllResponse = initParams.response;
98
- if (initParams.body) {
99
- if (typeof FormData === 'function' &&
100
- initParams.body instanceof FormData) {
101
- libraryHeaders['Content-Type'] = 'multipart/form-data';
102
- params.data = initParams.body;
103
- }
104
- else {
105
- libraryHeaders['Content-Type'] = 'application/json; charset=UTF-8';
106
- params.data = JSON.stringify(initParams.body);
107
- }
108
- }
109
- if (initParams.responseType) {
110
- params.responseType = initParams.responseType;
111
- }
112
- if (initParams.withCredentials) {
113
- params['withCredentials'] = initParams.withCredentials;
114
- }
115
- if (initParams.timeout) {
116
- params.timeout = initParams.timeout;
117
- }
118
- if (initParams.cancellableToken) {
119
- params.cancelToken = initParams.cancellableToken.token;
120
- }
121
- params['signerServiceInfo'] = initParams.signerServiceInfo;
122
- if (!(typeof custom_header === 'function')) return [3 /*break*/, 2];
123
- return [4 /*yield*/, custom_header()];
124
- case 1:
125
- _a = _c.sent();
126
- return [3 /*break*/, 3];
127
- case 2:
128
- _a = undefined;
129
- _c.label = 3;
130
- case 3:
131
- custom_header_obj = _a;
132
- params.headers = __assign(__assign(__assign({}, libraryHeaders), custom_header_obj), initParams.headers);
133
- _b = parse(url, true, true), search = _b.search, parsedUrl = __rest(_b, ["search"]);
134
- params.url = format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), (initParams.queryStringParameters || {})) }));
135
- // Do not sign the request if client has added 'Authorization' header,
136
- // which means custom authorizer.
137
- if (typeof params.headers['Authorization'] !== 'undefined') {
138
- params.headers = Object.keys(params.headers).reduce(function (acc, k) {
139
- if (params.headers[k]) {
140
- acc[k] = params.headers[k];
141
- }
142
- return acc;
143
- // tslint:disable-next-line:align
144
- }, {});
145
- return [2 /*return*/, this._request(params, isAllResponse)];
146
- }
147
- _c.label = 4;
148
- case 4:
149
- _c.trys.push([4, 6, , 7]);
150
- return [4 /*yield*/, this.Credentials.get()];
151
- case 5:
152
- credentials = _c.sent();
153
- return [3 /*break*/, 7];
154
- case 6:
155
- error_1 = _c.sent();
156
- logger.debug('No credentials available, the request will be unsigned');
157
- return [2 /*return*/, this._request(params, isAllResponse)];
158
- case 7:
159
- _c.trys.push([7, 9, , 10]);
160
- signedParams = this._sign(__assign({}, params), credentials, {
161
- region: region,
162
- service: service,
163
- });
164
- return [4 /*yield*/, axios(signedParams)];
165
- case 8:
166
- response = _c.sent();
167
- return [2 /*return*/, isAllResponse ? response : response.data];
168
- case 9:
169
- error_2 = _c.sent();
170
- logger.debug(error_2);
171
- if (DateUtils.isClockSkewError(error_2)) {
172
- headers = error_2.response.headers;
173
- dateHeader = headers && (headers.date || headers.Date);
174
- responseDate = new Date(dateHeader);
175
- requestDate = DateUtils.getDateFromHeaderString(signedParams.headers['x-amz-date']);
176
- // Compare local clock to the server clock
177
- if (DateUtils.isClockSkewed(responseDate)) {
178
- DateUtils.setClockOffset(responseDate.getTime() - requestDate.getTime());
179
- return [2 /*return*/, this.ajax(urlOrApiInfo, method, init)];
180
- }
181
- }
182
- throw error_2;
183
- case 10: return [2 /*return*/];
184
- }
185
- });
186
- });
187
- };
188
- /**
189
- * GET HTTP request
190
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
191
- * @param {JSON} init - Request extra params
192
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
193
- */
194
- RestClient.prototype.get = function (urlOrApiInfo, init) {
195
- return this.ajax(urlOrApiInfo, 'GET', init);
196
- };
197
- /**
198
- * PUT HTTP request
199
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
200
- * @param {json} init - Request extra params
201
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
202
- */
203
- RestClient.prototype.put = function (urlOrApiInfo, init) {
204
- return this.ajax(urlOrApiInfo, 'PUT', init);
205
- };
206
- /**
207
- * PATCH HTTP request
208
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
209
- * @param {json} init - Request extra params
210
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
211
- */
212
- RestClient.prototype.patch = function (urlOrApiInfo, init) {
213
- return this.ajax(urlOrApiInfo, 'PATCH', init);
214
- };
215
- /**
216
- * POST HTTP request
217
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
218
- * @param {json} init - Request extra params
219
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
220
- */
221
- RestClient.prototype.post = function (urlOrApiInfo, init) {
222
- return this.ajax(urlOrApiInfo, 'POST', init);
223
- };
224
- /**
225
- * DELETE HTTP request
226
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
227
- * @param {json} init - Request extra params
228
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
229
- */
230
- RestClient.prototype.del = function (urlOrApiInfo, init) {
231
- return this.ajax(urlOrApiInfo, 'DELETE', init);
232
- };
233
- /**
234
- * HEAD HTTP request
235
- * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information
236
- * @param {json} init - Request extra params
237
- * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.
238
- */
239
- RestClient.prototype.head = function (urlOrApiInfo, init) {
240
- return this.ajax(urlOrApiInfo, 'HEAD', init);
241
- };
242
- /**
243
- * Cancel an inflight API request
244
- * @param {Promise<any>} request - The request promise to cancel
245
- * @param {string} [message] - A message to include in the cancelation exception
246
- */
247
- RestClient.prototype.cancel = function (request, message) {
248
- var source = this._cancelTokenMap.get(request);
249
- if (source) {
250
- source.cancel(message);
251
- return true;
252
- }
253
- return false;
254
- };
255
- /**
256
- * Check if the request has a corresponding cancel token in the WeakMap.
257
- * @params request - The request promise
258
- * @return if the request has a corresponding cancel token.
259
- */
260
- RestClient.prototype.hasCancelToken = function (request) {
261
- return this._cancelTokenMap.has(request);
262
- };
263
- /**
264
- * Checks to see if an error thrown is from an api request cancellation
265
- * @param {any} error - Any error
266
- * @return {boolean} - A boolean indicating if the error was from an api request cancellation
267
- */
268
- RestClient.prototype.isCancel = function (error) {
269
- return axios.isCancel(error);
270
- };
271
- /**
272
- * Retrieves a new and unique cancel token which can be
273
- * provided in an axios request to be cancelled later.
274
- */
275
- RestClient.prototype.getCancellableToken = function () {
276
- return axios.CancelToken.source();
277
- };
278
- /**
279
- * Updates the weakmap with a response promise and its
280
- * cancel token such that the cancel token can be easily
281
- * retrieved (and used for cancelling the request)
282
- */
283
- RestClient.prototype.updateRequestToBeCancellable = function (promise, cancelTokenSource) {
284
- this._cancelTokenMap.set(promise, cancelTokenSource);
285
- };
286
- /**
287
- * Getting endpoint for API
288
- * @param {string} apiName - The name of the api
289
- * @return {string} - The endpoint of the api
290
- */
291
- RestClient.prototype.endpoint = function (apiName) {
292
- var _this = this;
293
- var cloud_logic_array = this._options.endpoints;
294
- var response = '';
295
- if (!Array.isArray(cloud_logic_array)) {
296
- return response;
297
- }
298
- cloud_logic_array.forEach(function (v) {
299
- if (v.name === apiName) {
300
- response = v.endpoint;
301
- if (typeof v.region === 'string') {
302
- _this._region = v.region;
303
- }
304
- else if (typeof _this._options.region === 'string') {
305
- _this._region = _this._options.region;
306
- }
307
- if (typeof v.service === 'string') {
308
- _this._service = v.service || 'execute-api';
309
- }
310
- else {
311
- _this._service = 'execute-api';
312
- }
313
- if (typeof v.custom_header === 'function') {
314
- _this._custom_header = v.custom_header;
315
- }
316
- else {
317
- _this._custom_header = undefined;
318
- }
319
- }
320
- });
321
- return response;
322
- };
323
- /** private methods **/
324
- RestClient.prototype._sign = function (params, credentials, _a) {
325
- var service = _a.service, region = _a.region;
326
- var signerServiceInfoParams = params.signerServiceInfo, otherParams = __rest(params, ["signerServiceInfo"]);
327
- var endpoint_region = region || this._region || this._options.region;
328
- var endpoint_service = service || this._service || this._options.service;
329
- var creds = {
330
- secret_key: credentials.secretAccessKey,
331
- access_key: credentials.accessKeyId,
332
- session_token: credentials.sessionToken,
333
- };
334
- var endpointInfo = {
335
- region: endpoint_region,
336
- service: endpoint_service,
337
- };
338
- var signerServiceInfo = Object.assign(endpointInfo, signerServiceInfoParams);
339
- var signed_params = Signer.sign(otherParams, creds, signerServiceInfo);
340
- if (signed_params.data) {
341
- signed_params.body = signed_params.data;
342
- }
343
- logger.debug('Signed Request: ', signed_params);
344
- delete signed_params.headers['host'];
345
- return signed_params;
346
- };
347
- RestClient.prototype._request = function (params, isAllResponse) {
348
- if (isAllResponse === void 0) { isAllResponse = false; }
349
- return axios(params)
350
- .then(function (response) { return (isAllResponse ? response : response.data); })
351
- .catch(function (error) {
352
- logger.debug(error);
353
- throw error;
354
- });
355
- };
356
- RestClient.prototype._parseUrl = function (url) {
357
- var parts = url.split('/');
358
- return {
359
- host: parts[2],
360
- path: '/' + parts.slice(3).join('/'),
361
- };
362
- };
363
- return RestClient;
364
- }());
365
- export { RestClient };
366
- //# sourceMappingURL=RestClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RestClient.js","sourceRoot":"","sources":["../src/RestClient.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC;;GAEG;AACH;IAcC;QACC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC;IACF,wBAAC;AAAD,CAAC,AAlBD,IAkBC;;AAED;;GAEG;AACH;IAAA;IAmBA,CAAC;IAAD,qBAAC;AAAD,CAAC,AAnBD,IAmBC"}