@iamnnort/request 1.9.1 → 1.10.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/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 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: 0,\n lastPage: 0,\n from: 0,\n to: 0,\n 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","import_qs","axios"]}
1
+ {"version":3,"sources":["/home/runner/work/request/request/dist/index.js","../src/builder.ts","../src/types.ts","../src/data-source.ts","../src/logger/logger.ts","../src/helper.ts"],"names":["HttpMethods","HttpStatuses"],"mappings":"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","file":"/home/runner/work/request/request/dist/index.js","sourcesContent":[null,"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 { 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>(requestConfig: RequestConfig, responseConfig: ResponseConfig): 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 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\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 = dto.request?.url || dto.response?.config?.url || dto.error?.response?.config.url;\n\n const params = dto.request?.params || dto.response?.config?.params || 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 = dto.request?.method || dto.response?.config?.method || 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 = dto.request?.method || dto.response?.config?.method || 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 = dto.request?.body || dto.request?.data || dto.response?.config?.data || 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 = 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([makeType('Request'), makeMethodText({ request }), makeUrl({ request }), makeRequestData({ request })]);\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"]}
package/dist/index.mjs CHANGED
@@ -1,40 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __await = function(promise, isYieldStar) {
21
- this[0] = promise;
22
- this[1] = isYieldStar;
23
- };
24
- var __asyncGenerator = (__this, __arguments, generator) => {
25
- var resume = (k, v, yes, no) => {
26
- try {
27
- var x = generator[k](v), isAwait = (v = x.value) instanceof __await, done = x.done;
28
- Promise.resolve(isAwait ? v[0] : v).then((y) => isAwait ? resume(k === "return" ? k : "next", v[1] ? { done: y.done, value: y.value } : y, yes, no) : yes({ value: y, done })).catch((e) => resume("throw", e, yes, no));
29
- } catch (e) {
30
- no(e);
31
- }
32
- };
33
- var method = (k) => it[k] = (x) => new Promise((yes, no) => resume(k, x, yes, no));
34
- var it = {};
35
- return generator = generator.apply(__this, __arguments), it[Symbol.asyncIterator] = () => it, method("next"), method("throw"), method("return"), it;
36
- };
37
-
38
1
  // src/builder.ts
39
2
  import { stringify } from "qs";
40
3
 
