@iamnnort/request 1.8.5 → 1.8.8
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.
- package/dist/index.d.mts +12 -3
- package/dist/index.d.ts +12 -3
- package/dist/index.js +48 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -27,6 +27,14 @@ type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {
|
|
|
27
27
|
array?: 'indices' | 'brackets' | 'repeat' | 'comma';
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
|
+
type ResponseConfig = {
|
|
31
|
+
raw?: boolean;
|
|
32
|
+
};
|
|
33
|
+
type RawResponse<T> = {
|
|
34
|
+
status: HttpStatuses;
|
|
35
|
+
method: HttpMethods;
|
|
36
|
+
data: T;
|
|
37
|
+
};
|
|
30
38
|
declare enum HttpMethods {
|
|
31
39
|
GET = "get",
|
|
32
40
|
POST = "post",
|
|
@@ -65,9 +73,10 @@ declare class RequestBuilder {
|
|
|
65
73
|
}
|
|
66
74
|
|
|
67
75
|
declare class RequestDataSource<Entity extends Record<string, any> = any, SearchParams extends RequestConfigParams = any, SearchResponse extends Record<string, any> = any, CreateParams extends RequestConfigParams = any, UpdateParams extends RequestConfigParams = any> {
|
|
68
|
-
|
|
69
|
-
constructor(
|
|
76
|
+
baseRequestConfig: BaseRequestConfig;
|
|
77
|
+
constructor(baseRequestConfig: BaseRequestConfig);
|
|
70
78
|
common<T>(requestConfig: RequestConfig): Promise<T>;
|
|
79
|
+
common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig): Promise<RawResponse<T>>;
|
|
71
80
|
search(config?: SearchParams): Promise<SearchResponse>;
|
|
72
81
|
get(id: number | string, config?: SearchParams): Promise<Entity>;
|
|
73
82
|
create(config: CreateParams): Promise<Entity>;
|
|
@@ -81,4 +90,4 @@ declare class RequestHelper {
|
|
|
81
90
|
sleep(seconds: number): Promise<unknown>;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
|
-
export { BaseRequestConfig, HttpMethods, HttpStatuses, RequestBuilder, RequestConfig, RequestConfigParams, RequestDataSource, RequestHelper, RequestParams };
|
|
93
|
+
export { BaseRequestConfig, HttpMethods, HttpStatuses, RawResponse, RequestBuilder, RequestConfig, RequestConfigParams, RequestDataSource, RequestHelper, RequestParams, ResponseConfig };
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,14 @@ type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {
|
|
|
27
27
|
array?: 'indices' | 'brackets' | 'repeat' | 'comma';
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
|
+
type ResponseConfig = {
|
|
31
|
+
raw?: boolean;
|
|
32
|
+
};
|
|
33
|
+
type RawResponse<T> = {
|
|
34
|
+
status: HttpStatuses;
|
|
35
|
+
method: HttpMethods;
|
|
36
|
+
data: T;
|
|
37
|
+
};
|
|
30
38
|
declare enum HttpMethods {
|
|
31
39
|
GET = "get",
|
|
32
40
|
POST = "post",
|
|
@@ -65,9 +73,10 @@ declare class RequestBuilder {
|
|
|
65
73
|
}
|
|
66
74
|
|
|
67
75
|
declare class RequestDataSource<Entity extends Record<string, any> = any, SearchParams extends RequestConfigParams = any, SearchResponse extends Record<string, any> = any, CreateParams extends RequestConfigParams = any, UpdateParams extends RequestConfigParams = any> {
|
|
68
|
-
|
|
69
|
-
constructor(
|
|
76
|
+
baseRequestConfig: BaseRequestConfig;
|
|
77
|
+
constructor(baseRequestConfig: BaseRequestConfig);
|
|
70
78
|
common<T>(requestConfig: RequestConfig): Promise<T>;
|
|
79
|
+
common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig): Promise<RawResponse<T>>;
|
|
71
80
|
search(config?: SearchParams): Promise<SearchResponse>;
|
|
72
81
|
get(id: number | string, config?: SearchParams): Promise<Entity>;
|
|
73
82
|
create(config: CreateParams): Promise<Entity>;
|
|
@@ -81,4 +90,4 @@ declare class RequestHelper {
|
|
|
81
90
|
sleep(seconds: number): Promise<unknown>;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
|
-
export { BaseRequestConfig, HttpMethods, HttpStatuses, RequestBuilder, RequestConfig, RequestConfigParams, RequestDataSource, RequestHelper, RequestParams };
|
|
93
|
+
export { BaseRequestConfig, HttpMethods, HttpStatuses, RawResponse, RequestBuilder, RequestConfig, RequestConfigParams, RequestDataSource, RequestHelper, RequestParams, ResponseConfig };
|
package/dist/index.js
CHANGED
|
@@ -228,6 +228,14 @@ var makeUrl = (dto = {}) => {
|
|
|
228
228
|
}
|
|
229
229
|
};
|
|
230
230
|
var makeMethod = (dto = {}) => {
|
|
231
|
+
var _a, _b, _c, _d, _e;
|
|
232
|
+
const method = ((_a = dto.request) == null ? void 0 : _a.method) || ((_c = (_b = dto.response) == null ? void 0 : _b.config) == null ? void 0 : _c.method) || ((_e = (_d = dto.error) == null ? void 0 : _d.response) == null ? void 0 : _e.config.method);
|
|
233
|
+
if (!method) {
|
|
234
|
+
return "get" /* GET */;
|
|
235
|
+
}
|
|
236
|
+
return method.toLowerCase();
|
|
237
|
+
};
|
|
238
|
+
var makeMethodText = (dto = {}) => {
|
|
231
239
|
var _a, _b, _c, _d, _e;
|
|
232
240
|
const method = ((_a = dto.request) == null ? void 0 : _a.method) || ((_c = (_b = dto.response) == null ? void 0 : _b.config) == null ? void 0 : _c.method) || ((_e = (_d = dto.error) == null ? void 0 : _d.response) == null ? void 0 : _e.config.method);
|
|
233
241
|
if (!method) {
|
|
@@ -258,6 +266,14 @@ var makeResponseData = (dto = {}) => {
|
|
|
258
266
|
return JSON.stringify(data);
|
|
259
267
|
};
|
|
260
268
|
var makeStatus = (dto = {}) => {
|
|
269
|
+
var _a, _b, _c;
|
|
270
|
+
const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
|
|
271
|
+
if (!status) {
|
|
272
|
+
return 500 /* INTERNAL_SERVER_ERROR */;
|
|
273
|
+
}
|
|
274
|
+
return status;
|
|
275
|
+
};
|
|
276
|
+
var makeStatusText = (dto = {}) => {
|
|
261
277
|
var _a, _b, _c, _d, _e, _f;
|
|
262
278
|
const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
|
|
263
279
|
if (!status) {
|
|
@@ -269,10 +285,18 @@ var makeStatus = (dto = {}) => {
|
|
|
269
285
|
}
|
|
270
286
|
return `${status}`;
|
|
271
287
|
};
|
|
288
|
+
var makeResponse = (dto = {}) => {
|
|
289
|
+
return {
|
|
290
|
+
success: dto.error === void 0,
|
|
291
|
+
status: makeStatus(dto),
|
|
292
|
+
method: makeMethod(dto),
|
|
293
|
+
data: makeResponseData(dto)
|
|
294
|
+
};
|
|
295
|
+
};
|
|
272
296
|
var logRequest = (request) => {
|
|
273
297
|
log([
|
|
274
298
|
makeType("Request"),
|
|
275
|
-
|
|
299
|
+
makeMethodText({ request }),
|
|
276
300
|
makeUrl({ request }),
|
|
277
301
|
makeRequestData({ request })
|
|
278
302
|
]);
|
|
@@ -280,20 +304,20 @@ var logRequest = (request) => {
|
|
|
280
304
|
var logResponse = (response) => {
|
|
281
305
|
log([
|
|
282
306
|
makeType("Response"),
|
|
283
|
-
|
|
307
|
+
makeMethodText({ response }),
|
|
284
308
|
makeUrl({ response }),
|
|
285
309
|
makeRequestData({ response }),
|
|
286
|
-
|
|
310
|
+
makeStatusText({ response }),
|
|
287
311
|
makeResponseData({ response })
|
|
288
312
|
]);
|
|
289
313
|
};
|
|
290
314
|
var logRequestError = (error) => {
|
|
291
315
|
log([
|
|
292
316
|
makeType("Error"),
|
|
293
|
-
|
|
317
|
+
makeMethodText({ error }),
|
|
294
318
|
makeUrl({ error }),
|
|
295
319
|
makeRequestData({ error }),
|
|
296
|
-
|
|
320
|
+
makeStatusText({ error }),
|
|
297
321
|
makeResponseData({ error })
|
|
298
322
|
]);
|
|
299
323
|
};
|
|
@@ -305,9 +329,12 @@ var loggerHelper = {
|
|
|
305
329
|
makeType,
|
|
306
330
|
makeUrl,
|
|
307
331
|
makeMethod,
|
|
332
|
+
makeMethodText,
|
|
308
333
|
makeRequestData,
|
|
309
334
|
makeResponseData,
|
|
310
335
|
makeStatus,
|
|
336
|
+
makeStatusText,
|
|
337
|
+
makeResponse,
|
|
311
338
|
logRequest,
|
|
312
339
|
logResponse,
|
|
313
340
|
logRequestError
|
|
@@ -315,28 +342,37 @@ var loggerHelper = {
|
|
|
315
342
|
|
|
316
343
|
// src/data-source.ts
|
|
317
344
|
var RequestDataSource = class {
|
|
318
|
-
constructor(
|
|
319
|
-
this.
|
|
345
|
+
constructor(baseRequestConfig) {
|
|
346
|
+
this.baseRequestConfig = baseRequestConfig;
|
|
320
347
|
}
|
|
321
|
-
common(requestConfig) {
|
|
348
|
+
common(requestConfig, responseConfig = {}) {
|
|
322
349
|
const requestBuilder = new RequestBuilder({
|
|
323
|
-
baseConfig: this.
|
|
350
|
+
baseConfig: this.baseRequestConfig,
|
|
324
351
|
requestConfig
|
|
325
352
|
});
|
|
326
353
|
const request = requestBuilder.makeContentType().makeAuth().makeUrl().makeMethod().makeParams().makeData().makeSerializer().build();
|
|
354
|
+
if (this.baseRequestConfig.logger) {
|
|
355
|
+
loggerHelper.logRequest(request);
|
|
356
|
+
}
|
|
327
357
|
return import_axios.default.request(request).then((response) => {
|
|
328
|
-
if (this.
|
|
358
|
+
if (this.baseRequestConfig.logger) {
|
|
329
359
|
loggerHelper.logResponse(response);
|
|
330
360
|
}
|
|
361
|
+
if (responseConfig.raw) {
|
|
362
|
+
return loggerHelper.makeResponse({ response });
|
|
363
|
+
}
|
|
331
364
|
return response.data;
|
|
332
365
|
}).catch((error) => {
|
|
333
366
|
var _a;
|
|
334
|
-
if (this.
|
|
367
|
+
if (this.baseRequestConfig.debug) {
|
|
335
368
|
console.log("Error:", error);
|
|
336
369
|
}
|
|
337
|
-
if (this.
|
|
370
|
+
if (this.baseRequestConfig.logger) {
|
|
338
371
|
loggerHelper.logRequestError(error);
|
|
339
372
|
}
|
|
373
|
+
if (responseConfig.raw) {
|
|
374
|
+
return loggerHelper.makeResponse({ error });
|
|
375
|
+
}
|
|
340
376
|
throw ((_a = error.response) == null ? void 0 : _a.data) || error.response || new Error(error.message);
|
|
341
377
|
});
|
|
342
378
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/logger.ts","../src/helper.ts"],"sourcesContent":["export * from './builder';\nexport * from './data-source';\nexport * from './helper';\nexport * from './types';\n","import { AxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\nimport { BaseRequestConfig, HttpMethods, RequestConfig } from './types';\n\nexport class RequestBuilder {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n config: AxiosRequestConfig;\n\n constructor(params: {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n }) {\n this.baseConfig = params.baseConfig;\n this.requestConfig = params.requestConfig;\n this.config = {\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...params.baseConfig.headers,\n ...params.requestConfig.headers,\n },\n };\n }\n\n makeContentType() {\n if (this.requestConfig.multipart) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'multipart/form-data',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.xml) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'text/xml',\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeAuth() {\n const auth = this.requestConfig.auth || this.baseConfig.auth;\n\n if (auth) {\n this.config = {\n ...this.config,\n auth,\n };\n\n return this;\n }\n\n const bearerToken =\n this.requestConfig.bearerToken || this.baseConfig.bearerToken;\n\n if (bearerToken) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n Authorization: `Bearer ${bearerToken}`,\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeUrl() {\n const baseUrlMap =\n this.requestConfig.baseUrlMap || this.baseConfig.baseUrlMap;\n const baseUrlName =\n this.requestConfig.baseUrlName || this.baseConfig.baseUrlName;\n\n const urlParts = [\n baseUrlMap && baseUrlName\n ? baseUrlMap[baseUrlName]\n : this.baseConfig.baseUrl,\n this.baseConfig.url,\n ...(this.baseConfig.urlParts || []),\n this.requestConfig.baseUrl,\n this.requestConfig.url,\n ...(this.requestConfig.urlParts || []),\n ].map((urlPart) => urlPart?.toString());\n\n const isSecureProtocol = urlParts.some(\n (urlPart) => urlPart?.includes('https'),\n );\n const protocol = isSecureProtocol ? 'https' : 'http';\n\n const actualUrlParts = urlParts\n .filter((urlPart) => urlPart)\n .map((urlPart) => {\n return urlPart?.replace(/^(https?:\\/\\/|\\/)?(.*?)(\\/?)$/, '$2');\n });\n\n const url = `${protocol}://${actualUrlParts.join('/')}`;\n\n this.config = {\n ...this.config,\n url,\n };\n\n return this;\n }\n\n makeMethod() {\n this.config = {\n ...this.config,\n method: this.requestConfig.method,\n };\n\n return this;\n }\n\n makeData() {\n if (this.requestConfig.method === HttpMethods.GET) {\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n data: stringify(this.requestConfig.data),\n };\n\n return this;\n }\n\n this.config = {\n ...this.config,\n data: this.requestConfig.data,\n };\n\n return this;\n }\n\n makeParams() {\n this.config = {\n ...this.config,\n params: this.requestConfig.params,\n };\n\n return this;\n }\n\n makeSerializer() {\n this.config = {\n ...this.config,\n paramsSerializer: (params: any) => {\n return stringify(params, {\n arrayFormat: this.baseConfig.serializer?.array,\n });\n },\n };\n\n return this;\n }\n\n build() {\n return this.config;\n }\n}\n","import { AxiosRequestConfig } from 'axios';\n\nexport type RequestParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfigParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfig = Omit<AxiosRequestConfig, 'baseURL' | 'url'> & {\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {\n name?: string;\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n debug?: boolean;\n logger?: boolean;\n serializer?: {\n array?: 'indices' | 'brackets' | 'repeat' | 'comma';\n };\n};\n\nexport enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NO_CONTENT = 204,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n CONFLICT = 409,\n INTERNAL_SERVER_ERROR = 500,\n}\n","import axios, { AxiosError, AxiosResponse } from 'axios';\nimport { RequestBuilder } from './builder';\nimport {\n BaseRequestConfig,\n HttpMethods,\n RequestConfig,\n RequestConfigParams,\n} from './types';\nimport { loggerHelper } from './logger/logger';\n\nexport class RequestDataSource<\n Entity extends Record<string, any> = any,\n SearchParams extends RequestConfigParams = any,\n SearchResponse extends Record<string, any> = any,\n CreateParams extends RequestConfigParams = any,\n UpdateParams extends RequestConfigParams = any,\n> {\n baseConfig: BaseRequestConfig;\n\n constructor(baseConfig: BaseRequestConfig) {\n this.baseConfig = baseConfig;\n }\n\n common<T>(requestConfig: RequestConfig) {\n const requestBuilder = new RequestBuilder({\n baseConfig: this.baseConfig,\n requestConfig,\n });\n\n const request = requestBuilder\n .makeContentType()\n .makeAuth()\n .makeUrl()\n .makeMethod()\n .makeParams()\n .makeData()\n .makeSerializer()\n .build();\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n if (this.baseConfig.logger) {\n loggerHelper.logResponse(response as any);\n }\n\n return response.data;\n })\n .catch((error: AxiosError) => {\n if (this.baseConfig.debug) {\n console.log('Error:', error);\n }\n\n if (this.baseConfig.logger) {\n loggerHelper.logRequestError(error as any);\n }\n\n throw (\n error.response?.data || error.response || new Error(error.message)\n );\n });\n }\n\n search(config: SearchParams = {} as SearchParams) {\n return this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n get(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.GET,\n url: id,\n });\n }\n\n create(config: CreateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.POST,\n });\n }\n\n bulkCreate(config: CreateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.POST,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n update(id: number | string, config: UpdateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.PUT,\n url: id,\n });\n }\n\n bulkUpdate(config: UpdateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.PUT,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n remove(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<void>({\n ...config,\n method: HttpMethods.DELETE,\n url: id,\n });\n }\n}\n","import { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\ntype LoggerDto = {\n request?: InternalAxiosRequestConfig & Request;\n response?: AxiosResponse & Response;\n error?: AxiosError;\n};\n\nconst makeType = (type: string) => {\n return `[${type}]`;\n};\n\nconst makeUrl = (dto: LoggerDto = {}) => {\n const url =\n dto.request?.url ||\n dto.response?.config?.url ||\n dto.error?.response?.config.url;\n\n const params =\n dto.request?.params ||\n dto.response?.config?.params ||\n dto.error?.response?.config.params;\n\n if (!url) {\n return '';\n }\n\n if (params) {\n delete params['0'];\n return [url, stringify(params)].filter((_) => _).join('?');\n } else {\n return url;\n }\n};\n\nconst makeMethod = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return '';\n }\n\n return method.toUpperCase();\n};\n\nconst makeRequestData = (dto: LoggerDto = {}) => {\n const data =\n dto.request?.body ||\n dto.request?.data ||\n dto.response?.config?.data ||\n dto.error?.response?.config.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeResponseData = (dto: LoggerDto = {}) => {\n const data = dto.response?.data || dto.error?.response?.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeStatus = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return '';\n }\n\n const statusText =\n dto.response?.statusText || dto.error?.response?.statusText;\n\n if (statusText) {\n return `${status} ${statusText}`;\n }\n\n return `${status}`;\n};\n\nconst logRequest = (request: InternalAxiosRequestConfig & Request) => {\n log([\n makeType('Request'),\n makeMethod({ request }),\n makeUrl({ request }),\n makeRequestData({ request }),\n ]);\n};\n\nconst logResponse = (response: AxiosResponse & Response) => {\n log([\n makeType('Response'),\n makeMethod({ response }),\n makeUrl({ response }),\n makeRequestData({ response }),\n makeStatus({ response }),\n makeResponseData({ response }),\n ]);\n};\n\nconst logRequestError = (error: AxiosError) => {\n log([\n makeType('Error'),\n makeMethod({ error }),\n makeUrl({ error }),\n makeRequestData({ error }),\n makeStatus({ error }),\n makeResponseData({ error }),\n ]);\n};\n\nconst log = (messageParts: string[]) => {\n const message = messageParts.filter((_) => _).join(' ');\n\n console.log(message);\n};\n\nexport const loggerHelper = {\n makeType,\n makeUrl,\n makeMethod,\n makeRequestData,\n makeResponseData,\n makeStatus,\n logRequest,\n logResponse,\n logRequestError,\n};\n","export class RequestHelper {\n sleep(seconds: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, seconds * 1000);\n });\n }\n}\n"],"mappings":"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","names":["HttpMethods","HttpStatuses","import_qs","axios"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/logger.ts","../src/helper.ts"],"sourcesContent":["export * from './builder';\nexport * from './data-source';\nexport * from './helper';\nexport * from './types';\n","import { AxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\nimport { BaseRequestConfig, HttpMethods, RequestConfig } from './types';\n\nexport class RequestBuilder {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n config: AxiosRequestConfig;\n\n constructor(params: {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n }) {\n this.baseConfig = params.baseConfig;\n this.requestConfig = params.requestConfig;\n this.config = {\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...params.baseConfig.headers,\n ...params.requestConfig.headers,\n },\n };\n }\n\n makeContentType() {\n if (this.requestConfig.multipart) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'multipart/form-data',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.xml) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'text/xml',\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeAuth() {\n const auth = this.requestConfig.auth || this.baseConfig.auth;\n\n if (auth) {\n this.config = {\n ...this.config,\n auth,\n };\n\n return this;\n }\n\n const bearerToken =\n this.requestConfig.bearerToken || this.baseConfig.bearerToken;\n\n if (bearerToken) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n Authorization: `Bearer ${bearerToken}`,\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeUrl() {\n const baseUrlMap =\n this.requestConfig.baseUrlMap || this.baseConfig.baseUrlMap;\n const baseUrlName =\n this.requestConfig.baseUrlName || this.baseConfig.baseUrlName;\n\n const urlParts = [\n baseUrlMap && baseUrlName\n ? baseUrlMap[baseUrlName]\n : this.baseConfig.baseUrl,\n this.baseConfig.url,\n ...(this.baseConfig.urlParts || []),\n this.requestConfig.baseUrl,\n this.requestConfig.url,\n ...(this.requestConfig.urlParts || []),\n ].map((urlPart) => urlPart?.toString());\n\n const isSecureProtocol = urlParts.some(\n (urlPart) => urlPart?.includes('https'),\n );\n const protocol = isSecureProtocol ? 'https' : 'http';\n\n const actualUrlParts = urlParts\n .filter((urlPart) => urlPart)\n .map((urlPart) => {\n return urlPart?.replace(/^(https?:\\/\\/|\\/)?(.*?)(\\/?)$/, '$2');\n });\n\n const url = `${protocol}://${actualUrlParts.join('/')}`;\n\n this.config = {\n ...this.config,\n url,\n };\n\n return this;\n }\n\n makeMethod() {\n this.config = {\n ...this.config,\n method: this.requestConfig.method,\n };\n\n return this;\n }\n\n makeData() {\n if (this.requestConfig.method === HttpMethods.GET) {\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n data: stringify(this.requestConfig.data),\n };\n\n return this;\n }\n\n this.config = {\n ...this.config,\n data: this.requestConfig.data,\n };\n\n return this;\n }\n\n makeParams() {\n this.config = {\n ...this.config,\n params: this.requestConfig.params,\n };\n\n return this;\n }\n\n makeSerializer() {\n this.config = {\n ...this.config,\n paramsSerializer: (params: any) => {\n return stringify(params, {\n arrayFormat: this.baseConfig.serializer?.array,\n });\n },\n };\n\n return this;\n }\n\n build() {\n return this.config;\n }\n}\n","import { AxiosRequestConfig } from 'axios';\n\nexport type RequestParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfigParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfig = Omit<AxiosRequestConfig, 'baseURL' | 'url'> & {\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {\n name?: string;\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n debug?: boolean;\n logger?: boolean;\n serializer?: {\n array?: 'indices' | 'brackets' | 'repeat' | 'comma';\n };\n};\n\nexport type ResponseConfig = {\n raw?: boolean;\n};\n\nexport type RawResponse<T> = {\n status: HttpStatuses;\n method: HttpMethods;\n data: T;\n};\n\nexport enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NO_CONTENT = 204,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n CONFLICT = 409,\n INTERNAL_SERVER_ERROR = 500,\n}\n","import axios, { AxiosError, AxiosResponse } from 'axios';\nimport { RequestBuilder } from './builder';\nimport {\n BaseRequestConfig,\n HttpMethods,\n RequestConfig,\n RequestConfigParams,\n ResponseConfig,\n RawResponse,\n} from './types';\nimport { loggerHelper } from './logger/logger';\n\nexport class RequestDataSource<\n Entity extends Record<string, any> = any,\n SearchParams extends RequestConfigParams = any,\n SearchResponse extends Record<string, any> = any,\n CreateParams extends RequestConfigParams = any,\n UpdateParams extends RequestConfigParams = any,\n> {\n baseRequestConfig: BaseRequestConfig;\n\n constructor(baseRequestConfig: BaseRequestConfig) {\n this.baseRequestConfig = baseRequestConfig;\n }\n\n common<T>(requestConfig: RequestConfig): Promise<T>;\n\n common<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig,\n ): Promise<RawResponse<T>>;\n\n common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const requestBuilder = new RequestBuilder({\n baseConfig: this.baseRequestConfig,\n requestConfig,\n });\n\n const request = requestBuilder\n .makeContentType()\n .makeAuth()\n .makeUrl()\n .makeMethod()\n .makeParams()\n .makeData()\n .makeSerializer()\n .build();\n\n if (this.baseRequestConfig.logger) {\n loggerHelper.logRequest(request as any);\n }\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n if (this.baseRequestConfig.logger) {\n loggerHelper.logResponse(response as any);\n }\n\n if (responseConfig.raw) {\n return loggerHelper.makeResponse<T>({ response } as any);\n }\n\n return response.data;\n })\n .catch((error: AxiosError) => {\n if (this.baseRequestConfig.debug) {\n console.log('Error:', error);\n }\n\n if (this.baseRequestConfig.logger) {\n loggerHelper.logRequestError(error as any);\n }\n\n if (responseConfig.raw) {\n return loggerHelper.makeResponse<T>({ error } as any);\n }\n\n throw (\n error.response?.data || error.response || new Error(error.message)\n );\n });\n }\n\n search(config: SearchParams = {} as SearchParams) {\n return this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n get(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.GET,\n url: id,\n });\n }\n\n create(config: CreateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.POST,\n });\n }\n\n bulkCreate(config: CreateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.POST,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n update(id: number | string, config: UpdateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.PUT,\n url: id,\n });\n }\n\n bulkUpdate(config: UpdateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.PUT,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n remove(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<void>({\n ...config,\n method: HttpMethods.DELETE,\n url: id,\n });\n }\n}\n","import { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\nimport { HttpMethods, HttpStatuses } from '../types';\n\ntype LoggerDto = {\n request?: InternalAxiosRequestConfig & Request;\n response?: AxiosResponse & Response;\n error?: AxiosError;\n};\n\nconst makeType = (type: string) => {\n return `[${type}]`;\n};\n\nconst makeUrl = (dto: LoggerDto = {}) => {\n const url =\n dto.request?.url ||\n dto.response?.config?.url ||\n dto.error?.response?.config.url;\n\n const params =\n dto.request?.params ||\n dto.response?.config?.params ||\n dto.error?.response?.config.params;\n\n if (!url) {\n return '';\n }\n\n if (params) {\n delete params['0'];\n return [url, stringify(params)].filter((_) => _).join('?');\n } else {\n return url;\n }\n};\n\nconst makeMethod = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return HttpMethods.GET;\n }\n\n return method.toLowerCase() as HttpMethods;\n};\n\nconst makeMethodText = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return '';\n }\n\n return method.toUpperCase();\n};\n\nconst makeRequestData = (dto: LoggerDto = {}) => {\n const data =\n dto.request?.body ||\n dto.request?.data ||\n dto.response?.config?.data ||\n dto.error?.response?.config.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeResponseData = (dto: LoggerDto = {}) => {\n const data = dto.response?.data || dto.error?.response?.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeStatus = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return HttpStatuses.INTERNAL_SERVER_ERROR;\n }\n\n return status as HttpStatuses;\n};\n\nconst makeStatusText = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return '';\n }\n\n const statusText =\n dto.response?.statusText || dto.error?.response?.statusText;\n\n if (statusText) {\n return `${status} ${statusText}`;\n }\n\n return `${status}`;\n};\n\nconst makeResponse = <T>(dto: LoggerDto = {}) => {\n return {\n success: dto.error === undefined,\n status: makeStatus(dto),\n method: makeMethod(dto),\n data: makeResponseData(dto) as T,\n };\n};\n\nconst logRequest = (request: InternalAxiosRequestConfig & Request) => {\n log([\n makeType('Request'),\n makeMethodText({ request }),\n makeUrl({ request }),\n makeRequestData({ request }),\n ]);\n};\n\nconst logResponse = (response: AxiosResponse & Response) => {\n log([\n makeType('Response'),\n makeMethodText({ response }),\n makeUrl({ response }),\n makeRequestData({ response }),\n makeStatusText({ response }),\n makeResponseData({ response }),\n ]);\n};\n\nconst logRequestError = (error: AxiosError) => {\n log([\n makeType('Error'),\n makeMethodText({ error }),\n makeUrl({ error }),\n makeRequestData({ error }),\n makeStatusText({ error }),\n makeResponseData({ error }),\n ]);\n};\n\nconst log = (messageParts: string[]) => {\n const message = messageParts.filter((_) => _).join(' ');\n\n console.log(message);\n};\n\nexport const loggerHelper = {\n makeType,\n makeUrl,\n makeMethod,\n makeMethodText,\n makeRequestData,\n makeResponseData,\n makeStatus,\n makeStatusText,\n makeResponse,\n logRequest,\n logResponse,\n logRequestError,\n};\n","export class RequestHelper {\n sleep(seconds: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, seconds * 1000);\n });\n }\n}\n"],"mappings":"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","names":["HttpMethods","HttpStatuses","import_qs","axios"]}
|
package/dist/index.mjs
CHANGED
|
@@ -191,6 +191,14 @@ var makeUrl = (dto = {}) => {
|
|
|
191
191
|
}
|
|
192
192
|
};
|
|
193
193
|
var makeMethod = (dto = {}) => {
|
|
194
|
+
var _a, _b, _c, _d, _e;
|
|
195
|
+
const method = ((_a = dto.request) == null ? void 0 : _a.method) || ((_c = (_b = dto.response) == null ? void 0 : _b.config) == null ? void 0 : _c.method) || ((_e = (_d = dto.error) == null ? void 0 : _d.response) == null ? void 0 : _e.config.method);
|
|
196
|
+
if (!method) {
|
|
197
|
+
return "get" /* GET */;
|
|
198
|
+
}
|
|
199
|
+
return method.toLowerCase();
|
|
200
|
+
};
|
|
201
|
+
var makeMethodText = (dto = {}) => {
|
|
194
202
|
var _a, _b, _c, _d, _e;
|
|
195
203
|
const method = ((_a = dto.request) == null ? void 0 : _a.method) || ((_c = (_b = dto.response) == null ? void 0 : _b.config) == null ? void 0 : _c.method) || ((_e = (_d = dto.error) == null ? void 0 : _d.response) == null ? void 0 : _e.config.method);
|
|
196
204
|
if (!method) {
|
|
@@ -221,6 +229,14 @@ var makeResponseData = (dto = {}) => {
|
|
|
221
229
|
return JSON.stringify(data);
|
|
222
230
|
};
|
|
223
231
|
var makeStatus = (dto = {}) => {
|
|
232
|
+
var _a, _b, _c;
|
|
233
|
+
const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
|
|
234
|
+
if (!status) {
|
|
235
|
+
return 500 /* INTERNAL_SERVER_ERROR */;
|
|
236
|
+
}
|
|
237
|
+
return status;
|
|
238
|
+
};
|
|
239
|
+
var makeStatusText = (dto = {}) => {
|
|
224
240
|
var _a, _b, _c, _d, _e, _f;
|
|
225
241
|
const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
|
|
226
242
|
if (!status) {
|
|
@@ -232,10 +248,18 @@ var makeStatus = (dto = {}) => {
|
|
|
232
248
|
}
|
|
233
249
|
return `${status}`;
|
|
234
250
|
};
|
|
251
|
+
var makeResponse = (dto = {}) => {
|
|
252
|
+
return {
|
|
253
|
+
success: dto.error === void 0,
|
|
254
|
+
status: makeStatus(dto),
|
|
255
|
+
method: makeMethod(dto),
|
|
256
|
+
data: makeResponseData(dto)
|
|
257
|
+
};
|
|
258
|
+
};
|
|
235
259
|
var logRequest = (request) => {
|
|
236
260
|
log([
|
|
237
261
|
makeType("Request"),
|
|
238
|
-
|
|
262
|
+
makeMethodText({ request }),
|
|
239
263
|
makeUrl({ request }),
|
|
240
264
|
makeRequestData({ request })
|
|
241
265
|
]);
|
|
@@ -243,20 +267,20 @@ var logRequest = (request) => {
|
|
|
243
267
|
var logResponse = (response) => {
|
|
244
268
|
log([
|
|
245
269
|
makeType("Response"),
|
|
246
|
-
|
|
270
|
+
makeMethodText({ response }),
|
|
247
271
|
makeUrl({ response }),
|
|
248
272
|
makeRequestData({ response }),
|
|
249
|
-
|
|
273
|
+
makeStatusText({ response }),
|
|
250
274
|
makeResponseData({ response })
|
|
251
275
|
]);
|
|
252
276
|
};
|
|
253
277
|
var logRequestError = (error) => {
|
|
254
278
|
log([
|
|
255
279
|
makeType("Error"),
|
|
256
|
-
|
|
280
|
+
makeMethodText({ error }),
|
|
257
281
|
makeUrl({ error }),
|
|
258
282
|
makeRequestData({ error }),
|
|
259
|
-
|
|
283
|
+
makeStatusText({ error }),
|
|
260
284
|
makeResponseData({ error })
|
|
261
285
|
]);
|
|
262
286
|
};
|
|
@@ -268,9 +292,12 @@ var loggerHelper = {
|
|
|
268
292
|
makeType,
|
|
269
293
|
makeUrl,
|
|
270
294
|
makeMethod,
|
|
295
|
+
makeMethodText,
|
|
271
296
|
makeRequestData,
|
|
272
297
|
makeResponseData,
|
|
273
298
|
makeStatus,
|
|
299
|
+
makeStatusText,
|
|
300
|
+
makeResponse,
|
|
274
301
|
logRequest,
|
|
275
302
|
logResponse,
|
|
276
303
|
logRequestError
|
|
@@ -278,28 +305,37 @@ var loggerHelper = {
|
|
|
278
305
|
|
|
279
306
|
// src/data-source.ts
|
|
280
307
|
var RequestDataSource = class {
|
|
281
|
-
constructor(
|
|
282
|
-
this.
|
|
308
|
+
constructor(baseRequestConfig) {
|
|
309
|
+
this.baseRequestConfig = baseRequestConfig;
|
|
283
310
|
}
|
|
284
|
-
common(requestConfig) {
|
|
311
|
+
common(requestConfig, responseConfig = {}) {
|
|
285
312
|
const requestBuilder = new RequestBuilder({
|
|
286
|
-
baseConfig: this.
|
|
313
|
+
baseConfig: this.baseRequestConfig,
|
|
287
314
|
requestConfig
|
|
288
315
|
});
|
|
289
316
|
const request = requestBuilder.makeContentType().makeAuth().makeUrl().makeMethod().makeParams().makeData().makeSerializer().build();
|
|
317
|
+
if (this.baseRequestConfig.logger) {
|
|
318
|
+
loggerHelper.logRequest(request);
|
|
319
|
+
}
|
|
290
320
|
return axios.request(request).then((response) => {
|
|
291
|
-
if (this.
|
|
321
|
+
if (this.baseRequestConfig.logger) {
|
|
292
322
|
loggerHelper.logResponse(response);
|
|
293
323
|
}
|
|
324
|
+
if (responseConfig.raw) {
|
|
325
|
+
return loggerHelper.makeResponse({ response });
|
|
326
|
+
}
|
|
294
327
|
return response.data;
|
|
295
328
|
}).catch((error) => {
|
|
296
329
|
var _a;
|
|
297
|
-
if (this.
|
|
330
|
+
if (this.baseRequestConfig.debug) {
|
|
298
331
|
console.log("Error:", error);
|
|
299
332
|
}
|
|
300
|
-
if (this.
|
|
333
|
+
if (this.baseRequestConfig.logger) {
|
|
301
334
|
loggerHelper.logRequestError(error);
|
|
302
335
|
}
|
|
336
|
+
if (responseConfig.raw) {
|
|
337
|
+
return loggerHelper.makeResponse({ error });
|
|
338
|
+
}
|
|
303
339
|
throw ((_a = error.response) == null ? void 0 : _a.data) || error.response || new Error(error.message);
|
|
304
340
|
});
|
|
305
341
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/logger.ts","../src/helper.ts"],"sourcesContent":["import { AxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\nimport { BaseRequestConfig, HttpMethods, RequestConfig } from './types';\n\nexport class RequestBuilder {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n config: AxiosRequestConfig;\n\n constructor(params: {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n }) {\n this.baseConfig = params.baseConfig;\n this.requestConfig = params.requestConfig;\n this.config = {\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...params.baseConfig.headers,\n ...params.requestConfig.headers,\n },\n };\n }\n\n makeContentType() {\n if (this.requestConfig.multipart) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'multipart/form-data',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.xml) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'text/xml',\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeAuth() {\n const auth = this.requestConfig.auth || this.baseConfig.auth;\n\n if (auth) {\n this.config = {\n ...this.config,\n auth,\n };\n\n return this;\n }\n\n const bearerToken =\n this.requestConfig.bearerToken || this.baseConfig.bearerToken;\n\n if (bearerToken) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n Authorization: `Bearer ${bearerToken}`,\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeUrl() {\n const baseUrlMap =\n this.requestConfig.baseUrlMap || this.baseConfig.baseUrlMap;\n const baseUrlName =\n this.requestConfig.baseUrlName || this.baseConfig.baseUrlName;\n\n const urlParts = [\n baseUrlMap && baseUrlName\n ? baseUrlMap[baseUrlName]\n : this.baseConfig.baseUrl,\n this.baseConfig.url,\n ...(this.baseConfig.urlParts || []),\n this.requestConfig.baseUrl,\n this.requestConfig.url,\n ...(this.requestConfig.urlParts || []),\n ].map((urlPart) => urlPart?.toString());\n\n const isSecureProtocol = urlParts.some(\n (urlPart) => urlPart?.includes('https'),\n );\n const protocol = isSecureProtocol ? 'https' : 'http';\n\n const actualUrlParts = urlParts\n .filter((urlPart) => urlPart)\n .map((urlPart) => {\n return urlPart?.replace(/^(https?:\\/\\/|\\/)?(.*?)(\\/?)$/, '$2');\n });\n\n const url = `${protocol}://${actualUrlParts.join('/')}`;\n\n this.config = {\n ...this.config,\n url,\n };\n\n return this;\n }\n\n makeMethod() {\n this.config = {\n ...this.config,\n method: this.requestConfig.method,\n };\n\n return this;\n }\n\n makeData() {\n if (this.requestConfig.method === HttpMethods.GET) {\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n data: stringify(this.requestConfig.data),\n };\n\n return this;\n }\n\n this.config = {\n ...this.config,\n data: this.requestConfig.data,\n };\n\n return this;\n }\n\n makeParams() {\n this.config = {\n ...this.config,\n params: this.requestConfig.params,\n };\n\n return this;\n }\n\n makeSerializer() {\n this.config = {\n ...this.config,\n paramsSerializer: (params: any) => {\n return stringify(params, {\n arrayFormat: this.baseConfig.serializer?.array,\n });\n },\n };\n\n return this;\n }\n\n build() {\n return this.config;\n }\n}\n","import { AxiosRequestConfig } from 'axios';\n\nexport type RequestParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfigParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfig = Omit<AxiosRequestConfig, 'baseURL' | 'url'> & {\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {\n name?: string;\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n debug?: boolean;\n logger?: boolean;\n serializer?: {\n array?: 'indices' | 'brackets' | 'repeat' | 'comma';\n };\n};\n\nexport enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NO_CONTENT = 204,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n CONFLICT = 409,\n INTERNAL_SERVER_ERROR = 500,\n}\n","import axios, { AxiosError, AxiosResponse } from 'axios';\nimport { RequestBuilder } from './builder';\nimport {\n BaseRequestConfig,\n HttpMethods,\n RequestConfig,\n RequestConfigParams,\n} from './types';\nimport { loggerHelper } from './logger/logger';\n\nexport class RequestDataSource<\n Entity extends Record<string, any> = any,\n SearchParams extends RequestConfigParams = any,\n SearchResponse extends Record<string, any> = any,\n CreateParams extends RequestConfigParams = any,\n UpdateParams extends RequestConfigParams = any,\n> {\n baseConfig: BaseRequestConfig;\n\n constructor(baseConfig: BaseRequestConfig) {\n this.baseConfig = baseConfig;\n }\n\n common<T>(requestConfig: RequestConfig) {\n const requestBuilder = new RequestBuilder({\n baseConfig: this.baseConfig,\n requestConfig,\n });\n\n const request = requestBuilder\n .makeContentType()\n .makeAuth()\n .makeUrl()\n .makeMethod()\n .makeParams()\n .makeData()\n .makeSerializer()\n .build();\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n if (this.baseConfig.logger) {\n loggerHelper.logResponse(response as any);\n }\n\n return response.data;\n })\n .catch((error: AxiosError) => {\n if (this.baseConfig.debug) {\n console.log('Error:', error);\n }\n\n if (this.baseConfig.logger) {\n loggerHelper.logRequestError(error as any);\n }\n\n throw (\n error.response?.data || error.response || new Error(error.message)\n );\n });\n }\n\n search(config: SearchParams = {} as SearchParams) {\n return this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n get(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.GET,\n url: id,\n });\n }\n\n create(config: CreateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.POST,\n });\n }\n\n bulkCreate(config: CreateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.POST,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n update(id: number | string, config: UpdateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.PUT,\n url: id,\n });\n }\n\n bulkUpdate(config: UpdateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.PUT,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n remove(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<void>({\n ...config,\n method: HttpMethods.DELETE,\n url: id,\n });\n }\n}\n","import { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\ntype LoggerDto = {\n request?: InternalAxiosRequestConfig & Request;\n response?: AxiosResponse & Response;\n error?: AxiosError;\n};\n\nconst makeType = (type: string) => {\n return `[${type}]`;\n};\n\nconst makeUrl = (dto: LoggerDto = {}) => {\n const url =\n dto.request?.url ||\n dto.response?.config?.url ||\n dto.error?.response?.config.url;\n\n const params =\n dto.request?.params ||\n dto.response?.config?.params ||\n dto.error?.response?.config.params;\n\n if (!url) {\n return '';\n }\n\n if (params) {\n delete params['0'];\n return [url, stringify(params)].filter((_) => _).join('?');\n } else {\n return url;\n }\n};\n\nconst makeMethod = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return '';\n }\n\n return method.toUpperCase();\n};\n\nconst makeRequestData = (dto: LoggerDto = {}) => {\n const data =\n dto.request?.body ||\n dto.request?.data ||\n dto.response?.config?.data ||\n dto.error?.response?.config.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeResponseData = (dto: LoggerDto = {}) => {\n const data = dto.response?.data || dto.error?.response?.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeStatus = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return '';\n }\n\n const statusText =\n dto.response?.statusText || dto.error?.response?.statusText;\n\n if (statusText) {\n return `${status} ${statusText}`;\n }\n\n return `${status}`;\n};\n\nconst logRequest = (request: InternalAxiosRequestConfig & Request) => {\n log([\n makeType('Request'),\n makeMethod({ request }),\n makeUrl({ request }),\n makeRequestData({ request }),\n ]);\n};\n\nconst logResponse = (response: AxiosResponse & Response) => {\n log([\n makeType('Response'),\n makeMethod({ response }),\n makeUrl({ response }),\n makeRequestData({ response }),\n makeStatus({ response }),\n makeResponseData({ response }),\n ]);\n};\n\nconst logRequestError = (error: AxiosError) => {\n log([\n makeType('Error'),\n makeMethod({ error }),\n makeUrl({ error }),\n makeRequestData({ error }),\n makeStatus({ error }),\n makeResponseData({ error }),\n ]);\n};\n\nconst log = (messageParts: string[]) => {\n const message = messageParts.filter((_) => _).join(' ');\n\n console.log(message);\n};\n\nexport const loggerHelper = {\n makeType,\n makeUrl,\n makeMethod,\n makeRequestData,\n makeResponseData,\n makeStatus,\n logRequest,\n logResponse,\n logRequestError,\n};\n","export class RequestHelper {\n sleep(seconds: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, seconds * 1000);\n });\n }\n}\n"],"mappings":"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","names":["HttpMethods","HttpStatuses","stringify"]}
|
|
1
|
+
{"version":3,"sources":["../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/logger.ts","../src/helper.ts"],"sourcesContent":["import { AxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\n\nimport { BaseRequestConfig, HttpMethods, RequestConfig } from './types';\n\nexport class RequestBuilder {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n config: AxiosRequestConfig;\n\n constructor(params: {\n baseConfig: BaseRequestConfig;\n requestConfig: RequestConfig;\n }) {\n this.baseConfig = params.baseConfig;\n this.requestConfig = params.requestConfig;\n this.config = {\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n ...params.baseConfig.headers,\n ...params.requestConfig.headers,\n },\n };\n }\n\n makeContentType() {\n if (this.requestConfig.multipart) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'multipart/form-data',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n\n return this;\n }\n\n if (this.requestConfig.xml) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'Content-Type': 'text/xml',\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeAuth() {\n const auth = this.requestConfig.auth || this.baseConfig.auth;\n\n if (auth) {\n this.config = {\n ...this.config,\n auth,\n };\n\n return this;\n }\n\n const bearerToken =\n this.requestConfig.bearerToken || this.baseConfig.bearerToken;\n\n if (bearerToken) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n Authorization: `Bearer ${bearerToken}`,\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeUrl() {\n const baseUrlMap =\n this.requestConfig.baseUrlMap || this.baseConfig.baseUrlMap;\n const baseUrlName =\n this.requestConfig.baseUrlName || this.baseConfig.baseUrlName;\n\n const urlParts = [\n baseUrlMap && baseUrlName\n ? baseUrlMap[baseUrlName]\n : this.baseConfig.baseUrl,\n this.baseConfig.url,\n ...(this.baseConfig.urlParts || []),\n this.requestConfig.baseUrl,\n this.requestConfig.url,\n ...(this.requestConfig.urlParts || []),\n ].map((urlPart) => urlPart?.toString());\n\n const isSecureProtocol = urlParts.some(\n (urlPart) => urlPart?.includes('https'),\n );\n const protocol = isSecureProtocol ? 'https' : 'http';\n\n const actualUrlParts = urlParts\n .filter((urlPart) => urlPart)\n .map((urlPart) => {\n return urlPart?.replace(/^(https?:\\/\\/|\\/)?(.*?)(\\/?)$/, '$2');\n });\n\n const url = `${protocol}://${actualUrlParts.join('/')}`;\n\n this.config = {\n ...this.config,\n url,\n };\n\n return this;\n }\n\n makeMethod() {\n this.config = {\n ...this.config,\n method: this.requestConfig.method,\n };\n\n return this;\n }\n\n makeData() {\n if (this.requestConfig.method === HttpMethods.GET) {\n return this;\n }\n\n if (this.requestConfig.urlencoded) {\n this.config = {\n ...this.config,\n data: stringify(this.requestConfig.data),\n };\n\n return this;\n }\n\n this.config = {\n ...this.config,\n data: this.requestConfig.data,\n };\n\n return this;\n }\n\n makeParams() {\n this.config = {\n ...this.config,\n params: this.requestConfig.params,\n };\n\n return this;\n }\n\n makeSerializer() {\n this.config = {\n ...this.config,\n paramsSerializer: (params: any) => {\n return stringify(params, {\n arrayFormat: this.baseConfig.serializer?.array,\n });\n },\n };\n\n return this;\n }\n\n build() {\n return this.config;\n }\n}\n","import { AxiosRequestConfig } from 'axios';\n\nexport type RequestParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfigParams = Pick<AxiosRequestConfig, 'params' | 'data'>;\n\nexport type RequestConfig = Omit<AxiosRequestConfig, 'baseURL' | 'url'> & {\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers'> & {\n name?: string;\n baseUrl?: string;\n baseUrlName?: string;\n baseUrlMap?: Record<string, string>;\n url?: number | string;\n urlParts?: (number | string)[];\n bearerToken?: string;\n debug?: boolean;\n logger?: boolean;\n serializer?: {\n array?: 'indices' | 'brackets' | 'repeat' | 'comma';\n };\n};\n\nexport type ResponseConfig = {\n raw?: boolean;\n};\n\nexport type RawResponse<T> = {\n status: HttpStatuses;\n method: HttpMethods;\n data: T;\n};\n\nexport enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NO_CONTENT = 204,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n CONFLICT = 409,\n INTERNAL_SERVER_ERROR = 500,\n}\n","import axios, { AxiosError, AxiosResponse } from 'axios';\nimport { RequestBuilder } from './builder';\nimport {\n BaseRequestConfig,\n HttpMethods,\n RequestConfig,\n RequestConfigParams,\n ResponseConfig,\n RawResponse,\n} from './types';\nimport { loggerHelper } from './logger/logger';\n\nexport class RequestDataSource<\n Entity extends Record<string, any> = any,\n SearchParams extends RequestConfigParams = any,\n SearchResponse extends Record<string, any> = any,\n CreateParams extends RequestConfigParams = any,\n UpdateParams extends RequestConfigParams = any,\n> {\n baseRequestConfig: BaseRequestConfig;\n\n constructor(baseRequestConfig: BaseRequestConfig) {\n this.baseRequestConfig = baseRequestConfig;\n }\n\n common<T>(requestConfig: RequestConfig): Promise<T>;\n\n common<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig,\n ): Promise<RawResponse<T>>;\n\n common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const requestBuilder = new RequestBuilder({\n baseConfig: this.baseRequestConfig,\n requestConfig,\n });\n\n const request = requestBuilder\n .makeContentType()\n .makeAuth()\n .makeUrl()\n .makeMethod()\n .makeParams()\n .makeData()\n .makeSerializer()\n .build();\n\n if (this.baseRequestConfig.logger) {\n loggerHelper.logRequest(request as any);\n }\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n if (this.baseRequestConfig.logger) {\n loggerHelper.logResponse(response as any);\n }\n\n if (responseConfig.raw) {\n return loggerHelper.makeResponse<T>({ response } as any);\n }\n\n return response.data;\n })\n .catch((error: AxiosError) => {\n if (this.baseRequestConfig.debug) {\n console.log('Error:', error);\n }\n\n if (this.baseRequestConfig.logger) {\n loggerHelper.logRequestError(error as any);\n }\n\n if (responseConfig.raw) {\n return loggerHelper.makeResponse<T>({ error } as any);\n }\n\n throw (\n error.response?.data || error.response || new Error(error.message)\n );\n });\n }\n\n search(config: SearchParams = {} as SearchParams) {\n return this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n get(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.GET,\n url: id,\n });\n }\n\n create(config: CreateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.POST,\n });\n }\n\n bulkCreate(config: CreateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.POST,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n update(id: number | string, config: UpdateParams) {\n return this.common<Entity>({\n ...config,\n method: HttpMethods.PUT,\n url: id,\n });\n }\n\n bulkUpdate(config: UpdateParams) {\n return this.common<Entity[]>({\n ...config,\n method: HttpMethods.PUT,\n url: '/bulk',\n data: {\n bulk: config.data,\n },\n });\n }\n\n remove(id: number | string, config: SearchParams = {} as SearchParams) {\n return this.common<void>({\n ...config,\n method: HttpMethods.DELETE,\n url: id,\n });\n }\n}\n","import { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\nimport { HttpMethods, HttpStatuses } from '../types';\n\ntype LoggerDto = {\n request?: InternalAxiosRequestConfig & Request;\n response?: AxiosResponse & Response;\n error?: AxiosError;\n};\n\nconst makeType = (type: string) => {\n return `[${type}]`;\n};\n\nconst makeUrl = (dto: LoggerDto = {}) => {\n const url =\n dto.request?.url ||\n dto.response?.config?.url ||\n dto.error?.response?.config.url;\n\n const params =\n dto.request?.params ||\n dto.response?.config?.params ||\n dto.error?.response?.config.params;\n\n if (!url) {\n return '';\n }\n\n if (params) {\n delete params['0'];\n return [url, stringify(params)].filter((_) => _).join('?');\n } else {\n return url;\n }\n};\n\nconst makeMethod = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return HttpMethods.GET;\n }\n\n return method.toLowerCase() as HttpMethods;\n};\n\nconst makeMethodText = (dto: LoggerDto = {}) => {\n const method =\n dto.request?.method ||\n dto.response?.config?.method ||\n dto.error?.response?.config.method;\n\n if (!method) {\n return '';\n }\n\n return method.toUpperCase();\n};\n\nconst makeRequestData = (dto: LoggerDto = {}) => {\n const data =\n dto.request?.body ||\n dto.request?.data ||\n dto.response?.config?.data ||\n dto.error?.response?.config.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeResponseData = (dto: LoggerDto = {}) => {\n const data = dto.response?.data || dto.error?.response?.data;\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n};\n\nconst makeStatus = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return HttpStatuses.INTERNAL_SERVER_ERROR;\n }\n\n return status as HttpStatuses;\n};\n\nconst makeStatusText = (dto: LoggerDto = {}) => {\n const status = dto.response?.status || dto.error?.response?.status;\n\n if (!status) {\n return '';\n }\n\n const statusText =\n dto.response?.statusText || dto.error?.response?.statusText;\n\n if (statusText) {\n return `${status} ${statusText}`;\n }\n\n return `${status}`;\n};\n\nconst makeResponse = <T>(dto: LoggerDto = {}) => {\n return {\n success: dto.error === undefined,\n status: makeStatus(dto),\n method: makeMethod(dto),\n data: makeResponseData(dto) as T,\n };\n};\n\nconst logRequest = (request: InternalAxiosRequestConfig & Request) => {\n log([\n makeType('Request'),\n makeMethodText({ request }),\n makeUrl({ request }),\n makeRequestData({ request }),\n ]);\n};\n\nconst logResponse = (response: AxiosResponse & Response) => {\n log([\n makeType('Response'),\n makeMethodText({ response }),\n makeUrl({ response }),\n makeRequestData({ response }),\n makeStatusText({ response }),\n makeResponseData({ response }),\n ]);\n};\n\nconst logRequestError = (error: AxiosError) => {\n log([\n makeType('Error'),\n makeMethodText({ error }),\n makeUrl({ error }),\n makeRequestData({ error }),\n makeStatusText({ error }),\n makeResponseData({ error }),\n ]);\n};\n\nconst log = (messageParts: string[]) => {\n const message = messageParts.filter((_) => _).join(' ');\n\n console.log(message);\n};\n\nexport const loggerHelper = {\n makeType,\n makeUrl,\n makeMethod,\n makeMethodText,\n makeRequestData,\n makeResponseData,\n makeStatus,\n makeStatusText,\n makeResponse,\n logRequest,\n logResponse,\n logRequestError,\n};\n","export class RequestHelper {\n sleep(seconds: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, seconds * 1000);\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA,SAAS,iBAAiB;;;AC0CnB,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,UAAO;AACP,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,4BAAA,QAAK,OAAL;AACA,EAAAA,4BAAA,aAAU,OAAV;AACA,EAAAA,4BAAA,cAAW,OAAX;AACA,EAAAA,4BAAA,gBAAa,OAAb;AACA,EAAAA,4BAAA,iBAAc,OAAd;AACA,EAAAA,4BAAA,kBAAe,OAAf;AACA,EAAAA,4BAAA,eAAY,OAAZ;AACA,EAAAA,4BAAA,eAAY,OAAZ;AACA,EAAAA,4BAAA,cAAW,OAAX;AACA,EAAAA,4BAAA,2BAAwB,OAAxB;AAVU,SAAAA;AAAA,GAAA;;;AD7CL,IAAM,iBAAN,MAAqB;AAAA,EAK1B,YAAY,QAGT;AACD,SAAK,aAAa,OAAO;AACzB,SAAK,gBAAgB,OAAO;AAC5B,SAAK,SAAS;AAAA,MACZ,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,gBAAgB;AAAA,SACb,OAAO,WAAW,UAClB,OAAO,cAAc;AAAA,IAE5B;AAAA,EACF;AAAA,EAEA,kBAAkB;AAChB,QAAI,KAAK,cAAc,WAAW;AAChC,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ,SAAS,iCACJ,KAAK,OAAO,UADR;AAAA,UAEP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,cAAc,YAAY;AACjC,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ,SAAS,iCACJ,KAAK,OAAO,UADR;AAAA,UAEP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,cAAc,KAAK;AAC1B,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ,SAAS,iCACJ,KAAK,OAAO,UADR;AAAA,UAEP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,UAAM,OAAO,KAAK,cAAc,QAAQ,KAAK,WAAW;AAExD,QAAI,MAAM;AACR,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,UAAM,cACJ,KAAK,cAAc,eAAe,KAAK,WAAW;AAEpD,QAAI,aAAa;AACf,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ,SAAS,iCACJ,KAAK,OAAO,UADR;AAAA,UAEP,eAAe,UAAU,WAAW;AAAA,QACtC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU;AACR,UAAM,aACJ,KAAK,cAAc,cAAc,KAAK,WAAW;AACnD,UAAM,cACJ,KAAK,cAAc,eAAe,KAAK,WAAW;AAEpD,UAAM,WAAW;AAAA,MACf,cAAc,cACV,WAAW,WAAW,IACtB,KAAK,WAAW;AAAA,MACpB,KAAK,WAAW;AAAA,MAChB,GAAI,KAAK,WAAW,YAAY,CAAC;AAAA,MACjC,KAAK,cAAc;AAAA,MACnB,KAAK,cAAc;AAAA,MACnB,GAAI,KAAK,cAAc,YAAY,CAAC;AAAA,IACtC,EAAE,IAAI,CAAC,YAAY,mCAAS,UAAU;AAEtC,UAAM,mBAAmB,SAAS;AAAA,MAChC,CAAC,YAAY,mCAAS,SAAS;AAAA,IACjC;AACA,UAAM,WAAW,mBAAmB,UAAU;AAE9C,UAAM,iBAAiB,SACpB,OAAO,CAAC,YAAY,OAAO,EAC3B,IAAI,CAAC,YAAY;AAChB,aAAO,mCAAS,QAAQ,iCAAiC;AAAA,IAC3D,CAAC;AAEH,UAAM,MAAM,GAAG,QAAQ,MAAM,eAAe,KAAK,GAAG,CAAC;AAErD,SAAK,SAAS,iCACT,KAAK,SADI;AAAA,MAEZ;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,SAAS,iCACT,KAAK,SADI;AAAA,MAEZ,QAAQ,KAAK,cAAc;AAAA,IAC7B;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,QAAI,KAAK,cAAc,4BAA4B;AACjD,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,cAAc,YAAY;AACjC,WAAK,SAAS,iCACT,KAAK,SADI;AAAA,QAEZ,MAAM,UAAU,KAAK,cAAc,IAAI;AAAA,MACzC;AAEA,aAAO;AAAA,IACT;AAEA,SAAK,SAAS,iCACT,KAAK,SADI;AAAA,MAEZ,MAAM,KAAK,cAAc;AAAA,IAC3B;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,SAAS,iCACT,KAAK,SADI;AAAA,MAEZ,QAAQ,KAAK,cAAc;AAAA,IAC7B;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,SAAK,SAAS,iCACT,KAAK,SADI;AAAA,MAEZ,kBAAkB,CAAC,WAAgB;AAjLzC;AAkLQ,eAAO,UAAU,QAAQ;AAAA,UACvB,cAAa,UAAK,WAAW,eAAhB,mBAA4B;AAAA,QAC3C,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,WAAO,KAAK;AAAA,EACd;AACF;;;AE9LA,OAAO,WAA0C;;;ACCjD,SAAS,aAAAC,kBAAiB;AAS1B,IAAM,WAAW,CAAC,SAAiB;AACjC,SAAO,IAAI,IAAI;AACjB;AAEA,IAAM,UAAU,CAAC,MAAiB,CAAC,MAAM;AAdzC;AAeE,QAAM,QACJ,SAAI,YAAJ,mBAAa,UACb,eAAI,aAAJ,mBAAc,WAAd,mBAAsB,UACtB,eAAI,UAAJ,mBAAW,aAAX,mBAAqB,OAAO;AAE9B,QAAM,WACJ,SAAI,YAAJ,mBAAa,aACb,eAAI,aAAJ,mBAAc,WAAd,mBAAsB,aACtB,eAAI,UAAJ,mBAAW,aAAX,mBAAqB,OAAO;AAE9B,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ;AACV,WAAO,OAAO,GAAG;AACjB,WAAO,CAAC,KAAKC,WAAU,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EAC3D,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,IAAM,aAAa,CAAC,MAAiB,CAAC,MAAM;AArC5C;AAsCE,QAAM,WACJ,SAAI,YAAJ,mBAAa,aACb,eAAI,aAAJ,mBAAc,WAAd,mBAAsB,aACtB,eAAI,UAAJ,mBAAW,aAAX,mBAAqB,OAAO;AAE9B,MAAI,CAAC,QAAQ;AACX;AAAA,EACF;AAEA,SAAO,OAAO,YAAY;AAC5B;AAEA,IAAM,iBAAiB,CAAC,MAAiB,CAAC,MAAM;AAlDhD;AAmDE,QAAM,WACJ,SAAI,YAAJ,mBAAa,aACb,eAAI,aAAJ,mBAAc,WAAd,mBAAsB,aACtB,eAAI,UAAJ,mBAAW,aAAX,mBAAqB,OAAO;AAE9B,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,YAAY;AAC5B;AAEA,IAAM,kBAAkB,CAAC,MAAiB,CAAC,MAAM;AA/DjD;AAgEE,QAAM,SACJ,SAAI,YAAJ,mBAAa,WACb,SAAI,YAAJ,mBAAa,WACb,eAAI,aAAJ,mBAAc,WAAd,mBAAsB,WACtB,eAAI,UAAJ,mBAAW,aAAX,mBAAqB,OAAO;AAE9B,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,UAAU,IAAI;AAC5B;AAEA,IAAM,mBAAmB,CAAC,MAAiB,CAAC,MAAM;AAjFlD;AAkFE,QAAM,SAAO,SAAI,aAAJ,mBAAc,WAAQ,eAAI,UAAJ,mBAAW,aAAX,mBAAqB;AAExD,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,UAAU,IAAI;AAC5B;AAEA,IAAM,aAAa,CAAC,MAAiB,CAAC,MAAM;AA/F5C;AAgGE,QAAM,WAAS,SAAI,aAAJ,mBAAc,aAAU,eAAI,UAAJ,mBAAW,aAAX,mBAAqB;AAE5D,MAAI,CAAC,QAAQ;AACX;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,iBAAiB,CAAC,MAAiB,CAAC,MAAM;AAzGhD;AA0GE,QAAM,WAAS,SAAI,aAAJ,mBAAc,aAAU,eAAI,UAAJ,mBAAW,aAAX,mBAAqB;AAE5D,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AAEA,QAAM,eACJ,SAAI,aAAJ,mBAAc,iBAAc,eAAI,UAAJ,mBAAW,aAAX,mBAAqB;AAEnD,MAAI,YAAY;AACd,WAAO,GAAG,MAAM,IAAI,UAAU;AAAA,EAChC;AAEA,SAAO,GAAG,MAAM;AAClB;AAEA,IAAM,eAAe,CAAI,MAAiB,CAAC,MAAM;AAC/C,SAAO;AAAA,IACL,SAAS,IAAI,UAAU;AAAA,IACvB,QAAQ,WAAW,GAAG;AAAA,IACtB,QAAQ,WAAW,GAAG;AAAA,IACtB,MAAM,iBAAiB,GAAG;AAAA,EAC5B;AACF;AAEA,IAAM,aAAa,CAAC,YAAkD;AACpE,MAAI;AAAA,IACF,SAAS,SAAS;AAAA,IAClB,eAAe,EAAE,QAAQ,CAAC;AAAA,IAC1B,QAAQ,EAAE,QAAQ,CAAC;AAAA,IACnB,gBAAgB,EAAE,QAAQ,CAAC;AAAA,EAC7B,CAAC;AACH;AAEA,IAAM,cAAc,CAAC,aAAuC;AAC1D,MAAI;AAAA,IACF,SAAS,UAAU;AAAA,IACnB,eAAe,EAAE,SAAS,CAAC;AAAA,IAC3B,QAAQ,EAAE,SAAS,CAAC;AAAA,IACpB,gBAAgB,EAAE,SAAS,CAAC;AAAA,IAC5B,eAAe,EAAE,SAAS,CAAC;AAAA,IAC3B,iBAAiB,EAAE,SAAS,CAAC;AAAA,EAC/B,CAAC;AACH;AAEA,IAAM,kBAAkB,CAAC,UAAsB;AAC7C,MAAI;AAAA,IACF,SAAS,OAAO;AAAA,IAChB,eAAe,EAAE,MAAM,CAAC;AAAA,IACxB,QAAQ,EAAE,MAAM,CAAC;AAAA,IACjB,gBAAgB,EAAE,MAAM,CAAC;AAAA,IACzB,eAAe,EAAE,MAAM,CAAC;AAAA,IACxB,iBAAiB,EAAE,MAAM,CAAC;AAAA,EAC5B,CAAC;AACH;AAEA,IAAM,MAAM,CAAC,iBAA2B;AACtC,QAAM,UAAU,aAAa,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG;AAEtD,UAAQ,IAAI,OAAO;AACrB;AAEO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ADzKO,IAAM,oBAAN,MAML;AAAA,EAGA,YAAY,mBAAsC;AAChD,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EASA,OAAU,eAA8B,iBAAiC,CAAC,GAAG;AAC3E,UAAM,iBAAiB,IAAI,eAAe;AAAA,MACxC,YAAY,KAAK;AAAA,MACjB;AAAA,IACF,CAAC;AAED,UAAM,UAAU,eACb,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM;AAET,QAAI,KAAK,kBAAkB,QAAQ;AACjC,mBAAa,WAAW,OAAc;AAAA,IACxC;AAEA,WAAO,MACJ,QAAQ,OAAO,EACf,KAAK,CAAC,aAA+B;AACpC,UAAI,KAAK,kBAAkB,QAAQ;AACjC,qBAAa,YAAY,QAAe;AAAA,MAC1C;AAEA,UAAI,eAAe,KAAK;AACtB,eAAO,aAAa,aAAgB,EAAE,SAAS,CAAQ;AAAA,MACzD;AAEA,aAAO,SAAS;AAAA,IAClB,CAAC,EACA,MAAM,CAAC,UAAsB;AAjEpC;AAkEQ,UAAI,KAAK,kBAAkB,OAAO;AAChC,gBAAQ,IAAI,UAAU,KAAK;AAAA,MAC7B;AAEA,UAAI,KAAK,kBAAkB,QAAQ;AACjC,qBAAa,gBAAgB,KAAY;AAAA,MAC3C;AAEA,UAAI,eAAe,KAAK;AACtB,eAAO,aAAa,aAAgB,EAAE,MAAM,CAAQ;AAAA,MACtD;AAEA,cACE,WAAM,aAAN,mBAAgB,SAAQ,MAAM,YAAY,IAAI,MAAM,MAAM,OAAO;AAAA,IAErE,CAAC;AAAA,EACL;AAAA,EAEA,OAAO,SAAuB,CAAC,GAAmB;AAChD,WAAO,KAAK,OAAuB,iCAC9B,SAD8B;AAAA,MAEjC;AAAA,IACF,EAAC;AAAA,EACH;AAAA,EAEA,IAAI,IAAqB,SAAuB,CAAC,GAAmB;AAClE,WAAO,KAAK,OAAe,iCACtB,SADsB;AAAA,MAEzB;AAAA,MACA,KAAK;AAAA,IACP,EAAC;AAAA,EACH;AAAA,EAEA,OAAO,QAAsB;AAC3B,WAAO,KAAK,OAAe,iCACtB,SADsB;AAAA,MAEzB;AAAA,IACF,EAAC;AAAA,EACH;AAAA,EAEA,WAAW,QAAsB;AAC/B,WAAO,KAAK,OAAiB,iCACxB,SADwB;AAAA,MAE3B;AAAA,MACA,KAAK;AAAA,MACL,MAAM;AAAA,QACJ,MAAM,OAAO;AAAA,MACf;AAAA,IACF,EAAC;AAAA,EACH;AAAA,EAEA,OAAO,IAAqB,QAAsB;AAChD,WAAO,KAAK,OAAe,iCACtB,SADsB;AAAA,MAEzB;AAAA,MACA,KAAK;AAAA,IACP,EAAC;AAAA,EACH;AAAA,EAEA,WAAW,QAAsB;AAC/B,WAAO,KAAK,OAAiB,iCACxB,SADwB;AAAA,MAE3B;AAAA,MACA,KAAK;AAAA,MACL,MAAM;AAAA,QACJ,MAAM,OAAO;AAAA,MACf;AAAA,IACF,EAAC;AAAA,EACH;AAAA,EAEA,OAAO,IAAqB,SAAuB,CAAC,GAAmB;AACrE,WAAO,KAAK,OAAa,iCACpB,SADoB;AAAA,MAEvB;AAAA,MACA,KAAK;AAAA,IACP,EAAC;AAAA,EACH;AACF;;;AE/IO,IAAM,gBAAN,MAAoB;AAAA,EACzB,MAAM,SAAiB;AACrB,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,iBAAW,SAAS,UAAU,GAAI;AAAA,IACpC,CAAC;AAAA,EACH;AACF;","names":["HttpMethods","HttpStatuses","stringify","stringify"]}
|