axios 0.21.1 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/axios.js CHANGED
@@ -1,4 +1,4 @@
1
- /* axios v0.21.1 | (c) 2020 by Matt Zabriskie */
1
+ /* axios v0.21.2 | (c) 2021 by Matt Zabriskie */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
4
  module.exports = factory();
@@ -8,7 +8,7 @@
8
8
  exports["axios"] = factory();
9
9
  else
10
10
  root["axios"] = factory();
11
- })(this, function() {
11
+ })(window, function() {
12
12
  return /******/ (function(modules) { // webpackBootstrap
13
13
  /******/ // The module cache
14
14
  /******/ var installedModules = {};
@@ -17,21 +17,21 @@ return /******/ (function(modules) { // webpackBootstrap
17
17
  /******/ function __webpack_require__(moduleId) {
18
18
  /******/
19
19
  /******/ // Check if module is in cache
20
- /******/ if(installedModules[moduleId])
20
+ /******/ if(installedModules[moduleId]) {
21
21
  /******/ return installedModules[moduleId].exports;
22
- /******/
22
+ /******/ }
23
23
  /******/ // Create a new module (and put it into the cache)
24
24
  /******/ var module = installedModules[moduleId] = {
25
- /******/ exports: {},
26
- /******/ id: moduleId,
27
- /******/ loaded: false
25
+ /******/ i: moduleId,
26
+ /******/ l: false,
27
+ /******/ exports: {}
28
28
  /******/ };
29
29
  /******/
30
30
  /******/ // Execute the module function
31
31
  /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
32
32
  /******/
33
33
  /******/ // Flag the module as loaded
34
- /******/ module.loaded = true;
34
+ /******/ module.l = true;
35
35
  /******/
36
36
  /******/ // Return the exports of the module
37
37
  /******/ return module.exports;
@@ -44,1713 +44,2135 @@ return /******/ (function(modules) { // webpackBootstrap
44
44
  /******/ // expose the module cache
45
45
  /******/ __webpack_require__.c = installedModules;
46
46
  /******/
47
+ /******/ // define getter function for harmony exports
48
+ /******/ __webpack_require__.d = function(exports, name, getter) {
49
+ /******/ if(!__webpack_require__.o(exports, name)) {
50
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
51
+ /******/ }
52
+ /******/ };
53
+ /******/
54
+ /******/ // define __esModule on exports
55
+ /******/ __webpack_require__.r = function(exports) {
56
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
57
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
58
+ /******/ }
59
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
60
+ /******/ };
61
+ /******/
62
+ /******/ // create a fake namespace object
63
+ /******/ // mode & 1: value is a module id, require it
64
+ /******/ // mode & 2: merge all properties of value into the ns
65
+ /******/ // mode & 4: return value when already ns object
66
+ /******/ // mode & 8|1: behave like require
67
+ /******/ __webpack_require__.t = function(value, mode) {
68
+ /******/ if(mode & 1) value = __webpack_require__(value);
69
+ /******/ if(mode & 8) return value;
70
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
71
+ /******/ var ns = Object.create(null);
72
+ /******/ __webpack_require__.r(ns);
73
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
74
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
75
+ /******/ return ns;
76
+ /******/ };
77
+ /******/
78
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
79
+ /******/ __webpack_require__.n = function(module) {
80
+ /******/ var getter = module && module.__esModule ?
81
+ /******/ function getDefault() { return module['default']; } :
82
+ /******/ function getModuleExports() { return module; };
83
+ /******/ __webpack_require__.d(getter, 'a', getter);
84
+ /******/ return getter;
85
+ /******/ };
86
+ /******/
87
+ /******/ // Object.prototype.hasOwnProperty.call
88
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
89
+ /******/
47
90
  /******/ // __webpack_public_path__
48
91
  /******/ __webpack_require__.p = "";
49
92
  /******/
93
+ /******/
50
94
  /******/ // Load entry module and return exports
51
- /******/ return __webpack_require__(0);
95
+ /******/ return __webpack_require__(__webpack_require__.s = "./index.js");
52
96
  /******/ })
53
97
  /************************************************************************/
54
- /******/ ([
55
- /* 0 */
98
+ /******/ ({
99
+
100
+ /***/ "./index.js":
101
+ /*!******************!*\
102
+ !*** ./index.js ***!
103
+ \******************/
104
+ /*! no static exports found */
105
+ /***/ (function(module, exports, __webpack_require__) {
106
+
107
+ module.exports = __webpack_require__(/*! ./lib/axios */ "./lib/axios.js");
108
+
109
+ /***/ }),
110
+
111
+ /***/ "./lib/adapters/xhr.js":
112
+ /*!*****************************!*\
113
+ !*** ./lib/adapters/xhr.js ***!
114
+ \*****************************/
115
+ /*! no static exports found */
116
+ /***/ (function(module, exports, __webpack_require__) {
117
+
118
+ "use strict";
119
+
120
+
121
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
122
+ var settle = __webpack_require__(/*! ./../core/settle */ "./lib/core/settle.js");
123
+ var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./lib/helpers/cookies.js");
124
+ var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./lib/helpers/buildURL.js");
125
+ var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./lib/core/buildFullPath.js");
126
+ var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./lib/helpers/parseHeaders.js");
127
+ var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./lib/helpers/isURLSameOrigin.js");
128
+ var createError = __webpack_require__(/*! ../core/createError */ "./lib/core/createError.js");
129
+
130
+ module.exports = function xhrAdapter(config) {
131
+ return new Promise(function dispatchXhrRequest(resolve, reject) {
132
+ var requestData = config.data;
133
+ var requestHeaders = config.headers;
134
+ var responseType = config.responseType;
135
+
136
+ if (utils.isFormData(requestData)) {
137
+ delete requestHeaders['Content-Type']; // Let the browser set it
138
+ }
139
+
140
+ var request = new XMLHttpRequest();
141
+
142
+ // HTTP basic authentication
143
+ if (config.auth) {
144
+ var username = config.auth.username || '';
145
+ var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
146
+ requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
147
+ }
148
+
149
+ var fullPath = buildFullPath(config.baseURL, config.url);
150
+ request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
151
+
152
+ // Set the request timeout in MS
153
+ request.timeout = config.timeout;
154
+
155
+ function onloadend() {
156
+ if (!request) {
157
+ return;
158
+ }
159
+ // Prepare the response
160
+ var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
161
+ var responseData = !responseType || responseType === 'text' || responseType === 'json' ?
162
+ request.responseText : request.response;
163
+ var response = {
164
+ data: responseData,
165
+ status: request.status,
166
+ statusText: request.statusText,
167
+ headers: responseHeaders,
168
+ config: config,
169
+ request: request
170
+ };
171
+
172
+ settle(resolve, reject, response);
173
+
174
+ // Clean up request
175
+ request = null;
176
+ }
177
+
178
+ if ('onloadend' in request) {
179
+ // Use onloadend if available
180
+ request.onloadend = onloadend;
181
+ } else {
182
+ // Listen for ready state to emulate onloadend
183
+ request.onreadystatechange = function handleLoad() {
184
+ if (!request || request.readyState !== 4) {
185
+ return;
186
+ }
187
+
188
+ // The request errored out and we didn't get a response, this will be
189
+ // handled by onerror instead
190
+ // With one exception: request that using file: protocol, most browsers
191
+ // will return status as 0 even though it's a successful request
192
+ if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
193
+ return;
194
+ }
195
+ // readystate handler is calling before onerror or ontimeout handlers,
196
+ // so we should call onloadend on the next 'tick'
197
+ setTimeout(onloadend);
198
+ };
199
+ }
200
+
201
+ // Handle browser request cancellation (as opposed to a manual cancellation)
202
+ request.onabort = function handleAbort() {
203
+ if (!request) {
204
+ return;
205
+ }
206
+
207
+ reject(createError('Request aborted', config, 'ECONNABORTED', request));
208
+
209
+ // Clean up request
210
+ request = null;
211
+ };
212
+
213
+ // Handle low level network errors
214
+ request.onerror = function handleError() {
215
+ // Real errors are hidden from us by the browser
216
+ // onerror should only fire if it's a network error
217
+ reject(createError('Network Error', config, null, request));
218
+
219
+ // Clean up request
220
+ request = null;
221
+ };
222
+
223
+ // Handle timeout
224
+ request.ontimeout = function handleTimeout() {
225
+ var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
226
+ if (config.timeoutErrorMessage) {
227
+ timeoutErrorMessage = config.timeoutErrorMessage;
228
+ }
229
+ reject(createError(
230
+ timeoutErrorMessage,
231
+ config,
232
+ config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
233
+ request));
234
+
235
+ // Clean up request
236
+ request = null;
237
+ };
238
+
239
+ // Add xsrf header
240
+ // This is only done if running in a standard browser environment.
241
+ // Specifically not if we're in a web worker, or react-native.
242
+ if (utils.isStandardBrowserEnv()) {
243
+ // Add xsrf header
244
+ var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
245
+ cookies.read(config.xsrfCookieName) :
246
+ undefined;
247
+
248
+ if (xsrfValue) {
249
+ requestHeaders[config.xsrfHeaderName] = xsrfValue;
250
+ }
251
+ }
252
+
253
+ // Add headers to the request
254
+ if ('setRequestHeader' in request) {
255
+ utils.forEach(requestHeaders, function setRequestHeader(val, key) {
256
+ if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
257
+ // Remove Content-Type if data is undefined
258
+ delete requestHeaders[key];
259
+ } else {
260
+ // Otherwise add header to the request
261
+ request.setRequestHeader(key, val);
262
+ }
263
+ });
264
+ }
265
+
266
+ // Add withCredentials to request if needed
267
+ if (!utils.isUndefined(config.withCredentials)) {
268
+ request.withCredentials = !!config.withCredentials;
269
+ }
270
+
271
+ // Add responseType to request if needed
272
+ if (responseType && responseType !== 'json') {
273
+ request.responseType = config.responseType;
274
+ }
275
+
276
+ // Handle progress if needed
277
+ if (typeof config.onDownloadProgress === 'function') {
278
+ request.addEventListener('progress', config.onDownloadProgress);
279
+ }
280
+
281
+ // Not all browsers support upload events
282
+ if (typeof config.onUploadProgress === 'function' && request.upload) {
283
+ request.upload.addEventListener('progress', config.onUploadProgress);
284
+ }
285
+
286
+ if (config.cancelToken) {
287
+ // Handle cancellation
288
+ config.cancelToken.promise.then(function onCanceled(cancel) {
289
+ if (!request) {
290
+ return;
291
+ }
292
+
293
+ request.abort();
294
+ reject(cancel);
295
+ // Clean up request
296
+ request = null;
297
+ });
298
+ }
299
+
300
+ if (!requestData) {
301
+ requestData = null;
302
+ }
303
+
304
+ // Send the request
305
+ request.send(requestData);
306
+ });
307
+ };
308
+
309
+
310
+ /***/ }),
311
+
312
+ /***/ "./lib/axios.js":
313
+ /*!**********************!*\
314
+ !*** ./lib/axios.js ***!
315
+ \**********************/
316
+ /*! no static exports found */
56
317
  /***/ (function(module, exports, __webpack_require__) {
57
318
 
58
- module.exports = __webpack_require__(1);
319
+ "use strict";
320
+
321
+
322
+ var utils = __webpack_require__(/*! ./utils */ "./lib/utils.js");
323
+ var bind = __webpack_require__(/*! ./helpers/bind */ "./lib/helpers/bind.js");
324
+ var Axios = __webpack_require__(/*! ./core/Axios */ "./lib/core/Axios.js");
325
+ var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./lib/core/mergeConfig.js");
326
+ var defaults = __webpack_require__(/*! ./defaults */ "./lib/defaults.js");
327
+
328
+ /**
329
+ * Create an instance of Axios
330
+ *
331
+ * @param {Object} defaultConfig The default config for the instance
332
+ * @return {Axios} A new instance of Axios
333
+ */
334
+ function createInstance(defaultConfig) {
335
+ var context = new Axios(defaultConfig);
336
+ var instance = bind(Axios.prototype.request, context);
337
+
338
+ // Copy axios.prototype to instance
339
+ utils.extend(instance, Axios.prototype, context);
340
+
341
+ // Copy context to instance
342
+ utils.extend(instance, context);
343
+
344
+ return instance;
345
+ }
346
+
347
+ // Create the default instance to be exported
348
+ var axios = createInstance(defaults);
349
+
350
+ // Expose Axios class to allow class inheritance
351
+ axios.Axios = Axios;
352
+
353
+ // Factory for creating new instances
354
+ axios.create = function create(instanceConfig) {
355
+ return createInstance(mergeConfig(axios.defaults, instanceConfig));
356
+ };
357
+
358
+ // Expose Cancel & CancelToken
359
+ axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./lib/cancel/Cancel.js");
360
+ axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./lib/cancel/CancelToken.js");
361
+ axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./lib/cancel/isCancel.js");
362
+
363
+ // Expose all/spread
364
+ axios.all = function all(promises) {
365
+ return Promise.all(promises);
366
+ };
367
+ axios.spread = __webpack_require__(/*! ./helpers/spread */ "./lib/helpers/spread.js");
368
+
369
+ // Expose isAxiosError
370
+ axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./lib/helpers/isAxiosError.js");
371
+
372
+ module.exports = axios;
373
+
374
+ // Allow use of default import syntax in TypeScript
375
+ module.exports.default = axios;
376
+
59
377
 
60
378
  /***/ }),
61
- /* 1 */
379
+
380
+ /***/ "./lib/cancel/Cancel.js":
381
+ /*!******************************!*\
382
+ !*** ./lib/cancel/Cancel.js ***!
383
+ \******************************/
384
+ /*! no static exports found */
62
385
  /***/ (function(module, exports, __webpack_require__) {
63
386
 
64
- 'use strict';
65
-
66
- var utils = __webpack_require__(2);
67
- var bind = __webpack_require__(3);
68
- var Axios = __webpack_require__(4);
69
- var mergeConfig = __webpack_require__(22);
70
- var defaults = __webpack_require__(10);
71
-
72
- /**
73
- * Create an instance of Axios
74
- *
75
- * @param {Object} defaultConfig The default config for the instance
76
- * @return {Axios} A new instance of Axios
77
- */
78
- function createInstance(defaultConfig) {
79
- var context = new Axios(defaultConfig);
80
- var instance = bind(Axios.prototype.request, context);
81
-
82
- // Copy axios.prototype to instance
83
- utils.extend(instance, Axios.prototype, context);
84
-
85
- // Copy context to instance
86
- utils.extend(instance, context);
87
-
88
- return instance;
89
- }
90
-
91
- // Create the default instance to be exported
92
- var axios = createInstance(defaults);
93
-
94
- // Expose Axios class to allow class inheritance
95
- axios.Axios = Axios;
96
-
97
- // Factory for creating new instances
98
- axios.create = function create(instanceConfig) {
99
- return createInstance(mergeConfig(axios.defaults, instanceConfig));
100
- };
101
-
102
- // Expose Cancel & CancelToken
103
- axios.Cancel = __webpack_require__(23);
104
- axios.CancelToken = __webpack_require__(24);
105
- axios.isCancel = __webpack_require__(9);
106
-
107
- // Expose all/spread
108
- axios.all = function all(promises) {
109
- return Promise.all(promises);
110
- };
111
- axios.spread = __webpack_require__(25);
112
-
113
- // Expose isAxiosError
114
- axios.isAxiosError = __webpack_require__(26);
115
-
116
- module.exports = axios;
117
-
118
- // Allow use of default import syntax in TypeScript
119
- module.exports.default = axios;
387
+ "use strict";
388
+
389
+
390
+ /**
391
+ * A `Cancel` is an object that is thrown when an operation is canceled.
392
+ *
393
+ * @class
394
+ * @param {string=} message The message.
395
+ */
396
+ function Cancel(message) {
397
+ this.message = message;
398
+ }
399
+
400
+ Cancel.prototype.toString = function toString() {
401
+ return 'Cancel' + (this.message ? ': ' + this.message : '');
402
+ };
403
+
404
+ Cancel.prototype.__CANCEL__ = true;
405
+
406
+ module.exports = Cancel;
120
407
 
121
408
 
122
409
  /***/ }),
123
- /* 2 */
410
+
411
+ /***/ "./lib/cancel/CancelToken.js":
412
+ /*!***********************************!*\
413
+ !*** ./lib/cancel/CancelToken.js ***!
414
+ \***********************************/
415
+ /*! no static exports found */
124
416
  /***/ (function(module, exports, __webpack_require__) {
125
417
 
126
- 'use strict';
127
-
128
- var bind = __webpack_require__(3);
129
-
130
- /*global toString:true*/
131
-
132
- // utils is a library of generic helper functions non-specific to axios
133
-
134
- var toString = Object.prototype.toString;
135
-
136
- /**
137
- * Determine if a value is an Array
138
- *
139
- * @param {Object} val The value to test
140
- * @returns {boolean} True if value is an Array, otherwise false
141
- */
142
- function isArray(val) {
143
- return toString.call(val) === '[object Array]';
144
- }
145
-
146
- /**
147
- * Determine if a value is undefined
148
- *
149
- * @param {Object} val The value to test
150
- * @returns {boolean} True if the value is undefined, otherwise false
151
- */
152
- function isUndefined(val) {
153
- return typeof val === 'undefined';
154
- }
155
-
156
- /**
157
- * Determine if a value is a Buffer
158
- *
159
- * @param {Object} val The value to test
160
- * @returns {boolean} True if value is a Buffer, otherwise false
161
- */
162
- function isBuffer(val) {
163
- return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
164
- && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
165
- }
166
-
167
- /**
168
- * Determine if a value is an ArrayBuffer
169
- *
170
- * @param {Object} val The value to test
171
- * @returns {boolean} True if value is an ArrayBuffer, otherwise false
172
- */
173
- function isArrayBuffer(val) {
174
- return toString.call(val) === '[object ArrayBuffer]';
175
- }
176
-
177
- /**
178
- * Determine if a value is a FormData
179
- *
180
- * @param {Object} val The value to test
181
- * @returns {boolean} True if value is an FormData, otherwise false
182
- */
183
- function isFormData(val) {
184
- return (typeof FormData !== 'undefined') && (val instanceof FormData);
185
- }
186
-
187
- /**
188
- * Determine if a value is a view on an ArrayBuffer
189
- *
190
- * @param {Object} val The value to test
191
- * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
192
- */
193
- function isArrayBufferView(val) {
194
- var result;
195
- if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
196
- result = ArrayBuffer.isView(val);
197
- } else {
198
- result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
199
- }
200
- return result;
201
- }
202
-
203
- /**
204
- * Determine if a value is a String
205
- *
206
- * @param {Object} val The value to test
207
- * @returns {boolean} True if value is a String, otherwise false
208
- */
209
- function isString(val) {
210
- return typeof val === 'string';
211
- }
212
-
213
- /**
214
- * Determine if a value is a Number
215
- *
216
- * @param {Object} val The value to test
217
- * @returns {boolean} True if value is a Number, otherwise false
218
- */
219
- function isNumber(val) {
220
- return typeof val === 'number';
221
- }
222
-
223
- /**
224
- * Determine if a value is an Object
225
- *
226
- * @param {Object} val The value to test
227
- * @returns {boolean} True if value is an Object, otherwise false
228
- */
229
- function isObject(val) {
230
- return val !== null && typeof val === 'object';
231
- }
232
-
233
- /**
234
- * Determine if a value is a plain Object
235
- *
236
- * @param {Object} val The value to test
237
- * @return {boolean} True if value is a plain Object, otherwise false
238
- */
239
- function isPlainObject(val) {
240
- if (toString.call(val) !== '[object Object]') {
241
- return false;
242
- }
243
-
244
- var prototype = Object.getPrototypeOf(val);
245
- return prototype === null || prototype === Object.prototype;
246
- }
247
-
248
- /**
249
- * Determine if a value is a Date
250
- *
251
- * @param {Object} val The value to test
252
- * @returns {boolean} True if value is a Date, otherwise false
253
- */
254
- function isDate(val) {
255
- return toString.call(val) === '[object Date]';
256
- }
257
-
258
- /**
259
- * Determine if a value is a File
260
- *
261
- * @param {Object} val The value to test
262
- * @returns {boolean} True if value is a File, otherwise false
263
- */
264
- function isFile(val) {
265
- return toString.call(val) === '[object File]';
266
- }
267
-
268
- /**
269
- * Determine if a value is a Blob
270
- *
271
- * @param {Object} val The value to test
272
- * @returns {boolean} True if value is a Blob, otherwise false
273
- */
274
- function isBlob(val) {
275
- return toString.call(val) === '[object Blob]';
276
- }
277
-
278
- /**
279
- * Determine if a value is a Function
280
- *
281
- * @param {Object} val The value to test
282
- * @returns {boolean} True if value is a Function, otherwise false
283
- */
284
- function isFunction(val) {
285
- return toString.call(val) === '[object Function]';
286
- }
287
-
288
- /**
289
- * Determine if a value is a Stream
290
- *
291
- * @param {Object} val The value to test
292
- * @returns {boolean} True if value is a Stream, otherwise false
293
- */
294
- function isStream(val) {
295
- return isObject(val) && isFunction(val.pipe);
296
- }
297
-
298
- /**
299
- * Determine if a value is a URLSearchParams object
300
- *
301
- * @param {Object} val The value to test
302
- * @returns {boolean} True if value is a URLSearchParams object, otherwise false
303
- */
304
- function isURLSearchParams(val) {
305
- return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
306
- }
307
-
308
- /**
309
- * Trim excess whitespace off the beginning and end of a string
310
- *
311
- * @param {String} str The String to trim
312
- * @returns {String} The String freed of excess whitespace
313
- */
314
- function trim(str) {
315
- return str.replace(/^\s*/, '').replace(/\s*$/, '');
316
- }
317
-
318
- /**
319
- * Determine if we're running in a standard browser environment
320
- *
321
- * This allows axios to run in a web worker, and react-native.
322
- * Both environments support XMLHttpRequest, but not fully standard globals.
323
- *
324
- * web workers:
325
- * typeof window -> undefined
326
- * typeof document -> undefined
327
- *
328
- * react-native:
329
- * navigator.product -> 'ReactNative'
330
- * nativescript
331
- * navigator.product -> 'NativeScript' or 'NS'
332
- */
333
- function isStandardBrowserEnv() {
334
- if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
335
- navigator.product === 'NativeScript' ||
336
- navigator.product === 'NS')) {
337
- return false;
338
- }
339
- return (
340
- typeof window !== 'undefined' &&
341
- typeof document !== 'undefined'
342
- );
343
- }
344
-
345
- /**
346
- * Iterate over an Array or an Object invoking a function for each item.
347
- *
348
- * If `obj` is an Array callback will be called passing
349
- * the value, index, and complete array for each item.
350
- *
351
- * If 'obj' is an Object callback will be called passing
352
- * the value, key, and complete object for each property.
353
- *
354
- * @param {Object|Array} obj The object to iterate
355
- * @param {Function} fn The callback to invoke for each item
356
- */
357
- function forEach(obj, fn) {
358
- // Don't bother if no value provided
359
- if (obj === null || typeof obj === 'undefined') {
360
- return;
361
- }
362
-
363
- // Force an array if not already something iterable
364
- if (typeof obj !== 'object') {
365
- /*eslint no-param-reassign:0*/
366
- obj = [obj];
367
- }
368
-
369
- if (isArray(obj)) {
370
- // Iterate over array values
371
- for (var i = 0, l = obj.length; i < l; i++) {
372
- fn.call(null, obj[i], i, obj);
373
- }
374
- } else {
375
- // Iterate over object keys
376
- for (var key in obj) {
377
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
378
- fn.call(null, obj[key], key, obj);
379
- }
380
- }
381
- }
382
- }
383
-
384
- /**
385
- * Accepts varargs expecting each argument to be an object, then
386
- * immutably merges the properties of each object and returns result.
387
- *
388
- * When multiple objects contain the same key the later object in
389
- * the arguments list will take precedence.
390
- *
391
- * Example:
392
- *
393
- * ```js
394
- * var result = merge({foo: 123}, {foo: 456});
395
- * console.log(result.foo); // outputs 456
396
- * ```
397
- *
398
- * @param {Object} obj1 Object to merge
399
- * @returns {Object} Result of all merge properties
400
- */
401
- function merge(/* obj1, obj2, obj3, ... */) {
402
- var result = {};
403
- function assignValue(val, key) {
404
- if (isPlainObject(result[key]) && isPlainObject(val)) {
405
- result[key] = merge(result[key], val);
406
- } else if (isPlainObject(val)) {
407
- result[key] = merge({}, val);
408
- } else if (isArray(val)) {
409
- result[key] = val.slice();
410
- } else {
411
- result[key] = val;
412
- }
413
- }
414
-
415
- for (var i = 0, l = arguments.length; i < l; i++) {
416
- forEach(arguments[i], assignValue);
417
- }
418
- return result;
419
- }
420
-
421
- /**
422
- * Extends object a by mutably adding to it the properties of object b.
423
- *
424
- * @param {Object} a The object to be extended
425
- * @param {Object} b The object to copy properties from
426
- * @param {Object} thisArg The object to bind function to
427
- * @return {Object} The resulting value of object a
428
- */
429
- function extend(a, b, thisArg) {
430
- forEach(b, function assignValue(val, key) {
431
- if (thisArg && typeof val === 'function') {
432
- a[key] = bind(val, thisArg);
433
- } else {
434
- a[key] = val;
435
- }
436
- });
437
- return a;
438
- }
439
-
440
- /**
441
- * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
442
- *
443
- * @param {string} content with BOM
444
- * @return {string} content value without BOM
445
- */
446
- function stripBOM(content) {
447
- if (content.charCodeAt(0) === 0xFEFF) {
448
- content = content.slice(1);
449
- }
450
- return content;
451
- }
452
-
453
- module.exports = {
454
- isArray: isArray,
455
- isArrayBuffer: isArrayBuffer,
456
- isBuffer: isBuffer,
457
- isFormData: isFormData,
458
- isArrayBufferView: isArrayBufferView,
459
- isString: isString,
460
- isNumber: isNumber,
461
- isObject: isObject,
462
- isPlainObject: isPlainObject,
463
- isUndefined: isUndefined,
464
- isDate: isDate,
465
- isFile: isFile,
466
- isBlob: isBlob,
467
- isFunction: isFunction,
468
- isStream: isStream,
469
- isURLSearchParams: isURLSearchParams,
470
- isStandardBrowserEnv: isStandardBrowserEnv,
471
- forEach: forEach,
472
- merge: merge,
473
- extend: extend,
474
- trim: trim,
475
- stripBOM: stripBOM
476
- };
418
+ "use strict";
419
+
420
+
421
+ var Cancel = __webpack_require__(/*! ./Cancel */ "./lib/cancel/Cancel.js");
422
+
423
+ /**
424
+ * A `CancelToken` is an object that can be used to request cancellation of an operation.
425
+ *
426
+ * @class
427
+ * @param {Function} executor The executor function.
428
+ */
429
+ function CancelToken(executor) {
430
+ if (typeof executor !== 'function') {
431
+ throw new TypeError('executor must be a function.');
432
+ }
433
+
434
+ var resolvePromise;
435
+ this.promise = new Promise(function promiseExecutor(resolve) {
436
+ resolvePromise = resolve;
437
+ });
438
+
439
+ var token = this;
440
+ executor(function cancel(message) {
441
+ if (token.reason) {
442
+ // Cancellation has already been requested
443
+ return;
444
+ }
445
+
446
+ token.reason = new Cancel(message);
447
+ resolvePromise(token.reason);
448
+ });
449
+ }
450
+
451
+ /**
452
+ * Throws a `Cancel` if cancellation has been requested.
453
+ */
454
+ CancelToken.prototype.throwIfRequested = function throwIfRequested() {
455
+ if (this.reason) {
456
+ throw this.reason;
457
+ }
458
+ };
459
+
460
+ /**
461
+ * Returns an object that contains a new `CancelToken` and a function that, when called,
462
+ * cancels the `CancelToken`.
463
+ */
464
+ CancelToken.source = function source() {
465
+ var cancel;
466
+ var token = new CancelToken(function executor(c) {
467
+ cancel = c;
468
+ });
469
+ return {
470
+ token: token,
471
+ cancel: cancel
472
+ };
473
+ };
474
+
475
+ module.exports = CancelToken;
477
476
 
478
477
 
479
478
  /***/ }),
480
- /* 3 */
481
- /***/ (function(module, exports) {
482
-
483
- 'use strict';
484
-
485
- module.exports = function bind(fn, thisArg) {
486
- return function wrap() {
487
- var args = new Array(arguments.length);
488
- for (var i = 0; i < args.length; i++) {
489
- args[i] = arguments[i];
490
- }
491
- return fn.apply(thisArg, args);
492
- };
493
- };
479
+
480
+ /***/ "./lib/cancel/isCancel.js":
481
+ /*!********************************!*\
482
+ !*** ./lib/cancel/isCancel.js ***!
483
+ \********************************/
484
+ /*! no static exports found */
485
+ /***/ (function(module, exports, __webpack_require__) {
486
+
487
+ "use strict";
488
+
489
+
490
+ module.exports = function isCancel(value) {
491
+ return !!(value && value.__CANCEL__);
492
+ };
494
493
 
495
494
 
496
495
  /***/ }),
497
- /* 4 */
496
+
497
+ /***/ "./lib/core/Axios.js":
498
+ /*!***************************!*\
499
+ !*** ./lib/core/Axios.js ***!
500
+ \***************************/
501
+ /*! no static exports found */
498
502
  /***/ (function(module, exports, __webpack_require__) {
499
503
 
500
- 'use strict';
501
-
502
- var utils = __webpack_require__(2);
503
- var buildURL = __webpack_require__(5);
504
- var InterceptorManager = __webpack_require__(6);
505
- var dispatchRequest = __webpack_require__(7);
506
- var mergeConfig = __webpack_require__(22);
507
-
508
- /**
509
- * Create a new instance of Axios
510
- *
511
- * @param {Object} instanceConfig The default config for the instance
512
- */
513
- function Axios(instanceConfig) {
514
- this.defaults = instanceConfig;
515
- this.interceptors = {
516
- request: new InterceptorManager(),
517
- response: new InterceptorManager()
518
- };
519
- }
520
-
521
- /**
522
- * Dispatch a request
523
- *
524
- * @param {Object} config The config specific for this request (merged with this.defaults)
525
- */
526
- Axios.prototype.request = function request(config) {
527
- /*eslint no-param-reassign:0*/
528
- // Allow for axios('example/url'[, config]) a la fetch API
529
- if (typeof config === 'string') {
530
- config = arguments[1] || {};
531
- config.url = arguments[0];
532
- } else {
533
- config = config || {};
534
- }
535
-
536
- config = mergeConfig(this.defaults, config);
537
-
538
- // Set config.method
539
- if (config.method) {
540
- config.method = config.method.toLowerCase();
541
- } else if (this.defaults.method) {
542
- config.method = this.defaults.method.toLowerCase();
543
- } else {
544
- config.method = 'get';
545
- }
546
-
547
- // Hook up interceptors middleware
548
- var chain = [dispatchRequest, undefined];
549
- var promise = Promise.resolve(config);
550
-
551
- this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
552
- chain.unshift(interceptor.fulfilled, interceptor.rejected);
553
- });
554
-
555
- this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
556
- chain.push(interceptor.fulfilled, interceptor.rejected);
557
- });
558
-
559
- while (chain.length) {
560
- promise = promise.then(chain.shift(), chain.shift());
561
- }
562
-
563
- return promise;
564
- };
565
-
566
- Axios.prototype.getUri = function getUri(config) {
567
- config = mergeConfig(this.defaults, config);
568
- return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
569
- };
570
-
571
- // Provide aliases for supported request methods
572
- utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
573
- /*eslint func-names:0*/
574
- Axios.prototype[method] = function(url, config) {
575
- return this.request(mergeConfig(config || {}, {
576
- method: method,
577
- url: url,
578
- data: (config || {}).data
579
- }));
580
- };
581
- });
582
-
583
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
584
- /*eslint func-names:0*/
585
- Axios.prototype[method] = function(url, data, config) {
586
- return this.request(mergeConfig(config || {}, {
587
- method: method,
588
- url: url,
589
- data: data
590
- }));
591
- };
592
- });
593
-
594
- module.exports = Axios;
504
+ "use strict";
505
+
506
+
507
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
508
+ var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./lib/helpers/buildURL.js");
509
+ var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./lib/core/InterceptorManager.js");
510
+ var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./lib/core/dispatchRequest.js");
511
+ var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./lib/core/mergeConfig.js");
512
+ var validator = __webpack_require__(/*! ../helpers/validator */ "./lib/helpers/validator.js");
513
+
514
+ var validators = validator.validators;
515
+ /**
516
+ * Create a new instance of Axios
517
+ *
518
+ * @param {Object} instanceConfig The default config for the instance
519
+ */
520
+ function Axios(instanceConfig) {
521
+ this.defaults = instanceConfig;
522
+ this.interceptors = {
523
+ request: new InterceptorManager(),
524
+ response: new InterceptorManager()
525
+ };
526
+ }
527
+
528
+ /**
529
+ * Dispatch a request
530
+ *
531
+ * @param {Object} config The config specific for this request (merged with this.defaults)
532
+ */
533
+ Axios.prototype.request = function request(config) {
534
+ /*eslint no-param-reassign:0*/
535
+ // Allow for axios('example/url'[, config]) a la fetch API
536
+ if (typeof config === 'string') {
537
+ config = arguments[1] || {};
538
+ config.url = arguments[0];
539
+ } else {
540
+ config = config || {};
541
+ }
542
+
543
+ config = mergeConfig(this.defaults, config);
544
+
545
+ // Set config.method
546
+ if (config.method) {
547
+ config.method = config.method.toLowerCase();
548
+ } else if (this.defaults.method) {
549
+ config.method = this.defaults.method.toLowerCase();
550
+ } else {
551
+ config.method = 'get';
552
+ }
553
+
554
+ var transitional = config.transitional;
555
+
556
+ if (transitional !== undefined) {
557
+ validator.assertOptions(transitional, {
558
+ silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
559
+ forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),
560
+ clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')
561
+ }, false);
562
+ }
563
+
564
+ // filter out skipped interceptors
565
+ var requestInterceptorChain = [];
566
+ var synchronousRequestInterceptors = true;
567
+ this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
568
+ if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
569
+ return;
570
+ }
571
+
572
+ synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
573
+
574
+ requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
575
+ });
576
+
577
+ var responseInterceptorChain = [];
578
+ this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
579
+ responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
580
+ });
581
+
582
+ var promise;
583
+
584
+ if (!synchronousRequestInterceptors) {
585
+ var chain = [dispatchRequest, undefined];
586
+
587
+ Array.prototype.unshift.apply(chain, requestInterceptorChain);
588
+ chain.concat(responseInterceptorChain);
589
+
590
+ promise = Promise.resolve(config);
591
+ while (chain.length) {
592
+ promise = promise.then(chain.shift(), chain.shift());
593
+ }
594
+
595
+ return promise;
596
+ }
597
+
598
+
599
+ var newConfig = config;
600
+ while (requestInterceptorChain.length) {
601
+ var onFulfilled = requestInterceptorChain.shift();
602
+ var onRejected = requestInterceptorChain.shift();
603
+ try {
604
+ newConfig = onFulfilled(newConfig);
605
+ } catch (error) {
606
+ onRejected(error);
607
+ break;
608
+ }
609
+ }
610
+
611
+ try {
612
+ promise = dispatchRequest(newConfig);
613
+ } catch (error) {
614
+ return Promise.reject(error);
615
+ }
616
+
617
+ while (responseInterceptorChain.length) {
618
+ promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
619
+ }
620
+
621
+ return promise;
622
+ };
623
+
624
+ Axios.prototype.getUri = function getUri(config) {
625
+ config = mergeConfig(this.defaults, config);
626
+ return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
627
+ };
628
+
629
+ // Provide aliases for supported request methods
630
+ utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
631
+ /*eslint func-names:0*/
632
+ Axios.prototype[method] = function(url, config) {
633
+ return this.request(mergeConfig(config || {}, {
634
+ method: method,
635
+ url: url,
636
+ data: (config || {}).data
637
+ }));
638
+ };
639
+ });
640
+
641
+ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
642
+ /*eslint func-names:0*/
643
+ Axios.prototype[method] = function(url, data, config) {
644
+ return this.request(mergeConfig(config || {}, {
645
+ method: method,
646
+ url: url,
647
+ data: data
648
+ }));
649
+ };
650
+ });
651
+
652
+ module.exports = Axios;
595
653
 