@@ -62,39 +25,50 @@ var HttpStatuses = /* @__PURE__ */ ((HttpStatuses2) => {
62
25
 
63
26
  // src/builder.ts
64
27
  var RequestBuilder = class {
28
+ baseConfig;
29
+ requestConfig;
30
+ config;
65
31
  constructor(params) {
66
32
  this.baseConfig = params.baseConfig;
67
33
  this.requestConfig = params.requestConfig;
68
34
  this.config = {
69
- headers: __spreadValues(__spreadValues({
35
+ headers: {
70
36
  Accept: "application/json",
71
- "Content-Type": "application/json"
72
- }, params.baseConfig.headers), params.requestConfig.headers)
37
+ "Content-Type": "application/json",
38
+ ...params.baseConfig.headers,
39
+ ...params.requestConfig.headers
40
+ }
73
41
  };
74
42
  }
75
43
  makeContentType() {
76
44
  if (this.requestConfig.multipart) {
77
- this.config = __spreadProps(__spreadValues({}, this.config), {
78
- headers: __spreadProps(__spreadValues({}, this.config.headers), {
45
+ this.config = {
46
+ ...this.config,
47
+ headers: {
48
+ ...this.config.headers,
79
49
  "Content-Type": "multipart/form-data"
80
- })
81
- });
50
+ }
51
+ };
82
52
  return this;
83
53
  }
84
54
  if (this.requestConfig.urlencoded) {
85
- this.config = __spreadProps(__spreadValues({}, this.config), {
86
- headers: __spreadProps(__spreadValues({}, this.config.headers), {
55
+ this.config = {
56
+ ...this.config,
57
+ headers: {
58
+ ...this.config.headers,
87
59
  "Content-Type": "application/x-www-form-urlencoded"
88
- })
89
- });
60
+ }
61
+ };
90
62
  return this;
91
63
  }
92
64
  if (this.requestConfig.xml) {
93
- this.config = __spreadProps(__spreadValues({}, this.config), {
94
- headers: __spreadProps(__spreadValues({}, this.config.headers), {
65
+ this.config = {
66
+ ...this.config,
67
+ headers: {
68
+ ...this.config.headers,
95
69
  "Content-Type": "text/xml"
96
- })
97
- });
70
+ }
71
+ };
98
72
  return this;
99
73
  }
100
74
  return this;
@@ -102,27 +76,32 @@ var RequestBuilder = class {
102
76
  makeAuth() {
103
77
  const auth = this.requestConfig.auth || this.baseConfig.auth;
104
78
  if (auth) {
105
- this.config = __spreadProps(__spreadValues({}, this.config), {
79
+ this.config = {
80
+ ...this.config,
106
81
  auth
107
- });
82
+ };
108
83
  return this;
109
84
  }
110
85
  const bearerToken = this.requestConfig.bearerToken || this.baseConfig.bearerToken;
111
86
  if (bearerToken) {
112
- this.config = __spreadProps(__spreadValues({}, this.config), {
113
- headers: __spreadProps(__spreadValues({}, this.config.headers), {
87
+ this.config = {
88
+ ...this.config,
89
+ headers: {
90
+ ...this.config.headers,
114
91
  Authorization: `Bearer ${bearerToken}`
115
- })
116
- });
92
+ }
93
+ };
117
94
  return this;
118
95
  }
119
96
  const apiKey = this.requestConfig.apiKey || this.baseConfig.apiKey;
120
97
  if (apiKey) {
121
- this.config = __spreadProps(__spreadValues({}, this.config), {
122
- headers: __spreadProps(__spreadValues({}, this.config.headers), {
98
+ this.config = {
99
+ ...this.config,
100
+ headers: {
101
+ ...this.config.headers,
123
102
  "x-api-key": apiKey
124
- })
125
- });
103
+ }
104
+ };
126
105
  return this;
127
106
  }
128
107
  return this;
@@ -137,24 +116,24 @@ var RequestBuilder = class {
137
116
  this.requestConfig.baseUrl,
138
117
  this.requestConfig.url,
139
118
  ...this.requestConfig.urlParts || []
140
- ].map((urlPart) => urlPart == null ? void 0 : urlPart.toString());
141
- const isSecureProtocol = urlParts.some(
142
- (urlPart) => urlPart == null ? void 0 : urlPart.includes("https")
143
- );
119
+ ].map((urlPart) => urlPart?.toString());
120
+ const isSecureProtocol = urlParts.some((urlPart) => urlPart?.includes("https"));
144
121
  const protocol = isSecureProtocol ? "https" : "http";
145
122
  const actualUrlParts = urlParts.filter((urlPart) => urlPart).map((urlPart) => {
146
- return urlPart == null ? void 0 : urlPart.replace(/^(https?:\/\/|\/)?(.*?)(\/?)$/, "$2");
123
+ return urlPart?.replace(/^(https?:\/\/|\/)?(.*?)(\/?)$/, "$2");
147
124
  });
148
125
  const url = `${protocol}://${actualUrlParts.join("/")}`;
149
- this.config = __spreadProps(__spreadValues({}, this.config), {
126
+ this.config = {
127
+ ...this.config,
150
128
  url
151
- });
129
+ };
152
130
  return this;
153
131
  }
154
132
  makeMethod() {
155
- this.config = __spreadProps(__spreadValues({}, this.config), {
133
+ this.config = {
134
+ ...this.config,
156
135
  method: this.requestConfig.method
157
- });
136
+ };
158
137
  return this;
159
138
  }
160
139
  makeData() {
@@ -162,31 +141,34 @@ var RequestBuilder = class {
162
141
  return this;
163
142
  }
164
143
  if (this.requestConfig.urlencoded) {
165
- this.config = __spreadProps(__spreadValues({}, this.config), {
144
+ this.config = {
145
+ ...this.config,
166
146
  data: stringify(this.requestConfig.data)
167
- });
147
+ };
168
148
  return this;
169
149
  }
170
- this.config = __spreadProps(__spreadValues({}, this.config), {
150
+ this.config = {
151
+ ...this.config,
171
152
  data: this.requestConfig.data
172
- });
153
+ };
173
154
  return this;
174
155
  }
175
156
  makeParams() {
176
- this.config = __spreadProps(__spreadValues({}, this.config), {
157
+ this.config = {
158
+ ...this.config,
177
159
  params: this.requestConfig.params
178
- });
160
+ };
179
161
  return this;
180
162
  }
181
163
  makeSerializer() {
182
- this.config = __spreadProps(__spreadValues({}, this.config), {
164
+ this.config = {
165
+ ...this.config,
183
166
  paramsSerializer: (params) => {
184
- var _a;
185
167
  return stringify(params, {
186
- arrayFormat: (_a = this.baseConfig.serializer) == null ? void 0 : _a.array
168
+ arrayFormat: this.baseConfig.serializer?.array
187
169
  });
188
170
  }
189
- });
171
+ };
190
172
  return this;
191
173
  }
192
174
  build() {
@@ -203,9 +185,8 @@ var makeType = (type) => {
203
185
  return `[${type}]`;
204
186
  };
205
187
  var makeUrl = (dto = {}) => {
206
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
207
- const url = ((_a = dto.request) == null ? void 0 : _a.url) || ((_c = (_b = dto.response) == null ? void 0 : _b.config) == null ? void 0 : _c.url) || ((_e = (_d = dto.error) == null ? void 0 : _d.response) == null ? void 0 : _e.config.url);
208
- const params = ((_f = dto.request) == null ? void 0 : _f.params) || ((_h = (_g = dto.response) == null ? void 0 : _g.config) == null ? void 0 : _h.params) || ((_j = (_i = dto.error) == null ? void 0 : _i.response) == null ? void 0 : _j.config.params);
188
+ const url = dto.request?.url || dto.response?.config?.url || dto.error?.response?.config.url;
189
+ const params = dto.request?.params || dto.response?.config?.params || dto.error?.response?.config.params;
209
190
  if (!url) {
210
191
  return "";
211
192
  }
@@ -217,24 +198,21 @@ var makeUrl = (dto = {}) => {
217
198
  }
218
199
  };
219
200
  var makeMethod = (dto = {}) => {
220
- var _a, _b, _c, _d, _e;
221
- 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);
201
+ const method = dto.request?.method || dto.response?.config?.method || dto.error?.response?.config.method;
222
202
  if (!method) {
223
203
  return "get" /* GET */;
224
204
  }
225
205
  return method.toLowerCase();
226
206
  };
227
207
  var makeMethodText = (dto = {}) => {
228
- var _a, _b, _c, _d, _e;
229
- 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);
208
+ const method = dto.request?.method || dto.response?.config?.method || dto.error?.response?.config.method;
230
209
  if (!method) {
231
210
  return "";
232
211
  }
233
212
  return method.toUpperCase();
234
213
  };
235
214
  var makeRequestData = (dto = {}) => {
236
- var _a, _b, _c, _d, _e, _f;
237
- const data = ((_a = dto.request) == null ? void 0 : _a.body) || ((_b = dto.request) == null ? void 0 : _b.data) || ((_d = (_c = dto.response) == null ? void 0 : _c.config) == null ? void 0 : _d.data) || ((_f = (_e = dto.error) == null ? void 0 : _e.response) == null ? void 0 : _f.config.data);
215
+ const data = dto.request?.body || dto.request?.data || dto.response?.config?.data || dto.error?.response?.config.data;
238
216
  if (!data) {
239
217
  return "";
240
218
  }
@@ -244,8 +222,7 @@ var makeRequestData = (dto = {}) => {
244
222
  return JSON.stringify(data);
245
223
  };
246
224
  var makeResponseData = (dto = {}) => {
247
- var _a, _b, _c;
248
- const data = ((_a = dto.response) == null ? void 0 : _a.data) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.data);
225
+ const data = dto.response?.data || dto.error?.response?.data;
249
226
  if (!data) {
250
227
  return "";
251
228
  }
@@ -255,20 +232,18 @@ var makeResponseData = (dto = {}) => {
255
232
  return JSON.stringify(data);
256
233
  };
257
234
  var makeStatus = (dto = {}) => {
258
- var _a, _b, _c;
259
- const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
235
+ const status = dto.response?.status || dto.error?.response?.status;
260
236
  if (!status) {
261
237
  return 500 /* INTERNAL_SERVER_ERROR */;
262
238
  }
263
239
  return status;
264
240
  };
265
241
  var makeStatusText = (dto = {}) => {
266
- var _a, _b, _c, _d, _e, _f;
267
- const status = ((_a = dto.response) == null ? void 0 : _a.status) || ((_c = (_b = dto.error) == null ? void 0 : _b.response) == null ? void 0 : _c.status);
242
+ const status = dto.response?.status || dto.error?.response?.status;
268
243
  if (!status) {
269
244
  return "";
270
245
  }
271
- const statusText = ((_d = dto.response) == null ? void 0 : _d.statusText) || ((_f = (_e = dto.error) == null ? void 0 : _e.response) == null ? void 0 : _f.statusText);
246
+ const statusText = dto.response?.statusText || dto.error?.response?.statusText;
272
247
  if (statusText) {
273
248
  return `${status} ${statusText}`;
274
249
  }
@@ -283,12 +258,7 @@ var makeResponse = (dto = {}) => {
283
258
  };
284
259
  };
285
260
  var logRequest = (request) => {
286
- log([
287
- makeType("Request"),
288
- makeMethodText({ request }),
289
- makeUrl({ request }),
290
- makeRequestData({ request })
291
- ]);
261
+ log([makeType("Request"), makeMethodText({ request }), makeUrl({ request }), makeRequestData({ request })]);
292
262
  };
293
263
  var logResponse = (response) => {
294
264
  log([
@@ -331,6 +301,7 @@ var loggerHelper = {
331
301
 
332
302
  // src/data-source.ts
333
303
  var RequestDataSource = class {
304
+ baseRequestConfig;
334
305
  constructor(baseRequestConfig) {
335
306
  this.baseRequestConfig = baseRequestConfig;
336
307
  }
@@ -352,7 +323,6 @@ var RequestDataSource = class {
352
323
  }
353
324
  return response.data;
354
325
  }).catch((error) => {
355
- var _a;
356
326
  if (this.baseRequestConfig.debug) {
357
327
  console.log("Error:", error);
358
328
  }
@@ -362,81 +332,87 @@ var RequestDataSource = class {
362
332
  if (responseConfig.raw) {
363
333
  return loggerHelper.makeResponse({ error });
364
334
  }
365
- throw ((_a = error.response) == null ? void 0 : _a.data) || error.response || new Error(error.message);
335
+ throw error.response?.data || error.response || new Error(error.message);
366
336
  });
367
337
  }
368
338
  search(config = {}) {
369
- return this.common(__spreadProps(__spreadValues({}, config), {
339
+ return this.common({
340
+ ...config,
370
341
  method: "get" /* GET */
371
- }));
342
+ });
372
343
  }
373
- bulkSearch() {
374
- return __asyncGenerator(this, arguments, function* (config = {}) {
375
- var _a;
376
- let pagination = {
377
- total: 0,
378
- currentPage: 0,
379
- lastPage: 0,
380
- from: 0,
381
- to: 0,
382
- pageSize: 30
383
- };
384
- do {
385
- const response = yield new __await(this.common(__spreadProps(__spreadValues({}, config), {
386
- method: "get" /* GET */,
387
- params: __spreadProps(__spreadValues({}, config.params), {
388
- page: pagination.currentPage + 1,
389
- pageSize: pagination.pageSize
390
- })
391
- })));
392
- if (!((_a = response.data) == null ? void 0 : _a.length)) {
393
- return [];
344
+ async *bulkSearch(config = {}) {
345
+ let pagination = {
346
+ total: 0,
347
+ currentPage: config.params?.page || 0,
348
+ lastPage: 0,
349
+ from: 0,
350
+ to: 0,
351
+ pageSize: config.params?.pageSize || 30
352
+ };
353
+ do {
354
+ const response = await this.common({
355
+ ...config,
356
+ method: "get" /* GET */,
357
+ params: {
358
+ ...config.params,
359
+ page: pagination.currentPage + 1,
360
+ pageSize: pagination.pageSize
394
361
  }
395
- yield response.data;
396
- pagination = response.pagination;
397
- } while (pagination.currentPage !== pagination.lastPage);
398
- });
362
+ });
363
+ if (!response.data?.length) {
364
+ return [];
365
+ }
366
+ yield response.data;
367
+ pagination = response.pagination;
368
+ } while (pagination.currentPage !== pagination.lastPage);
399
369
  }
400
370
  get(id, config = {}) {
401
- return this.common(__spreadProps(__spreadValues({}, config), {
371
+ return this.common({
372
+ ...config,
402
373
  method: "get" /* GET */,
403
374
  url: id
404
- }));
375
+ });
405
376
  }
406
377
  create(config) {
407
- return this.common(__spreadProps(__spreadValues({}, config), {
378
+ return this.common({
379
+ ...config,
408
380
  method: "post" /* POST */
409
- }));
381
+ });
410
382
  }
411
383
  bulkCreate(config) {
412
- return this.common(__spreadProps(__spreadValues({}, config), {
384
+ return this.common({
385
+ ...config,
413
386
  method: "post" /* POST */,
414
387
  url: "/bulk",
415
388
  data: {
416
389
  bulk: config.data
417
390
  }
418
- }));
391
+ });
419
392
  }
420
393
  update(id, config) {
421
- return this.common(__spreadProps(__spreadValues({}, config), {
394
+ return this.common({
395
+ ...config,
422
396
  method: "put" /* PUT */,
423
397
  url: id
424
- }));
398
+ });
425
399
  }
426
400
  bulkUpdate(config) {
427
- return this.common(__spreadProps(__spreadValues({}, config), {
401
+ return this.common({
402
+ ...config,
428
403
  method: "put" /* PUT */,
429
404
  url: "/bulk",
430
405
  data: {
431
406
  bulk: config.data
432
407
  }
433
- }));
408
+ });
434
409
  }
435
410
  remove(id, config = {}) {
436
- return this.common(__spreadProps(__spreadValues({}, config), {
411
+ return this.common({
412
+ ...config,
437
413
  method: "delete" /* DELETE */,
438
414
  url: id
439
- }));
415
+ });
440
416
  }
441
417
  };
442
418