@iamnnort/request 1.9.2 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +280 -299
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +265 -246
- package/dist/index.mjs.map +1 -1
- package/package.json +26 -26
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 const apiKey = this.requestConfig.apiKey || this.baseConfig.apiKey;\n\n if (apiKey) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'x-api-key': apiKey,\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 apiKey?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<\n AxiosRequestConfig,\n 'auth' | 'headers' | 'timeout'\n> & {\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 apiKey?: 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 success: boolean;\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\nexport type Pagination = {\n total: number;\n currentPage: number;\n lastPage: number;\n from: number;\n to: number;\n pageSize: number;\n};\n\nexport type PaginationResponse<T> = {\n data: T[];\n pagination: Pagination;\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 Pagination,\n PaginationResponse,\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 async *bulkSearch(\n config: SearchParams = {} as SearchParams,\n ): AsyncGenerator<Entity[]> {\n let pagination: Pagination = {\n total: 0,\n currentPage: config.params?.page || 0,\n lastPage: 0,\n from: 0,\n to: 0,\n pageSize: config.params?.pageSize || 30,\n };\n\n do {\n const response = await this.common<PaginationResponse<Entity>>({\n ...config,\n method: HttpMethods.GET,\n params: {\n ...config.params,\n page: pagination.currentPage + 1,\n pageSize: pagination.pageSize,\n },\n });\n\n if (!response.data?.length) {\n return [];\n }\n\n yield response.data;\n\n pagination = response.pagination;\n } while (pagination.currentPage !== pagination.lastPage);\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","stringify","stringify"]}
|
|
1
|
+
{"version":3,"sources":["../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/builder.ts","../src/logger/service.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: { baseConfig: BaseRequestConfig; requestConfig: RequestConfig }) {\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 = 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 const apiKey = this.requestConfig.apiKey || this.baseConfig.apiKey;\n\n if (apiKey) {\n this.config = {\n ...this.config,\n headers: {\n ...this.config.headers,\n 'x-api-key': apiKey,\n },\n };\n\n return this;\n }\n\n return this;\n }\n\n makeUrl() {\n const baseUrlMap = this.requestConfig.baseUrlMap || this.baseConfig.baseUrlMap;\n const baseUrlName = this.requestConfig.baseUrlName || this.baseConfig.baseUrlName;\n\n const urlParts = [\n baseUrlMap && baseUrlName ? baseUrlMap[baseUrlName] : 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((urlPart) => urlPart?.includes('https'));\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 apiKey?: string;\n urlencoded?: boolean;\n multipart?: boolean;\n xml?: boolean;\n};\n\nexport type BaseRequestConfig = Pick<AxiosRequestConfig, 'auth' | 'headers' | 'timeout'> & {\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 apiKey?: 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 success: boolean;\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\nexport type Pagination = {\n total: number;\n currentPage: number;\n lastPage: number;\n from: number;\n to: number;\n pageSize: number;\n};\n\nexport type PaginationResponse<T> = {\n data: T[];\n pagination: Pagination;\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 Pagination,\n PaginationResponse,\n} from './types';\nimport { LoggerService } from './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>(requestConfig: RequestConfig, responseConfig: ResponseConfig): Promise<RawResponse<T>>;\n\n common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const loggerService = new LoggerService(this.baseRequestConfig.name);\n\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 loggerService.logRequest(request as any);\n }\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n if (this.baseRequestConfig.logger) {\n loggerService.logResponse(response as any);\n }\n\n if (responseConfig.raw) {\n return loggerService.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 loggerService.logRequestError(error as any);\n }\n\n if (responseConfig.raw) {\n return loggerService.makeErrorResponse<T>(error as any);\n }\n\n throw error.response?.data || error.response || new Error(error.message);\n });\n }\n\n search(config: SearchParams = {} as SearchParams) {\n return this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n async *bulkSearch(config: SearchParams = {} as SearchParams): AsyncGenerator<Entity[]> {\n let pagination: Pagination = {\n total: 0,\n currentPage: config.params?.page || 0,\n lastPage: 0,\n from: 0,\n to: 0,\n pageSize: config.params?.pageSize || 30,\n };\n\n do {\n const response = await this.common<PaginationResponse<Entity>>({\n ...config,\n method: HttpMethods.GET,\n params: {\n ...config.params,\n page: pagination.currentPage + 1,\n pageSize: pagination.pageSize,\n },\n });\n\n if (!response.data?.length) {\n return [];\n }\n\n yield response.data;\n\n pagination = response.pagination;\n } while (pagination.currentPage !== pagination.lastPage);\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\nexport class MessageBuilder {\n private printQueue: string[];\n\n private request!: InternalAxiosRequestConfig;\n private response!: AxiosResponse;\n private error!: AxiosError;\n\n constructor() {\n this.printQueue = [];\n }\n\n setRequest(request: InternalAxiosRequestConfig) {\n this.request = request;\n\n return this;\n }\n\n setResponse(response: AxiosResponse) {\n this.response = response;\n\n return this;\n }\n\n setError(error: AxiosError) {\n this.error = error;\n\n return this;\n }\n\n makeType(type: string) {\n this.printQueue.push(`[${type}]`);\n\n return this;\n }\n\n makeUrl() {\n const url = this.request?.url || this.response?.config?.url || this.error?.response?.config.url;\n\n const params = this.request?.params || this.response?.config?.params || this.error?.response?.config.params;\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, stringify(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethodText() {\n const method = this.request?.method || this.response?.config?.method || this.error?.response?.config.method;\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeRequestData() {\n const data = this.request?.data || this.response?.config?.data || this.error?.response?.config.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeResponseDataText() {\n const data = this.response?.data || this.error?.response?.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeStatusText() {\n const status = this.response?.status || this.error?.response?.status;\n\n if (status) {\n this.printQueue.push(`${status}`);\n\n const statusText = this.response?.statusText || this.error?.response?.statusText;\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n\n makeMethod() {\n const method = this.request?.method || this.response?.config?.method || this.error?.response?.config.method;\n\n if (!method) {\n return HttpMethods.GET;\n }\n\n return method.toLowerCase() as HttpMethods;\n }\n\n makeResponseData() {\n const data = this.response?.data || this.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\n makeStatus() {\n const status = this.response?.status || this.error?.response?.status;\n\n if (!status) {\n return HttpStatuses.INTERNAL_SERVER_ERROR;\n }\n\n return status as HttpStatuses;\n }\n\n makeResponse<T>() {\n return {\n success: this.error === undefined,\n status: this.makeStatus(),\n method: this.makeMethod(),\n data: this.makeResponseData() as T,\n };\n }\n}\n","import { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { MessageBuilder } from './builder';\n\nexport class LoggerService {\n context: string = '';\n\n constructor(context: string = '') {\n this.context = context;\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.context || '';\n\n if (ctx) {\n return console.log(`[${ctx}] ${message}`);\n }\n\n return console.log(message);\n }\n\n logRequest(request: InternalAxiosRequestConfig) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setRequest(request)\n .makeType('Request')\n .makeMethodText()\n .makeUrl()\n .makeRequestData()\n .build();\n\n return this.log(message);\n }\n\n logResponse(response: AxiosResponse) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setResponse(response)\n .makeType('Response')\n .makeMethodText()\n .makeUrl()\n .makeRequestData()\n .makeStatusText()\n .makeResponseDataText()\n .build();\n\n return this.log(message);\n }\n\n logRequestError(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setError(error)\n .makeType('Error')\n .makeMethodText()\n .makeUrl()\n .makeRequestData()\n .makeStatusText()\n .makeResponseDataText()\n .build();\n\n return this.log(message);\n }\n\n makeResponse<T>(response: AxiosResponse) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const responseData = loggerMessageBuilder.setResponse(response).makeResponse<T>();\n\n return responseData;\n }\n\n makeErrorResponse<T>(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const errorResponseData = loggerMessageBuilder.setError(error).makeResponse<T>();\n\n return errorResponseData;\n }\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","stringify"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iamnnort/request",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"description": "Request handler for Node.js - Fast - Interactive - Simple",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"request",
|
|
@@ -16,45 +16,45 @@
|
|
|
16
16
|
"files": [
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18.0.0"
|
|
21
|
+
},
|
|
19
22
|
"scripts": {
|
|
20
|
-
"start": "
|
|
23
|
+
"start": "ts-node ./examples/simple",
|
|
21
24
|
"build": "tsup",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"test": "yarn lint
|
|
25
|
+
"format": "prettier --write '**/*.{ts,js,json}'",
|
|
26
|
+
"lint": "eslint --fix",
|
|
27
|
+
"test": "yarn lint",
|
|
28
|
+
"prepare": "husky"
|
|
25
29
|
},
|
|
26
|
-
"pre-commit": [
|
|
27
|
-
"lint"
|
|
28
|
-
],
|
|
29
30
|
"repository": {
|
|
30
31
|
"type": "git",
|
|
31
32
|
"url": "git+https://github.com/iamnnort/request.git"
|
|
32
33
|
},
|
|
33
|
-
"author": "
|
|
34
|
+
"author": "Nikita Pavets",
|
|
34
35
|
"license": "MIT",
|
|
35
36
|
"bugs": {
|
|
36
37
|
"url": "https://github.com/iamnnort/request/issues"
|
|
37
38
|
},
|
|
38
39
|
"homepage": "https://github.com/iamnnort/request#readme",
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"axios": "^1.
|
|
41
|
-
"qs": "^6.
|
|
41
|
+
"axios": "^1.7.7",
|
|
42
|
+
"qs": "^6.13.0"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
|
-
"@
|
|
45
|
-
"@types/
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"prettier": "^3.0.3"
|
|
45
|
+
"@tsconfig/node18": "^18.2.4",
|
|
46
|
+
"@types/node": "^22.7.5",
|
|
47
|
+
"@types/qs": "^6.9.16",
|
|
48
|
+
"@typescript-eslint/parser": "^8.8.1",
|
|
49
|
+
"eslint": "^9.12.0",
|
|
50
|
+
"eslint-config-prettier": "^9.1.0",
|
|
51
|
+
"husky": "^9.1.6",
|
|
52
|
+
"lint-staged": "^15.2.10",
|
|
53
|
+
"prettier": "^3.3.3",
|
|
54
|
+
"reflect-metadata": "^0.2.2",
|
|
55
|
+
"ts-node": "^10.9.2",
|
|
56
|
+
"tsup": "^8.3.0",
|
|
57
|
+
"typescript": "5.5.4",
|
|
58
|
+
"typescript-eslint": "^8.8.1"
|
|
59
59
|
}
|
|
60
60
|
}
|