596
654
 
597
655
  /***/ }),
598
- /* 5 */
656
+
657
+ /***/ "./lib/core/InterceptorManager.js":
658
+ /*!****************************************!*\
659
+ !*** ./lib/core/InterceptorManager.js ***!
660
+ \****************************************/
661
+ /*! no static exports found */
599
662
  /***/ (function(module, exports, __webpack_require__) {
600
663
 
601
- 'use strict';
602
-
603
- var utils = __webpack_require__(2);
604
-
605
- function encode(val) {
606
- return encodeURIComponent(val).
607
- replace(/%3A/gi, ':').
608
- replace(/%24/g, '$').
609
- replace(/%2C/gi, ',').
610
- replace(/%20/g, '+').
611
- replace(/%5B/gi, '[').
612
- replace(/%5D/gi, ']');
613
- }
614
-
615
- /**
616
- * Build a URL by appending params to the end
617
- *
618
- * @param {string} url The base of the url (e.g., http://www.google.com)
619
- * @param {object} [params] The params to be appended
620
- * @returns {string} The formatted url
621
- */
622
- module.exports = function buildURL(url, params, paramsSerializer) {
623
- /*eslint no-param-reassign:0*/
624
- if (!params) {
625
- return url;
626
- }
627
-
628
- var serializedParams;
629
- if (paramsSerializer) {
630
- serializedParams = paramsSerializer(params);
631
- } else if (utils.isURLSearchParams(params)) {
632
- serializedParams = params.toString();
633
- } else {
634
- var parts = [];
635
-
636
- utils.forEach(params, function serialize(val, key) {
637
- if (val === null || typeof val === 'undefined') {
638
- return;
639
- }
640
-
641
- if (utils.isArray(val)) {
642
- key = key + '[]';
643
- } else {
644
- val = [val];
645
- }
646
-
647
- utils.forEach(val, function parseValue(v) {
648
- if (utils.isDate(v)) {
649
- v = v.toISOString();
650
- } else if (utils.isObject(v)) {
651
- v = JSON.stringify(v);
652
- }
653
- parts.push(encode(key) + '=' + encode(v));
654
- });
655
- });
656
-
657
- serializedParams = parts.join('&');
658
- }
659
-
660
- if (serializedParams) {
661
- var hashmarkIndex = url.indexOf('#');
662
- if (hashmarkIndex !== -1) {
663
- url = url.slice(0, hashmarkIndex);
664
- }
665
-
666
- url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
667
- }
668
-
669
- return url;
670
- };
664
+ "use strict";
665
+
666
+
667
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
668
+
669
+ function InterceptorManager() {
670
+ this.handlers = [];
671
+ }
672
+
673
+ /**
674
+ * Add a new interceptor to the stack
675
+ *
676
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
677
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
678
+ *
679
+ * @return {Number} An ID used to remove interceptor later
680
+ */
681
+ InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
682
+ this.handlers.push({
683
+ fulfilled: fulfilled,
684
+ rejected: rejected,
685
+ synchronous: options ? options.synchronous : false,
686
+ runWhen: options ? options.runWhen : null
687
+ });
688
+ return this.handlers.length - 1;
689
+ };
690
+
691
+ /**
692
+ * Remove an interceptor from the stack
693
+ *
694
+ * @param {Number} id The ID that was returned by `use`
695
+ */
696
+ InterceptorManager.prototype.eject = function eject(id) {
697
+ if (this.handlers[id]) {
698
+ this.handlers[id] = null;
699
+ }
700
+ };
701
+
702
+ /**
703
+ * Iterate over all the registered interceptors
704
+ *
705
+ * This method is particularly useful for skipping over any
706
+ * interceptors that may have become `null` calling `eject`.
707
+ *
708
+ * @param {Function} fn The function to call for each interceptor
709
+ */
710
+ InterceptorManager.prototype.forEach = function forEach(fn) {
711
+ utils.forEach(this.handlers, function forEachHandler(h) {
712
+ if (h !== null) {
713
+ fn(h);
714
+ }
715
+ });
716
+ };
717
+
718
+ module.exports = InterceptorManager;
671
719
 
672
720
 
673
721
  /***/ }),
