@pdg/api 1.0.0 → 1.0.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.
@@ -1,4 +1,4 @@
1
- import { AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';
1
+ import { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig, ResponseType } from 'axios';
2
2
  export interface ApiRequestData {
3
3
  [key: string]: any;
4
4
  }
@@ -26,6 +26,7 @@ export interface ApiOption<T = any> {
26
26
  baseUrl: string;
27
27
  withCredentials?: boolean;
28
28
  headers?: AxiosRequestConfig['headers'];
29
+ onRequest?(config: InternalAxiosRequestConfig): Promise<InternalAxiosRequestConfig>;
29
30
  onResponse?(response: AxiosResponse<T>, config: AxiosRequestConfig, baseUrl: string, path: string, requestData?: ApiRequestData, requestOption?: ApiRequestOption): Promise<T>;
30
31
  onError?(err: ApiError): void;
31
32
  dataKeysToLowerCase?: boolean;
package/dist/index.esm.js CHANGED
@@ -213,7 +213,12 @@ function urlJoin() {
213
213
  _this.option.onError(apiError);
214
214
  reject(apiError);
215
215
  };
216
- axios(requestConfig)
216
+ var instance = axios.create();
217
+ var requestInterceptor;
218
+ if (_this.option.onRequest) {
219
+ requestInterceptor = instance.interceptors.request.use(_this.option.onRequest);
220
+ }
221
+ instance.request(requestConfig)
217
222
  .then(function (res) {
218
223
  var resData = res.data;
219
224
  if (_this.option.onResponse) {
@@ -231,7 +236,12 @@ function urlJoin() {
231
236
  resolve(resData);
232
237
  }
233
238
  })
234
- .catch(fireError);
239
+ .catch(fireError)
240
+ .finally(function () {
241
+ if (requestInterceptor) {
242
+ instance.interceptors.request.eject(requestInterceptor);
243
+ }
244
+ });
235
245
  });
236
246
  };
