@iamnnort/request 1.12.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +2 -2
- package/README.md +106 -23
- package/dist/index.d.mts +27 -23
- package/dist/index.d.ts +27 -23
- package/dist/index.js +1 -561
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -561
- package/dist/index.mjs.map +1 -1
- package/package.json +25 -30
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 timeout: params.requestConfig.timeout || params.baseConfig.timeout,\n responseType: params.requestConfig.responseType || params.baseConfig.responseType,\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 || 'brackets',\n skipNulls: true,\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' | 'responseType'> & {\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 bulkCallback?: (page: number) => Promise<void>;\n};\n\nexport type Response<T = unknown> = {\n success: boolean;\n data?: T;\n errorCode?: string;\n};\n\nexport type RawResponse<T = unknown> = {\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 PATCH = 'patch',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n CONTINUE = 100,\n SWITCHING_PROTOCOLS = 101,\n PROCESSING = 102,\n EARLYHINTS = 103,\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NON_AUTHORITATIVE_INFORMATION = 203,\n NO_CONTENT = 204,\n RESET_CONTENT = 205,\n PARTIAL_CONTENT = 206,\n AMBIGUOUS = 300,\n MOVED_PERMANENTLY = 301,\n FOUND = 302,\n SEE_OTHER = 303,\n NOT_MODIFIED = 304,\n TEMPORARY_REDIRECT = 307,\n PERMANENT_REDIRECT = 308,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n PAYMENT_REQUIRED = 402,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n METHOD_NOT_ALLOWED = 405,\n NOT_ACCEPTABLE = 406,\n PROXY_AUTHENTICATION_REQUIRED = 407,\n REQUEST_TIMEOUT = 408,\n CONFLICT = 409,\n GONE = 410,\n LENGTH_REQUIRED = 411,\n PRECONDITION_FAILED = 412,\n PAYLOAD_TOO_LARGE = 413,\n URI_TOO_LONG = 414,\n UNSUPPORTED_MEDIA_TYPE = 415,\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\n EXPECTATION_FAILED = 417,\n I_AM_A_TEAPOT = 418,\n MISDIRECTED = 421,\n UNPROCESSABLE_ENTITY = 422,\n FAILED_DEPENDENCY = 424,\n PRECONDITION_REQUIRED = 428,\n TOO_MANY_REQUESTS = 429,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n BAD_GATEWAY = 502,\n SERVICE_UNAVAILABLE = 503,\n GATEWAY_TIMEOUT = 504,\n HTTP_VERSION_NOT_SUPPORTED = 505,\n}\n\nexport type PaginationDto = {\n pagination?: boolean | null;\n page?: number | null;\n pageSize?: number | null;\n bulkSize?: number | null;\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 = unknown> = {\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 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, responseConfig?: ResponseConfig): Promise<T>;\n\n common<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig & {\n raw: true;\n },\n ): Promise<RawResponse<T>>;\n\n common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const loggerService = new LoggerService(this.baseRequestConfig);\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 bulkCommon<T>(requestConfig: RequestConfig, responseConfig?: ResponseConfig): AsyncGenerator<T[]>;\n\n bulkCommon<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig & {\n raw: true;\n },\n ): AsyncGenerator<PaginationResponse<T>>;\n\n async *bulkCommon<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const { page, pageSize, bulkSize, ...searchDto } = requestConfig.params || {};\n\n const paginationDto = {\n page: page || 1,\n pageSize: pageSize || 30,\n };\n\n const maxPage = bulkSize ? paginationDto.page - 1 + bulkSize : null;\n\n let pagination = {\n total: 0,\n currentPage: 0,\n lastPage: 0,\n from: 0,\n to: 0,\n pageSize: 0,\n };\n\n do {\n const response = await this.common<PaginationResponse<T>>({\n ...requestConfig,\n params: {\n ...paginationDto,\n ...searchDto,\n },\n });\n\n pagination = response.pagination;\n\n if (!response.data?.length) {\n return;\n }\n\n if (responseConfig.raw) {\n yield response;\n } else {\n yield response.data;\n }\n\n paginationDto.page += 1;\n } while (pagination.currentPage !== pagination.lastPage && pagination.currentPage !== maxPage);\n\n if (pagination.currentPage !== pagination.lastPage) {\n if (responseConfig.bulkCallback) {\n await responseConfig.bulkCallback(paginationDto.page);\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 bulkSearch(config: SearchParams = {} as SearchParams) {\n return this.bulkCommon<Entity>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n async searchOne(config: SearchParams = {} as SearchParams) {\n const response = await this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n params: {\n pageSize: 1,\n extended: true,\n strict: true,\n ...config.params,\n },\n });\n\n return response.data?.[0] as Entity;\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: Omit<CreateParams, 'data'> & { data: CreateParams['data'][] }) {\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: Omit<UpdateParams, 'data'> & { data: UpdateParams['data'][] }) {\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 { BaseRequestConfig, 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 private config: BaseRequestConfig;\n\n constructor(config: BaseRequestConfig) {\n this.printQueue = [];\n this.config = config;\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(\n [\n url,\n stringify(params, {\n arrayFormat: this.config.serializer?.array || 'brackets',\n skipNulls: true,\n }),\n ]\n .filter((_) => _)\n .join('?'),\n );\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';\nimport { BaseRequestConfig } from '@src/types';\n\nexport class LoggerService {\n private config: BaseRequestConfig;\n\n constructor(config: BaseRequestConfig) {\n this.config = config;\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.config.name || '';\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(this.config);\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(this.config);\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(this.config);\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(this.config);\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(this.config);\n\n const errorResponseData = loggerMessageBuilder.setError(error).makeResponse<T>();\n\n return errorResponseData;\n }\n}\n","export class RequestHelper {\n static 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/data-source.ts","../src/builder.ts","../src/types.ts","../src/logger.ts","../src/message-builder.ts","../src/helper.ts"],"sourcesContent":["import axios, { AxiosError, AxiosResponse } from 'axios';\nimport { RequestBuilder } from './builder';\nimport { Logger } from './logger';\nimport {\n BaseRequestConfig,\n HttpMethods,\n RequestConfig,\n RequestConfigParams,\n ResponseConfig,\n RawResponse,\n PaginationResponse,\n} from './types';\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 config: BaseRequestConfig;\n\n logger: Logger;\n\n constructor(config: BaseRequestConfig) {\n this.config = config;\n\n this.logger = new Logger(config);\n }\n\n common<T>(requestConfig: RequestConfig, responseConfig?: ResponseConfig): Promise<T>;\n\n common<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig & {\n raw: true;\n },\n ): Promise<RawResponse<T>>;\n\n common<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const requestBuilder = new RequestBuilder({\n baseConfig: this.config,\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 this.logger.logRequest(request);\n\n const startTime = Date.now();\n\n return axios\n .request(request)\n .then((response: AxiosResponse<T>) => {\n this.logger.logResponse(response, Date.now() - startTime);\n\n if (responseConfig.raw) {\n return this.logger.makeResponse<T>(response);\n }\n\n return response.data;\n })\n .catch((error: AxiosError) => {\n this.logger.logError(error, Date.now() - startTime);\n\n if (responseConfig.raw) {\n return this.logger.makeErrorResponse<T>(error);\n }\n\n throw error.response?.data || error.response || new Error(error.message);\n });\n }\n\n bulkCommon<T>(requestConfig: RequestConfig, responseConfig?: ResponseConfig): AsyncGenerator<T[]>;\n\n bulkCommon<T>(\n requestConfig: RequestConfig,\n responseConfig: ResponseConfig & {\n raw: true;\n },\n ): AsyncGenerator<PaginationResponse<T>>;\n\n async *bulkCommon<T>(requestConfig: RequestConfig, responseConfig: ResponseConfig = {}) {\n const { page, pageSize, bulkSize, ...searchDto } = requestConfig.params || {};\n\n const paginationDto = {\n page: page || 1,\n pageSize: pageSize || 30,\n };\n\n const maxPage = bulkSize ? paginationDto.page - 1 + bulkSize : null;\n\n let pagination = {\n total: 0,\n currentPage: 0,\n lastPage: 0,\n from: 0,\n to: 0,\n pageSize: 0,\n };\n\n do {\n const response = await this.common<PaginationResponse<T>>({\n ...requestConfig,\n params: {\n ...paginationDto,\n ...searchDto,\n },\n });\n\n pagination = response.pagination;\n\n if (!response.data?.length) {\n return;\n }\n\n if (responseConfig.raw) {\n yield response;\n } else {\n yield response.data;\n }\n\n paginationDto.page += 1;\n } while (pagination.currentPage !== pagination.lastPage && pagination.currentPage !== maxPage);\n\n if (pagination.currentPage !== pagination.lastPage) {\n if (responseConfig.bulkCallback) {\n await responseConfig.bulkCallback(paginationDto.page);\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 bulkSearch(config: SearchParams = {} as SearchParams) {\n return this.bulkCommon<Entity>({\n ...config,\n method: HttpMethods.GET,\n });\n }\n\n async searchOne(config: SearchParams = {} as SearchParams) {\n const response = await this.common<SearchResponse>({\n ...config,\n method: HttpMethods.GET,\n params: {\n pageSize: 1,\n extended: true,\n strict: true,\n ...config.params,\n },\n });\n\n const data = response.data || [];\n\n return data[0] as Entity;\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: Omit<CreateParams, 'data'> & { data: CreateParams['data'][] }) {\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: Omit<UpdateParams, 'data'> & { data: UpdateParams['data'][] }) {\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 { 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 timeout: params.requestConfig.timeout || params.baseConfig.timeout,\n responseType: params.requestConfig.responseType || params.baseConfig.responseType,\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 || 'brackets',\n skipNulls: true,\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' | 'responseType'> & {\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 logLevel?: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';\n serializer?: {\n array?: 'indices' | 'brackets' | 'repeat' | 'comma';\n };\n};\n\nexport type ResponseConfig = {\n raw?: boolean;\n bulkCallback?: (page: number) => Promise<void>;\n};\n\nexport type Response<T = unknown> = {\n success: boolean;\n data?: T;\n errorCode?: string;\n};\n\nexport type RawResponse<T = unknown> = {\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 PATCH = 'patch',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n CONTINUE = 100,\n SWITCHING_PROTOCOLS = 101,\n PROCESSING = 102,\n EARLYHINTS = 103,\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NON_AUTHORITATIVE_INFORMATION = 203,\n NO_CONTENT = 204,\n RESET_CONTENT = 205,\n PARTIAL_CONTENT = 206,\n AMBIGUOUS = 300,\n MOVED_PERMANENTLY = 301,\n FOUND = 302,\n SEE_OTHER = 303,\n NOT_MODIFIED = 304,\n TEMPORARY_REDIRECT = 307,\n PERMANENT_REDIRECT = 308,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n PAYMENT_REQUIRED = 402,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n METHOD_NOT_ALLOWED = 405,\n NOT_ACCEPTABLE = 406,\n PROXY_AUTHENTICATION_REQUIRED = 407,\n REQUEST_TIMEOUT = 408,\n CONFLICT = 409,\n GONE = 410,\n LENGTH_REQUIRED = 411,\n PRECONDITION_FAILED = 412,\n PAYLOAD_TOO_LARGE = 413,\n URI_TOO_LONG = 414,\n UNSUPPORTED_MEDIA_TYPE = 415,\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\n EXPECTATION_FAILED = 417,\n I_AM_A_TEAPOT = 418,\n MISDIRECTED = 421,\n UNPROCESSABLE_ENTITY = 422,\n FAILED_DEPENDENCY = 424,\n PRECONDITION_REQUIRED = 428,\n TOO_MANY_REQUESTS = 429,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n BAD_GATEWAY = 502,\n SERVICE_UNAVAILABLE = 503,\n GATEWAY_TIMEOUT = 504,\n HTTP_VERSION_NOT_SUPPORTED = 505,\n}\n\nexport type PaginationDto = {\n pagination?: boolean | null;\n page?: number | null;\n pageSize?: number | null;\n bulkSize?: number | null;\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 = unknown> = {\n data: T[];\n pagination: Pagination;\n};\n","import pino from 'pino';\nimport { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { BaseRequestConfig } from './types';\nimport { MessageBuilder } from './message-builder';\n\nexport class Logger {\n private config: BaseRequestConfig;\n\n private logger: pino.Logger;\n\n private level: string;\n\n constructor(config: BaseRequestConfig) {\n this.config = config;\n\n this.level = config.logLevel || 'info';\n\n this.logger = pino({\n name: config.name,\n level: this.level,\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: false,\n ignore: 'time,pid,hostname',\n },\n },\n });\n }\n\n logRequest(request: AxiosRequestConfig) {\n const messageBuilder = new MessageBuilder(this.config, {\n request,\n });\n\n const message = messageBuilder.makeMethodText().makeUrl().makeRequestData().build();\n\n this.logger.debug(message);\n }\n\n logResponse(response: AxiosResponse, duration: number) {\n const messageBuilder = new MessageBuilder(this.config, {\n response,\n duration,\n });\n\n messageBuilder.makeMethodText().makeUrl().makeRequestData().makeStatusText();\n\n if (['trace', 'debug'].includes(this.level)) {\n messageBuilder.makeResponseDataText();\n }\n\n const message = messageBuilder.makeDuration().build();\n\n this.logger.info(message);\n }\n\n logError(error: AxiosError, duration: number) {\n const messageBuilder = new MessageBuilder(this.config, {\n error,\n duration,\n });\n\n messageBuilder.makeMethodText().makeUrl().makeRequestData().makeStatusText();\n\n if (['trace', 'debug'].includes(this.level)) {\n messageBuilder.makeResponseDataText();\n }\n\n const message = messageBuilder.makeDuration().build();\n\n this.logger.error(message);\n }\n\n makeResponse<T>(response: AxiosResponse) {\n const loggerMessageBuilder = new MessageBuilder(this.config, {\n response,\n });\n\n const responseData = loggerMessageBuilder.makeResponse<T>();\n\n return responseData;\n }\n\n makeErrorResponse<T>(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder(this.config, {\n error,\n });\n\n const errorResponseData = loggerMessageBuilder.makeResponse<T>();\n\n return errorResponseData;\n }\n}\n","import { AxiosError, AxiosResponse, AxiosRequestConfig } from 'axios';\nimport { stringify } from 'qs';\nimport { BaseRequestConfig, HttpMethods, HttpStatuses } from './types';\n\nexport class MessageBuilder {\n private config: BaseRequestConfig;\n\n private printQueue: string[];\n\n private request?: AxiosRequestConfig;\n private response?: AxiosResponse;\n private error?: AxiosError;\n\n private duration?: number;\n\n constructor(\n config: BaseRequestConfig,\n options: {\n request?: AxiosRequestConfig;\n response?: AxiosResponse;\n error?: AxiosError;\n duration?: number;\n },\n ) {\n this.printQueue = [];\n this.config = config;\n this.request = options.request;\n this.response = options.response;\n this.error = options.error;\n this.duration = options.duration;\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(\n [\n url,\n stringify(params, {\n arrayFormat: this.config.serializer?.array || 'brackets',\n skipNulls: true,\n }),\n ]\n .filter((_) => _)\n .join('?'),\n );\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 makeDuration() {\n if (this.duration) {\n this.printQueue.push(`(${this.duration}ms)`);\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","export class RequestHelper {\n static sleep(seconds: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, seconds * 1000);\n });\n }\n}\n"],"mappings":"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","names":["axios","stringify","HttpMethods","HttpStatuses","RequestBuilder","baseConfig","requestConfig","config","params","timeout","responseType","headers","Accept","makeContentType","multipart","urlencoded","xml","makeAuth","auth","bearerToken","Authorization","apiKey","makeUrl","baseUrlMap","baseUrlName","urlParts","baseUrl","url","map","urlPart","toString","protocol","some","includes","actualUrlParts","filter","replace","join","makeMethod","method","makeData","HttpMethods","GET","data","stringify","makeParams","makeSerializer","paramsSerializer","__name","arrayFormat","serializer","array","skipNulls","build","pino","stringify","MessageBuilder","config","printQueue","request","response","error","duration","options","makeUrl","url","params","push","stringify","arrayFormat","serializer","array","skipNulls","filter","_","join","makeMethodText","method","toUpperCase","makeRequestData","data","Object","keys","length","JSON","makeResponseDataText","makeStatusText","status","statusText","makeDuration","build","makeMethod","toLowerCase","HttpMethods","GET","makeResponseData","makeStatus","HttpStatuses","INTERNAL_SERVER_ERROR","makeResponse","success","undefined","Logger","config","logger","level","logLevel","pino","name","transport","target","options","colorize","ignore","logRequest","request","message","MessageBuilder","makeMethodText","makeUrl","makeRequestData","build","debug","logResponse","response","duration","messageBuilder","makeStatusText","includes","makeResponseDataText","makeDuration","info","logError","error","makeResponse","makeErrorResponse","RequestDataSource","config","logger","Logger","common","requestConfig","responseConfig","request","RequestBuilder","baseConfig","makeContentType","makeAuth","makeUrl","makeMethod","makeParams","makeData","makeSerializer","build","logRequest","startTime","Date","now","axios","then","response","logResponse","raw","makeResponse","data","catch","error","logError","makeErrorResponse","Error","message","bulkCommon","page","pageSize","bulkSize","searchDto","params","paginationDto","maxPage","pagination","total","currentPage","lastPage","from","to","length","bulkCallback","search","method","HttpMethods","GET","bulkSearch","searchOne","extended","strict","get","id","url","create","POST","bulkCreate","bulk","update","PUT","bulkUpdate","remove","DELETE","RequestHelper","sleep","seconds","Promise","resolve","setTimeout"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iamnnort/request",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Request handler for Node.js - Fast - Interactive - Simple",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/iamnnort/request.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": "https://github.com/iamnnort/request/issues",
|
|
11
|
+
"homepage": "https://github.com/iamnnort/request#readme",
|
|
5
12
|
"keywords": [
|
|
6
13
|
"request",
|
|
7
14
|
"fetch",
|
|
@@ -10,51 +17,39 @@
|
|
|
10
17
|
"ajax",
|
|
11
18
|
"promise"
|
|
12
19
|
],
|
|
13
|
-
"main": "./dist/index.js",
|
|
14
|
-
"module": "./dist/index.mjs",
|
|
15
|
-
"types": "./dist/index.d.ts",
|
|
16
20
|
"files": [
|
|
17
21
|
"dist"
|
|
18
22
|
],
|
|
23
|
+
"main": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
19
25
|
"engines": {
|
|
20
|
-
"node": ">=
|
|
26
|
+
"node": ">=22.0.0"
|
|
21
27
|
},
|
|
22
28
|
"scripts": {
|
|
23
|
-
"start": "
|
|
29
|
+
"start": "yarn build && yarn --cwd ./example start",
|
|
24
30
|
"build": "tsup",
|
|
25
|
-
"
|
|
31
|
+
"deploy": "npm publish",
|
|
26
32
|
"lint": "eslint --fix",
|
|
33
|
+
"format": "prettier --write . --ignore-path .gitignore",
|
|
27
34
|
"test": "yarn lint",
|
|
28
35
|
"prepare": "husky"
|
|
29
36
|
},
|
|
30
|
-
"repository": {
|
|
31
|
-
"type": "git",
|
|
32
|
-
"url": "git+https://github.com/iamnnort/request.git"
|
|
33
|
-
},
|
|
34
|
-
"author": "Nikita Pavets",
|
|
35
|
-
"license": "MIT",
|
|
36
|
-
"bugs": {
|
|
37
|
-
"url": "https://github.com/iamnnort/request/issues"
|
|
38
|
-
},
|
|
39
|
-
"homepage": "https://github.com/iamnnort/request#readme",
|
|
40
37
|
"dependencies": {
|
|
41
38
|
"axios": "^1.7.7",
|
|
39
|
+
"pino": "^9.6.0",
|
|
40
|
+
"pino-pretty": "^13.1.3",
|
|
42
41
|
"qs": "^6.13.0"
|
|
43
42
|
},
|
|
44
43
|
"devDependencies": {
|
|
45
|
-
"@
|
|
46
|
-
"@
|
|
44
|
+
"@iamnnort/config": "^1.0.0",
|
|
45
|
+
"@swc/core": "^1.15.11",
|
|
46
|
+
"@types/node": "^25.2.3",
|
|
47
47
|
"@types/qs": "^6.9.16",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
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"
|
|
48
|
+
"eslint": "^9.24.0",
|
|
49
|
+
"husky": "^9.1.7",
|
|
50
|
+
"lint-staged": "^15.5.1",
|
|
51
|
+
"prettier": "^3.8.1",
|
|
52
|
+
"tsup": "^8.4.0",
|
|
53
|
+
"typescript": "^5.9.3"
|
|
59
54
|
}
|
|
60
55
|
}
|