674
- /* 6 */
722
+
723
+ /***/ "./lib/core/buildFullPath.js":
724
+ /*!***********************************!*\
725
+ !*** ./lib/core/buildFullPath.js ***!
726
+ \***********************************/
727
+ /*! no static exports found */
675
728
  /***/ (function(module, exports, __webpack_require__) {
676
729
 
677
- 'use strict';
678
-
679
- var utils = __webpack_require__(2);
680
-
681
- function InterceptorManager() {
682
- this.handlers = [];
683
- }
684
-
685
- /**
686
- * Add a new interceptor to the stack
687
- *
688
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
689
- * @param {Function} rejected The function to handle `reject` for a `Promise`
690
- *
691
- * @return {Number} An ID used to remove interceptor later
692
- */
693
- InterceptorManager.prototype.use = function use(fulfilled, rejected) {
694
- this.handlers.push({
695
- fulfilled: fulfilled,
696
- rejected: rejected
697
- });
698
- return this.handlers.length - 1;
699
- };
700
-
701
- /**
702
- * Remove an interceptor from the stack
703
- *
704
- * @param {Number} id The ID that was returned by `use`
705
- */
706
- InterceptorManager.prototype.eject = function eject(id) {
707
- if (this.handlers[id]) {
708
- this.handlers[id] = null;
709
- }
710
- };
711
-
712
- /**
713
- * Iterate over all the registered interceptors
714
- *
715
- * This method is particularly useful for skipping over any
716
- * interceptors that may have become `null` calling `eject`.
717
- *
718
- * @param {Function} fn The function to call for each interceptor
719
- */
720
- InterceptorManager.prototype.forEach = function forEach(fn) {
721
- utils.forEach(this.handlers, function forEachHandler(h) {
722
- if (h !== null) {
723
- fn(h);
724
- }
725
- });
726
- };
727
-
728
- module.exports = InterceptorManager;
730
+ "use strict";
731
+
732
+
733
+ var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./lib/helpers/isAbsoluteURL.js");
734
+ var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./lib/helpers/combineURLs.js");
735
+
736
+ /**
737
+ * Creates a new URL by combining the baseURL with the requestedURL,
738
+ * only when the requestedURL is not already an absolute URL.
739
+ * If the requestURL is absolute, this function returns the requestedURL untouched.
740
+ *
741
+ * @param {string} baseURL The base URL
742
+ * @param {string} requestedURL Absolute or relative URL to combine
743
+ * @returns {string} The combined full path
744
+ */
745
+ module.exports = function buildFullPath(baseURL, requestedURL) {
746
+ if (baseURL && !isAbsoluteURL(requestedURL)) {
747
+ return combineURLs(baseURL, requestedURL);
748
+ }
749
+ return requestedURL;
750
+ };
729
751
 
730
752
 
731
753
  /***/ }),
732
- /* 7 */
754
+
755
+ /***/ "./lib/core/createError.js":
756
+ /*!*********************************!*\
757
+ !*** ./lib/core/createError.js ***!
758
+ \*********************************/
759
+ /*! no static exports found */
733
760
  /***/ (function(module, exports, __webpack_require__) {
734
761
 
735
- 'use strict';
736
-
737
- var utils = __webpack_require__(2);
738
- var transformData = __webpack_require__(8);
739
- var isCancel = __webpack_require__(9);
740
- var defaults = __webpack_require__(10);
741
-
742
- /**
743
- * Throws a `Cancel` if cancellation has been requested.
744
- */
745
- function throwIfCancellationRequested(config) {
746
- if (config.cancelToken) {
747
- config.cancelToken.throwIfRequested();
748
- }
749
- }
750
-
751
- /**
752
- * Dispatch a request to the server using the configured adapter.
753
- *
754
- * @param {object} config The config that is to be used for the request
755
- * @returns {Promise} The Promise to be fulfilled
756
- */
757
- module.exports = function dispatchRequest(config) {
758
- throwIfCancellationRequested(config);
759
-
760
- // Ensure headers exist
761
- config.headers = config.headers || {};
762
-
763
- // Transform request data
764
- config.data = transformData(
765
- config.data,
766
- config.headers,
767
- config.transformRequest
768
- );
769
-
770
- // Flatten headers
771
- config.headers = utils.merge(
772
- config.headers.common || {},
773
- config.headers[config.method] || {},
774
- config.headers
775
- );
776
-
777
- utils.forEach(
778
- ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
779
- function cleanHeaderConfig(method) {
780
- delete config.headers[method];
781
- }
782
- );
783
-
784
- var adapter = config.adapter || defaults.adapter;
785
-
786
- return adapter(config).then(function onAdapterResolution(response) {
787
- throwIfCancellationRequested(config);
788
-
789
- // Transform response data
790
- response.data = transformData(
791
- response.data,
792
- response.headers,
793
- config.transformResponse
794
- );
795
-
796
- return response;
797
- }, function onAdapterRejection(reason) {
798
- if (!isCancel(reason)) {
799
- throwIfCancellationRequested(config);
800
-
801
- // Transform response data
802
- if (reason && reason.response) {
803
- reason.response.data = transformData(
804
- reason.response.data,
805
- reason.response.headers,
806
- config.transformResponse
807
- );
808
- }
809
- }
810
-
811
- return Promise.reject(reason);
812
- });
813
- };
762
+ "use strict";
763
+
764
+
765
+ var enhanceError = __webpack_require__(/*! ./enhanceError */ "./lib/core/enhanceError.js");
766
+
767
+ /**
768
+ * Create an Error with the specified message, config, error code, request and response.
769
+ *
770
+ * @param {string} message The error message.
771
+ * @param {Object} config The config.
772
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
773
+ * @param {Object} [request] The request.
774
+ * @param {Object} [response] The response.
775
+ * @returns {Error} The created error.
776
+ */
777
+ module.exports = function createError(message, config, code, request, response) {
778
+ var error = new Error(message);
779
+ return enhanceError(error, config, code, request, response);
780
+ };
814
781
 
815
782
 
816
783
  /***/ }),