237
247
  this.option = option;
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../node_modules/url-join/lib/url-join.js","../src/@util/url.ts","../src/Api/Api.ts"],"sourcesContent":["import { AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';\n\nexport interface ApiRequestData {\n [key: string]: any;\n}\n\nexport interface ApiRequestOption {\n raw?: boolean;\n rawResponseType?: ResponseType;\n silent?: boolean;\n}\n\nexport interface ApiRequestConfig extends AxiosRequestConfig {\n silent?: boolean;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport class ApiError<T = any> extends Error {\n code?: string;\n config?: ApiRequestConfig;\n baseUrl?: string;\n path?: string;\n requestData?: ApiRequestData;\n requestOption?: ApiRequestOption;\n response?: AxiosResponse<T>;\n status?: number;\n isAxiosError = false;\n\n constructor(message?: string, code?: string) {\n super(message);\n\n this.code = code;\n }\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface ApiOption<T = any> {\n baseUrl: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onResponse?(\n response: AxiosResponse<T>,\n config: AxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): Promise<T>;\n onError?(err: ApiError): void;\n dataKeysToLowerCase?: boolean;\n}\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nexport { empty, notEmpty };\n","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","import urlJoin from 'url-join';\n\nexport function joinUrl(...paths: string[]): string {\n let url = urlJoin(...paths);\n while (url.indexOf('//') > -1) {\n url = url.replace(/\\/\\//g, '/');\n }\n return url;\n}\n","import axios, { AxiosResponse, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nclass Api<T = any> {\n option: ApiOption;\n\n // constructor -------------------------------------------------------------------------------------------------------\n\n constructor(option: ApiOption<T>) {\n this.option = option;\n }\n\n get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('get', path, data, option);\n }\n\n post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('post', path, data, option);\n }\n\n patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('patch', path, data, option);\n }\n\n delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('delete', path, data, option);\n }\n\n // Run ---------------------------------------------------------------------------------------------------------------\n\n run = (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> => {\n return new Promise<T>((resolve, reject) => {\n const headers: ApiRequestConfig['headers'] = { ...this.option.headers };\n\n if (typeof window !== 'undefined') {\n if (window?.location?.href) {\n headers['X-Referer'] = window.location.href;\n }\n }\n\n const requestConfig: ApiRequestConfig = {\n method,\n withCredentials: this.option.withCredentials,\n headers,\n silent: !!option?.silent,\n };\n if (option?.raw) {\n requestConfig.responseType = option?.rawResponseType || 'arraybuffer';\n }\n\n requestConfig.url = joinUrl(this.option.baseUrl, path.replace(/\\./g, '/'));\n\n if (data) {\n if (method === 'get') {\n if (notEmpty(data)) {\n const finalData: ApiRequestData = {};\n for (const key in data) {\n if (data[key] != null) {\n finalData[key] = data[key];\n }\n }\n requestConfig.url += `?${new URLSearchParams(finalData).toString()}`;\n }\n } else {\n requestConfig.data = data;\n }\n }\n\n const setErrorInfo = (err: ApiError, status?: number, response?: AxiosResponse) => {\n err.config = requestConfig;\n err.baseUrl = this.option.baseUrl;\n err.path = path;\n err.requestData = data;\n err.requestOption = option;\n err.response = response;\n err.status = status;\n };\n\n const fireError = (err: any): void => {\n const apiError: ApiError = new ApiError();\n\n if (typeof err === 'object') {\n apiError.message = err.message;\n apiError.code = err.code;\n setErrorInfo(apiError, err.status, err.response);\n } else if (typeof err === 'string') {\n apiError.message = err;\n } else if (err) {\n apiError.message = err.toString();\n }\n\n if (this.option.onError) this.option.onError(apiError);\n\n reject(apiError);\n };\n\n axios<T>(requestConfig)\n .then((res) => {\n const { data: resData } = res;\n if (this.option.onResponse) {\n this.option\n .onResponse(res, requestConfig, this.option.baseUrl, path, data, option)\n .then((finalResData) => {\n resolve(finalResData);\n })\n .catch((err: ApiError) => {\n setErrorInfo(err, res.status, res);\n fireError(err);\n });\n } else {\n resolve(resData);\n }\n })\n .catch(fireError);\n });\n };\n}\n\nexport default Api;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../node_modules/url-join/lib/url-join.js","../src/@util/url.ts","../src/Api/Api.ts"],"sourcesContent":["import {AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig, ResponseType} from 'axios';\n\nexport interface ApiRequestData {\n [key: string]: any;\n}\n\nexport interface ApiRequestOption {\n raw?: boolean;\n rawResponseType?: ResponseType;\n silent?: boolean;\n}\n\nexport interface ApiRequestConfig extends AxiosRequestConfig {\n silent?: boolean;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport class ApiError<T = any> extends Error {\n code?: string;\n config?: ApiRequestConfig;\n baseUrl?: string;\n path?: string;\n requestData?: ApiRequestData;\n requestOption?: ApiRequestOption;\n response?: AxiosResponse<T>;\n status?: number;\n isAxiosError = false;\n\n constructor(message?: string, code?: string) {\n super(message);\n\n this.code = code;\n }\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface ApiOption<T = any> {\n baseUrl: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(config: InternalAxiosRequestConfig): Promise<InternalAxiosRequestConfig>;\n onResponse?(\n response: AxiosResponse<T>,\n config: AxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): Promise<T>;\n onError?(err: ApiError): void;\n dataKeysToLowerCase?: boolean;\n}\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nexport { empty, notEmpty };\n","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","import urlJoin from 'url-join';\n\nexport function joinUrl(...paths: string[]): string {\n let url = urlJoin(...paths);\n while (url.indexOf('//') > -1) {\n url = url.replace(/\\/\\//g, '/');\n }\n return url;\n}\n","import axios, { AxiosResponse, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nclass Api<T = any> {\n option: ApiOption;\n\n // constructor -------------------------------------------------------------------------------------------------------\n\n constructor(option: ApiOption<T>) {\n this.option = option;\n }\n\n get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('get', path, data, option);\n }\n\n post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('post', path, data, option);\n }\n\n patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('patch', path, data, option);\n }\n\n delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('delete', path, data, option);\n }\n\n // Run ---------------------------------------------------------------------------------------------------------------\n\n run = (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> => {\n return new Promise<T>((resolve, reject) => {\n const headers: ApiRequestConfig['headers'] = { ...this.option.headers };\n\n if (typeof window !== 'undefined') {\n if (window?.location?.href) {\n headers['X-Referer'] = window.location.href;\n }\n }\n\n const requestConfig: ApiRequestConfig = {\n method,\n withCredentials: this.option.withCredentials,\n headers,\n silent: !!option?.silent,\n };\n if (option?.raw) {\n requestConfig.responseType = option?.rawResponseType || 'arraybuffer';\n }\n\n requestConfig.url = joinUrl(this.option.baseUrl, path.replace(/\\./g, '/'));\n\n if (data) {\n if (method === 'get') {\n if (notEmpty(data)) {\n const finalData: ApiRequestData = {};\n for (const key in data) {\n if (data[key] != null) {\n finalData[key] = data[key];\n }\n }\n requestConfig.url += `?${new URLSearchParams(finalData).toString()}`;\n }\n } else {\n requestConfig.data = data;\n }\n }\n\n const setErrorInfo = (err: ApiError, status?: number, response?: AxiosResponse) => {\n err.config = requestConfig;\n err.baseUrl = this.option.baseUrl;\n err.path = path;\n err.requestData = data;\n err.requestOption = option;\n err.response = response;\n err.status = status;\n };\n\n const fireError = (err: any): void => {\n const apiError: ApiError = new ApiError();\n\n if (typeof err === 'object') {\n apiError.message = err.message;\n apiError.code = err.code;\n setErrorInfo(apiError, err.status, err.response);\n } else if (typeof err === 'string') {\n apiError.message = err;\n } else if (err) {\n apiError.message = err.toString();\n }\n\n if (this.option.onError) this.option.onError(apiError);\n\n reject(apiError);\n };\n\n const instance = axios.create();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(this.option.onRequest);\n }\n instance.request<T>(requestConfig)\n .then((res) => {\n const { data: resData } = res;\n if (this.option.onResponse) {\n this.option\n .onResponse(res, requestConfig, this.option.baseUrl, path, data, option)\n .then((finalResData) => {\n resolve(finalResData);\n })\n .catch((err: ApiError) => {\n setErrorInfo(err, res.status, res);\n fireError(err);\n });\n } else {\n resolve(resData);\n }\n })\n .catch(fireError)\n .finally(() => {\n if (requestInterceptor) {\n instance.interceptors.request.eject(requestInterceptor);\n }\n });\n });\n };\n}\n\nexport default Api;\n"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -213,7 +213,12 @@ function urlJoin() {
213
213
  _this.option.onError(apiError);
214
214
  reject(apiError);
215
215
  };
