axios_rails 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d0fbfbdccbe169763d3d14319a927cc31cc5c461
4
- data.tar.gz: e148afdfcd3d93f8aca0a1ca9cf9b36358692658
3
+ metadata.gz: 506f0982f33d5feb794bcb0d6fd2914a00bc6534
4
+ data.tar.gz: 660ab47c44260b3c6d77dc59f5dfe61bafd9adaf
5
5
  SHA512:
6
- metadata.gz: 2c97361748c4f5d47bda79129c01db8d9be6ad3d02cc7e336a4af5ea4d5bfb1479dc43d85ff47e49226ef65f2fa6733a62cdd6f2070a9b24396e8058cdfd9ac4
7
- data.tar.gz: c256ce996c74b6fe9bc02a57cde7dd171482b806454a6d6603414668e3c822cdf260dd670859a42f4baf6358e291636df89d32836574181eea7e698631a7d170
6
+ metadata.gz: f936fee724dfb4d35cf65d18ba184660bb36569b6c7fecfe86f521de3c12066fb3468128fdd41b244200ac65a5ed1563bc34ca50cbc553a85e4c237176297540
7
+ data.tar.gz: a1a342c7672c58e306ca310a2e99986840dc7fe7f61fefb667f55760c545465724ad6f55926e07120100cb1cf69a56990fa2c812d9f46544d909debe9adb6b24
@@ -1,6 +1,14 @@
1
-
2
- var axios =
3
- /******/ (function(modules) { // webpackBootstrap
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["axios"] = factory();
8
+ else
9
+ root["axios"] = factory();
10
+ })(this, function() {
11
+ return /******/ (function(modules) { // webpackBootstrap
4
12
  /******/ // The module cache
5
13
  /******/ var installedModules = {};
6
14
  /******/
@@ -52,14 +60,12 @@ var axios =
52
60
  /* 1 */
53
61
  /***/ function(module, exports, __webpack_require__) {
54
62
 
63
+ 'use strict';
64
+
55
65
  var defaults = __webpack_require__(2);
56
66
  var utils = __webpack_require__(3);
57
- var deprecatedMethod = __webpack_require__(4);
58
- var dispatchRequest = __webpack_require__(5);
59
- var InterceptorManager = __webpack_require__(6);
60
-
61
- // Polyfill ES6 Promise if needed
62
- __webpack_require__(9).polyfill();
67
+ var dispatchRequest = __webpack_require__(4);
68
+ var InterceptorManager = __webpack_require__(12);
63
69
 
64
70
  var axios = module.exports = function axios(config) {
65
71
  config = utils.merge({
@@ -88,26 +94,6 @@ var axios =
88
94
  promise = promise.then(chain.shift(), chain.shift());
89
95
  }
90
96
 
91
- // Provide alias for success
92
- promise.success = function success(fn) {
93
- deprecatedMethod('success', 'then', 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api');
94
-
95
- promise.then(function(response) {
96
- fn(response.data, response.status, response.headers, response.config);
97
- });
98
- return promise;
99
- };
100
-
101
- // Provide alias for error
102
- promise.error = function error(fn) {
103
- deprecatedMethod('error', 'catch', 'https://github.com/mzabriskie/axios/blob/master/README.md#response-api');
104
-
105
- promise.then(null, function(response) {
106
- fn(response.data, response.status, response.headers, response.config);
107
- });
108
- return promise;
109
- };
110
-
111
97
  return promise;
112
98
  };
113
99
 
@@ -118,7 +104,7 @@ var axios =
118
104
  axios.all = function (promises) {
119
105
  return Promise.all(promises);
120
106
  };
121
- axios.spread = __webpack_require__(7);
107
+ axios.spread = __webpack_require__(13);
122
108
 
123
109
  // Expose interceptors
124
110
  axios.interceptors = {
@@ -127,32 +113,33 @@ var axios =
127
113
  };
128
114
 
129
115
  // Provide aliases for supported request methods
130
- createShortMethods('delete', 'get', 'head');
131
- createShortMethodsWithData('post', 'put', 'patch');
132
-
133
- function createShortMethods() {
134
- utils.forEach(arguments, function (method) {
135
- axios[method] = function (url, config) {
136
- return axios(utils.merge(config || {}, {
137
- method: method,
138
- url: url
139
- }));
140
- };
141
- });
142
- }
116
+ (function () {
117
+ function createShortMethods() {
118
+ utils.forEach(arguments, function (method) {
119
+ axios[method] = function (url, config) {
120
+ return axios(utils.merge(config || {}, {
121
+ method: method,
122
+ url: url
123
+ }));
124
+ };
125
+ });
126
+ }
143
127
 
144
- function createShortMethodsWithData() {
145
- utils.forEach(arguments, function (method) {
146
- axios[method] = function (url, data, config) {
147
- return axios(utils.merge(config || {}, {
148
- method: method,
149
- url: url,
150
- data: data
151
- }));
152
- };
153
- });
154
- }
128
+ function createShortMethodsWithData() {
129
+ utils.forEach(arguments, function (method) {
130
+ axios[method] = function (url, data, config) {
131
+ return axios(utils.merge(config || {}, {
132
+ method: method,
133
+ url: url,
134
+ data: data
135
+ }));
136
+ };
137
+ });
138
+ }
155
139
 
140
+ createShortMethods('delete', 'get', 'head');
141
+ createShortMethodsWithData('post', 'put', 'patch');
142
+ })();
156
143
 
157
144
 
158
145
  /***/ },
@@ -163,8 +150,6 @@ var axios =
163
150
 
164
151
  var utils = __webpack_require__(3);
165
152
 
166
- var JSON_START = /^\s*(\[|\{[^\{])/;
167
- var JSON_END = /[\}\]]\s*$/;
168
153
  var PROTECTION_PREFIX = /^\)\]\}',?\n/;
169
154
  var DEFAULT_CONTENT_TYPE = {
170
155
  'Content-Type': 'application/x-www-form-urlencoded'
@@ -172,6 +157,9 @@ var axios =
172
157
 
173
158
  module.exports = {
174
159
  transformRequest: [function (data, headers) {
160
+ if(utils.isFormData(data)) {
161
+ return data;
162
+ }
175
163
  if (utils.isArrayBuffer(data)) {
176
164
  return data;
177
165
  }
@@ -180,8 +168,16 @@ var axios =
180
168
  }
181
169
  if (utils.isObject(data) && !utils.isFile(data) && !utils.isBlob(data)) {
182
170
  // Set application/json if no Content-Type has been specified
183
- if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
184
- headers['Content-Type'] = 'application/json;charset=utf-8';
171
+ if (!utils.isUndefined(headers)) {
172
+ utils.forEach(headers, function (val, key) {
173
+ if (key.toLowerCase() === 'content-type') {
174
+ headers['Content-Type'] = val;
175
+ }
176
+ });
177
+
178
+ if (utils.isUndefined(headers['Content-Type'])) {
179
+ headers['Content-Type'] = 'application/json;charset=utf-8';
180
+ }
185
181
  }
186
182
  return JSON.stringify(data);
187
183
  }
@@ -191,9 +187,9 @@ var axios =
191
187
  transformResponse: [function (data) {
192
188
  if (typeof data === 'string') {
193
189
  data = data.replace(PROTECTION_PREFIX, '');
194
- if (JSON_START.test(data) && JSON_END.test(data)) {
190
+ try {
195
191
  data = JSON.parse(data);
196
- }
192
+ } catch (e) { /* Ignore */ }
197
193
  }
198
194
  return data;
199
195
  }],
@@ -207,13 +203,20 @@ var axios =
207
203
  put: utils.merge(DEFAULT_CONTENT_TYPE)
208
204
  },
209
205
 
206
+ timeout: 0,
207
+
210
208
  xsrfCookieName: 'XSRF-TOKEN',
211
209
  xsrfHeaderName: 'X-XSRF-TOKEN'
212
210
  };
213
211
 
212
+
214
213
  /***/ },
215
214
  /* 3 */
216
- /***/ function(module, exports, __webpack_require__) {
215
+ /***/ function(module, exports) {
216
+
217
+ 'use strict';
218
+
219
+ /*global toString:true*/
217
220
 
218
221
  // utils is a library of generic helper functions non-specific to axios
219
222
 
@@ -343,6 +346,16 @@ var axios =
343
346
  return str.replace(/^\s*/, '').replace(/\s*$/, '');
344
347
  }
345
348
 
349
+ /**
350
+ * Determine if a value is an Arguments object
351
+ *
352
+ * @param {Object} val The value to test
353
+ * @returns {boolean} True if value is an Arguments object, otherwise false
354
+ */
355
+ function isArguments(val) {
356
+ return toString.call(val) === '[object Arguments]';
357
+ }
358
+
346
359
  /**
347
360
  * Iterate over an Array or an Object invoking a function for each item.
348
361
  *
@@ -362,16 +375,16 @@ var axios =
362
375
  }
363
376
 
364
377
  // Check if obj is array-like
365
- var isArray = obj.constructor === Array || typeof obj.callee === 'function';
378
+ var isArrayLike = isArray(obj) || isArguments(obj);
366
379
 
367
380
  // Force an array if not already something iterable
368
- if (typeof obj !== 'object' && !isArray) {
381
+ if (typeof obj !== 'object' && !isArrayLike) {
369
382
  obj = [obj];
370
383
  }
371
384
 
372
385
  // Iterate over array values
373
- if (isArray) {
374
- for (var i=0, l=obj.length; i<l; i++) {
386
+ if (isArrayLike) {
387
+ for (var i = 0, l = obj.length; i < l; i++) {
375
388
  fn.call(null, obj[i], i, obj);
376
389
  }
377
390
  }
@@ -402,7 +415,7 @@ var axios =
402
415
  * @param {Object} obj1 Object to merge
403
416
  * @returns {Object} Result of all merge properties
404
417
  */
405
- function merge(obj1/*, obj2, obj3, ...*/) {
418
+ function merge(/*obj1, obj2, obj3, ...*/) {
406
419
  var result = {};
407
420
  forEach(arguments, function (obj) {
408
421
  forEach(obj, function (val, key) {
@@ -429,42 +442,13 @@ var axios =
429
442
  trim: trim
430
443
  };
431
444
 
432
- /***/ },
433
- /* 4 */
434
- /***/ function(module, exports, __webpack_require__) {
435
-
436
- 'use strict';
437
-
438
- /**
439
- * Supply a warning to the developer that a method they are using
440
- * has been deprecated.
441
- *
442
- * @param {string} method The name of the deprecated method
443
- * @param {string} [instead] The alternate method to use if applicable
444
- * @param {string} [docs] The documentation URL to get further details
445
- */
446
- module.exports = function deprecatedMethod(method, instead, docs) {
447
- try {
448
- console.warn(
449
- 'DEPRECATED method `' + method + '`.' +
450
- (instead ? ' Use `' + instead + '` instead.' : '') +
451
- ' This method will be removed in a future release.');
452
-
453
- if (docs) {
454
- console.warn('For more information about usage see ' + docs);
455
- }
456
- } catch (e) {}
457
- };
458
-
459
445
 
460
446
  /***/ },
461
- /* 5 */
447
+ /* 4 */
462
448
  /***/ function(module, exports, __webpack_require__) {
463
449
 
464
450
  /* WEBPACK VAR INJECTION */(function(process) {'use strict';
465
451
 
466
- var Promise = __webpack_require__(9).Promise;
467
-
468
452
  /**
469
453
  * Dispatch a request to the server using whichever adapter
470
454
  * is supported by the current environment.
@@ -476,12 +460,12 @@ var axios =
476
460
  return new Promise(function (resolve, reject) {
477
461
  try {
478
462
  // For browsers use XHR adapter
479
- if (typeof window !== 'undefined') {
480
- __webpack_require__(8)(resolve, reject, config);
463
+ if ((typeof XMLHttpRequest !== 'undefined') || (typeof ActiveXObject !== 'undefined')) {
464
+ __webpack_require__(6)(resolve, reject, config);
481
465
  }
482
466
  // For node use HTTP adapter
483
467
  else if (typeof process !== 'undefined') {
484
- __webpack_require__(8)(resolve, reject, config);
468
+ __webpack_require__(6)(resolve, reject, config);
485
469
  }
486
470
  } catch (e) {
487
471
  reject(e);
@@ -490,108 +474,120 @@ var axios =
490
474
  };
491
475
 
492
476
 
493
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10)))
477
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))
494
478
 
495
479
  /***/ },
496
- /* 6 */
497
- /***/ function(module, exports, __webpack_require__) {
498
-
499
- 'use strict';
480
+ /* 5 */
481
+ /***/ function(module, exports) {
500
482
 
501
- var utils = __webpack_require__(3);
483
+ // shim for using process in browser
502
484
 
503
- function InterceptorManager() {
504
- this.handlers = [];
505
- };
485
+ var process = module.exports = {};
486
+ var queue = [];
487
+ var draining = false;
488
+ var currentQueue;
489
+ var queueIndex = -1;
490
+
491
+ function cleanUpNextTick() {
492
+ draining = false;
493
+ if (currentQueue.length) {
494
+ queue = currentQueue.concat(queue);
495
+ } else {
496
+ queueIndex = -1;
497
+ }
498
+ if (queue.length) {
499
+ drainQueue();
500
+ }
501
+ }
506
502
 
507
- /**
508
- * Add a new interceptor to the stack
509
- *
510
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
511
- * @param {Function} rejected The function to handle `reject` for a `Promise`
512
- *
513
- * @return {Number} An ID used to remove interceptor later
514
- */
515
- InterceptorManager.prototype.use = function (fulfilled, rejected) {
516
- this.handlers.push({
517
- fulfilled: fulfilled,
518
- rejected: rejected
519
- });
520
- return this.handlers.length - 1;
521
- };
503
+ function drainQueue() {
504
+ if (draining) {
505
+ return;
506
+ }
507
+ var timeout = setTimeout(cleanUpNextTick);
508
+ draining = true;
522
509
 
523
- /**
524
- * Remove an interceptor from the stack
525
- *
526
- * @param {Number} id The ID that was returned by `use`
527
- */
528
- InterceptorManager.prototype.eject = function (id) {
529
- if (this.handlers[id]) {
530
- this.handlers[id] = null;
531
- }
532
- };
510
+ var len = queue.length;
511
+ while(len) {
512
+ currentQueue = queue;
513
+ queue = [];
514
+ while (++queueIndex < len) {
515
+ if (currentQueue) {
516
+ currentQueue[queueIndex].run();
517
+ }
518
+ }
519
+ queueIndex = -1;
520
+ len = queue.length;
521
+ }
522
+ currentQueue = null;
523
+ draining = false;
524
+ clearTimeout(timeout);
525
+ }
533
526
 
534
- /**
535
- * Iterate over all the registered interceptors
536
- *
537
- * This method is particularly useful for skipping over any
538
- * interceptors that may have become `null` calling `remove`.
539
- *
540
- * @param {Function} fn The function to call for each interceptor
541
- */
542
- InterceptorManager.prototype.forEach = function (fn) {
543
- utils.forEach(this.handlers, function (h) {
544
- if (h !== null) {
545
- fn(h);
527
+ process.nextTick = function (fun) {
528
+ var args = new Array(arguments.length - 1);
529
+ if (arguments.length > 1) {
530
+ for (var i = 1; i < arguments.length; i++) {
531
+ args[i - 1] = arguments[i];
532
+ }
533
+ }
534
+ queue.push(new Item(fun, args));
535
+ if (queue.length === 1 && !draining) {
536
+ setTimeout(drainQueue, 0);
546
537
  }
547
- });
548
538
  };
549
539
 
550
- module.exports = InterceptorManager;
540
+ // v8 likes predictible objects
541
+ function Item(fun, array) {
542
+ this.fun = fun;
543
+ this.array = array;
544
+ }
545
+ Item.prototype.run = function () {
546
+ this.fun.apply(null, this.array);
547
+ };
548
+ process.title = 'browser';
549
+ process.browser = true;
550
+ process.env = {};
551
+ process.argv = [];
552
+ process.version = ''; // empty string to avoid regexp issues
553
+ process.versions = {};
551
554
 
555
+ function noop() {}
552
556
 
557
+ process.on = noop;
558
+ process.addListener = noop;
559
+ process.once = noop;
560
+ process.off = noop;
561
+ process.removeListener = noop;
562
+ process.removeAllListeners = noop;
563
+ process.emit = noop;
553
564
 
554
- /***/ },
555
- /* 7 */
556
- /***/ function(module, exports, __webpack_require__) {
565
+ process.binding = function (name) {
566
+ throw new Error('process.binding is not supported');
567
+ };
557
568
 
558
- /**
559
- * Syntactic sugar for invoking a function and expanding an array for arguments.
560
- *
561
- * Common use case would be to use `Function.prototype.apply`.
562
- *
563
- * ```js
564
- * function f(x, y, z) {}
565
- * var args = [1, 2, 3];
566
- * f.apply(null, args);
567
- * ```
568
- *
569
- * With `spread` this example can be re-written.
570
- *
571
- * ```js
572
- * spread(function(x, y, z) {})([1, 2, 3]);
573
- * ```
574
- *
575
- * @param {Function} callback
576
- * @returns {Function}
577
- */
578
- module.exports = function spread(callback) {
579
- return function (arr) {
580
- callback.apply(null, arr);
581
- };
569
+ process.cwd = function () { return '/' };
570
+ process.chdir = function (dir) {
571
+ throw new Error('process.chdir is not supported');
582
572
  };
573
+ process.umask = function() { return 0; };
574
+
583
575
 
584
576
  /***/ },
585
- /* 8 */
577
+ /* 6 */
586
578
  /***/ function(module, exports, __webpack_require__) {
587
579
 
580
+ 'use strict';
581
+
582
+ /*global ActiveXObject:true*/
583
+
588
584
  var defaults = __webpack_require__(2);
589
585
  var utils = __webpack_require__(3);
590
- var buildUrl = __webpack_require__(11);
591
- var cookies = __webpack_require__(12);
592
- var parseHeaders = __webpack_require__(13);
593
- var transformData = __webpack_require__(14);
594
- var urlIsSameOrigin = __webpack_require__(15);
586
+ var buildUrl = __webpack_require__(7);
587
+ var cookies = __webpack_require__(8);
588
+ var parseHeaders = __webpack_require__(9);
589
+ var transformData = __webpack_require__(10);
590
+ var urlIsSameOrigin = __webpack_require__(11);
595
591
 
596
592
  module.exports = function xhrAdapter(resolve, reject, config) {
597
593
  // Transform request data
@@ -602,40 +598,45 @@ var axios =
602
598
  );
603
599
 
604
600
  // Merge headers
605
- var headers = utils.merge(
601
+ var requestHeaders = utils.merge(
606
602
  defaults.headers.common,
607
603
  defaults.headers[config.method] || {},
608
604
  config.headers || {}
609
605
  );
610
606
 
611
607
  if (utils.isFormData(data)) {
612
- delete headers['Content-Type']; // Let the browser set it
608
+ delete requestHeaders['Content-Type']; // Let the browser set it
613
609
  }
614
610
 
615
611
  // Create the request
616
- var request = new(XMLHttpRequest || ActiveXObject)('Microsoft.XMLHTTP');
612
+ var request = new (XMLHttpRequest || ActiveXObject)('Microsoft.XMLHTTP');
617
613
  request.open(config.method.toUpperCase(), buildUrl(config.url, config.params), true);
618
614
 
615
+ // Set the request timeout in MS
616
+ request.timeout = config.timeout;
617
+
619
618
  // Listen for ready state
620
619
  request.onreadystatechange = function () {
621
620
  if (request && request.readyState === 4) {
622
621
  // Prepare the response
623
- var headers = parseHeaders(request.getAllResponseHeaders());
622
+ var responseHeaders = parseHeaders(request.getAllResponseHeaders());
623
+ var responseData = ['text', ''].indexOf(config.responseType || '') !== -1 ? request.responseText : request.response;
624
624
  var response = {
625
625
  data: transformData(
626
- request.responseText,
627
- headers,
626
+ responseData,
627
+ responseHeaders,
628
628
  config.transformResponse
629
629
  ),
630
630
  status: request.status,
631
- headers: headers,
631
+ statusText: request.statusText,
632
+ headers: responseHeaders,
632
633
  config: config
633
634
  };
634
635
 
635
636
  // Resolve or reject the Promise based on the status
636
- (request.status >= 200 && request.status < 300
637
- ? resolve
638
- : reject)(response);
637
+ (request.status >= 200 && request.status < 300 ?
638
+ resolve :
639
+ reject)(response);
639
640
 
640
641
  // Clean up request
641
642
  request = null;
@@ -643,18 +644,18 @@ var axios =
643
644
  };
644
645
 
645
646
  // Add xsrf header
646
- var xsrfValue = urlIsSameOrigin(config.url)
647
- ? cookies.read(config.xsrfCookieName || defaults.xsrfCookieName)
648
- : undefined;
647
+ var xsrfValue = urlIsSameOrigin(config.url) ?
648
+ cookies.read(config.xsrfCookieName || defaults.xsrfCookieName) :
649
+ undefined;
649
650
  if (xsrfValue) {
650
- headers[config.xsrfHeaderName || defaults.xsrfHeaderName] = xsrfValue;
651
+ requestHeaders[config.xsrfHeaderName || defaults.xsrfHeaderName] = xsrfValue;
651
652
  }
652
653
 
653
654
  // Add headers to the request
654
- utils.forEach(headers, function (val, key) {
655
+ utils.forEach(requestHeaders, function (val, key) {
655
656
  // Remove Content-Type if data is undefined
656
657
  if (!data && key.toLowerCase() === 'content-type') {
657
- delete headers[key];
658
+ delete requestHeaders[key];
658
659
  }
659
660
  // Otherwise add header to the request
660
661
  else {
@@ -686,1149 +687,99 @@ var axios =
686
687
  request.send(data);
687
688
  };
688
689
 
690
+
689
691
  /***/ },
690
- /* 9 */
692
+ /* 7 */
691
693
  /***/ function(module, exports, __webpack_require__) {
692
694
 
693
- var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(process, global, module) {/*!
694
- * @overview es6-promise - a tiny implementation of Promises/A+.
695
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
696
- * @license Licensed under MIT license
697
- * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
698
- * @version 2.0.1
699
- */
695
+ 'use strict';
700
696
 
701
- (function() {
702
- "use strict";
697
+ var utils = __webpack_require__(3);
703
698
 
704
- function $$utils$$objectOrFunction(x) {
705
- return typeof x === 'function' || (typeof x === 'object' && x !== null);
706
- }
699
+ function encode(val) {
700
+ return encodeURIComponent(val).
701
+ replace(/%40/gi, '@').
702
+ replace(/%3A/gi, ':').
703
+ replace(/%24/g, '$').
704
+ replace(/%2C/gi, ',').
705
+ replace(/%20/g, '+').
706
+ replace(/%5B/gi, '[').
707
+ replace(/%5D/gi, ']');
708
+ }
707
709
 
708
- function $$utils$$isFunction(x) {
709
- return typeof x === 'function';
710
- }
710
+ /**
711
+ * Build a URL by appending params to the end
712
+ *
713
+ * @param {string} url The base of the url (e.g., http://www.google.com)
714
+ * @param {object} [params] The params to be appended
715
+ * @returns {string} The formatted url
716
+ */
717
+ module.exports = function buildUrl(url, params) {
718
+ if (!params) {
719
+ return url;
720
+ }
711
721
 
712
- function $$utils$$isMaybeThenable(x) {
713
- return typeof x === 'object' && x !== null;
714
- }
722
+ var parts = [];
715
723
 
716
- var $$utils$$_isArray;
724
+ utils.forEach(params, function (val, key) {
725
+ if (val === null || typeof val === 'undefined') {
726
+ return;
727
+ }
717
728
 
718
- if (!Array.isArray) {
719
- $$utils$$_isArray = function (x) {
720
- return Object.prototype.toString.call(x) === '[object Array]';
721
- };
722
- } else {
723
- $$utils$$_isArray = Array.isArray;
729
+ if (utils.isArray(val)) {
730
+ key = key + '[]';
724
731
  }
725
732
 
726
- var $$utils$$isArray = $$utils$$_isArray;
727
- var $$utils$$now = Date.now || function() { return new Date().getTime(); };
728
- function $$utils$$F() { }
733
+ if (!utils.isArray(val)) {
734
+ val = [val];
735
+ }
729
736
 
730
- var $$utils$$o_create = (Object.create || function (o) {
731
- if (arguments.length > 1) {
732
- throw new Error('Second argument not supported');
737
+ utils.forEach(val, function (v) {
738
+ if (utils.isDate(v)) {
739
+ v = v.toISOString();
733
740
  }
734
- if (typeof o !== 'object') {
735
- throw new TypeError('Argument must be an object');
741
+ else if (utils.isObject(v)) {
742
+ v = JSON.stringify(v);
736
743
  }
737
- $$utils$$F.prototype = o;
738
- return new $$utils$$F();
744
+ parts.push(encode(key) + '=' + encode(v));
739
745
  });
746
+ });
740
747
 
741
- var $$asap$$len = 0;
742
-
743
- var $$asap$$default = function asap(callback, arg) {
744
- $$asap$$queue[$$asap$$len] = callback;
745
- $$asap$$queue[$$asap$$len + 1] = arg;
746
- $$asap$$len += 2;
747
- if ($$asap$$len === 2) {
748
- // If len is 1, that means that we need to schedule an async flush.
749
- // If additional callbacks are queued before the queue is flushed, they
750
- // will be processed by this flush that we are scheduling.
751
- $$asap$$scheduleFlush();
752
- }
753
- };
748
+ if (parts.length > 0) {
749
+ url += (url.indexOf('?') === -1 ? '?' : '&') + parts.join('&');
750
+ }
754
751
 
755
- var $$asap$$browserGlobal = (typeof window !== 'undefined') ? window : {};
756
- var $$asap$$BrowserMutationObserver = $$asap$$browserGlobal.MutationObserver || $$asap$$browserGlobal.WebKitMutationObserver;
752
+ return url;
753
+ };
757
754
 
758
- // test for web worker but not in IE10
759
- var $$asap$$isWorker = typeof Uint8ClampedArray !== 'undefined' &&
760
- typeof importScripts !== 'undefined' &&
761
- typeof MessageChannel !== 'undefined';
762
755
 
763
- // node
764
- function $$asap$$useNextTick() {
765
- return function() {
766
- process.nextTick($$asap$$flush);
767
- };
768
- }
756
+ /***/ },
757
+ /* 8 */
758
+ /***/ function(module, exports, __webpack_require__) {
769
759
 
770
- function $$asap$$useMutationObserver() {
771
- var iterations = 0;
772
- var observer = new $$asap$$BrowserMutationObserver($$asap$$flush);
773
- var node = document.createTextNode('');
774
- observer.observe(node, { characterData: true });
760
+ 'use strict';
775
761
 
776
- return function() {
777
- node.data = (iterations = ++iterations % 2);
778
- };
779
- }
762
+ var utils = __webpack_require__(3);
780
763
 
781
- // web worker
782
- function $$asap$$useMessageChannel() {
783
- var channel = new MessageChannel();
784
- channel.port1.onmessage = $$asap$$flush;
785
- return function () {
786
- channel.port2.postMessage(0);
787
- };
788
- }
764
+ module.exports = {
765
+ write: function write(name, value, expires, path, domain, secure) {
766
+ var cookie = [];
767
+ cookie.push(name + '=' + encodeURIComponent(value));
789
768
 
790
- function $$asap$$useSetTimeout() {
791
- return function() {
792
- setTimeout($$asap$$flush, 1);
793
- };
769
+ if (utils.isNumber(expires)) {
770
+ cookie.push('expires=' + new Date(expires).toGMTString());
794
771
  }
795
772
 
796
- var $$asap$$queue = new Array(1000);
797
-
798
- function $$asap$$flush() {
799
- for (var i = 0; i < $$asap$$len; i+=2) {
800
- var callback = $$asap$$queue[i];
801
- var arg = $$asap$$queue[i+1];
802
-
803
- callback(arg);
804
-
805
- $$asap$$queue[i] = undefined;
806
- $$asap$$queue[i+1] = undefined;
807
- }
808
-
809
- $$asap$$len = 0;
773
+ if (utils.isString(path)) {
774
+ cookie.push('path=' + path);
810
775
  }
811
776
 
812
- var $$asap$$scheduleFlush;
813
-
814
- // Decide what async method to use to triggering processing of queued callbacks:
815
- if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
816
- $$asap$$scheduleFlush = $$asap$$useNextTick();
817
- } else if ($$asap$$BrowserMutationObserver) {
818
- $$asap$$scheduleFlush = $$asap$$useMutationObserver();
819
- } else if ($$asap$$isWorker) {
820
- $$asap$$scheduleFlush = $$asap$$useMessageChannel();
821
- } else {
822
- $$asap$$scheduleFlush = $$asap$$useSetTimeout();
777
+ if (utils.isString(domain)) {
778
+ cookie.push('domain=' + domain);
823
779
  }
824
780
 
825
- function $$$internal$$noop() {}
826
- var $$$internal$$PENDING = void 0;
827
- var $$$internal$$FULFILLED = 1;
828
- var $$$internal$$REJECTED = 2;
829
- var $$$internal$$GET_THEN_ERROR = new $$$internal$$ErrorObject();
830
-
831
- function $$$internal$$selfFullfillment() {
832
- return new TypeError("You cannot resolve a promise with itself");
833
- }
834
-
835
- function $$$internal$$cannotReturnOwn() {
836
- return new TypeError('A promises callback cannot return that same promise.')
837
- }
838
-
839
- function $$$internal$$getThen(promise) {
840
- try {
841
- return promise.then;
842
- } catch(error) {
843
- $$$internal$$GET_THEN_ERROR.error = error;
844
- return $$$internal$$GET_THEN_ERROR;
845
- }
846
- }
847
-
848
- function $$$internal$$tryThen(then, value, fulfillmentHandler, rejectionHandler) {
849
- try {
850
- then.call(value, fulfillmentHandler, rejectionHandler);
851
- } catch(e) {
852
- return e;
853
- }
854
- }
855
-
856
- function $$$internal$$handleForeignThenable(promise, thenable, then) {
857
- $$asap$$default(function(promise) {
858
- var sealed = false;
859
- var error = $$$internal$$tryThen(then, thenable, function(value) {
860
- if (sealed) { return; }
861
- sealed = true;
862
- if (thenable !== value) {
863
- $$$internal$$resolve(promise, value);
864
- } else {
865
- $$$internal$$fulfill(promise, value);
866
- }
867
- }, function(reason) {
868
- if (sealed) { return; }
869
- sealed = true;
870
-
871
- $$$internal$$reject(promise, reason);
872
- }, 'Settle: ' + (promise._label || ' unknown promise'));
873
-
874
- if (!sealed && error) {
875
- sealed = true;
876
- $$$internal$$reject(promise, error);
877
- }
878
- }, promise);
879
- }
880
-
881
- function $$$internal$$handleOwnThenable(promise, thenable) {
882
- if (thenable._state === $$$internal$$FULFILLED) {
883
- $$$internal$$fulfill(promise, thenable._result);
884
- } else if (promise._state === $$$internal$$REJECTED) {
885
- $$$internal$$reject(promise, thenable._result);
886
- } else {
887
- $$$internal$$subscribe(thenable, undefined, function(value) {
888
- $$$internal$$resolve(promise, value);
889
- }, function(reason) {
890
- $$$internal$$reject(promise, reason);
891
- });
892
- }
893
- }
894
-
895
- function $$$internal$$handleMaybeThenable(promise, maybeThenable) {
896
- if (maybeThenable.constructor === promise.constructor) {
897
- $$$internal$$handleOwnThenable(promise, maybeThenable);
898
- } else {
899
- var then = $$$internal$$getThen(maybeThenable);
900
-
901
- if (then === $$$internal$$GET_THEN_ERROR) {
902
- $$$internal$$reject(promise, $$$internal$$GET_THEN_ERROR.error);
903
- } else if (then === undefined) {
904
- $$$internal$$fulfill(promise, maybeThenable);
905
- } else if ($$utils$$isFunction(then)) {
906
- $$$internal$$handleForeignThenable(promise, maybeThenable, then);
907
- } else {
908
- $$$internal$$fulfill(promise, maybeThenable);
909
- }
910
- }
911
- }
912
-
913
- function $$$internal$$resolve(promise, value) {
914
- if (promise === value) {
915
- $$$internal$$reject(promise, $$$internal$$selfFullfillment());
916
- } else if ($$utils$$objectOrFunction(value)) {
917
- $$$internal$$handleMaybeThenable(promise, value);
918
- } else {
919
- $$$internal$$fulfill(promise, value);
920
- }
921
- }
922
-
923
- function $$$internal$$publishRejection(promise) {
924
- if (promise._onerror) {
925
- promise._onerror(promise._result);
926
- }
927
-
928
- $$$internal$$publish(promise);
929
- }
930
-
931
- function $$$internal$$fulfill(promise, value) {
932
- if (promise._state !== $$$internal$$PENDING) { return; }
933
-
934
- promise._result = value;
935
- promise._state = $$$internal$$FULFILLED;
936
-
937
- if (promise._subscribers.length === 0) {
938
- } else {
939
- $$asap$$default($$$internal$$publish, promise);
940
- }
941
- }
942
-
943
- function $$$internal$$reject(promise, reason) {
944
- if (promise._state !== $$$internal$$PENDING) { return; }
945
- promise._state = $$$internal$$REJECTED;
946
- promise._result = reason;
947
-
948
- $$asap$$default($$$internal$$publishRejection, promise);
949
- }
950
-
951
- function $$$internal$$subscribe(parent, child, onFulfillment, onRejection) {
952
- var subscribers = parent._subscribers;
953
- var length = subscribers.length;
954
-
955
- parent._onerror = null;
956
-
957
- subscribers[length] = child;
958
- subscribers[length + $$$internal$$FULFILLED] = onFulfillment;
959
- subscribers[length + $$$internal$$REJECTED] = onRejection;
960
-
961
- if (length === 0 && parent._state) {
962
- $$asap$$default($$$internal$$publish, parent);
963
- }
964
- }
965
-
966
- function $$$internal$$publish(promise) {
967
- var subscribers = promise._subscribers;
968
- var settled = promise._state;
969
-
970
- if (subscribers.length === 0) { return; }
971
-
972
- var child, callback, detail = promise._result;
973
-
974
- for (var i = 0; i < subscribers.length; i += 3) {
975
- child = subscribers[i];
976
- callback = subscribers[i + settled];
977
-
978
- if (child) {
979
- $$$internal$$invokeCallback(settled, child, callback, detail);
980
- } else {
981
- callback(detail);
982
- }
983
- }
984
-
985
- promise._subscribers.length = 0;
986
- }
987
-
988
- function $$$internal$$ErrorObject() {
989
- this.error = null;
990
- }
991
-
992
- var $$$internal$$TRY_CATCH_ERROR = new $$$internal$$ErrorObject();
993
-
994
- function $$$internal$$tryCatch(callback, detail) {
995
- try {
996
- return callback(detail);
997
- } catch(e) {
998
- $$$internal$$TRY_CATCH_ERROR.error = e;
999
- return $$$internal$$TRY_CATCH_ERROR;
1000
- }
1001
- }
1002
-
1003
- function $$$internal$$invokeCallback(settled, promise, callback, detail) {
1004
- var hasCallback = $$utils$$isFunction(callback),
1005
- value, error, succeeded, failed;
1006
-
1007
- if (hasCallback) {
1008
- value = $$$internal$$tryCatch(callback, detail);
1009
-
1010
- if (value === $$$internal$$TRY_CATCH_ERROR) {
1011
- failed = true;
1012
- error = value.error;
1013
- value = null;
1014
- } else {
1015
- succeeded = true;
1016
- }
1017
-
1018
- if (promise === value) {
1019
- $$$internal$$reject(promise, $$$internal$$cannotReturnOwn());
1020
- return;
1021
- }
1022
-
1023
- } else {
1024
- value = detail;
1025
- succeeded = true;
1026
- }
1027
-
1028
- if (promise._state !== $$$internal$$PENDING) {
1029
- // noop
1030
- } else if (hasCallback && succeeded) {
1031
- $$$internal$$resolve(promise, value);
1032
- } else if (failed) {
1033
- $$$internal$$reject(promise, error);
1034
- } else if (settled === $$$internal$$FULFILLED) {
1035
- $$$internal$$fulfill(promise, value);
1036
- } else if (settled === $$$internal$$REJECTED) {
1037
- $$$internal$$reject(promise, value);
1038
- }
1039
- }
1040
-
1041
- function $$$internal$$initializePromise(promise, resolver) {
1042
- try {
1043
- resolver(function resolvePromise(value){
1044
- $$$internal$$resolve(promise, value);
1045
- }, function rejectPromise(reason) {
1046
- $$$internal$$reject(promise, reason);
1047
- });
1048
- } catch(e) {
1049
- $$$internal$$reject(promise, e);
1050
- }
1051
- }
1052
-
1053
- function $$$enumerator$$makeSettledResult(state, position, value) {
1054
- if (state === $$$internal$$FULFILLED) {
1055
- return {
1056
- state: 'fulfilled',
1057
- value: value
1058
- };
1059
- } else {
1060
- return {
1061
- state: 'rejected',
1062
- reason: value
1063
- };
1064
- }
1065
- }
1066
-
1067
- function $$$enumerator$$Enumerator(Constructor, input, abortOnReject, label) {
1068
- this._instanceConstructor = Constructor;
1069
- this.promise = new Constructor($$$internal$$noop, label);
1070
- this._abortOnReject = abortOnReject;
1071
-
1072
- if (this._validateInput(input)) {
1073
- this._input = input;
1074
- this.length = input.length;
1075
- this._remaining = input.length;
1076
-
1077
- this._init();
1078
-
1079
- if (this.length === 0) {
1080
- $$$internal$$fulfill(this.promise, this._result);
1081
- } else {
1082
- this.length = this.length || 0;
1083
- this._enumerate();
1084
- if (this._remaining === 0) {
1085
- $$$internal$$fulfill(this.promise, this._result);
1086
- }
1087
- }
1088
- } else {
1089
- $$$internal$$reject(this.promise, this._validationError());
1090
- }
1091
- }
1092
-
1093
- $$$enumerator$$Enumerator.prototype._validateInput = function(input) {
1094
- return $$utils$$isArray(input);
1095
- };
1096
-
1097
- $$$enumerator$$Enumerator.prototype._validationError = function() {
1098
- return new Error('Array Methods must be provided an Array');
1099
- };
1100
-
1101
- $$$enumerator$$Enumerator.prototype._init = function() {
1102
- this._result = new Array(this.length);
1103
- };
1104
-
1105
- var $$$enumerator$$default = $$$enumerator$$Enumerator;
1106
-
1107
- $$$enumerator$$Enumerator.prototype._enumerate = function() {
1108
- var length = this.length;
1109
- var promise = this.promise;
1110
- var input = this._input;
1111
-
1112
- for (var i = 0; promise._state === $$$internal$$PENDING && i < length; i++) {
1113
- this._eachEntry(input[i], i);
1114
- }
1115
- };
1116
-
1117
- $$$enumerator$$Enumerator.prototype._eachEntry = function(entry, i) {
1118
- var c = this._instanceConstructor;
1119
- if ($$utils$$isMaybeThenable(entry)) {
1120
- if (entry.constructor === c && entry._state !== $$$internal$$PENDING) {
1121
- entry._onerror = null;
1122
- this._settledAt(entry._state, i, entry._result);
1123
- } else {
1124
- this._willSettleAt(c.resolve(entry), i);
1125
- }
1126
- } else {
1127
- this._remaining--;
1128
- this._result[i] = this._makeResult($$$internal$$FULFILLED, i, entry);
1129
- }
1130
- };
1131
-
1132
- $$$enumerator$$Enumerator.prototype._settledAt = function(state, i, value) {
1133
- var promise = this.promise;
1134
-
1135
- if (promise._state === $$$internal$$PENDING) {
1136
- this._remaining--;
1137
-
1138
- if (this._abortOnReject && state === $$$internal$$REJECTED) {
1139
- $$$internal$$reject(promise, value);
1140
- } else {
1141
- this._result[i] = this._makeResult(state, i, value);
1142
- }
1143
- }
1144
-
1145
- if (this._remaining === 0) {
1146
- $$$internal$$fulfill(promise, this._result);
1147
- }
1148
- };
1149
-
1150
- $$$enumerator$$Enumerator.prototype._makeResult = function(state, i, value) {
1151
- return value;
1152
- };
1153
-
1154
- $$$enumerator$$Enumerator.prototype._willSettleAt = function(promise, i) {
1155
- var enumerator = this;
1156
-
1157
- $$$internal$$subscribe(promise, undefined, function(value) {
1158
- enumerator._settledAt($$$internal$$FULFILLED, i, value);
1159
- }, function(reason) {
1160
- enumerator._settledAt($$$internal$$REJECTED, i, reason);
1161
- });
1162
- };
1163
-
1164
- var $$promise$all$$default = function all(entries, label) {
1165
- return new $$$enumerator$$default(this, entries, true /* abort on reject */, label).promise;
1166
- };
1167
-
1168
- var $$promise$race$$default = function race(entries, label) {
1169
- /*jshint validthis:true */
1170
- var Constructor = this;
1171
-
1172
- var promise = new Constructor($$$internal$$noop, label);
1173
-
1174
- if (!$$utils$$isArray(entries)) {
1175
- $$$internal$$reject(promise, new TypeError('You must pass an array to race.'));
1176
- return promise;
1177
- }
1178
-
1179
- var length = entries.length;
1180
-
1181
- function onFulfillment(value) {
1182
- $$$internal$$resolve(promise, value);
1183
- }
1184
-
1185
- function onRejection(reason) {
1186
- $$$internal$$reject(promise, reason);
1187
- }
1188
-
1189
- for (var i = 0; promise._state === $$$internal$$PENDING && i < length; i++) {
1190
- $$$internal$$subscribe(Constructor.resolve(entries[i]), undefined, onFulfillment, onRejection);
1191
- }
1192
-
1193
- return promise;
1194
- };
1195
-
1196
- var $$promise$resolve$$default = function resolve(object, label) {
1197
- /*jshint validthis:true */
1198
- var Constructor = this;
1199
-
1200
- if (object && typeof object === 'object' && object.constructor === Constructor) {
1201
- return object;
1202
- }
1203
-
1204
- var promise = new Constructor($$$internal$$noop, label);
1205
- $$$internal$$resolve(promise, object);
1206
- return promise;
1207
- };
1208
-
1209
- var $$promise$reject$$default = function reject(reason, label) {
1210
- /*jshint validthis:true */
1211
- var Constructor = this;
1212
- var promise = new Constructor($$$internal$$noop, label);
1213
- $$$internal$$reject(promise, reason);
1214
- return promise;
1215
- };
1216
-
1217
- var $$es6$promise$promise$$counter = 0;
1218
-
1219
- function $$es6$promise$promise$$needsResolver() {
1220
- throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
1221
- }
1222
-
1223
- function $$es6$promise$promise$$needsNew() {
1224
- throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
1225
- }
1226
-
1227
- var $$es6$promise$promise$$default = $$es6$promise$promise$$Promise;
1228
-
1229
- /**
1230
- Promise objects represent the eventual result of an asynchronous operation. The
1231
- primary way of interacting with a promise is through its `then` method, which
1232
- registers callbacks to receive either a promise’s eventual value or the reason
1233
- why the promise cannot be fulfilled.
1234
-
1235
- Terminology
1236
- -----------
1237
-
1238
- - `promise` is an object or function with a `then` method whose behavior conforms to this specification.
1239
- - `thenable` is an object or function that defines a `then` method.
1240
- - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
1241
- - `exception` is a value that is thrown using the throw statement.
1242
- - `reason` is a value that indicates why a promise was rejected.
1243
- - `settled` the final resting state of a promise, fulfilled or rejected.
1244
-
1245
- A promise can be in one of three states: pending, fulfilled, or rejected.
1246
-
1247
- Promises that are fulfilled have a fulfillment value and are in the fulfilled
1248
- state. Promises that are rejected have a rejection reason and are in the
1249
- rejected state. A fulfillment value is never a thenable.
1250
-
1251
- Promises can also be said to *resolve* a value. If this value is also a
1252
- promise, then the original promise's settled state will match the value's
1253
- settled state. So a promise that *resolves* a promise that rejects will
1254
- itself reject, and a promise that *resolves* a promise that fulfills will
1255
- itself fulfill.
1256
-
1257
-
1258
- Basic Usage:
1259
- ------------
1260
-
1261
- ```js
1262
- var promise = new Promise(function(resolve, reject) {
1263
- // on success
1264
- resolve(value);
1265
-
1266
- // on failure
1267
- reject(reason);
1268
- });
1269
-
1270
- promise.then(function(value) {
1271
- // on fulfillment
1272
- }, function(reason) {
1273
- // on rejection
1274
- });
1275
- ```
1276
-
1277
- Advanced Usage:
1278
- ---------------
1279
-
1280
- Promises shine when abstracting away asynchronous interactions such as
1281
- `XMLHttpRequest`s.
1282
-
1283
- ```js
1284
- function getJSON(url) {
1285
- return new Promise(function(resolve, reject){
1286
- var xhr = new XMLHttpRequest();
1287
-
1288
- xhr.open('GET', url);
1289
- xhr.onreadystatechange = handler;
1290
- xhr.responseType = 'json';
1291
- xhr.setRequestHeader('Accept', 'application/json');
1292
- xhr.send();
1293
-
1294
- function handler() {
1295
- if (this.readyState === this.DONE) {
1296
- if (this.status === 200) {
1297
- resolve(this.response);
1298
- } else {
1299
- reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
1300
- }
1301
- }
1302
- };
1303
- });
1304
- }
1305
-
1306
- getJSON('/posts.json').then(function(json) {
1307
- // on fulfillment
1308
- }, function(reason) {
1309
- // on rejection
1310
- });
1311
- ```
1312
-
1313
- Unlike callbacks, promises are great composable primitives.
1314
-
1315
- ```js
1316
- Promise.all([
1317
- getJSON('/posts'),
1318
- getJSON('/comments')
1319
- ]).then(function(values){
1320
- values[0] // => postsJSON
1321
- values[1] // => commentsJSON
1322
-
1323
- return values;
1324
- });
1325
- ```
1326
-
1327
- @class Promise
1328
- @param {function} resolver
1329
- Useful for tooling.
1330
- @constructor
1331
- */
1332
- function $$es6$promise$promise$$Promise(resolver) {
1333
- this._id = $$es6$promise$promise$$counter++;
1334
- this._state = undefined;
1335
- this._result = undefined;
1336
- this._subscribers = [];
1337
-
1338
- if ($$$internal$$noop !== resolver) {
1339
- if (!$$utils$$isFunction(resolver)) {
1340
- $$es6$promise$promise$$needsResolver();
1341
- }
1342
-
1343
- if (!(this instanceof $$es6$promise$promise$$Promise)) {
1344
- $$es6$promise$promise$$needsNew();
1345
- }
1346
-
1347
- $$$internal$$initializePromise(this, resolver);
1348
- }
1349
- }
1350
-
1351
- $$es6$promise$promise$$Promise.all = $$promise$all$$default;
1352
- $$es6$promise$promise$$Promise.race = $$promise$race$$default;
1353
- $$es6$promise$promise$$Promise.resolve = $$promise$resolve$$default;
1354
- $$es6$promise$promise$$Promise.reject = $$promise$reject$$default;
1355
-
1356
- $$es6$promise$promise$$Promise.prototype = {
1357
- constructor: $$es6$promise$promise$$Promise,
1358
-
1359
- /**
1360
- The primary way of interacting with a promise is through its `then` method,
1361
- which registers callbacks to receive either a promise's eventual value or the
1362
- reason why the promise cannot be fulfilled.
1363
-
1364
- ```js
1365
- findUser().then(function(user){
1366
- // user is available
1367
- }, function(reason){
1368
- // user is unavailable, and you are given the reason why
1369
- });
1370
- ```
1371
-
1372
- Chaining
1373
- --------
1374
-
1375
- The return value of `then` is itself a promise. This second, 'downstream'
1376
- promise is resolved with the return value of the first promise's fulfillment
1377
- or rejection handler, or rejected if the handler throws an exception.
1378
-
1379
- ```js
1380
- findUser().then(function (user) {
1381
- return user.name;
1382
- }, function (reason) {
1383
- return 'default name';
1384
- }).then(function (userName) {
1385
- // If `findUser` fulfilled, `userName` will be the user's name, otherwise it
1386
- // will be `'default name'`
1387
- });
1388
-
1389
- findUser().then(function (user) {
1390
- throw new Error('Found user, but still unhappy');
1391
- }, function (reason) {
1392
- throw new Error('`findUser` rejected and we're unhappy');
1393
- }).then(function (value) {
1394
- // never reached
1395
- }, function (reason) {
1396
- // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
1397
- // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
1398
- });
1399
- ```
1400
- If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
1401
-
1402
- ```js
1403
- findUser().then(function (user) {
1404
- throw new PedagogicalException('Upstream error');
1405
- }).then(function (value) {
1406
- // never reached
1407
- }).then(function (value) {
1408
- // never reached
1409
- }, function (reason) {
1410
- // The `PedgagocialException` is propagated all the way down to here
1411
- });
1412
- ```
1413
-
1414
- Assimilation
1415
- ------------
1416
-
1417
- Sometimes the value you want to propagate to a downstream promise can only be
1418
- retrieved asynchronously. This can be achieved by returning a promise in the
1419
- fulfillment or rejection handler. The downstream promise will then be pending
1420
- until the returned promise is settled. This is called *assimilation*.
1421
-
1422
- ```js
1423
- findUser().then(function (user) {
1424
- return findCommentsByAuthor(user);
1425
- }).then(function (comments) {
1426
- // The user's comments are now available
1427
- });
1428
- ```
1429
-
1430
- If the assimliated promise rejects, then the downstream promise will also reject.
1431
-
1432
- ```js
1433
- findUser().then(function (user) {
1434
- return findCommentsByAuthor(user);
1435
- }).then(function (comments) {
1436
- // If `findCommentsByAuthor` fulfills, we'll have the value here
1437
- }, function (reason) {
1438
- // If `findCommentsByAuthor` rejects, we'll have the reason here
1439
- });
1440
- ```
1441
-
1442
- Simple Example
1443
- --------------
1444
-
1445
- Synchronous Example
1446
-
1447
- ```javascript
1448
- var result;
1449
-
1450
- try {
1451
- result = findResult();
1452
- // success
1453
- } catch(reason) {
1454
- // failure
1455
- }
1456
- ```
1457
-
1458
- Errback Example
1459
-
1460
- ```js
1461
- findResult(function(result, err){
1462
- if (err) {
1463
- // failure
1464
- } else {
1465
- // success
1466
- }
1467
- });
1468
- ```
1469
-
1470
- Promise Example;
1471
-
1472
- ```javascript
1473
- findResult().then(function(result){
1474
- // success
1475
- }, function(reason){
1476
- // failure
1477
- });
1478
- ```
1479
-
1480
- Advanced Example
1481
- --------------
1482
-
1483
- Synchronous Example
1484
-
1485
- ```javascript
1486
- var author, books;
1487
-
1488
- try {
1489
- author = findAuthor();
1490
- books = findBooksByAuthor(author);
1491
- // success
1492
- } catch(reason) {
1493
- // failure
1494
- }
1495
- ```
1496
-
1497
- Errback Example
1498
-
1499
- ```js
1500
-
1501
- function foundBooks(books) {
1502
-
1503
- }
1504
-
1505
- function failure(reason) {
1506
-
1507
- }
1508
-
1509
- findAuthor(function(author, err){
1510
- if (err) {
1511
- failure(err);
1512
- // failure
1513
- } else {
1514
- try {
1515
- findBoooksByAuthor(author, function(books, err) {
1516
- if (err) {
1517
- failure(err);
1518
- } else {
1519
- try {
1520
- foundBooks(books);
1521
- } catch(reason) {
1522
- failure(reason);
1523
- }
1524
- }
1525
- });
1526
- } catch(error) {
1527
- failure(err);
1528
- }
1529
- // success
1530
- }
1531
- });
1532
- ```
1533
-
1534
- Promise Example;
1535
-
1536
- ```javascript
1537
- findAuthor().
1538
- then(findBooksByAuthor).
1539
- then(function(books){
1540
- // found books
1541
- }).catch(function(reason){
1542
- // something went wrong
1543
- });
1544
- ```
1545
-
1546
- @method then
1547
- @param {Function} onFulfilled
1548
- @param {Function} onRejected
1549
- Useful for tooling.
1550
- @return {Promise}
1551
- */
1552
- then: function(onFulfillment, onRejection) {
1553
- var parent = this;
1554
- var state = parent._state;
1555
-
1556
- if (state === $$$internal$$FULFILLED && !onFulfillment || state === $$$internal$$REJECTED && !onRejection) {
1557
- return this;
1558
- }
1559
-
1560
- var child = new this.constructor($$$internal$$noop);
1561
- var result = parent._result;
1562
-
1563
- if (state) {
1564
- var callback = arguments[state - 1];
1565
- $$asap$$default(function(){
1566
- $$$internal$$invokeCallback(state, child, callback, result);
1567
- });
1568
- } else {
1569
- $$$internal$$subscribe(parent, child, onFulfillment, onRejection);
1570
- }
1571
-
1572
- return child;
1573
- },
1574
-
1575
- /**
1576
- `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
1577
- as the catch block of a try/catch statement.
1578
-
1579
- ```js
1580
- function findAuthor(){
1581
- throw new Error('couldn't find that author');
1582
- }
1583
-
1584
- // synchronous
1585
- try {
1586
- findAuthor();
1587
- } catch(reason) {
1588
- // something went wrong
1589
- }
1590
-
1591
- // async with promises
1592
- findAuthor().catch(function(reason){
1593
- // something went wrong
1594
- });
1595
- ```
1596
-
1597
- @method catch
1598
- @param {Function} onRejection
1599
- Useful for tooling.
1600
- @return {Promise}
1601
- */
1602
- 'catch': function(onRejection) {
1603
- return this.then(null, onRejection);
1604
- }
1605
- };
1606
-
1607
- var $$es6$promise$polyfill$$default = function polyfill() {
1608
- var local;
1609
-
1610
- if (typeof global !== 'undefined') {
1611
- local = global;
1612
- } else if (typeof window !== 'undefined' && window.document) {
1613
- local = window;
1614
- } else {
1615
- local = self;
1616
- }
1617
-
1618
- var es6PromiseSupport =
1619
- "Promise" in local &&
1620
- // Some of these methods are missing from
1621
- // Firefox/Chrome experimental implementations
1622
- "resolve" in local.Promise &&
1623
- "reject" in local.Promise &&
1624
- "all" in local.Promise &&
1625
- "race" in local.Promise &&
1626
- // Older version of the spec had a resolver object
1627
- // as the arg rather than a function
1628
- (function() {
1629
- var resolve;
1630
- new local.Promise(function(r) { resolve = r; });
1631
- return $$utils$$isFunction(resolve);
1632
- }());
1633
-
1634
- if (!es6PromiseSupport) {
1635
- local.Promise = $$es6$promise$promise$$default;
1636
- }
1637
- };
1638
-
1639
- var es6$promise$umd$$ES6Promise = {
1640
- 'Promise': $$es6$promise$promise$$default,
1641
- 'polyfill': $$es6$promise$polyfill$$default
1642
- };
1643
-
1644
- /* global define:true module:true window: true */
1645
- if ("function" === 'function' && __webpack_require__(16)['amd']) {
1646
- !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return es6$promise$umd$$ES6Promise; }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
1647
- } else if (typeof module !== 'undefined' && module['exports']) {
1648
- module['exports'] = es6$promise$umd$$ES6Promise;
1649
- } else if (typeof this !== 'undefined') {
1650
- this['ES6Promise'] = es6$promise$umd$$ES6Promise;
1651
- }
1652
- }).call(this);
1653
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10), (function() { return this; }()), __webpack_require__(17)(module)))
1654
-
1655
- /***/ },
1656
- /* 10 */
1657
- /***/ function(module, exports, __webpack_require__) {
1658
-
1659
- // shim for using process in browser
1660
-
1661
- var process = module.exports = {};
1662
-
1663
- process.nextTick = (function () {
1664
- var canSetImmediate = typeof window !== 'undefined'
1665
- && window.setImmediate;
1666
- var canMutationObserver = typeof window !== 'undefined'
1667
- && window.MutationObserver;
1668
- var canPost = typeof window !== 'undefined'
1669
- && window.postMessage && window.addEventListener
1670
- ;
1671
-
1672
- if (canSetImmediate) {
1673
- return function (f) { return window.setImmediate(f) };
1674
- }
1675
-
1676
- var queue = [];
1677
-
1678
- if (canMutationObserver) {
1679
- var hiddenDiv = document.createElement("div");
1680
- var observer = new MutationObserver(function () {
1681
- var queueList = queue.slice();
1682
- queue.length = 0;
1683
- queueList.forEach(function (fn) {
1684
- fn();
1685
- });
1686
- });
1687
-
1688
- observer.observe(hiddenDiv, { attributes: true });
1689
-
1690
- return function nextTick(fn) {
1691
- if (!queue.length) {
1692
- hiddenDiv.setAttribute('yes', 'no');
1693
- }
1694
- queue.push(fn);
1695
- };
1696
- }
1697
-
1698
- if (canPost) {
1699
- window.addEventListener('message', function (ev) {
1700
- var source = ev.source;
1701
- if ((source === window || source === null) && ev.data === 'process-tick') {
1702
- ev.stopPropagation();
1703
- if (queue.length > 0) {
1704
- var fn = queue.shift();
1705
- fn();
1706
- }
1707
- }
1708
- }, true);
1709
-
1710
- return function nextTick(fn) {
1711
- queue.push(fn);
1712
- window.postMessage('process-tick', '*');
1713
- };
1714
- }
1715
-
1716
- return function nextTick(fn) {
1717
- setTimeout(fn, 0);
1718
- };
1719
- })();
1720
-
1721
- process.title = 'browser';
1722
- process.browser = true;
1723
- process.env = {};
1724
- process.argv = [];
1725
-
1726
- function noop() {}
1727
-
1728
- process.on = noop;
1729
- process.addListener = noop;
1730
- process.once = noop;
1731
- process.off = noop;
1732
- process.removeListener = noop;
1733
- process.removeAllListeners = noop;
1734
- process.emit = noop;
1735
-
1736
- process.binding = function (name) {
1737
- throw new Error('process.binding is not supported');
1738
- };
1739
-
1740
- // TODO(shtylman)
1741
- process.cwd = function () { return '/' };
1742
- process.chdir = function (dir) {
1743
- throw new Error('process.chdir is not supported');
1744
- };
1745
-
1746
-
1747
- /***/ },
1748
- /* 11 */
1749
- /***/ function(module, exports, __webpack_require__) {
1750
-
1751
- 'use strict';
1752
-
1753
- var utils = __webpack_require__(3);
1754
-
1755
- function encode(val) {
1756
- return encodeURIComponent(val).
1757
- replace(/%40/gi, '@').
1758
- replace(/%3A/gi, ':').
1759
- replace(/%24/g, '$').
1760
- replace(/%2C/gi, ',').
1761
- replace(/%20/g, '+');
1762
- }
1763
-
1764
- /**
1765
- * Build a URL by appending params to the end
1766
- *
1767
- * @param {string} url The base of the url (e.g., http://www.google.com)
1768
- * @param {object} [params] The params to be appended
1769
- * @returns {string} The formatted url
1770
- */
1771
- module.exports = function buildUrl(url, params) {
1772
- if (!params) {
1773
- return url;
1774
- }
1775
-
1776
- var parts = [];
1777
-
1778
- utils.forEach(params, function (val, key) {
1779
- if (val === null || typeof val === 'undefined') {
1780
- return;
1781
- }
1782
- if (!utils.isArray(val)) {
1783
- val = [val];
1784
- }
1785
-
1786
- utils.forEach(val, function (v) {
1787
- if (utils.isDate(v)) {
1788
- v = v.toISOString();
1789
- }
1790
- else if (utils.isObject(v)) {
1791
- v = JSON.stringify(v);
1792
- }
1793
- parts.push(encode(key) + '=' + encode(v));
1794
- });
1795
- });
1796
-
1797
- if (parts.length > 0) {
1798
- url += (url.indexOf('?') === -1 ? '?' : '&') + parts.join('&');
1799
- }
1800
-
1801
- return url;
1802
- };
1803
-
1804
-
1805
- /***/ },
1806
- /* 12 */
1807
- /***/ function(module, exports, __webpack_require__) {
1808
-
1809
- 'use strict';
1810
-
1811
- var utils = __webpack_require__(3);
1812
-
1813
- module.exports = {
1814
- write: function write(name, value, expires, path, domain, secure) {
1815
- var cookie = [];
1816
- cookie.push(name + '=' + encodeURIComponent(value));
1817
-
1818
- if (utils.isNumber(expires)) {
1819
- cookie.push('expires=' + new Date(expires).toGMTString());
1820
- }
1821
-
1822
- if (utils.isString(path)) {
1823
- cookie.push('path=' + path);
1824
- }
1825
-
1826
- if (utils.isString(domain)) {
1827
- cookie.push('domain=' + domain);
1828
- }
1829
-
1830
- if (secure === true) {
1831
- cookie.push('secure');
781
+ if (secure === true) {
782
+ cookie.push('secure');
1832
783
  }
1833
784
 
1834
785
  document.cookie = cookie.join('; ');
@@ -1844,8 +795,9 @@ var axios =
1844
795
  }
1845
796
  };
1846
797
 
798
+
1847
799
  /***/ },
1848
- /* 13 */
800
+ /* 9 */
1849
801
  /***/ function(module, exports, __webpack_require__) {
1850
802
 
1851
803
  'use strict';
@@ -1868,7 +820,7 @@ var axios =
1868
820
  module.exports = function parseHeaders(headers) {
1869
821
  var parsed = {}, key, val, i;
1870
822
 
1871
- if (!headers) return parsed;
823
+ if (!headers) { return parsed; }
1872
824
 
1873
825
  utils.forEach(headers.split('\n'), function(line) {
1874
826
  i = line.indexOf(':');
@@ -1883,8 +835,9 @@ var axios =
1883
835
  return parsed;
1884
836
  };
1885
837
 
838
+
1886
839
  /***/ },
1887
- /* 14 */
840
+ /* 10 */
1888
841
  /***/ function(module, exports, __webpack_require__) {
1889
842
 
1890
843
  'use strict';
@@ -1907,16 +860,17 @@ var axios =
1907
860
  return data;
1908
861
  };
1909
862
 
863
+
1910
864
  /***/ },
1911
- /* 15 */
865
+ /* 11 */
1912
866
  /***/ function(module, exports, __webpack_require__) {
1913
867
 
1914
868
  'use strict';
1915
869
 
1916
- var msie = /(msie|trident)/i.test(navigator.userAgent);
1917
870
  var utils = __webpack_require__(3);
871
+ var msie = /(msie|trident)/i.test(navigator.userAgent);
1918
872
  var urlParsingNode = document.createElement('a');
1919
- var originUrl = urlResolve(window.location.href);
873
+ var originUrl;
1920
874
 
1921
875
  /**
1922
876
  * Parse a URL to discover it's components
@@ -1944,12 +898,14 @@ var axios =
1944
898
  hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
1945
899
  hostname: urlParsingNode.hostname,
1946
900
  port: urlParsingNode.port,
1947
- pathname: (urlParsingNode.pathname.charAt(0) === '/')
1948
- ? urlParsingNode.pathname
1949
- : '/' + urlParsingNode.pathname
901
+ pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
902
+ urlParsingNode.pathname :
903
+ '/' + urlParsingNode.pathname
1950
904
  };
1951
905
  }
1952
906
 
907
+ originUrl = urlResolve(window.location.href);
908
+
1953
909
  /**
1954
910
  * Determine if a URL shares the same origin as the current location
1955
911
  *
@@ -1962,29 +918,100 @@ var axios =
1962
918
  parsed.host === originUrl.host);
1963
919
  };
1964
920
 
921
+
1965
922
  /***/ },
1966
- /* 16 */
923
+ /* 12 */
1967
924
  /***/ function(module, exports, __webpack_require__) {
1968
925
 
1969
- module.exports = function() { throw new Error("define cannot be used indirect"); };
926
+ 'use strict';
1970
927
 
928
+ var utils = __webpack_require__(3);
1971
929
 
1972
- /***/ },
1973
- /* 17 */
1974
- /***/ function(module, exports, __webpack_require__) {
930
+ function InterceptorManager() {
931
+ this.handlers = [];
932
+ }
1975
933
 
1976
- module.exports = function(module) {
1977
- if(!module.webpackPolyfill) {
1978
- module.deprecate = function() {};
1979
- module.paths = [];
1980
- // module.parent = undefined by default
1981
- module.children = [];
1982
- module.webpackPolyfill = 1;
934
+ /**
935
+ * Add a new interceptor to the stack
936
+ *
937
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
938
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
939
+ *
940
+ * @return {Number} An ID used to remove interceptor later
941
+ */
942
+ InterceptorManager.prototype.use = function (fulfilled, rejected) {
943
+ this.handlers.push({
944
+ fulfilled: fulfilled,
945
+ rejected: rejected
946
+ });
947
+ return this.handlers.length - 1;
948
+ };
949
+
950
+ /**
951
+ * Remove an interceptor from the stack
952
+ *
953
+ * @param {Number} id The ID that was returned by `use`
954
+ */
955
+ InterceptorManager.prototype.eject = function (id) {
956
+ if (this.handlers[id]) {
957
+ this.handlers[id] = null;
1983
958
  }
1984
- return module;
1985
- }
959
+ };
960
+
961
+ /**
962
+ * Iterate over all the registered interceptors
963
+ *
964
+ * This method is particularly useful for skipping over any
965
+ * interceptors that may have become `null` calling `remove`.
966
+ *
967
+ * @param {Function} fn The function to call for each interceptor
968
+ */
969
+ InterceptorManager.prototype.forEach = function (fn) {
970
+ utils.forEach(this.handlers, function (h) {
971
+ if (h !== null) {
972
+ fn(h);
973
+ }
974
+ });
975
+ };
976
+
977
+ module.exports = InterceptorManager;
978
+
979
+
980
+ /***/ },
981
+ /* 13 */
982
+ /***/ function(module, exports) {
983
+
984
+ 'use strict';
985
+
986
+ /**
987
+ * Syntactic sugar for invoking a function and expanding an array for arguments.
988
+ *
989
+ * Common use case would be to use `Function.prototype.apply`.
990
+ *
991
+ * ```js
992
+ * function f(x, y, z) {}
993
+ * var args = [1, 2, 3];
994
+ * f.apply(null, args);
995
+ * ```
996
+ *
997
+ * With `spread` this example can be re-written.
998
+ *
999
+ * ```js
1000
+ * spread(function(x, y, z) {})([1, 2, 3]);
1001
+ * ```
1002
+ *
1003
+ * @param {Function} callback
1004
+ * @returns {Function}
1005
+ */
1006
+ module.exports = function spread(callback) {
1007
+ return function (arr) {
1008
+ callback.apply(null, arr);
1009
+ };
1010
+ };
1986
1011
 
1987
1012
 
1988
1013
  /***/ }
1989
1014
  /******/ ])
1015
+ });
1016
+ ;
1990
1017
  //# sourceMappingURL=axios.map