817
- /* 8 */
784
+
785
+ /***/ "./lib/core/dispatchRequest.js":
786
+ /*!*************************************!*\
787
+ !*** ./lib/core/dispatchRequest.js ***!
788
+ \*************************************/
789
+ /*! no static exports found */
818
790
  /***/ (function(module, exports, __webpack_require__) {
819
791
 
820
- 'use strict';
821
-
822
- var utils = __webpack_require__(2);
823
-
824
- /**
825
- * Transform the data for a request or a response
826
- *
827
- * @param {Object|String} data The data to be transformed
828
- * @param {Array} headers The headers for the request or response
829
- * @param {Array|Function} fns A single function or Array of functions
830
- * @returns {*} The resulting transformed data
831
- */
832
- module.exports = function transformData(data, headers, fns) {
833
- /*eslint no-param-reassign:0*/
834
- utils.forEach(fns, function transform(fn) {
835
- data = fn(data, headers);
836
- });
837
-
838
- return data;
839
- };
792
+ "use strict";
793
+
794
+
795
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
796
+ var transformData = __webpack_require__(/*! ./transformData */ "./lib/core/transformData.js");
797
+ var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./lib/cancel/isCancel.js");
798
+ var defaults = __webpack_require__(/*! ../defaults */ "./lib/defaults.js");
799
+
800
+ /**
801
+ * Throws a `Cancel` if cancellation has been requested.
802
+ */
803
+ function throwIfCancellationRequested(config) {
804
+ if (config.cancelToken) {
805
+ config.cancelToken.throwIfRequested();
806
+ }
807
+ }
808
+
809
+ /**
810
+ * Dispatch a request to the server using the configured adapter.
811
+ *
812
+ * @param {object} config The config that is to be used for the request
813
+ * @returns {Promise} The Promise to be fulfilled
814
+ */
815
+ module.exports = function dispatchRequest(config) {
816
+ throwIfCancellationRequested(config);
817
+
818
+ // Ensure headers exist
819
+ config.headers = config.headers || {};
820
+
821
+ // Transform request data
822
+ config.data = transformData.call(
823
+ config,
824
+ config.data,
825
+ config.headers,
826
+ config.transformRequest
827
+ );
828
+
829
+ // Flatten headers
830
+ config.headers = utils.merge(
831
+ config.headers.common || {},
832
+ config.headers[config.method] || {},
833
+ config.headers
834
+ );
835
+
836
+ utils.forEach(
837
+ ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
838
+ function cleanHeaderConfig(method) {
839
+ delete config.headers[method];
840
+ }
841
+ );
842
+
843
+ var adapter = config.adapter || defaults.adapter;
844
+
845
+ return adapter(config).then(function onAdapterResolution(response) {
846
+ throwIfCancellationRequested(config);
847
+
848
+ // Transform response data
849
+ response.data = transformData.call(
850
+ config,
851
+ response.data,
852
+ response.headers,
853
+ config.transformResponse
854
+ );
855
+
856
+ return response;
857
+ }, function onAdapterRejection(reason) {
858
+ if (!isCancel(reason)) {
859
+ throwIfCancellationRequested(config);
860
+
861
+ // Transform response data
862
+ if (reason && reason.response) {
863
+ reason.response.data = transformData.call(
864
+ config,
865
+ reason.response.data,
866
+ reason.response.headers,
867
+ config.transformResponse
868
+ );
869
+ }
870
+ }
871
+
872
+ return Promise.reject(reason);
873
+ });
874
+ };
840
875
 
841
876
 
842
877
  /***/ }),
843
- /* 9 */
844
- /***/ (function(module, exports) {
845
878
 
846
- 'use strict';
847
-
848
- module.exports = function isCancel(value) {
849
- return !!(value && value.__CANCEL__);
850
- };
879
+ /***/ "./lib/core/enhanceError.js":
880
+ /*!**********************************!*\
881
+ !*** ./lib/core/enhanceError.js ***!
882
+ \**********************************/
883
+ /*! no static exports found */
884
+ /***/ (function(module, exports, __webpack_require__) {
885
+
886
+ "use strict";
887
+
888
+
889
+ /**
890
+ * Update an Error with the specified config, error code, and response.
891
+ *
892
+ * @param {Error} error The error to update.
893
+ * @param {Object} config The config.
894
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
895
+ * @param {Object} [request] The request.
896
+ * @param {Object} [response] The response.
897
+ * @returns {Error} The error.
898
+ */
899
+ module.exports = function enhanceError(error, config, code, request, response) {
900
+ error.config = config;
901
+ if (code) {
902
+ error.code = code;
903
+ }
904
+
905
+ error.request = request;
906
+ error.response = response;
907
+ error.isAxiosError = true;
908
+
909
+ error.toJSON = function toJSON() {
910
+ return {
911
+ // Standard
912
+ message: this.message,
913
+ name: this.name,
914
+ // Microsoft
915
+ description: this.description,
916
+ number: this.number,
917
+ // Mozilla
918
+ fileName: this.fileName,
919
+ lineNumber: this.lineNumber,
920
+ columnNumber: this.columnNumber,
921
+ stack: this.stack,
922
+ // Axios
923
+ config: this.config,
924
+ code: this.code
925
+ };
926
+ };
927
+ return error;
928
+ };
851
929
 
852
930
 
853
931
  /***/ }),
854
- /* 10 */
932
+
933
+ /***/ "./lib/core/mergeConfig.js":
934
+ /*!*********************************!*\
935
+ !*** ./lib/core/mergeConfig.js ***!
936
+ \*********************************/
937
+ /*! no static exports found */
855
938
  /***/ (function(module, exports, __webpack_require__) {
856
939
 
857
- 'use strict';
858
-
859
- var utils = __webpack_require__(2);
860
- var normalizeHeaderName = __webpack_require__(11);
861
-
862
- var DEFAULT_CONTENT_TYPE = {
863
- 'Content-Type': 'application/x-www-form-urlencoded'
864
- };
865
-
866
- function setContentTypeIfUnset(headers, value) {
867
- if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
868
- headers['Content-Type'] = value;
869
- }
870
- }
871
-
872
- function getDefaultAdapter() {
873
- var adapter;
874
- if (typeof XMLHttpRequest !== 'undefined') {
875
- // For browsers use XHR adapter
876
- adapter = __webpack_require__(12);
877
- } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
878
- // For node use HTTP adapter
879
- adapter = __webpack_require__(12);
880
- }
881
- return adapter;
882
- }
883
-
884
- var defaults = {
885
- adapter: getDefaultAdapter(),
886
-
887
- transformRequest: [function transformRequest(data, headers) {
888
- normalizeHeaderName(headers, 'Accept');
889
- normalizeHeaderName(headers, 'Content-Type');
890
- if (utils.isFormData(data) ||
891
- utils.isArrayBuffer(data) ||
892
- utils.isBuffer(data) ||
893
- utils.isStream(data) ||
894
- utils.isFile(data) ||
895
- utils.isBlob(data)
896
- ) {
897
- return data;
898
- }
899
- if (utils.isArrayBufferView(data)) {
900
- return data.buffer;
901
- }
902
- if (utils.isURLSearchParams(data)) {
903
- setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
904
- return data.toString();
905
- }
906
- if (utils.isObject(data)) {
907
- setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
908
- return JSON.stringify(data);
909
- }
910
- return data;
911
- }],
912
-
913
- transformResponse: [function transformResponse(data) {
914
- /*eslint no-param-reassign:0*/
915
- if (typeof data === 'string') {
916
- try {
917
- data = JSON.parse(data);
918
- } catch (e) { /* Ignore */ }
919
- }
920
- return data;
921
- }],
922
-
923
- /**
924
- * A timeout in milliseconds to abort a request. If set to 0 (default) a
925
- * timeout is not created.
926
- */
927
- timeout: 0,
928
-
929
- xsrfCookieName: 'XSRF-TOKEN',
930
- xsrfHeaderName: 'X-XSRF-TOKEN',
931
-
932
- maxContentLength: -1,
933
- maxBodyLength: -1,
934
-
935
- validateStatus: function validateStatus(status) {
936
- return status >= 200 && status < 300;
937
- }
938
- };
939
-
940
- defaults.headers = {
941
- common: {
942
- 'Accept': 'application/json, text/plain, */*'
943
- }
944
- };
945
-
946
- utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
947
- defaults.headers[method] = {};
948
- });
949
-
950
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
951
- defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
952
- });
953
-
954
- module.exports = defaults;
940
+ "use strict";
941
+
942
+
943
+ var utils = __webpack_require__(/*! ../utils */ "./lib/utils.js");
944
+
945
+ /**
946
+ * Config-specific merge-function which creates a new config-object
947
+ * by merging two configuration objects together.
948
+ *
949
+ * @param {Object} config1
950
+ * @param {Object} config2
951
+ * @returns {Object} New object resulting from merging config2 to config1
952
+ */
953
+ module.exports = function mergeConfig(config1, config2) {
954
+ // eslint-disable-next-line no-param-reassign
955
+ config2 = config2 || {};
956
+ var config = {};
957
+
958
+ var valueFromConfig2Keys = ['url', 'method', 'data'];
959
+ var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];
960
+ var defaultToConfig2Keys = [
961
+ 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
962
+ 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
963
+ 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',
964
+ 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',
965
+ 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'
966
+ ];
967
+ var directMergeKeys = ['validateStatus'];
968
+
969
+ function getMergedValue(target, source) {
970
+ if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
971
+ return utils.merge(target, source);
972
+ } else if (utils.isPlainObject(source)) {
973
+ return utils.merge({}, source);
974
+ } else if (utils.isArray(source)) {
975
+ return source.slice();
976
+ }
977
+ return source;
978
+ }
979
+
980
+ function mergeDeepProperties(prop) {
981
+ if (!utils.isUndefined(config2[prop])) {
982
+ config[prop] = getMergedValue(config1[prop], config2[prop]);
983
+ } else if (!utils.isUndefined(config1[prop])) {
984
+ config[prop] = getMergedValue(undefined, config1[prop]);
985
+ }
986
+ }
987
+
988
+ utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
989
+ if (!utils.isUndefined(config2[prop])) {
990
+ config[prop] = getMergedValue(undefined, config2[prop]);
991
+ }
992
+ });
993
+
994
+ utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
995
+
996
+ utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
997
+ if (!utils.isUndefined(config2[prop])) {
998
+ config[prop] = getMergedValue(undefined, config2[prop]);
999
+ } else if (!utils.isUndefined(config1[prop])) {
1000
+ config[prop] = getMergedValue(undefined, config1[prop]);
1001
+ }
1002
+ });
1003
+
1004
+ utils.forEach(directMergeKeys, function merge(prop) {
1005
+ if (prop in config2) {
1006
+ config[prop] = getMergedValue(config1[prop], config2[prop]);
1007
+ } else if (prop in config1) {
1008
+ config[prop] = getMergedValue(undefined, config1[prop]);
1009
+ }
1010
+ });
1011
+
1012
+ var axiosKeys = valueFromConfig2Keys
1013
+ .concat(mergeDeepPropertiesKeys)
1014
+ .concat(defaultToConfig2Keys)
1015
+ .concat(directMergeKeys);
1016
+
1017
+ var otherKeys = Object
1018
+ .keys(config1)
1019
+ .concat(Object.keys(config2))
1020
+ .filter(function filterAxiosKeys(key) {
1021
+ return axiosKeys.indexOf(key) === -1;
1022
+ });
1023
+
1024
+ utils.forEach(otherKeys, mergeDeepProperties);
1025
+
1026
+ return config;
1027
+ };
955
1028
 
956
1029
 
957
1030
  /***/ }),
958
- /* 11 */
1031
+
1032
+ /***/ "./lib/core/settle.js":
1033
+ /*!****************************!*\
1034
+ !*** ./lib/core/settle.js ***!
1035
+ \****************************/
1036
+ /*! no static exports found */
959
1037
  /***/ (function(module, exports, __webpack_require__) {
960
1038
 
961
- 'use strict';
962
-
963
- var utils = __webpack_require__(2);
964
-
965
- module.exports = function normalizeHeaderName(headers, normalizedName) {
966
- utils.forEach(headers, function processHeader(value, name) {
967
- if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
968
- headers[normalizedName] = value;
969
- delete headers[name];
970
- }
971
- });
972
- };
1039
+ "use strict";
1040
+
1041
+
1042
+ var createError = __webpack_require__(/*! ./createError */ "./lib/core/createError.js");
1043
+
1044
+ /**
1045
+ * Resolve or reject a Promise based on response status.
1046
+ *
1047
+ * @param {Function} resolve A function that resolves the promise.
1048
+ * @param {Function} reject A function that rejects the promise.
1049
+ * @param {object} response The response.
1050
+ */
1051
+ module.exports = function settle(resolve, reject, response) {
1052
+ var validateStatus = response.config.validateStatus;
1053
+ if (!response.status || !validateStatus || validateStatus(response.status)) {
1054
+ resolve(response);
1055
+ } else {
1056
+ reject(createError(
1057
+ 'Request failed with status code ' + response.status,
1058
+ response.config,
1059
+ null,
1060
+ response.request,
1061
+ response
1062
+ ));
1063
+ }
1064
+ };
973
1065
 
974
1066
 
975
1067
  /***/ }),