216
- axios__default["default"](requestConfig)
216
+ var instance = axios__default["default"].create();
217
+ var requestInterceptor;
218
+ if (_this.option.onRequest) {
219
+ requestInterceptor = instance.interceptors.request.use(_this.option.onRequest);
220
+ }
221
+ instance.request(requestConfig)
217
222
  .then(function (res) {
218
223
  var resData = res.data;
219
224
  if (_this.option.onResponse) {
@@ -231,7 +236,12 @@ function urlJoin() {
231
236
  resolve(resData);
232
237
  }
233
238
  })
234
- .catch(fireError);
239
+ .catch(fireError)
240
+ .finally(function () {
241
+ if (requestInterceptor) {
242
+ instance.interceptors.request.eject(requestInterceptor);
243
+ }
244
+ });
235
245
  });
236
246
  };
237
247
  this.option = option;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../node_modules/url-join/lib/url-join.js","../src/@util/url.ts","../src/Api/Api.ts"],"sourcesContent":["import { AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';\n\nexport interface ApiRequestData {\n [key: string]: any;\n}\n\nexport interface ApiRequestOption {\n raw?: boolean;\n rawResponseType?: ResponseType;\n silent?: boolean;\n}\n\nexport interface ApiRequestConfig extends AxiosRequestConfig {\n silent?: boolean;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport class ApiError<T = any> extends Error {\n code?: string;\n config?: ApiRequestConfig;\n baseUrl?: string;\n path?: string;\n requestData?: ApiRequestData;\n requestOption?: ApiRequestOption;\n response?: AxiosResponse<T>;\n status?: number;\n isAxiosError = false;\n\n constructor(message?: string, code?: string) {\n super(message);\n\n this.code = code;\n }\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface ApiOption<T = any> {\n baseUrl: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onResponse?(\n response: AxiosResponse<T>,\n config: AxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): Promise<T>;\n onError?(err: ApiError): void;\n dataKeysToLowerCase?: boolean;\n}\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nexport { empty, notEmpty };\n","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","import urlJoin from 'url-join';\n\nexport function joinUrl(...paths: string[]): string {\n let url = urlJoin(...paths);\n while (url.indexOf('//') > -1) {\n url = url.replace(/\\/\\//g, '/');\n }\n return url;\n}\n","import axios, { AxiosResponse, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nclass Api<T = any> {\n option: ApiOption;\n\n // constructor -------------------------------------------------------------------------------------------------------\n\n constructor(option: ApiOption<T>) {\n this.option = option;\n }\n\n get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('get', path, data, option);\n }\n\n post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('post', path, data, option);\n }\n\n patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('patch', path, data, option);\n }\n\n delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('delete', path, data, option);\n }\n\n // Run ---------------------------------------------------------------------------------------------------------------\n\n run = (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> => {\n return new Promise<T>((resolve, reject) => {\n const headers: ApiRequestConfig['headers'] = { ...this.option.headers };\n\n if (typeof window !== 'undefined') {\n if (window?.location?.href) {\n headers['X-Referer'] = window.location.href;\n }\n }\n\n const requestConfig: ApiRequestConfig = {\n method,\n withCredentials: this.option.withCredentials,\n headers,\n silent: !!option?.silent,\n };\n if (option?.raw) {\n requestConfig.responseType = option?.rawResponseType || 'arraybuffer';\n }\n\n requestConfig.url = joinUrl(this.option.baseUrl, path.replace(/\\./g, '/'));\n\n if (data) {\n if (method === 'get') {\n if (notEmpty(data)) {\n const finalData: ApiRequestData = {};\n for (const key in data) {\n if (data[key] != null) {\n finalData[key] = data[key];\n }\n }\n requestConfig.url += `?${new URLSearchParams(finalData).toString()}`;\n }\n } else {\n requestConfig.data = data;\n }\n }\n\n const setErrorInfo = (err: ApiError, status?: number, response?: AxiosResponse) => {\n err.config = requestConfig;\n err.baseUrl = this.option.baseUrl;\n err.path = path;\n err.requestData = data;\n err.requestOption = option;\n err.response = response;\n err.status = status;\n };\n\n const fireError = (err: any): void => {\n const apiError: ApiError = new ApiError();\n\n if (typeof err === 'object') {\n apiError.message = err.message;\n apiError.code = err.code;\n setErrorInfo(apiError, err.status, err.response);\n } else if (typeof err === 'string') {\n apiError.message = err;\n } else if (err) {\n apiError.message = err.toString();\n }\n\n if (this.option.onError) this.option.onError(apiError);\n\n reject(apiError);\n };\n\n axios<T>(requestConfig)\n .then((res) => {\n const { data: resData } = res;\n if (this.option.onResponse) {\n this.option\n .onResponse(res, requestConfig, this.option.baseUrl, path, data, option)\n .then((finalResData) => {\n resolve(finalResData);\n })\n .catch((err: ApiError) => {\n setErrorInfo(err, res.status, res);\n fireError(err);\n });\n } else {\n resolve(resData);\n }\n })\n .catch(fireError);\n });\n };\n}\n\nexport default Api;\n"],"names":["axios"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../node_modules/url-join/lib/url-join.js","../src/@util/url.ts","../src/Api/Api.ts"],"sourcesContent":["import {AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig, ResponseType} from 'axios';\n\nexport interface ApiRequestData {\n [key: string]: any;\n}\n\nexport interface ApiRequestOption {\n raw?: boolean;\n rawResponseType?: ResponseType;\n silent?: boolean;\n}\n\nexport interface ApiRequestConfig extends AxiosRequestConfig {\n silent?: boolean;\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport class ApiError<T = any> extends Error {\n code?: string;\n config?: ApiRequestConfig;\n baseUrl?: string;\n path?: string;\n requestData?: ApiRequestData;\n requestOption?: ApiRequestOption;\n response?: AxiosResponse<T>;\n status?: number;\n isAxiosError = false;\n\n constructor(message?: string, code?: string) {\n super(message);\n\n this.code = code;\n }\n}\n\n//--------------------------------------------------------------------------------------------------------------------\n\nexport interface ApiOption<T = any> {\n baseUrl: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(config: InternalAxiosRequestConfig): Promise<InternalAxiosRequestConfig>;\n onResponse?(\n response: AxiosResponse<T>,\n config: AxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): Promise<T>;\n onError?(err: ApiError): void;\n dataKeysToLowerCase?: boolean;\n}\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nexport { empty, notEmpty };\n","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","import urlJoin from 'url-join';\n\nexport function joinUrl(...paths: string[]): string {\n let url = urlJoin(...paths);\n while (url.indexOf('//') > -1) {\n url = url.replace(/\\/\\//g, '/');\n }\n return url;\n}\n","import axios, { AxiosResponse, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nclass Api<T = any> {\n option: ApiOption;\n\n // constructor -------------------------------------------------------------------------------------------------------\n\n constructor(option: ApiOption<T>) {\n this.option = option;\n }\n\n get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('get', path, data, option);\n }\n\n post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('post', path, data, option);\n }\n\n patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('patch', path, data, option);\n }\n\n delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> {\n return this.run('delete', path, data, option);\n }\n\n // Run ---------------------------------------------------------------------------------------------------------------\n\n run = (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T> => {\n return new Promise<T>((resolve, reject) => {\n const headers: ApiRequestConfig['headers'] = { ...this.option.headers };\n\n if (typeof window !== 'undefined') {\n if (window?.location?.href) {\n headers['X-Referer'] = window.location.href;\n }\n }\n\n const requestConfig: ApiRequestConfig = {\n method,\n withCredentials: this.option.withCredentials,\n headers,\n silent: !!option?.silent,\n };\n if (option?.raw) {\n requestConfig.responseType = option?.rawResponseType || 'arraybuffer';\n }\n\n requestConfig.url = joinUrl(this.option.baseUrl, path.replace(/\\./g, '/'));\n\n if (data) {\n if (method === 'get') {\n if (notEmpty(data)) {\n const finalData: ApiRequestData = {};\n for (const key in data) {\n if (data[key] != null) {\n finalData[key] = data[key];\n }\n }\n requestConfig.url += `?${new URLSearchParams(finalData).toString()}`;\n }\n } else {\n requestConfig.data = data;\n }\n }\n\n const setErrorInfo = (err: ApiError, status?: number, response?: AxiosResponse) => {\n err.config = requestConfig;\n err.baseUrl = this.option.baseUrl;\n err.path = path;\n err.requestData = data;\n err.requestOption = option;\n err.response = response;\n err.status = status;\n };\n\n const fireError = (err: any): void => {\n const apiError: ApiError = new ApiError();\n\n if (typeof err === 'object') {\n apiError.message = err.message;\n apiError.code = err.code;\n setErrorInfo(apiError, err.status, err.response);\n } else if (typeof err === 'string') {\n apiError.message = err;\n } else if (err) {\n apiError.message = err.toString();\n }\n\n if (this.option.onError) this.option.onError(apiError);\n\n reject(apiError);\n };\n\n const instance = axios.create();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(this.option.onRequest);\n }\n instance.request<T>(requestConfig)\n .then((res) => {\n const { data: resData } = res;\n if (this.option.onResponse) {\n this.option\n .onResponse(res, requestConfig, this.option.baseUrl, path, data, option)\n .then((finalResData) => {\n resolve(finalResData);\n })\n .catch((err: ApiError) => {\n setErrorInfo(err, res.status, res);\n fireError(err);\n });\n } else {\n resolve(resData);\n }\n })\n .catch(fireError)\n .finally(() => {\n if (requestInterceptor) {\n instance.interceptors.request.eject(requestInterceptor);\n }\n });\n });\n };\n}\n\nexport default Api;\n"],"names":["axios"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/api",
3
3
  "title": "API Module",
4
- "version": "1.0.0",
4
+ "version": "1.0.1",
5
5
  "description": "API Module",
6
6
  "types": "dist/index.d.ts",
7
7
  "main": "dist/index.js",