@pdg/api 1.0.9 → 1.0.10

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,3 +1,3 @@
1
- declare const empty: (v: any) => boolean;
2
- declare const notEmpty: (v: any) => boolean;
3
- export { empty, notEmpty };
1
+ declare const empty: (v: any) => boolean;
2
+ declare const notEmpty: (v: any) => boolean;
3
+ export { empty, notEmpty };
@@ -1,2 +1,2 @@
1
- export * from './compare';
2
- export * from './url';
1
+ export * from './compare';
2
+ export * from './url';
@@ -1 +1 @@
1
- export declare function joinUrl(...paths: string[]): string;
1
+ export declare function joinUrl(...parts: string[]): string;
package/dist/Api/Api.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { Method } from 'axios';
2
- import { ApiRequestData, ApiOption, ApiRequestOption } from './Api.types';
3
- declare class Api<T = any> {
4
- option: ApiOption;
5
- constructor(option: ApiOption<T>);
6
- get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
7
- post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
8
- patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
9
- delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
10
- run: (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption) => Promise<T>;
11
- }
12
- export default Api;
1
+ import { Method } from 'axios';
2
+ import { ApiRequestData, ApiOption, ApiRequestOption } from './Api.types';
3
+ declare class Api<T = any> {
4
+ option: ApiOption;
5
+ constructor(option: ApiOption<T>);
6
+ get(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
7
+ post(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
8
+ patch(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
9
+ delete(path: string, data?: ApiRequestData, option?: ApiRequestOption): Promise<T>;
10
+ run: (method: Method, path: string, data?: ApiRequestData, option?: ApiRequestOption) => Promise<T>;
11
+ }
12
+ export default Api;
@@ -1,34 +1,34 @@
1
- import { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig, ResponseType } from 'axios';
2
- export interface ApiRequestData {
3
- [key: string]: any;
4
- }
5
- export interface ApiRequestOption {
6
- raw?: boolean;
7
- rawResponseType?: ResponseType;
8
- silent?: boolean;
9
- }
10
- export interface ApiRequestConfig extends AxiosRequestConfig {
11
- silent?: boolean;
12
- }
13
- export declare class ApiError<T = any> extends Error {
14
- code?: string;
15
- config?: ApiRequestConfig;
16
- baseUrl?: string;
17
- path?: string;
18
- requestData?: ApiRequestData;
19
- requestOption?: ApiRequestOption;
20
- response?: AxiosResponse<T>;
21
- status?: number;
22
- isAxiosError: boolean;
23
- constructor(message?: string, code?: string);
24
- }
25
- export interface ApiOption<T = any> {
26
- baseUrl: string;
27
- timeParamName: string;
28
- withCredentials?: boolean;
29
- headers?: AxiosRequestConfig['headers'];
30
- onRequest?(config: InternalAxiosRequestConfig, baseUrl: string, path: string, requestData?: ApiRequestData, requestOption?: ApiRequestOption): Promise<InternalAxiosRequestConfig>;
31
- onResponse?(response: AxiosResponse<T>, config: AxiosRequestConfig, baseUrl: string, path: string, requestData?: ApiRequestData, requestOption?: ApiRequestOption): Promise<T>;
32
- onError?(err: ApiError): void;
33
- dataKeysToLowerCase?: boolean;
34
- }
1
+ import { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig, ResponseType } from 'axios';
2
+ export interface ApiRequestData {
3
+ [key: string]: any;
4
+ }
5
+ export interface ApiRequestOption {
6
+ raw?: boolean;
7
+ rawResponseType?: ResponseType;
8
+ silent?: boolean;
9
+ }
10
+ export interface ApiRequestConfig extends AxiosRequestConfig {
11
+ silent?: boolean;
12
+ }
13
+ export declare class ApiError<T = any> extends Error {
14
+ code?: string;
15
+ config?: ApiRequestConfig;
16
+ baseUrl?: string;
17
+ path?: string;
18
+ requestData?: ApiRequestData;
19
+ requestOption?: ApiRequestOption;
20
+ response?: AxiosResponse<T>;
21
+ status?: number;
22
+ isAxiosError: boolean;
23
+ constructor(message?: string, code?: string);
24
+ }
25
+ export interface ApiOption<T = any> {
26
+ baseUrl: string;
27
+ timeParamName: string;
28
+ withCredentials?: boolean;
29
+ headers?: AxiosRequestConfig['headers'];
30
+ onRequest?(config: InternalAxiosRequestConfig, baseUrl: string, path: string, requestData?: ApiRequestData, requestOption?: ApiRequestOption): Promise<InternalAxiosRequestConfig>;
31
+ onResponse?(response: AxiosResponse<T>, config: AxiosRequestConfig, baseUrl: string, path: string, requestData?: ApiRequestData, requestOption?: ApiRequestOption): Promise<T>;
32
+ onError?(err: ApiError): void;
33
+ dataKeysToLowerCase?: boolean;
34
+ }
@@ -1,4 +1,4 @@
1
- import Api from './Api';
2
- export default Api;
3
- export { Api };
4
- export * from './Api.types';
1
+ import Api from './Api';
2
+ export default Api;
3
+ export { Api };
4
+ export * from './Api.types';
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './Api';
1
+ export * from './Api';
package/dist/index.esm.js CHANGED
@@ -81,246 +81,186 @@ function __generator(thisArg, body) {
81
81
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
82
82
  var e = new Error(message);
83
83
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
84
- };//--------------------------------------------------------------------------------------------------------------------
85
- var ApiError = /** @class */ (function (_super) {
86
- __extends(ApiError, _super);
87
- function ApiError(message, code) {
88
- var _this = _super.call(this, message) || this;
89
- _this.isAxiosError = false;
90
- _this.code = code;
91
- return _this;
92
- }
93
- return ApiError;
94
- }(Error));var empty = function (v) {
95
- var result = false;
96
- if (v == null) {
97
- result = true;
98
- }
99
- else if (typeof v === 'string') {
100
- result = v === '';
101
- }
102
- else if (typeof v === 'object') {
103
- if (Array.isArray(v)) {
104
- result = v.length === 0;
105
- }
106
- else if (!(v instanceof Date)) {
107
- result = Object.entries(v).length === 0;
108
- }
109
- }
110
- return result;
111
- };
112
- var notEmpty = function (v) {
113
- return !empty(v);
114
- };function normalize (strArray) {
115
- var resultArray = [];
116
- if (strArray.length === 0) { return ''; }
117
-
118
- if (typeof strArray[0] !== 'string') {
119
- throw new TypeError('Url must be a string. Received ' + strArray[0]);
120
- }
121
-
122
- // If the first part is a plain protocol, we combine it with the next part.
123
- if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) {
124
- var first = strArray.shift();
125
- strArray[0] = first + strArray[0];
126
- }
127
-
128
- // There must be two or three slashes in the file protocol, two slashes in anything else.
129
- if (strArray[0].match(/^file:\/\/\//)) {
130
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1:///');
131
- } else {
132
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1://');
133
- }
134
-
135
- for (var i = 0; i < strArray.length; i++) {
136
- var component = strArray[i];
137
-
138
- if (typeof component !== 'string') {
139
- throw new TypeError('Url must be a string. Received ' + component);
84
+ };//--------------------------------------------------------------------------------------------------------------------
85
+ var ApiError = /** @class */ (function (_super) {
86
+ __extends(ApiError, _super);
87
+ function ApiError(message, code) {
88
+ var _this = _super.call(this, message) || this;
89
+ _this.isAxiosError = false;
90
+ _this.code = code;
91
+ return _this;
140
92
  }
141
-
142
- if (component === '') { continue; }
143
-
144
- if (i > 0) {
145
- // Removing the starting slashes for each component but the first.
146
- component = component.replace(/^[\/]+/, '');
93
+ return ApiError;
94
+ }(Error));var empty = function (v) {
95
+ var result = false;
96
+ if (v == null) {
97
+ result = true;
147
98
  }
148
- if (i < strArray.length - 1) {
149
- // Removing the ending slashes for each component but the last.
150
- component = component.replace(/[\/]+$/, '');
151
- } else {
152
- // For the last component we will combine multiple slashes to a single one.
153
- component = component.replace(/[\/]+$/, '/');
99
+ else if (typeof v === 'string') {
100
+ result = v === '';
154
101
  }
155
-
156
- resultArray.push(component);
157
-
158
- }
159
-
160
- var str = resultArray.join('/');
161
- // Each input component is now separated by a single slash except the possible first plain protocol part.
162
-
163
- // remove trailing slash before parameters or hash
164
- str = str.replace(/\/(\?|&|#[^!])/g, '$1');
165
-
166
- // replace ? in parameters with &
167
- var parts = str.split('?');
168
- str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');
169
-
170
- return str;
171
- }
172
-
173
- function urlJoin() {
174
- var input;
175
-
176
- if (typeof arguments[0] === 'object') {
177
- input = arguments[0];
178
- } else {
179
- input = [].slice.call(arguments);
180
- }
181
-
182
- return normalize(input);
183
- }function joinUrl() {
184
- var paths = [];
185
- for (var _i = 0; _i < arguments.length; _i++) {
186
- paths[_i] = arguments[_i];
187
- }
188
- var url = urlJoin.apply(void 0, paths);
189
- while (url.indexOf('//') > -1) {
190
- url = url.replace(/\/\//g, '/');
191
- }
192
- return url;
193
- }var _a;
194
- var AxiosCreate = axios.create ? axios.create : (_a = require('axios').default) === null || _a === void 0 ? void 0 : _a.create;
195
- var Api = /** @class */ (function () {
196
- // constructor -------------------------------------------------------------------------------------------------------
197
- function Api(option) {
198
- var _this = this;
199
- // Run ---------------------------------------------------------------------------------------------------------------
200
- this.run = function (method, path, data, option) {
201
- return new Promise(function (resolve, reject) {
202
- var _a;
203
- var headers = __assign({}, _this.option.headers);
204
- if (typeof window !== 'undefined') {
205
- if ((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) {
206
- headers['X-Referer'] = window.location.href;
207
- }
208
- }
209
- var requestConfig = {
210
- method: method,
211
- withCredentials: _this.option.withCredentials,
212
- headers: headers,
213
- silent: !!(option === null || option === void 0 ? void 0 : option.silent),
214
- };
215
- if (option === null || option === void 0 ? void 0 : option.raw) {
216
- requestConfig.responseType = (option === null || option === void 0 ? void 0 : option.rawResponseType) || 'arraybuffer';
217
- }
218
- requestConfig.url = joinUrl(_this.option.baseUrl, path.replace(/\./g, '/'));
219
- if (data) {
220
- if (method === 'get') {
221
- if (notEmpty(data)) {
222
- var finalData = {};
223
- finalData[_this.option.timeParamName] = new Date().getTime();
224
- for (var key in data) {
225
- if (data[key] != null) {
226
- finalData[key] = data[key];
227
- }
228
- }
229
- requestConfig.url += "?".concat(new URLSearchParams(finalData).toString());
230
- }
231
- }
232
- else {
233
- if (data instanceof FormData) {
234
- data.append(_this.option.timeParamName, "".concat(new Date().getTime()));
235
- requestConfig.data = data;
236
- }
237
- else {
238
- var finalData = __assign({}, data);
239
- finalData[_this.option.timeParamName] = new Date().getTime();
240
- requestConfig.data = finalData;
241
- }
242
- }
243
- }
244
- var setErrorInfo = function (err, status, response) {
245
- err.config = requestConfig;
246
- err.baseUrl = _this.option.baseUrl;
247
- err.path = path;
248
- err.requestData = data;
249
- err.requestOption = option;
250
- err.response = response;
251
- err.status = status;
252
- };
253
- var fireError = function (err) {
254
- var apiError = new ApiError();
255
- if (typeof err === 'object') {
256
- apiError.message = err.message;
257
- apiError.code = err.code;
258
- setErrorInfo(apiError, err.status, err.response);
259
- }
260
- else if (typeof err === 'string') {
261
- apiError.message = err;
262
- }
263
- else if (err) {
264
- apiError.message = err.toString();
265
- }
266
- if (_this.option.onError)
267
- _this.option.onError(apiError);
268
- reject(apiError);
269
- };
270
- var instance = AxiosCreate();
271
- var requestInterceptor;
272
- if (_this.option.onRequest) {
273
- requestInterceptor = instance.interceptors.request.use(function (config) { return __awaiter(_this, void 0, void 0, function () {
274
- return __generator(this, function (_a) {
275
- if (this.option.onRequest) {
276
- return [2 /*return*/, this.option.onRequest(config, this.option.baseUrl, path, data, option)];
277
- }
278
- else {
279
- return [2 /*return*/, config];
280
- }
281
- });
282
- }); });
283
- }
284
- instance
285
- .request(requestConfig)
286
- .then(function (res) {
287
- var resData = res.data;
288
- if (_this.option.onResponse) {
289
- _this.option
290
- .onResponse(res, requestConfig, _this.option.baseUrl, path, data, option)
291
- .then(function (finalResData) {
292
- resolve(finalResData);
293
- })
294
- .catch(function (err) {
295
- setErrorInfo(err, res.status, res);
296
- fireError(err);
297
- });
298
- }
299
- else {
300
- resolve(resData);
301
- }
302
- })
303
- .catch(fireError)
304
- .finally(function () {
305
- if (requestInterceptor) {
306
- instance.interceptors.request.eject(requestInterceptor);
307
- }
308
- });
309
- });
310
- };
311
- this.option = option;
312
- }
313
- Api.prototype.get = function (path, data, option) {
314
- return this.run('get', path, data, option);
315
- };
316
- Api.prototype.post = function (path, data, option) {
317
- return this.run('post', path, data, option);
318
- };
319
- Api.prototype.patch = function (path, data, option) {
320
- return this.run('patch', path, data, option);
321
- };
322
- Api.prototype.delete = function (path, data, option) {
323
- return this.run('delete', path, data, option);
324
- };
325
- return Api;
102
+ else if (typeof v === 'object') {
103
+ if (Array.isArray(v)) {
104
+ result = v.length === 0;
105
+ }
106
+ else if (!(v instanceof Date)) {
107
+ result = Object.entries(v).length === 0;
108
+ }
109
+ }
110
+ return result;
111
+ };
112
+ var notEmpty = function (v) {
113
+ return !empty(v);
114
+ };function joinUrl() {
115
+ var parts = [];
116
+ for (var _i = 0; _i < arguments.length; _i++) {
117
+ parts[_i] = arguments[_i];
118
+ }
119
+ return parts.reduce(function (acc, part) {
120
+ if (acc === '') {
121
+ return part;
122
+ }
123
+ else if (part.startsWith('?')) {
124
+ return "".concat(acc).concat(part);
125
+ }
126
+ else if (acc.endsWith('/')) {
127
+ return "".concat(acc).concat(part.startsWith('/') ? part.substring(1) : part);
128
+ }
129
+ else {
130
+ return "".concat(acc).concat(part.startsWith('/') ? part : "/".concat(part));
131
+ }
132
+ });
133
+ }var _a;
134
+ var AxiosCreate = axios.create ? axios.create : (_a = require('axios').default) === null || _a === void 0 ? void 0 : _a.create;
135
+ var Api = /** @class */ (function () {
136
+ // constructor -------------------------------------------------------------------------------------------------------
137
+ function Api(option) {
138
+ var _this = this;
139
+ // Run ---------------------------------------------------------------------------------------------------------------
140
+ this.run = function (method, path, data, option) {
141
+ return new Promise(function (resolve, reject) {
142
+ var _a;
143
+ var headers = __assign({}, _this.option.headers);
144
+ if (typeof window !== 'undefined') {
145
+ if ((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) {
146
+ headers['X-Referer'] = window.location.href;
147
+ }
148
+ }
149
+ var requestConfig = {
150
+ method: method,
151
+ withCredentials: _this.option.withCredentials,
152
+ headers: headers,
153
+ silent: !!(option === null || option === void 0 ? void 0 : option.silent),
154
+ };
155
+ if (option === null || option === void 0 ? void 0 : option.raw) {
156
+ requestConfig.responseType = (option === null || option === void 0 ? void 0 : option.rawResponseType) || 'arraybuffer';
157
+ }
158
+ requestConfig.url = joinUrl(_this.option.baseUrl, path.replace(/\./g, '/'));
159
+ if (data) {
160
+ if (method === 'get') {
161
+ if (notEmpty(data)) {
162
+ var finalData = {};
163
+ finalData[_this.option.timeParamName] = new Date().getTime();
164
+ for (var key in data) {
165
+ if (data[key] != null) {
166
+ finalData[key] = data[key];
167
+ }
168
+ }
169
+ requestConfig.url += "?".concat(new URLSearchParams(finalData).toString());
170
+ }
171
+ }
172
+ else {
173
+ if (data instanceof FormData) {
174
+ data.append(_this.option.timeParamName, "".concat(new Date().getTime()));
175
+ requestConfig.data = data;
176
+ }
177
+ else {
178
+ var finalData = __assign({}, data);
179
+ finalData[_this.option.timeParamName] = new Date().getTime();
180
+ requestConfig.data = finalData;
181
+ }
182
+ }
183
+ }
184
+ var setErrorInfo = function (err, status, response) {
185
+ err.config = requestConfig;
186
+ err.baseUrl = _this.option.baseUrl;
187
+ err.path = path;
188
+ err.requestData = data;
189
+ err.requestOption = option;
190
+ err.response = response;
191
+ err.status = status;
192
+ };
193
+ var fireError = function (err) {
194
+ var apiError = new ApiError();
195
+ if (typeof err === 'object') {
196
+ apiError.message = err.message;
197
+ apiError.code = err.code;
198
+ setErrorInfo(apiError, err.status, err.response);
199
+ }
200
+ else if (typeof err === 'string') {
201
+ apiError.message = err;
202
+ }
203
+ else if (err) {
204
+ apiError.message = err.toString();
205
+ }
206
+ if (_this.option.onError)
207
+ _this.option.onError(apiError);
208
+ reject(apiError);
209
+ };
210
+ var instance = AxiosCreate();
211
+ var requestInterceptor;
212
+ if (_this.option.onRequest) {
213
+ requestInterceptor = instance.interceptors.request.use(function (config) { return __awaiter(_this, void 0, void 0, function () {
214
+ return __generator(this, function (_a) {
215
+ if (this.option.onRequest) {
216
+ return [2 /*return*/, this.option.onRequest(config, this.option.baseUrl, path, data, option)];
217
+ }
218
+ else {
219
+ return [2 /*return*/, config];
220
+ }
221
+ });
222
+ }); });
223
+ }
224
+ instance
225
+ .request(requestConfig)
226
+ .then(function (res) {
227
+ var resData = res.data;
228
+ if (_this.option.onResponse) {
229
+ _this.option
230
+ .onResponse(res, requestConfig, _this.option.baseUrl, path, data, option)
231
+ .then(function (finalResData) {
232
+ resolve(finalResData);
233
+ })
234
+ .catch(function (err) {
235
+ setErrorInfo(err, res.status, res);
236
+ fireError(err);
237
+ });
238
+ }
239
+ else {
240
+ resolve(resData);
241
+ }
242
+ })
243
+ .catch(fireError)
244
+ .finally(function () {
245
+ if (requestInterceptor) {
246
+ instance.interceptors.request.eject(requestInterceptor);
247
+ }
248
+ });
249
+ });
250
+ };
251
+ this.option = option;
252
+ }
253
+ Api.prototype.get = function (path, data, option) {
254
+ return this.run('get', path, data, option);
255
+ };
256
+ Api.prototype.post = function (path, data, option) {
257
+ return this.run('post', path, data, option);
258
+ };
259
+ Api.prototype.patch = function (path, data, option) {
260
+ return this.run('patch', path, data, option);
261
+ };
262
+ Api.prototype.delete = function (path, data, option) {
263
+ return this.run('delete', path, data, option);
264
+ };
265
+ return Api;
326
266
  }());export{Api,ApiError};//# sourceMappingURL=index.esm.js.map
@@ -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, 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 timeParamName: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(\n config: InternalAxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): 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, { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nconst AxiosCreate = axios.create ? axios.create : require('axios').default?.create;\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 finalData[this.option.timeParamName] = new Date().getTime();\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 if (data instanceof FormData) {\n data.append(this.option.timeParamName, `${new Date().getTime()}`);\n requestConfig.data = data;\n } else {\n const finalData: ApiRequestData = { ...data };\n finalData[this.option.timeParamName] = new Date().getTime();\n requestConfig.data = finalData;\n }\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: AxiosInstance = AxiosCreate();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(async (config: InternalAxiosRequestConfig) => {\n if (this.option.onRequest) {\n return this.option.onRequest(config, this.option.baseUrl, path, data, option);\n } else {\n return config;\n }\n });\n }\n\n instance\n .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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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../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 timeParamName: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(\n config: InternalAxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): 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","export function joinUrl(...parts: string[]): string {\n return parts.reduce((acc, part) => {\n if (acc === '') {\n return part;\n } else if (part.startsWith('?')) {\n return `${acc}${part}`;\n } else if (acc.endsWith('/')) {\n return `${acc}${part.startsWith('/') ? part.substring(1) : part}`;\n } else {\n return `${acc}${part.startsWith('/') ? part : `/${part}`}`;\n }\n });\n}\n","import axios, { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nconst AxiosCreate = axios.create ? axios.create : require('axios').default?.create;\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 finalData[this.option.timeParamName] = new Date().getTime();\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 if (data instanceof FormData) {\n data.append(this.option.timeParamName, `${new Date().getTime()}`);\n requestConfig.data = data;\n } else {\n const finalData: ApiRequestData = { ...data };\n finalData[this.option.timeParamName] = new Date().getTime();\n requestConfig.data = finalData;\n }\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: AxiosInstance = AxiosCreate();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(async (config: InternalAxiosRequestConfig) => {\n if (this.option.onRequest) {\n return this.option.onRequest(config, this.option.baseUrl, path, data, option);\n } else {\n return config;\n }\n });\n }\n\n instance\n .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
@@ -81,246 +81,186 @@ function __generator(thisArg, body) {
81
81
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
82
82
  var e = new Error(message);
83
83
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
84
- };//--------------------------------------------------------------------------------------------------------------------
85
- var ApiError = /** @class */ (function (_super) {
86
- __extends(ApiError, _super);
87
- function ApiError(message, code) {
88
- var _this = _super.call(this, message) || this;
89
- _this.isAxiosError = false;
90
- _this.code = code;
91
- return _this;
92
- }
93
- return ApiError;
94
- }(Error));var empty = function (v) {
95
- var result = false;
96
- if (v == null) {
97
- result = true;
98
- }
99
- else if (typeof v === 'string') {
100
- result = v === '';
101
- }
102
- else if (typeof v === 'object') {
103
- if (Array.isArray(v)) {
104
- result = v.length === 0;
105
- }
106
- else if (!(v instanceof Date)) {
107
- result = Object.entries(v).length === 0;
108
- }
109
- }
110
- return result;
111
- };
112
- var notEmpty = function (v) {
113
- return !empty(v);
114
- };function normalize (strArray) {
115
- var resultArray = [];
116
- if (strArray.length === 0) { return ''; }
117
-
118
- if (typeof strArray[0] !== 'string') {
119
- throw new TypeError('Url must be a string. Received ' + strArray[0]);
120
- }
121
-
122
- // If the first part is a plain protocol, we combine it with the next part.
123
- if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) {
124
- var first = strArray.shift();
125
- strArray[0] = first + strArray[0];
126
- }
127
-
128
- // There must be two or three slashes in the file protocol, two slashes in anything else.
129
- if (strArray[0].match(/^file:\/\/\//)) {
130
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1:///');
131
- } else {
132
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1://');
133
- }
134
-
135
- for (var i = 0; i < strArray.length; i++) {
136
- var component = strArray[i];
137
-
138
- if (typeof component !== 'string') {
139
- throw new TypeError('Url must be a string. Received ' + component);
84
+ };//--------------------------------------------------------------------------------------------------------------------
85
+ var ApiError = /** @class */ (function (_super) {
86
+ __extends(ApiError, _super);
87
+ function ApiError(message, code) {
88
+ var _this = _super.call(this, message) || this;
89
+ _this.isAxiosError = false;
90
+ _this.code = code;
91
+ return _this;
140
92
  }
141
-
142
- if (component === '') { continue; }
143
-
144
- if (i > 0) {
145
- // Removing the starting slashes for each component but the first.
146
- component = component.replace(/^[\/]+/, '');
93
+ return ApiError;
94
+ }(Error));var empty = function (v) {
95
+ var result = false;
96
+ if (v == null) {
97
+ result = true;
147
98
  }
148
- if (i < strArray.length - 1) {
149
- // Removing the ending slashes for each component but the last.
150
- component = component.replace(/[\/]+$/, '');
151
- } else {
152
- // For the last component we will combine multiple slashes to a single one.
153
- component = component.replace(/[\/]+$/, '/');
99
+ else if (typeof v === 'string') {
100
+ result = v === '';
154
101
  }
155
-
156
- resultArray.push(component);
157
-
158
- }
159
-
160
- var str = resultArray.join('/');
161
- // Each input component is now separated by a single slash except the possible first plain protocol part.
162
-
163
- // remove trailing slash before parameters or hash
164
- str = str.replace(/\/(\?|&|#[^!])/g, '$1');
165
-
166
- // replace ? in parameters with &
167
- var parts = str.split('?');
168
- str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');
169
-
170
- return str;
171
- }
172
-
173
- function urlJoin() {
174
- var input;
175
-
176
- if (typeof arguments[0] === 'object') {
177
- input = arguments[0];
178
- } else {
179
- input = [].slice.call(arguments);
180
- }
181
-
182
- return normalize(input);
183
- }function joinUrl() {
184
- var paths = [];
185
- for (var _i = 0; _i < arguments.length; _i++) {
186
- paths[_i] = arguments[_i];
187
- }
188
- var url = urlJoin.apply(void 0, paths);
189
- while (url.indexOf('//') > -1) {
190
- url = url.replace(/\/\//g, '/');
191
- }
192
- return url;
193
- }var _a;
194
- var AxiosCreate = axios.create ? axios.create : (_a = require('axios').default) === null || _a === void 0 ? void 0 : _a.create;
195
- var Api = /** @class */ (function () {
196
- // constructor -------------------------------------------------------------------------------------------------------
197
- function Api(option) {
198
- var _this = this;
199
- // Run ---------------------------------------------------------------------------------------------------------------
200
- this.run = function (method, path, data, option) {
201
- return new Promise(function (resolve, reject) {
202
- var _a;
203
- var headers = __assign({}, _this.option.headers);
204
- if (typeof window !== 'undefined') {
205
- if ((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) {
206
- headers['X-Referer'] = window.location.href;
207
- }
208
- }
209
- var requestConfig = {
210
- method: method,
211
- withCredentials: _this.option.withCredentials,
212
- headers: headers,
213
- silent: !!(option === null || option === void 0 ? void 0 : option.silent),
214
- };
215
- if (option === null || option === void 0 ? void 0 : option.raw) {
216
- requestConfig.responseType = (option === null || option === void 0 ? void 0 : option.rawResponseType) || 'arraybuffer';
217
- }
218
- requestConfig.url = joinUrl(_this.option.baseUrl, path.replace(/\./g, '/'));
219
- if (data) {
220
- if (method === 'get') {
221
- if (notEmpty(data)) {
222
- var finalData = {};
223
- finalData[_this.option.timeParamName] = new Date().getTime();
224
- for (var key in data) {
225
- if (data[key] != null) {
226
- finalData[key] = data[key];
227
- }
228
- }
229
- requestConfig.url += "?".concat(new URLSearchParams(finalData).toString());
230
- }
231
- }
232
- else {
233
- if (data instanceof FormData) {
234
- data.append(_this.option.timeParamName, "".concat(new Date().getTime()));
235
- requestConfig.data = data;
236
- }
237
- else {
238
- var finalData = __assign({}, data);
239
- finalData[_this.option.timeParamName] = new Date().getTime();
240
- requestConfig.data = finalData;
241
- }
242
- }
243
- }
244
- var setErrorInfo = function (err, status, response) {
245
- err.config = requestConfig;
246
- err.baseUrl = _this.option.baseUrl;
247
- err.path = path;
248
- err.requestData = data;
249
- err.requestOption = option;
250
- err.response = response;
251
- err.status = status;
252
- };
253
- var fireError = function (err) {
254
- var apiError = new ApiError();
255
- if (typeof err === 'object') {
256
- apiError.message = err.message;
257
- apiError.code = err.code;
258
- setErrorInfo(apiError, err.status, err.response);
259
- }
260
- else if (typeof err === 'string') {
261
- apiError.message = err;
262
- }
263
- else if (err) {
264
- apiError.message = err.toString();
265
- }
266
- if (_this.option.onError)
267
- _this.option.onError(apiError);
268
- reject(apiError);
269
- };
270
- var instance = AxiosCreate();
271
- var requestInterceptor;
272
- if (_this.option.onRequest) {
273
- requestInterceptor = instance.interceptors.request.use(function (config) { return __awaiter(_this, void 0, void 0, function () {
274
- return __generator(this, function (_a) {
275
- if (this.option.onRequest) {
276
- return [2 /*return*/, this.option.onRequest(config, this.option.baseUrl, path, data, option)];
277
- }
278
- else {
279
- return [2 /*return*/, config];
280
- }
281
- });
282
- }); });
283
- }
284
- instance
285
- .request(requestConfig)
286
- .then(function (res) {
287
- var resData = res.data;
288
- if (_this.option.onResponse) {
289
- _this.option
290
- .onResponse(res, requestConfig, _this.option.baseUrl, path, data, option)
291
- .then(function (finalResData) {
292
- resolve(finalResData);
293
- })
294
- .catch(function (err) {
295
- setErrorInfo(err, res.status, res);
296
- fireError(err);
297
- });
298
- }
299
- else {
300
- resolve(resData);
301
- }
302
- })
303
- .catch(fireError)
304
- .finally(function () {
305
- if (requestInterceptor) {
306
- instance.interceptors.request.eject(requestInterceptor);
307
- }
308
- });
309
- });
310
- };
311
- this.option = option;
312
- }
313
- Api.prototype.get = function (path, data, option) {
314
- return this.run('get', path, data, option);
315
- };
316
- Api.prototype.post = function (path, data, option) {
317
- return this.run('post', path, data, option);
318
- };
319
- Api.prototype.patch = function (path, data, option) {
320
- return this.run('patch', path, data, option);
321
- };
322
- Api.prototype.delete = function (path, data, option) {
323
- return this.run('delete', path, data, option);
324
- };
325
- return Api;
102
+ else if (typeof v === 'object') {
103
+ if (Array.isArray(v)) {
104
+ result = v.length === 0;
105
+ }
106
+ else if (!(v instanceof Date)) {
107
+ result = Object.entries(v).length === 0;
108
+ }
109
+ }
110
+ return result;
111
+ };
112
+ var notEmpty = function (v) {
113
+ return !empty(v);
114
+ };function joinUrl() {
115
+ var parts = [];
116
+ for (var _i = 0; _i < arguments.length; _i++) {
117
+ parts[_i] = arguments[_i];
118
+ }
119
+ return parts.reduce(function (acc, part) {
120
+ if (acc === '') {
121
+ return part;
122
+ }
123
+ else if (part.startsWith('?')) {
124
+ return "".concat(acc).concat(part);
125
+ }
126
+ else if (acc.endsWith('/')) {
127
+ return "".concat(acc).concat(part.startsWith('/') ? part.substring(1) : part);
128
+ }
129
+ else {
130
+ return "".concat(acc).concat(part.startsWith('/') ? part : "/".concat(part));
131
+ }
132
+ });
133
+ }var _a;
134
+ var AxiosCreate = axios.create ? axios.create : (_a = require('axios').default) === null || _a === void 0 ? void 0 : _a.create;
135
+ var Api = /** @class */ (function () {
136
+ // constructor -------------------------------------------------------------------------------------------------------
137
+ function Api(option) {
138
+ var _this = this;
139
+ // Run ---------------------------------------------------------------------------------------------------------------
140
+ this.run = function (method, path, data, option) {
141
+ return new Promise(function (resolve, reject) {
142
+ var _a;
143
+ var headers = __assign({}, _this.option.headers);
144
+ if (typeof window !== 'undefined') {
145
+ if ((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) {
146
+ headers['X-Referer'] = window.location.href;
147
+ }
148
+ }
149
+ var requestConfig = {
150
+ method: method,
151
+ withCredentials: _this.option.withCredentials,
152
+ headers: headers,
153
+ silent: !!(option === null || option === void 0 ? void 0 : option.silent),
154
+ };
155
+ if (option === null || option === void 0 ? void 0 : option.raw) {
156
+ requestConfig.responseType = (option === null || option === void 0 ? void 0 : option.rawResponseType) || 'arraybuffer';
157
+ }
158
+ requestConfig.url = joinUrl(_this.option.baseUrl, path.replace(/\./g, '/'));
159
+ if (data) {
160
+ if (method === 'get') {
161
+ if (notEmpty(data)) {
162
+ var finalData = {};
163
+ finalData[_this.option.timeParamName] = new Date().getTime();
164
+ for (var key in data) {
165
+ if (data[key] != null) {
166
+ finalData[key] = data[key];
167
+ }
168
+ }
169
+ requestConfig.url += "?".concat(new URLSearchParams(finalData).toString());
170
+ }
171
+ }
172
+ else {
173
+ if (data instanceof FormData) {
174
+ data.append(_this.option.timeParamName, "".concat(new Date().getTime()));
175
+ requestConfig.data = data;
176
+ }
177
+ else {
178
+ var finalData = __assign({}, data);
179
+ finalData[_this.option.timeParamName] = new Date().getTime();
180
+ requestConfig.data = finalData;
181
+ }
182
+ }
183
+ }
184
+ var setErrorInfo = function (err, status, response) {
185
+ err.config = requestConfig;
186
+ err.baseUrl = _this.option.baseUrl;
187
+ err.path = path;
188
+ err.requestData = data;
189
+ err.requestOption = option;
190
+ err.response = response;
191
+ err.status = status;
192
+ };
193
+ var fireError = function (err) {
194
+ var apiError = new ApiError();
195
+ if (typeof err === 'object') {
196
+ apiError.message = err.message;
197
+ apiError.code = err.code;
198
+ setErrorInfo(apiError, err.status, err.response);
199
+ }
200
+ else if (typeof err === 'string') {
201
+ apiError.message = err;
202
+ }
203
+ else if (err) {
204
+ apiError.message = err.toString();
205
+ }
206
+ if (_this.option.onError)
207
+ _this.option.onError(apiError);
208
+ reject(apiError);
209
+ };
210
+ var instance = AxiosCreate();
211
+ var requestInterceptor;
212
+ if (_this.option.onRequest) {
213
+ requestInterceptor = instance.interceptors.request.use(function (config) { return __awaiter(_this, void 0, void 0, function () {
214
+ return __generator(this, function (_a) {
215
+ if (this.option.onRequest) {
216
+ return [2 /*return*/, this.option.onRequest(config, this.option.baseUrl, path, data, option)];
217
+ }
218
+ else {
219
+ return [2 /*return*/, config];
220
+ }
221
+ });
222
+ }); });
223
+ }
224
+ instance
225
+ .request(requestConfig)
226
+ .then(function (res) {
227
+ var resData = res.data;
228
+ if (_this.option.onResponse) {
229
+ _this.option
230
+ .onResponse(res, requestConfig, _this.option.baseUrl, path, data, option)
231
+ .then(function (finalResData) {
232
+ resolve(finalResData);
233
+ })
234
+ .catch(function (err) {
235
+ setErrorInfo(err, res.status, res);
236
+ fireError(err);
237
+ });
238
+ }
239
+ else {
240
+ resolve(resData);
241
+ }
242
+ })
243
+ .catch(fireError)
244
+ .finally(function () {
245
+ if (requestInterceptor) {
246
+ instance.interceptors.request.eject(requestInterceptor);
247
+ }
248
+ });
249
+ });
250
+ };
251
+ this.option = option;
252
+ }
253
+ Api.prototype.get = function (path, data, option) {
254
+ return this.run('get', path, data, option);
255
+ };
256
+ Api.prototype.post = function (path, data, option) {
257
+ return this.run('post', path, data, option);
258
+ };
259
+ Api.prototype.patch = function (path, data, option) {
260
+ return this.run('patch', path, data, option);
261
+ };
262
+ Api.prototype.delete = function (path, data, option) {
263
+ return this.run('delete', path, data, option);
264
+ };
265
+ return Api;
326
266
  }());exports.Api=Api;exports.ApiError=ApiError;//# sourceMappingURL=index.js.map
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, 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 timeParamName: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(\n config: InternalAxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): 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, { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nconst AxiosCreate = axios.create ? axios.create : require('axios').default?.create;\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 finalData[this.option.timeParamName] = new Date().getTime();\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 if (data instanceof FormData) {\n data.append(this.option.timeParamName, `${new Date().getTime()}`);\n requestConfig.data = data;\n } else {\n const finalData: ApiRequestData = { ...data };\n finalData[this.option.timeParamName] = new Date().getTime();\n requestConfig.data = finalData;\n }\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: AxiosInstance = AxiosCreate();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(async (config: InternalAxiosRequestConfig) => {\n if (this.option.onRequest) {\n return this.option.onRequest(config, this.option.baseUrl, path, data, option);\n } else {\n return config;\n }\n });\n }\n\n instance\n .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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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.js","sources":["../src/Api/Api.types.ts","../src/@util/compare.ts","../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 timeParamName: string;\n withCredentials?: boolean;\n headers?: AxiosRequestConfig['headers'];\n onRequest?(\n config: InternalAxiosRequestConfig,\n baseUrl: string,\n path: string,\n requestData?: ApiRequestData,\n requestOption?: ApiRequestOption\n ): 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","export function joinUrl(...parts: string[]): string {\n return parts.reduce((acc, part) => {\n if (acc === '') {\n return part;\n } else if (part.startsWith('?')) {\n return `${acc}${part}`;\n } else if (acc.endsWith('/')) {\n return `${acc}${part.startsWith('/') ? part.substring(1) : part}`;\n } else {\n return `${acc}${part.startsWith('/') ? part : `/${part}`}`;\n }\n });\n}\n","import axios, { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig, Method } from 'axios';\nimport { ApiError, ApiRequestData, ApiOption, ApiRequestOption, ApiRequestConfig } from './Api.types';\nimport { notEmpty, joinUrl } from '../@util';\n\nconst AxiosCreate = axios.create ? axios.create : require('axios').default?.create;\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 finalData[this.option.timeParamName] = new Date().getTime();\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 if (data instanceof FormData) {\n data.append(this.option.timeParamName, `${new Date().getTime()}`);\n requestConfig.data = data;\n } else {\n const finalData: ApiRequestData = { ...data };\n finalData[this.option.timeParamName] = new Date().getTime();\n requestConfig.data = finalData;\n }\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: AxiosInstance = AxiosCreate();\n let requestInterceptor: number;\n if (this.option.onRequest) {\n requestInterceptor = instance.interceptors.request.use(async (config: InternalAxiosRequestConfig) => {\n if (this.option.onRequest) {\n return this.option.onRequest(config, this.option.baseUrl, path, data, option);\n } else {\n return config;\n }\n });\n }\n\n instance\n .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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/api",
3
3
  "title": "API Module",
4
- "version": "1.0.9",
4
+ "version": "1.0.10",
5
5
  "description": "API Module",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
@@ -24,7 +24,8 @@
24
24
  "test:get": "cd examples && npm run test:get",
25
25
  "build": "rollup -c --bundleConfigAsCjs",
26
26
  "publish": "npm publish --access=public",
27
- "lint": "eslint './src/**/*.ts'"
27
+ "lint": "eslint './src/**/*.ts'",
28
+ "reinstall-module": "rm -rf node_modules && rm -f package-lock.json && npm i"
28
29
  },
29
30
  "author": "YOUNG CHUL PARK",
30
31
  "license": "MIT",
@@ -38,22 +39,21 @@
38
39
  "axios": "^1.0.0"
39
40
  },
40
41
  "devDependencies": {
41
- "@rollup/plugin-commonjs": "^25.0.4",
42
- "@rollup/plugin-eslint": "^9.0.4",
43
- "@rollup/plugin-node-resolve": "^15.2.1",
44
- "@typescript-eslint/eslint-plugin": "^6.6.0",
45
- "@typescript-eslint/parser": "^6.6.0",
46
- "eslint": "8.48.0",
47
- "eslint-config-prettier": "^9.0.0",
48
- "eslint-plugin-jsx-a11y": "^6.7.1",
49
- "eslint-plugin-prettier": "^5.0.0",
50
- "prettier": "^3.0.3",
51
- "rollup": "^3.28.1",
42
+ "@rollup/plugin-commonjs": "^25.0.7",
43
+ "@rollup/plugin-eslint": "^9.0.5",
44
+ "@rollup/plugin-node-resolve": "^15.2.3",
45
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
46
+ "@typescript-eslint/parser": "^7.2.0",
47
+ "eslint": "8.57.0",
48
+ "eslint-config-prettier": "^9.1.0",
49
+ "eslint-plugin-jsx-a11y": "^6.8.0",
50
+ "eslint-plugin-prettier": "^5.1.3",
51
+ "prettier": "^3.2.5",
52
+ "rollup": "^4.13.0",
52
53
  "rollup-plugin-delete": "^2.0.0",
53
54
  "rollup-plugin-peer-deps-external": "^2.2.4",
54
55
  "rollup-plugin-postcss": "^4.0.2",
55
- "rollup-plugin-typescript2": "^0.35.0",
56
- "typescript": "^4.9.5",
57
- "url-join": "^5.0.0"
56
+ "rollup-plugin-typescript2": "^0.36.0",
57
+ "typescript": "^5.4.2"
58
58
  }
59
59
  }