976
- /* 12 */
1068
+
1069
+ /***/ "./lib/core/transformData.js":
1070
+ /*!***********************************!*\
1071
+ !*** ./lib/core/transformData.js ***!
1072
+ \***********************************/
1073
+ /*! no static exports found */
977
1074
  /***/ (function(module, exports, __webpack_require__) {
978
1075
 
979
- 'use strict';
980
-
981
- var utils = __webpack_require__(2);
982
- var settle = __webpack_require__(13);
983
- var cookies = __webpack_require__(16);
984
- var buildURL = __webpack_require__(5);
985
- var buildFullPath = __webpack_require__(17);
986
- var parseHeaders = __webpack_require__(20);
987
- var isURLSameOrigin = __webpack_require__(21);
988
- var createError = __webpack_require__(14);
989
-
990
- module.exports = function xhrAdapter(config) {
991
- return new Promise(function dispatchXhrRequest(resolve, reject) {
992
- var requestData = config.data;
993
- var requestHeaders = config.headers;
994
-
995
- if (utils.isFormData(requestData)) {
996
- delete requestHeaders['Content-Type']; // Let the browser set it
997
- }
998
-
999
- var request = new XMLHttpRequest();
1000
-
1001
- // HTTP basic authentication
1002
- if (config.auth) {
1003
- var username = config.auth.username || '';
1004
- var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
1005
- requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
1006
- }
1007
-
1008
- var fullPath = buildFullPath(config.baseURL, config.url);
1009
- request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
1010
-
1011
- // Set the request timeout in MS
1012
- request.timeout = config.timeout;
1013
-
1014
- // Listen for ready state
1015
- request.onreadystatechange = function handleLoad() {
1016
- if (!request || request.readyState !== 4) {
1017
- return;
1018
- }
1019
-
1020
- // The request errored out and we didn't get a response, this will be
1021
- // handled by onerror instead
1022
- // With one exception: request that using file: protocol, most browsers
1023
- // will return status as 0 even though it's a successful request
1024
- if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
1025
- return;
1026
- }
1027
-
1028
- // Prepare the response
1029
- var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
1030
- var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
1031
- var response = {
1032
- data: responseData,
1033
- status: request.status,
1034
- statusText: request.statusText,
1035
- headers: responseHeaders,
1036
- config: config,
1037
- request: request
1038
- };
1039
-
1040
- settle(resolve, reject, response);
1041
-
1042
- // Clean up request
1043
- request = null;
1044
- };
1045
-
1046
- // Handle browser request cancellation (as opposed to a manual cancellation)
1047
- request.onabort = function handleAbort() {
1048
- if (!request) {
1049
- return;
1050
- }
1051
-
1052
- reject(createError('Request aborted', config, 'ECONNABORTED', request));
1053
-
1054
- // Clean up request
1055
- request = null;
1056
- };
1057
-
1058
- // Handle low level network errors
1059
- request.onerror = function handleError() {
1060
- // Real errors are hidden from us by the browser
1061
- // onerror should only fire if it's a network error
1062
- reject(createError('Network Error', config, null, request));
1063
-
1064
- // Clean up request
1065
- request = null;
1066
- };
1067
-
1068
- // Handle timeout
1069
- request.ontimeout = function handleTimeout() {
1070
- var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
1071
- if (config.timeoutErrorMessage) {
1072
- timeoutErrorMessage = config.timeoutErrorMessage;
1073
- }
1074
- reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
1075
- request));
1076
-
1077
- // Clean up request
1078
- request = null;
1079
- };
1080
-
1081
- // Add xsrf header
1082
- // This is only done if running in a standard browser environment.
1083
- // Specifically not if we're in a web worker, or react-native.
1084
- if (utils.isStandardBrowserEnv()) {
1085
- // Add xsrf header
1086
- var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
1087
- cookies.read(config.xsrfCookieName) :
1088
- undefined;
1089
-
1090
- if (xsrfValue) {
1091
- requestHeaders[config.xsrfHeaderName] = xsrfValue;
1092
- }
1093
- }
1094
-
1095
- // Add headers to the request
1096
- if ('setRequestHeader' in request) {
1097
- utils.forEach(requestHeaders, function setRequestHeader(val, key) {
1098
- if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
1099
- // Remove Content-Type if data is undefined
1100
- delete requestHeaders[key];
1101
- } else {
1102
- // Otherwise add header to the request
1103
- request.setRequestHeader(key, val);
1104
- }
1105
- });
1106
- }
1107
-
1108
- // Add withCredentials to request if needed
1109
- if (!utils.isUndefined(config.withCredentials)) {
1110
- request.withCredentials = !!config.withCredentials;
1111
- }
1112
-
1113
- // Add responseType to request if needed
1114
- if (config.responseType) {
1115
- try {
1116
- request.responseType = config.responseType;
1117
- } catch (e) {
1118
- // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
1119
- // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
1120
- if (config.responseType !== 'json') {
1121
- throw e;
1122
- }
1123
- }
1124
- }
1125
-
1126
- // Handle progress if needed
1127
- if (typeof config.onDownloadProgress === 'function') {
1128
- request.addEventListener('progress', config.onDownloadProgress);
1129
- }
1130
-
1131
- // Not all browsers support upload events
1132
- if (typeof config.onUploadProgress === 'function' && request.upload) {
1133
- request.upload.addEventListener('progress', config.onUploadProgress);
1134
- }
1135
-
1136
- if (config.cancelToken) {
1137
- // Handle cancellation
1138
- config.cancelToken.promise.then(function onCanceled(cancel) {
1139
- if (!request) {
1140
- return;
1141
- }
1142
-
1143
- request.abort();
1144
- reject(cancel);
1145
- // Clean up request
1146
- request = null;
1147
- });
1148
- }
1149
-
1150
- if (!requestData) {
1151
- requestData = null;
1152
- }
1153
-
1154
- // Send the request
1155
- request.send(requestData);
1156
- });
1157
- };
1076
+ "use strict";
1077
+
1078
+
1079
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
1080
+ var defaults = __webpack_require__(/*! ./../defaults */ "./lib/defaults.js");
1081
+
1082
+ /**
1083
+ * Transform the data for a request or a response
1084
+ *
1085
+ * @param {Object|String} data The data to be transformed
1086
+ * @param {Array} headers The headers for the request or response
1087
+ * @param {Array|Function} fns A single function or Array of functions
1088
+ * @returns {*} The resulting transformed data
1089
+ */
1090
+ module.exports = function transformData(data, headers, fns) {
1091
+ var context = this || defaults;
1092
+ /*eslint no-param-reassign:0*/
1093
+ utils.forEach(fns, function transform(fn) {
1094
+ data = fn.call(context, data, headers);
1095
+ });
1096
+
1097
+ return data;
1098
+ };
1158
1099
 
1159
1100
 
1160
1101
  /***/ }),
1161
- /* 13 */
1102
+
1103
+ /***/ "./lib/defaults.js":
1104
+ /*!*************************!*\
1105
+ !*** ./lib/defaults.js ***!
1106
+ \*************************/
1107
+ /*! no static exports found */
1162
1108
  /***/ (function(module, exports, __webpack_require__) {
1163
1109
 
1164
- 'use strict';
1165
-
1166
- var createError = __webpack_require__(14);
1167
-
1168
- /**
1169
- * Resolve or reject a Promise based on response status.
1170
- *
1171
- * @param {Function} resolve A function that resolves the promise.
1172
- * @param {Function} reject A function that rejects the promise.
1173
- * @param {object} response The response.
1174
- */
1175
- module.exports = function settle(resolve, reject, response) {
1176
- var validateStatus = response.config.validateStatus;
1177
- if (!response.status || !validateStatus || validateStatus(response.status)) {
1178
- resolve(response);
1179
- } else {
1180
- reject(createError(
1181
- 'Request failed with status code ' + response.status,
1182
- response.config,
1183
- null,
1184
- response.request,
1185
- response
1186
- ));
1187
- }
1188
- };
1110
+ "use strict";
1111
+
1112
+
1113
+ var utils = __webpack_require__(/*! ./utils */ "./lib/utils.js");
1114
+ var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./lib/helpers/normalizeHeaderName.js");
1115
+ var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./lib/core/enhanceError.js");
1116
+
1117
+ var DEFAULT_CONTENT_TYPE = {
1118
+ 'Content-Type': 'application/x-www-form-urlencoded'
1119
+ };
1120
+
1121
+ function setContentTypeIfUnset(headers, value) {
1122
+ if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
1123
+ headers['Content-Type'] = value;
1124
+ }
1125
+ }
1126
+
1127
+ function getDefaultAdapter() {
1128
+ var adapter;
1129
+ if (typeof XMLHttpRequest !== 'undefined') {
1130
+ // For browsers use XHR adapter
1131
+ adapter = __webpack_require__(/*! ./adapters/xhr */ "./lib/adapters/xhr.js");
1132
+ } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
1133
+ // For node use HTTP adapter
1134
+ adapter = __webpack_require__(/*! ./adapters/http */ "./lib/adapters/xhr.js");
1135
+ }
1136
+ return adapter;
1137
+ }
1138
+
1139
+ var defaults = {
1140
+
1141
+ transitional: {
1142
+ silentJSONParsing: true,
1143
+ forcedJSONParsing: true,
1144
+ clarifyTimeoutError: false
1145
+ },
1146
+
1147
+ adapter: getDefaultAdapter(),
1148
+
1149
+ transformRequest: [function transformRequest(data, headers) {
1150
+ normalizeHeaderName(headers, 'Accept');
1151
+ normalizeHeaderName(headers, 'Content-Type');
1152
+
1153
+ if (utils.isFormData(data) ||
1154
+ utils.isArrayBuffer(data) ||
1155
+ utils.isBuffer(data) ||
1156
+ utils.isStream(data) ||
1157
+ utils.isFile(data) ||
1158
+ utils.isBlob(data)
1159
+ ) {
1160
+ return data;
1161
+ }
1162
+ if (utils.isArrayBufferView(data)) {
1163
+ return data.buffer;
1164
+ }
1165
+ if (utils.isURLSearchParams(data)) {
1166
+ setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
1167
+ return data.toString();
1168
+ }
1169
+ if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
1170
+ setContentTypeIfUnset(headers, 'application/json');
1171
+ return JSON.stringify(data);
1172
+ }
1173
+ return data;
1174
+ }],
1175
+
1176
+ transformResponse: [function transformResponse(data) {
1177
+ var transitional = this.transitional;
1178
+ var silentJSONParsing = transitional && transitional.silentJSONParsing;
1179
+ var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
1180
+ var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
1181
+
1182
+ if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
1183
+ try {
1184
+ return JSON.parse(data);
1185
+ } catch (e) {
1186
+ if (strictJSONParsing) {
1187
+ if (e.name === 'SyntaxError') {
1188
+ throw enhanceError(e, this, 'E_JSON_PARSE');
1189
+ }
1190
+ throw e;
1191
+ }
1192
+ }
1193
+ }
1194
+
1195
+ return data;
1196
+ }],
1197
+
1198
+ /**
1199
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
1200
+ * timeout is not created.
1201
+ */
1202
+ timeout: 0,
1203
+
1204
+ xsrfCookieName: 'XSRF-TOKEN',
1205
+ xsrfHeaderName: 'X-XSRF-TOKEN',
1206
+
1207
+ maxContentLength: -1,
1208
+ maxBodyLength: -1,
1209
+
1210
+ validateStatus: function validateStatus(status) {
1211
+ return status >= 200 && status < 300;
1212
+ }
1213
+ };
1214
+
1215
+ defaults.headers = {
1216
+ common: {
1217
+ 'Accept': 'application/json, text/plain, */*'
1218
+ }
1219
+ };
1220
+
1221
+ utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
1222
+ defaults.headers[method] = {};
1223
+ });
1224
+
1225
+ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
1226
+ defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
1227
+ });
1228
+
1229
+ module.exports = defaults;
1189
1230
 
1190
1231
 
1191
1232
  /***/ }),
1192
- /* 14 */
1233
+
1234
+ /***/ "./lib/helpers/bind.js":
1235
+ /*!*****************************!*\
1236
+ !*** ./lib/helpers/bind.js ***!
1237
+ \*****************************/
1238
+ /*! no static exports found */
1193
1239
  /***/ (function(module, exports, __webpack_require__) {
1194
1240
 
1195
- 'use strict';
1196
-
1197
- var enhanceError = __webpack_require__(15);
1198
-
1199
- /**
1200
- * Create an Error with the specified message, config, error code, request and response.
1201
- *
1202
- * @param {string} message The error message.
1203
- * @param {Object} config The config.
1204
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
1205
- * @param {Object} [request] The request.
1206
- * @param {Object} [response] The response.
1207
- * @returns {Error} The created error.
1208
- */
1209
- module.exports = function createError(message, config, code, request, response) {
1210
- var error = new Error(message);
1211
- return enhanceError(error, config, code, request, response);
1212
- };
1241
+ "use strict";
1242
+
1243
+
1244
+ module.exports = function bind(fn, thisArg) {
1245
+ return function wrap() {
1246
+ var args = new Array(arguments.length);
1247
+ for (var i = 0; i < args.length; i++) {
1248
+ args[i] = arguments[i];
1249
+ }
1250
+ return fn.apply(thisArg, args);
1251
+ };
1252
+ };
1213
1253
 
1214
1254
 
1215
1255
  /***/ }),
1216
- /* 15 */
1217
- /***/ (function(module, exports) {
1218
-
1219
- 'use strict';
1220
-
1221
- /**
1222
- * Update an Error with the specified config, error code, and response.
1223
- *
1224
- * @param {Error} error The error to update.
1225
- * @param {Object} config The config.
1226
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
1227
- * @param {Object} [request] The request.
1228
- * @param {Object} [response] The response.
1229
- * @returns {Error} The error.
1230
- */
1231
- module.exports = function enhanceError(error, config, code, request, response) {
1232
- error.config = config;
1233
- if (code) {
1234
- error.code = code;
1235
- }
1236
-
1237
- error.request = request;
1238
- error.response = response;
1239
- error.isAxiosError = true;
1240
-
1241
- error.toJSON = function toJSON() {
1242
- return {
1243
- // Standard
1244
- message: this.message,
1245
- name: this.name,
1246
- // Microsoft
1247
- description: this.description,
1248
- number: this.number,
1249
- // Mozilla
1250
- fileName: this.fileName,
1251
- lineNumber: this.lineNumber,
1252
- columnNumber: this.columnNumber,
1253
- stack: this.stack,
1254
- // Axios
1255
- config: this.config,
1256
- code: this.code
1257
- };
1258
- };
1259
- return error;
1260
- };
1256
+
1257
+ /***/ "./lib/helpers/buildURL.js":
1258
+ /*!*********************************!*\
1259
+ !*** ./lib/helpers/buildURL.js ***!
1260
+ \*********************************/
1261
+ /*! no static exports found */
1262
+ /***/ (function(module, exports, __webpack_require__) {
1263
+
1264
+ "use strict";
1265
+
1266
+
1267
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
1268
+
1269
+ function encode(val) {
1270
+ return encodeURIComponent(val).
1271
+ replace(/%3A/gi, ':').
1272
+ replace(/%24/g, '$').
1273
+ replace(/%2C/gi, ',').
1274
+ replace(/%20/g, '+').
1275
+ replace(/%5B/gi, '[').
1276
+ replace(/%5D/gi, ']');
1277
+ }
1278
+
1279
+ /**
1280
+ * Build a URL by appending params to the end
1281
+ *
1282
+ * @param {string} url The base of the url (e.g., http://www.google.com)
1283
+ * @param {object} [params] The params to be appended
1284
+ * @returns {string} The formatted url
1285
+ */
1286
+ module.exports = function buildURL(url, params, paramsSerializer) {
1287
+ /*eslint no-param-reassign:0*/
1288
+ if (!params) {
1289
+ return url;
1290
+ }
1291
+
1292
+ var serializedParams;
1293
+ if (paramsSerializer) {
1294
+ serializedParams = paramsSerializer(params);
1295
+ } else if (utils.isURLSearchParams(params)) {
1296
+ serializedParams = params.toString();
1297
+ } else {
1298
+ var parts = [];
1299
+
1300
+ utils.forEach(params, function serialize(val, key) {
1301
+ if (val === null || typeof val === 'undefined') {
1302
+ return;
1303
+ }
1304
+
1305
+ if (utils.isArray(val)) {
1306
+ key = key + '[]';
1307
+ } else {
1308
+ val = [val];
1309
+ }
1310
+
1311
+ utils.forEach(val, function parseValue(v) {
1312
+ if (utils.isDate(v)) {
1313
+ v = v.toISOString();
1314
+ } else if (utils.isObject(v)) {
1315
+ v = JSON.stringify(v);
1316
+ }
1317
+ parts.push(encode(key) + '=' + encode(v));
1318
+ });
1319
+ });
1320
+
1321
+ serializedParams = parts.join('&');
1322
+ }
1323
+
1324
+ if (serializedParams) {
1325
+ var hashmarkIndex = url.indexOf('#');
1326
+ if (hashmarkIndex !== -1) {
1327
+ url = url.slice(0, hashmarkIndex);
1328
+ }
1329
+
1330
+ url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
1331
+ }
1332
+
1333
+ return url;
1334
+ };
1261
1335
 
1262
1336
 
1263
1337
  /***/ }),
1264
- /* 16 */
1338
+
1339
+ /***/ "./lib/helpers/combineURLs.js":
1340
+ /*!************************************!*\
1341
+ !*** ./lib/helpers/combineURLs.js ***!
1342
+ \************************************/
1343
+ /*! no static exports found */
1265
1344
  /***/ (function(module, exports, __webpack_require__) {
1266
1345
 
1267
- 'use strict';
1268
-
1269
- var utils = __webpack_require__(2);
1270
-
1271
- module.exports = (
1272
- utils.isStandardBrowserEnv() ?
1273
-
1274
- // Standard browser envs support document.cookie
1275
- (function standardBrowserEnv() {
1276
- return {
1277
- write: function write(name, value, expires, path, domain, secure) {
1278
- var cookie = [];
1279
- cookie.push(name + '=' + encodeURIComponent(value));
1280
-
1281
- if (utils.isNumber(expires)) {
1282
- cookie.push('expires=' + new Date(expires).toGMTString());
1283
- }
1284
-
1285
- if (utils.isString(path)) {
1286
- cookie.push('path=' + path);
1287
- }
1288
-
1289
- if (utils.isString(domain)) {
1290
- cookie.push('domain=' + domain);
1291
- }
1292
-
1293
- if (secure === true) {
1294
- cookie.push('secure');
1295
- }
1296
-
1297
- document.cookie = cookie.join('; ');
1298
- },
1299
-
1300
- read: function read(name) {
1301
- var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
1302
- return (match ? decodeURIComponent(match[3]) : null);
1303
- },
1304
-
1305
- remove: function remove(name) {
1306
- this.write(name, '', Date.now() - 86400000);
1307
- }
1308
- };
1309
- })() :
1310
-
1311
- // Non standard browser env (web workers, react-native) lack needed support.
1312
- (function nonStandardBrowserEnv() {
1313
- return {
1314
- write: function write() {},
1315
- read: function read() { return null; },
1316
- remove: function remove() {}
1317
- };
1318
- })()
1319
- );
1346
+ "use strict";
1347
+
1348
+
1349
+ /**
1350
+ * Creates a new URL by combining the specified URLs
1351
+ *
1352
+ * @param {string} baseURL The base URL
1353
+ * @param {string} relativeURL The relative URL
1354
+ * @returns {string} The combined URL
1355
+ */
1356
+ module.exports = function combineURLs(baseURL, relativeURL) {
1357
+ return relativeURL
1358
+ ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1359
+ : baseURL;
1360
+ };
1320
1361
 
1321
1362
 
1322
1363
  /***/ }),
1323
- /* 17 */
1364
+
1365
+ /***/ "./lib/helpers/cookies.js":
1366
+ /*!********************************!*\
1367
+ !*** ./lib/helpers/cookies.js ***!
1368
+ \********************************/
1369
+ /*! no static exports found */
1324
1370
  /***/ (function(module, exports, __webpack_require__) {
1325
1371
 
1326
- 'use strict';
1327
-
1328
- var isAbsoluteURL = __webpack_require__(18);
1329
- var combineURLs = __webpack_require__(19);
1330
-
1331
- /**
1332
- * Creates a new URL by combining the baseURL with the requestedURL,
1333
- * only when the requestedURL is not already an absolute URL.
1334
- * If the requestURL is absolute, this function returns the requestedURL untouched.
1335
- *
1336
- * @param {string} baseURL The base URL
1337
- * @param {string} requestedURL Absolute or relative URL to combine
1338
- * @returns {string} The combined full path
1339
- */
1340
- module.exports = function buildFullPath(baseURL, requestedURL) {
1341
- if (baseURL && !isAbsoluteURL(requestedURL)) {
1342
- return combineURLs(baseURL, requestedURL);
1343
- }
1344
- return requestedURL;
1345
- };
1372
+ "use strict";
1373
+
1374
+
1375
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
1376
+
1377
+ module.exports = (
1378
+ utils.isStandardBrowserEnv() ?
1379
+
1380
+ // Standard browser envs support document.cookie
1381
+ (function standardBrowserEnv() {
1382
+ return {
1383
+ write: function write(name, value, expires, path, domain, secure) {
1384
+ var cookie = [];
1385
+ cookie.push(name + '=' + encodeURIComponent(value));
1386
+
1387
+ if (utils.isNumber(expires)) {
1388
+ cookie.push('expires=' + new Date(expires).toGMTString());
1389
+ }
1390
+
1391
+ if (utils.isString(path)) {
1392
+ cookie.push('path=' + path);
1393
+ }
1394
+
1395
+ if (utils.isString(domain)) {
1396
+ cookie.push('domain=' + domain);
1397
+ }
1398
+
1399
+ if (secure === true) {
1400
+ cookie.push('secure');
1401
+ }
1402
+
1403
+ document.cookie = cookie.join('; ');
1404
+ },
1405
+
1406
+ read: function read(name) {
1407
+ var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
1408
+ return (match ? decodeURIComponent(match[3]) : null);
1409
+ },
1410
+
1411
+ remove: function remove(name) {
1412
+ this.write(name, '', Date.now() - 86400000);
1413
+ }
1414
+ };
1415
+ })() :
1416
+
1417
+ // Non standard browser env (web workers, react-native) lack needed support.
1418
+ (function nonStandardBrowserEnv() {
1419
+ return {
1420
+ write: function write() {},
1421
+ read: function read() { return null; },
1422
+ remove: function remove() {}
1423
+ };
1424
+ })()
1425
+ );
1346
1426
 
1347
1427
 
1348
1428
  /***/ }),
1349
- /* 18 */
1350
- /***/ (function(module, exports) {
1351
-
1352
- 'use strict';
1353
-
1354
- /**
1355
- * Determines whether the specified URL is absolute
1356
- *
1357
- * @param {string} url The URL to test
1358
- * @returns {boolean} True if the specified URL is absolute, otherwise false
1359
- */
1360
- module.exports = function isAbsoluteURL(url) {
1361
- // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
1362
- // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
1363
- // by any combination of letters, digits, plus, period, or hyphen.
1364
- return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
1365
- };
1429
+
1430
+ /***/ "./lib/helpers/isAbsoluteURL.js":
1431
+ /*!**************************************!*\
1432
+ !*** ./lib/helpers/isAbsoluteURL.js ***!
1433
+ \**************************************/
1434
+ /*! no static exports found */
1435
+ /***/ (function(module, exports, __webpack_require__) {
1436
+
1437
+ "use strict";
1438
+
1439
+
1440
+ /**
1441
+ * Determines whether the specified URL is absolute
1442
+ *
1443
+ * @param {string} url The URL to test
1444
+ * @returns {boolean} True if the specified URL is absolute, otherwise false
1445
+ */
1446
+ module.exports = function isAbsoluteURL(url) {
1447
+ // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
1448
+ // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
1449
+ // by any combination of letters, digits, plus, period, or hyphen.
1450
+ return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
1451
+ };
1366
1452
 
1367
1453
 
1368
1454
  /***/ }),
1369
- /* 19 */
1370
- /***/ (function(module, exports) {
1371
-
1372
- 'use strict';
1373
-
1374
- /**
1375
- * Creates a new URL by combining the specified URLs
1376
- *
1377
- * @param {string} baseURL The base URL
1378
- * @param {string} relativeURL The relative URL
1379
- * @returns {string} The combined URL
1380
- */
1381
- module.exports = function combineURLs(baseURL, relativeURL) {
1382
- return relativeURL
1383
- ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1384
- : baseURL;
1385
- };
1455
+
1456
+ /***/ "./lib/helpers/isAxiosError.js":
1457
+ /*!*************************************!*\
1458
+ !*** ./lib/helpers/isAxiosError.js ***!
1459
+ \*************************************/
1460
+ /*! no static exports found */
1461
+ /***/ (function(module, exports, __webpack_require__) {
1462
+
1463
+ "use strict";
1464
+
1465
+
1466
+ /**
1467
+ * Determines whether the payload is an error thrown by Axios
1468
+ *
1469
+ * @param {*} payload The value to test
1470
+ * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
1471
+ */
1472
+ module.exports = function isAxiosError(payload) {
1473
+ return (typeof payload === 'object') && (payload.isAxiosError === true);
1474
+ };
1386
1475
 
1387
1476
 
1388
1477
  /***/ }),
1389
- /* 20 */
1478
+
1479
+ /***/ "./lib/helpers/isURLSameOrigin.js":
1480
+ /*!****************************************!*\
1481
+ !*** ./lib/helpers/isURLSameOrigin.js ***!
1482
+ \****************************************/
1483
+ /*! no static exports found */
1390
1484
  /***/ (function(module, exports, __webpack_require__) {
1391
1485
 
1392
- 'use strict';
1393
-
1394
- var utils = __webpack_require__(2);
1395
-
1396
- // Headers whose duplicates are ignored by node
1397
- // c.f. https://nodejs.org/api/http.html#http_message_headers
1398
- var ignoreDuplicateOf = [
1399
- 'age', 'authorization', 'content-length', 'content-type', 'etag',
1400
- 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
1401
- 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
1402
- 'referer', 'retry-after', 'user-agent'
1403
- ];
1404
-
1405
- /**
1406
- * Parse headers into an object
1407
- *
1408
- * ```
1409
- * Date: Wed, 27 Aug 2014 08:58:49 GMT
1410
- * Content-Type: application/json
1411
- * Connection: keep-alive
1412
- * Transfer-Encoding: chunked
1413
- * ```
1414
- *
1415
- * @param {String} headers Headers needing to be parsed
1416
- * @returns {Object} Headers parsed into an object
1417
- */
1418
- module.exports = function parseHeaders(headers) {
1419
- var parsed = {};
1420
- var key;
1421
- var val;
1422
- var i;
1423
-
1424
- if (!headers) { return parsed; }
1425
-
1426
- utils.forEach(headers.split('\n'), function parser(line) {
1427
- i = line.indexOf(':');
1428
- key = utils.trim(line.substr(0, i)).toLowerCase();
1429
- val = utils.trim(line.substr(i + 1));
1430
-
1431
- if (key) {
1432
- if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
1433
- return;
1434
- }
1435
- if (key === 'set-cookie') {
1436
- parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
1437
- } else {
1438
- parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
1439
- }
1440
- }
1441
- });
1442
-
1443
- return parsed;
1444
- };
1486
+ "use strict";
1487
+
1488
+
1489
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
1490
+
1491
+ module.exports = (
1492
+ utils.isStandardBrowserEnv() ?
1493
+
1494
+ // Standard browser envs have full support of the APIs needed to test
1495
+ // whether the request URL is of the same origin as current location.
1496
+ (function standardBrowserEnv() {
1497
+ var msie = /(msie|trident)/i.test(navigator.userAgent);
1498
+ var urlParsingNode = document.createElement('a');
1499
+ var originURL;
1500
+
1501
+ /**
1502
+ * Parse a URL to discover it's components
1503
+ *
1504
+ * @param {String} url The URL to be parsed
1505
+ * @returns {Object}
1506
+ */
1507
+ function resolveURL(url) {
1508
+ var href = url;
1509
+
1510
+ if (msie) {
1511
+ // IE needs attribute set twice to normalize properties
1512
+ urlParsingNode.setAttribute('href', href);
1513
+ href = urlParsingNode.href;
1514
+ }
1515
+
1516
+ urlParsingNode.setAttribute('href', href);
1517
+
1518
+ // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
1519
+ return {
1520
+ href: urlParsingNode.href,
1521
+ protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
1522
+ host: urlParsingNode.host,
1523
+ search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
1524
+ hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
1525
+ hostname: urlParsingNode.hostname,
1526
+ port: urlParsingNode.port,
1527
+ pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
1528
+ urlParsingNode.pathname :
1529
+ '/' + urlParsingNode.pathname
1530
+ };
1531
+ }
1532
+
1533
+ originURL = resolveURL(window.location.href);
1534
+
1535
+ /**
1536
+ * Determine if a URL shares the same origin as the current location
1537
+ *
1538
+ * @param {String} requestURL The URL to test
1539
+ * @returns {boolean} True if URL shares the same origin, otherwise false
1540
+ */
1541
+ return function isURLSameOrigin(requestURL) {
1542
+ var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
1543
+ return (parsed.protocol === originURL.protocol &&
1544
+ parsed.host === originURL.host);
1545
+ };
1546
+ })() :
1547
+
1548
+ // Non standard browser envs (web workers, react-native) lack needed support.
1549
+ (function nonStandardBrowserEnv() {
1550
+ return function isURLSameOrigin() {
1551
+ return true;
1552
+ };
1553
+ })()
1554
+ );
1445
1555
 
1446
1556
 
1447
1557
  /***/ }),
1448
- /* 21 */
1558
+
1559
+ /***/ "./lib/helpers/normalizeHeaderName.js":
1560
+ /*!********************************************!*\
1561
+ !*** ./lib/helpers/normalizeHeaderName.js ***!
1562
+ \********************************************/
1563
+ /*! no static exports found */
1449
1564
  /***/ (function(module, exports, __webpack_require__) {
1450
1565
 
1451
- 'use strict';
1452
-
1453
- var utils = __webpack_require__(2);
1454
-
1455
- module.exports = (
1456
- utils.isStandardBrowserEnv() ?
1457
-
1458
- // Standard browser envs have full support of the APIs needed to test
1459
- // whether the request URL is of the same origin as current location.
1460
- (function standardBrowserEnv() {
1461
- var msie = /(msie|trident)/i.test(navigator.userAgent);
1462
- var urlParsingNode = document.createElement('a');
1463
- var originURL;
1464
-
1465
- /**
1466
- * Parse a URL to discover it's components
1467
- *
1468
- * @param {String} url The URL to be parsed
1469
- * @returns {Object}
1470
- */
1471
- function resolveURL(url) {
1472
- var href = url;
1473
-
1474
- if (msie) {
1475
- // IE needs attribute set twice to normalize properties
1476
- urlParsingNode.setAttribute('href', href);
1477
- href = urlParsingNode.href;
1478
- }
1479
-
1480
- urlParsingNode.setAttribute('href', href);
1481
-
1482
- // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
1483
- return {
1484
- href: urlParsingNode.href,
1485
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
1486
- host: urlParsingNode.host,
1487
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
1488
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
1489
- hostname: urlParsingNode.hostname,
1490
- port: urlParsingNode.port,
1491
- pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
1492
- urlParsingNode.pathname :
1493
- '/' + urlParsingNode.pathname
1494
- };
1495
- }
1496
-
1497
- originURL = resolveURL(window.location.href);
1498
-
1499
- /**
1500
- * Determine if a URL shares the same origin as the current location
1501
- *
1502
- * @param {String} requestURL The URL to test
1503
- * @returns {boolean} True if URL shares the same origin, otherwise false
1504
- */
1505
- return function isURLSameOrigin(requestURL) {
1506
- var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
1507
- return (parsed.protocol === originURL.protocol &&
1508
- parsed.host === originURL.host);
1509
- };
1510
- })() :
1511
-
1512
- // Non standard browser envs (web workers, react-native) lack needed support.
1513
- (function nonStandardBrowserEnv() {
1514
- return function isURLSameOrigin() {
1515
- return true;
1516
- };
1517
- })()
1518
- );
1566
+ "use strict";
1567
+
1568
+
1569
+ var utils = __webpack_require__(/*! ../utils */ "./lib/utils.js");
1570
+
1571
+ module.exports = function normalizeHeaderName(headers, normalizedName) {
1572
+ utils.forEach(headers, function processHeader(value, name) {
1573
+ if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
1574
+ headers[normalizedName] = value;
1575
+ delete headers[name];
1576
+ }
1577
+ });
1578
+ };
1519
1579
 
1520
1580
 
1521
1581
  /***/ }),
1522
- /* 22 */
1582
+
1583
+ /***/ "./lib/helpers/parseHeaders.js":
1584
+ /*!*************************************!*\
1585
+ !*** ./lib/helpers/parseHeaders.js ***!
1586
+ \*************************************/
1587
+ /*! no static exports found */
1523
1588
  /***/ (function(module, exports, __webpack_require__) {
1524
1589
 
1525
- 'use strict';
1526
-
1527
- var utils = __webpack_require__(2);
1528
-
1529
- /**
1530
- * Config-specific merge-function which creates a new config-object
1531
- * by merging two configuration objects together.
1532
- *
1533
- * @param {Object} config1
1534
- * @param {Object} config2
1535
- * @returns {Object} New object resulting from merging config2 to config1
1536
- */
1537
- module.exports = function mergeConfig(config1, config2) {
1538
- // eslint-disable-next-line no-param-reassign
1539
- config2 = config2 || {};
1540
- var config = {};
1541
-
1542
- var valueFromConfig2Keys = ['url', 'method', 'data'];
1543
- var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];
1544
- var defaultToConfig2Keys = [
1545
- 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',
1546
- 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
1547
- 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',
1548
- 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',
1549
- 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'
1550
- ];
1551
- var directMergeKeys = ['validateStatus'];
1552
-
1553
- function getMergedValue(target, source) {
1554
- if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
1555
- return utils.merge(target, source);
1556
- } else if (utils.isPlainObject(source)) {
1557
- return utils.merge({}, source);
1558
- } else if (utils.isArray(source)) {
1559
- return source.slice();
1560
- }
1561
- return source;
1562
- }
1563
-
1564
- function mergeDeepProperties(prop) {
1565
- if (!utils.isUndefined(config2[prop])) {
1566
- config[prop] = getMergedValue(config1[prop], config2[prop]);
1567
- } else if (!utils.isUndefined(config1[prop])) {
1568
- config[prop] = getMergedValue(undefined, config1[prop]);
1569
- }
1570
- }
1571
-
1572
- utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
1573
- if (!utils.isUndefined(config2[prop])) {
1574
- config[prop] = getMergedValue(undefined, config2[prop]);
1575
- }
1576
- });
1577
-
1578
- utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
1579
-
1580
- utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
1581
- if (!utils.isUndefined(config2[prop])) {
1582
- config[prop] = getMergedValue(undefined, config2[prop]);
1583
- } else if (!utils.isUndefined(config1[prop])) {
1584
- config[prop] = getMergedValue(undefined, config1[prop]);
1585
- }
1586
- });
1587
-
1588
- utils.forEach(directMergeKeys, function merge(prop) {
1589
- if (prop in config2) {
1590
- config[prop] = getMergedValue(config1[prop], config2[prop]);
1591
- } else if (prop in config1) {
1592
- config[prop] = getMergedValue(undefined, config1[prop]);
1593
- }
1594
- });
1595
-
1596
- var axiosKeys = valueFromConfig2Keys
1597
- .concat(mergeDeepPropertiesKeys)
1598
- .concat(defaultToConfig2Keys)
1599
- .concat(directMergeKeys);
1600
-
1601
- var otherKeys = Object
1602
- .keys(config1)
1603
- .concat(Object.keys(config2))
1604
- .filter(function filterAxiosKeys(key) {
1605
- return axiosKeys.indexOf(key) === -1;
1606
- });
1607
-
1608
- utils.forEach(otherKeys, mergeDeepProperties);
1609
-
1610
- return config;
1611
- };
1590
+ "use strict";
1591
+
1592
+
1593
+ var utils = __webpack_require__(/*! ./../utils */ "./lib/utils.js");
1594
+
1595
+ // Headers whose duplicates are ignored by node
1596
+ // c.f. https://nodejs.org/api/http.html#http_message_headers
1597
+ var ignoreDuplicateOf = [
1598
+ 'age', 'authorization', 'content-length', 'content-type', 'etag',
1599
+ 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
1600
+ 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
1601
+ 'referer', 'retry-after', 'user-agent'
1602
+ ];
1603
+
1604
+ /**
1605
+ * Parse headers into an object
1606
+ *
1607
+ * ```
1608
+ * Date: Wed, 27 Aug 2014 08:58:49 GMT
1609
+ * Content-Type: application/json
1610
+ * Connection: keep-alive
1611
+ * Transfer-Encoding: chunked
1612
+ * ```
1613
+ *
1614
+ * @param {String} headers Headers needing to be parsed
1615
+ * @returns {Object} Headers parsed into an object
1616
+ */
1617
+ module.exports = function parseHeaders(headers) {
1618
+ var parsed = {};
1619
+ var key;
1620
+ var val;
1621
+ var i;
1622
+
1623
+ if (!headers) { return parsed; }
1624
+
1625
+ utils.forEach(headers.split('\n'), function parser(line) {
1626
+ i = line.indexOf(':');
1627
+ key = utils.trim(line.substr(0, i)).toLowerCase();
1628
+ val = utils.trim(line.substr(i + 1));
1629
+
1630
+ if (key) {
1631
+ if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
1632
+ return;
1633
+ }
1634
+ if (key === 'set-cookie') {
1635
+ parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
1636
+ } else {
1637
+ parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
1638
+ }
1639
+ }
1640
+ });
1641
+
1642
+ return parsed;
1643
+ };
1612
1644
 
1613
1645
 
1614
1646
  /***/ }),
1615
- /* 23 */
1616
- /***/ (function(module, exports) {
1617
-
1618
- 'use strict';
1619
-
1620
- /**
1621
- * A `Cancel` is an object that is thrown when an operation is canceled.
1622
- *
1623
- * @class
1624
- * @param {string=} message The message.
1625
- */
1626
- function Cancel(message) {
1627
- this.message = message;
1628
- }
1629
-
1630
- Cancel.prototype.toString = function toString() {
1631
- return 'Cancel' + (this.message ? ': ' + this.message : '');
1632
- };
1633
-
1634
- Cancel.prototype.__CANCEL__ = true;
1635
-
1636
- module.exports = Cancel;
1647
+
1648
+ /***/ "./lib/helpers/spread.js":
1649
+ /*!*******************************!*\
1650
+ !*** ./lib/helpers/spread.js ***!
1651
+ \*******************************/
1652
+ /*! no static exports found */
1653
+ /***/ (function(module, exports, __webpack_require__) {
1654
+
1655
+ "use strict";
1656
+
1657
+
1658
+ /**
1659
+ * Syntactic sugar for invoking a function and expanding an array for arguments.
1660
+ *
1661
+ * Common use case would be to use `Function.prototype.apply`.
1662
+ *
1663
+ * ```js
1664
+ * function f(x, y, z) {}
1665
+ * var args = [1, 2, 3];
1666
+ * f.apply(null, args);
1667
+ * ```
1668
+ *
1669
+ * With `spread` this example can be re-written.
1670
+ *
1671
+ * ```js
1672
+ * spread(function(x, y, z) {})([1, 2, 3]);
1673
+ * ```
1674
+ *
1675
+ * @param {Function} callback
1676
+ * @returns {Function}
1677
+ */
1678
+ module.exports = function spread(callback) {
1679
+ return function wrap(arr) {
1680
+ return callback.apply(null, arr);
1681
+ };
1682
+ };
1637
1683
 
1638
1684
 
1639
1685
  /***/ }),
1640
- /* 24 */
1686
+
1687
+ /***/ "./lib/helpers/validator.js":
1688
+ /*!**********************************!*\
1689
+ !*** ./lib/helpers/validator.js ***!
1690
+ \**********************************/
1691
+ /*! no static exports found */
1641
1692
  /***/ (function(module, exports, __webpack_require__) {
1642
1693
 
1643
- 'use strict';
1644
-
1645
- var Cancel = __webpack_require__(23);
1646
-
1647
- /**
1648
- * A `CancelToken` is an object that can be used to request cancellation of an operation.
1649
- *
1650
- * @class
1651
- * @param {Function} executor The executor function.
1652
- */
1653
- function CancelToken(executor) {
1654
- if (typeof executor !== 'function') {
1655
- throw new TypeError('executor must be a function.');
1656
- }
1657
-
1658
- var resolvePromise;
1659
- this.promise = new Promise(function promiseExecutor(resolve) {
1660
- resolvePromise = resolve;
1661
- });
1662
-
1663
- var token = this;
1664
- executor(function cancel(message) {
1665
- if (token.reason) {
1666
- // Cancellation has already been requested
1667
- return;
1668
- }
1669
-
1670
- token.reason = new Cancel(message);
1671
- resolvePromise(token.reason);
1672
- });
1673
- }
1674
-
1675
- /**
1676
- * Throws a `Cancel` if cancellation has been requested.
1677
- */
1678
- CancelToken.prototype.throwIfRequested = function throwIfRequested() {
1679
- if (this.reason) {
1680
- throw this.reason;
1681
- }
1682
- };
1683
-
1684
- /**
1685
- * Returns an object that contains a new `CancelToken` and a function that, when called,
1686
- * cancels the `CancelToken`.
1687
- */
1688
- CancelToken.source = function source() {
1689
- var cancel;
1690
- var token = new CancelToken(function executor(c) {
1691
- cancel = c;
1692
- });
1693
- return {
1694
- token: token,
1695
- cancel: cancel
1696
- };
1697
- };
1698
-
1699
- module.exports = CancelToken;
1694
+ "use strict";
1695
+
1696
+
1697
+ var pkg = __webpack_require__(/*! ./../../package.json */ "./package.json");
1698
+
1699
+ var validators = {};
1700
+
1701
+ // eslint-disable-next-line func-names
1702
+ ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {
1703
+ validators[type] = function validator(thing) {
1704
+ return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
1705
+ };
1706
+ });
1707
+
1708
+ var deprecatedWarnings = {};
1709
+ var currentVerArr = pkg.version.split('.');
1710
+
1711
+ /**
1712
+ * Compare package versions
1713
+ * @param {string} version
1714
+ * @param {string?} thanVersion
1715
+ * @returns {boolean}
1716
+ */
1717
+ function isOlderVersion(version, thanVersion) {
1718
+ var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;
1719
+ var destVer = version.split('.');
1720
+ for (var i = 0; i < 3; i++) {
1721
+ if (pkgVersionArr[i] > destVer[i]) {
1722
+ return true;
1723
+ } else if (pkgVersionArr[i] < destVer[i]) {
1724
+ return false;
1725
+ }
1726
+ }
1727
+ return false;
1728
+ }
1729
+
1730
+ /**
1731
+ * Transitional option validator
1732
+ * @param {function|boolean?} validator
1733
+ * @param {string?} version
1734
+ * @param {string} message
1735
+ * @returns {function}
1736
+ */
1737
+ validators.transitional = function transitional(validator, version, message) {
1738
+ var isDeprecated = version && isOlderVersion(version);
1739
+
1740
+ function formatMessage(opt, desc) {
1741
+ return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
1742
+ }
1743
+
1744
+ // eslint-disable-next-line func-names
1745
+ return function(value, opt, opts) {
1746
+ if (validator === false) {
1747
+ throw new Error(formatMessage(opt, ' has been removed in ' + version));
1748
+ }
1749
+
1750
+ if (isDeprecated && !deprecatedWarnings[opt]) {
1751
+ deprecatedWarnings[opt] = true;
1752
+ // eslint-disable-next-line no-console
1753
+ console.warn(
1754
+ formatMessage(
1755
+ opt,
1756
+ ' has been deprecated since v' + version + ' and will be removed in the near future'
1757
+ )
1758
+ );
1759
+ }
1760
+
1761
+ return validator ? validator(value, opt, opts) : true;
1762
+ };
1763
+ };
1764
+
1765
+ /**
1766
+ * Assert object's properties type
1767
+ * @param {object} options
1768
+ * @param {object} schema
1769
+ * @param {boolean?} allowUnknown
1770
+ */
1771
+
1772
+ function assertOptions(options, schema, allowUnknown) {
1773
+ if (typeof options !== 'object') {
1774
+ throw new TypeError('options must be an object');
1775
+ }
1776
+ var keys = Object.keys(options);
1777
+ var i = keys.length;
1778
+ while (i-- > 0) {
1779
+ var opt = keys[i];
1780
+ var validator = schema[opt];
1781
+ if (validator) {
1782
+ var value = options[opt];
1783
+ var result = value === undefined || validator(value, opt, options);
1784
+ if (result !== true) {
1785
+ throw new TypeError('option ' + opt + ' must be ' + result);
1786
+ }
1787
+ continue;
1788
+ }
1789
+ if (allowUnknown !== true) {
1790
+ throw Error('Unknown option ' + opt);
1791
+ }
1792
+ }
1793
+ }
1794
+
1795
+ module.exports = {
1796
+ isOlderVersion: isOlderVersion,
1797
+ assertOptions: assertOptions,
1798
+ validators: validators
1799
+ };
1700
1800
 
1701
1801
 
1702
1802
  /***/ }),
1703
- /* 25 */
1704
- /***/ (function(module, exports) {
1705
-
1706
- 'use strict';
1707
-
1708
- /**
1709
- * Syntactic sugar for invoking a function and expanding an array for arguments.
1710
- *
1711
- * Common use case would be to use `Function.prototype.apply`.
1712
- *
1713
- * ```js
1714
- * function f(x, y, z) {}
1715
- * var args = [1, 2, 3];
1716
- * f.apply(null, args);
1717
- * ```
1718
- *
1719
- * With `spread` this example can be re-written.
1720
- *
1721
- * ```js
1722
- * spread(function(x, y, z) {})([1, 2, 3]);
1723
- * ```
1724
- *
1725
- * @param {Function} callback
1726
- * @returns {Function}
1727
- */
1728
- module.exports = function spread(callback) {
1729
- return function wrap(arr) {
1730
- return callback.apply(null, arr);
1731
- };
1732
- };
1803
+
1804
+ /***/ "./lib/utils.js":
1805
+ /*!**********************!*\
1806
+ !*** ./lib/utils.js ***!
1807
+ \**********************/
1808
+ /*! no static exports found */
1809
+ /***/ (function(module, exports, __webpack_require__) {
1810
+
1811
+ "use strict";
1812
+
1813
+
1814
+ var bind = __webpack_require__(/*! ./helpers/bind */ "./lib/helpers/bind.js");
1815
+
1816
+ // utils is a library of generic helper functions non-specific to axios
1817
+
1818
+ var toString = Object.prototype.toString;
1819
+
1820
+ /**
1821
+ * Determine if a value is an Array
1822
+ *
1823
+ * @param {Object} val The value to test
1824
+ * @returns {boolean} True if value is an Array, otherwise false
1825
+ */
1826
+ function isArray(val) {
1827
+ return toString.call(val) === '[object Array]';
1828
+ }
1829
+
1830
+ /**
1831
+ * Determine if a value is undefined
1832
+ *
1833
+ * @param {Object} val The value to test
1834
+ * @returns {boolean} True if the value is undefined, otherwise false
1835
+ */
1836
+ function isUndefined(val) {
1837
+ return typeof val === 'undefined';
1838
+ }
1839
+
1840
+ /**
1841
+ * Determine if a value is a Buffer
1842
+ *
1843
+ * @param {Object} val The value to test
1844
+ * @returns {boolean} True if value is a Buffer, otherwise false
1845
+ */
1846
+ function isBuffer(val) {
1847
+ return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
1848
+ && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
1849
+ }
1850
+
1851
+ /**
1852
+ * Determine if a value is an ArrayBuffer
1853
+ *
1854
+ * @param {Object} val The value to test
1855
+ * @returns {boolean} True if value is an ArrayBuffer, otherwise false
1856
+ */
1857
+ function isArrayBuffer(val) {
1858
+ return toString.call(val) === '[object ArrayBuffer]';
1859
+ }
1860
+
1861
+ /**
1862
+ * Determine if a value is a FormData
1863
+ *
1864
+ * @param {Object} val The value to test
1865
+ * @returns {boolean} True if value is an FormData, otherwise false
1866
+ */
1867
+ function isFormData(val) {
1868
+ return (typeof FormData !== 'undefined') && (val instanceof FormData);
1869
+ }
1870
+
1871
+ /**
1872
+ * Determine if a value is a view on an ArrayBuffer
1873
+ *
1874
+ * @param {Object} val The value to test
1875
+ * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
1876
+ */
1877
+ function isArrayBufferView(val) {
1878
+ var result;
1879
+ if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
1880
+ result = ArrayBuffer.isView(val);
1881
+ } else {
1882
+ result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
1883
+ }
1884
+ return result;
1885
+ }
1886
+
1887
+ /**
1888
+ * Determine if a value is a String
1889
+ *
1890
+ * @param {Object} val The value to test
1891
+ * @returns {boolean} True if value is a String, otherwise false
1892
+ */
1893
+ function isString(val) {
1894
+ return typeof val === 'string';
1895
+ }
1896
+
1897
+ /**
1898
+ * Determine if a value is a Number
1899
+ *
1900
+ * @param {Object} val The value to test
1901
+ * @returns {boolean} True if value is a Number, otherwise false
1902
+ */
1903
+ function isNumber(val) {
1904
+ return typeof val === 'number';
1905
+ }
1906
+
1907
+ /**
1908
+ * Determine if a value is an Object
1909
+ *
1910
+ * @param {Object} val The value to test
1911
+ * @returns {boolean} True if value is an Object, otherwise false
1912
+ */
1913
+ function isObject(val) {
1914
+ return val !== null && typeof val === 'object';
1915
+ }
1916
+
1917
+ /**
1918
+ * Determine if a value is a plain Object
1919
+ *
1920
+ * @param {Object} val The value to test
1921
+ * @return {boolean} True if value is a plain Object, otherwise false
1922
+ */
1923
+ function isPlainObject(val) {
1924
+ if (toString.call(val) !== '[object Object]') {
1925
+ return false;
1926
+ }
1927
+
1928
+ var prototype = Object.getPrototypeOf(val);
1929
+ return prototype === null || prototype === Object.prototype;
1930
+ }
1931
+
1932
+ /**
1933
+ * Determine if a value is a Date
1934
+ *
1935
+ * @param {Object} val The value to test
1936
+ * @returns {boolean} True if value is a Date, otherwise false
1937
+ */
1938
+ function isDate(val) {
1939
+ return toString.call(val) === '[object Date]';
1940
+ }
1941
+
1942
+ /**
1943
+ * Determine if a value is a File
1944
+ *
1945
+ * @param {Object} val The value to test
1946
+ * @returns {boolean} True if value is a File, otherwise false
1947
+ */
1948
+ function isFile(val) {
1949
+ return toString.call(val) === '[object File]';
1950
+ }
1951
+
1952
+ /**
1953
+ * Determine if a value is a Blob
1954
+ *
1955
+ * @param {Object} val The value to test
1956
+ * @returns {boolean} True if value is a Blob, otherwise false
1957
+ */
1958
+ function isBlob(val) {
1959
+ return toString.call(val) === '[object Blob]';
1960
+ }
1961
+
1962
+ /**
1963
+ * Determine if a value is a Function
1964
+ *
1965
+ * @param {Object} val The value to test
1966
+ * @returns {boolean} True if value is a Function, otherwise false
1967
+ */
1968
+ function isFunction(val) {
1969
+ return toString.call(val) === '[object Function]';
1970
+ }
1971
+
1972
+ /**
1973
+ * Determine if a value is a Stream
1974
+ *
1975
+ * @param {Object} val The value to test
1976
+ * @returns {boolean} True if value is a Stream, otherwise false
1977
+ */
1978
+ function isStream(val) {
1979
+ return isObject(val) && isFunction(val.pipe);
1980
+ }
1981
+
1982
+ /**
1983
+ * Determine if a value is a URLSearchParams object
1984
+ *
1985
+ * @param {Object} val The value to test
1986
+ * @returns {boolean} True if value is a URLSearchParams object, otherwise false
1987
+ */
1988
+ function isURLSearchParams(val) {
1989
+ return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
1990
+ }
1991
+
1992
+ /**
1993
+ * Trim excess whitespace off the beginning and end of a string
1994
+ *
1995
+ * @param {String} str The String to trim
1996
+ * @returns {String} The String freed of excess whitespace
1997
+ */
1998
+ function trim(str) {
1999
+ return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
2000
+ }
2001
+
2002
+ /**
2003
+ * Determine if we're running in a standard browser environment
2004
+ *
2005
+ * This allows axios to run in a web worker, and react-native.
2006
+ * Both environments support XMLHttpRequest, but not fully standard globals.
2007
+ *
2008
+ * web workers:
2009
+ * typeof window -> undefined
2010
+ * typeof document -> undefined
2011
+ *
2012
+ * react-native:
2013
+ * navigator.product -> 'ReactNative'
2014
+ * nativescript
2015
+ * navigator.product -> 'NativeScript' or 'NS'
2016
+ */
2017
+ function isStandardBrowserEnv() {
2018
+ if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
2019
+ navigator.product === 'NativeScript' ||
2020
+ navigator.product === 'NS')) {
2021
+ return false;
2022
+ }
2023
+ return (
2024
+ typeof window !== 'undefined' &&
2025
+ typeof document !== 'undefined'
2026
+ );
2027
+ }
2028
+
2029
+ /**
2030
+ * Iterate over an Array or an Object invoking a function for each item.
2031
+ *
2032
+ * If `obj` is an Array callback will be called passing
2033
+ * the value, index, and complete array for each item.
2034
+ *
2035
+ * If 'obj' is an Object callback will be called passing
2036
+ * the value, key, and complete object for each property.
2037
+ *
2038
+ * @param {Object|Array} obj The object to iterate
2039
+ * @param {Function} fn The callback to invoke for each item
2040
+ */
2041
+ function forEach(obj, fn) {
2042
+ // Don't bother if no value provided
2043
+ if (obj === null || typeof obj === 'undefined') {
2044
+ return;
2045
+ }
2046
+
2047
+ // Force an array if not already something iterable
2048
+ if (typeof obj !== 'object') {
2049
+ /*eslint no-param-reassign:0*/
2050
+ obj = [obj];
2051
+ }
2052
+
2053
+ if (isArray(obj)) {
2054
+ // Iterate over array values
2055
+ for (var i = 0, l = obj.length; i < l; i++) {
2056
+ fn.call(null, obj[i], i, obj);
2057
+ }
2058
+ } else {
2059
+ // Iterate over object keys
2060
+ for (var key in obj) {
2061
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
2062
+ fn.call(null, obj[key], key, obj);
2063
+ }
2064
+ }
2065
+ }
2066
+ }
2067
+
2068
+ /**
2069
+ * Accepts varargs expecting each argument to be an object, then
2070
+ * immutably merges the properties of each object and returns result.
2071
+ *
2072
+ * When multiple objects contain the same key the later object in
2073
+ * the arguments list will take precedence.
2074
+ *
2075
+ * Example:
2076
+ *
2077
+ * ```js
2078
+ * var result = merge({foo: 123}, {foo: 456});
2079
+ * console.log(result.foo); // outputs 456
2080
+ * ```
2081
+ *
2082
+ * @param {Object} obj1 Object to merge
2083
+ * @returns {Object} Result of all merge properties
2084
+ */
2085
+ function merge(/* obj1, obj2, obj3, ... */) {
2086
+ var result = {};
2087
+ function assignValue(val, key) {
2088
+ if (isPlainObject(result[key]) && isPlainObject(val)) {
2089
+ result[key] = merge(result[key], val);
2090
+ } else if (isPlainObject(val)) {
2091
+ result[key] = merge({}, val);
2092
+ } else if (isArray(val)) {
2093
+ result[key] = val.slice();
2094
+ } else {
2095
+ result[key] = val;
2096
+ }
2097
+ }
2098
+
2099
+ for (var i = 0, l = arguments.length; i < l; i++) {
2100
+ forEach(arguments[i], assignValue);
2101
+ }
2102
+ return result;
2103
+ }
2104
+
2105
+ /**
2106
+ * Extends object a by mutably adding to it the properties of object b.
2107
+ *
2108
+ * @param {Object} a The object to be extended
2109
+ * @param {Object} b The object to copy properties from
2110
+ * @param {Object} thisArg The object to bind function to
2111
+ * @return {Object} The resulting value of object a
2112
+ */
2113
+ function extend(a, b, thisArg) {
2114
+ forEach(b, function assignValue(val, key) {
2115
+ if (thisArg && typeof val === 'function') {
2116
+ a[key] = bind(val, thisArg);
2117
+ } else {
2118
+ a[key] = val;
2119
+ }
2120
+ });
2121
+ return a;
2122
+ }
2123
+
2124
+ /**
2125
+ * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
2126
+ *
2127
+ * @param {string} content with BOM
2128
+ * @return {string} content value without BOM
2129
+ */
2130
+ function stripBOM(content) {
2131
+ if (content.charCodeAt(0) === 0xFEFF) {
2132
+ content = content.slice(1);
2133
+ }
2134
+ return content;
2135
+ }
2136
+
2137
+ module.exports = {
2138
+ isArray: isArray,
2139
+ isArrayBuffer: isArrayBuffer,
2140
+ isBuffer: isBuffer,
2141
+ isFormData: isFormData,
2142
+ isArrayBufferView: isArrayBufferView,
2143
+ isString: isString,
2144
+ isNumber: isNumber,
2145
+ isObject: isObject,
2146
+ isPlainObject: isPlainObject,
2147
+ isUndefined: isUndefined,
2148
+ isDate: isDate,
2149
+ isFile: isFile,
2150
+ isBlob: isBlob,
2151
+ isFunction: isFunction,
2152
+ isStream: isStream,
2153
+ isURLSearchParams: isURLSearchParams,
2154
+ isStandardBrowserEnv: isStandardBrowserEnv,
2155
+ forEach: forEach,
2156
+ merge: merge,
2157
+ extend: extend,
2158
+ trim: trim,
2159
+ stripBOM: stripBOM
2160
+ };
1733
2161
 
1734
2162
 
1735
2163
  /***/ }),
1736
- /* 26 */
1737
- /***/ (function(module, exports) {
1738
-
1739
- 'use strict';
1740
-
1741
- /**
1742
- * Determines whether the payload is an error thrown by Axios
1743
- *
1744
- * @param {*} payload The value to test
1745
- * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
1746
- */
1747
- module.exports = function isAxiosError(payload) {
1748
- return (typeof payload === 'object') && (payload.isAxiosError === true);
1749
- };
1750
2164
 
2165
+ /***/ "./package.json":
2166
+ /*!**********************!*\
2167
+ !*** ./package.json ***!
2168
+ \**********************/
2169
+ /*! exports provided: name, version, description, main, scripts, repository, keywords, author, license, bugs, homepage, devDependencies, browser, jsdelivr, unpkg, typings, dependencies, bundlesize, default */
2170
+ /***/ (function(module) {
2171
+
2172
+ module.exports = JSON.parse("{\"name\":\"axios\",\"version\":\"0.21.2\",\"description\":\"Promise based HTTP client for the browser and node.js\",\"main\":\"index.js\",\"scripts\":{\"test\":\"grunt test\",\"start\":\"node ./sandbox/server.js\",\"build\":\"NODE_ENV=production grunt build\",\"preversion\":\"npm test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\"postversion\":\"git push && git push --tags\",\"examples\":\"node ./examples/server.js\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"fix\":\"eslint --fix lib/**/*.js\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/axios/axios.git\"},\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"author\":\"Matt Zabriskie\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"homepage\":\"https://axios-http.com\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"jsdelivr\":\"dist/axios.min.js\",\"unpkg\":\"dist/axios.min.js\",\"typings\":\"./index.d.ts\",\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}]}");
1751
2173
 
1752
2174
  /***/ })
1753
- /******/ ])
2175
+
2176
+ /******/ });
1754
2177
  });
1755
- ;
1756
2178
  //# sourceMappingURL=axios.map