vuejs-rails 2.4.2 → 2.5.13

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00fe95643d70351b7ba2185baa2ea97019e2c833
4
- data.tar.gz: f6e21b32f50bddcc02e21a50cff51ce1596266b5
3
+ metadata.gz: 8ba4601640ccf8428ed23848a2c0c20f8c2aa9c1
4
+ data.tar.gz: 894044aa622474cd28e527e237eb4846a98d4b01
5
5
  SHA512:
6
- metadata.gz: e5fc8bd72431edc865996acb59036fbf45ca6c61b4c3370bcc9877e238e023a1501fe0ca7abbd428908289317906d3c1502a83145ef79b2a06b5f2620571ab08
7
- data.tar.gz: 6054e461fc87a5cae3992f555da26b96cda2b6711b5a0eacbe240d976d91107cf356d42f0b3989eae4090d130215aa7c82b660f087c524d1c08c5c8b25157a41
6
+ metadata.gz: 52372922fd57637134a29c1883e589264554da4338d8c7925561981303a272b27a0072172c17e1f404c9cdd9473bf7c2562409eb80fcbda12caa79598d6707ee
7
+ data.tar.gz: b1c6f755eefd67cdec90efa26116f3065ed773c8d89fb3fa04c1670287f8eec150204e09db4651577c0719092eaddb83d811c38c69b15edcd53927c70ff86f67
data/Readme.md CHANGED
@@ -9,10 +9,15 @@ Rails 3.1+ asset-pipeline gem to provide Vue.js
9
9
 
10
10
  ### Package Versions
11
11
 
12
- - vue v2.4.2
13
- - vue-router v2.7.0
14
- - vue-resource v1.3.4
15
- - vuex v2.3.0
12
+ - vue v2.5.13
13
+ - vue-router v3.0.1
14
+ - vue-resource v1.3.5
15
+ - vuex v3.0.1
16
+
17
+ ### Compatibility
18
+
19
+ - vue-router v3.0.0 has breaking changes for TypeScript: https://github.com/vuejs/vue-router/releases/tag/v3.0.0
20
+ - vuex v3.0.0 has breaking changes for TypeScript: https://github.com/vuejs/vuex/releases/tag/v3.0.0
16
21
 
17
22
  ### Setup
18
23
 
@@ -1,5 +1,5 @@
1
1
  module Vue
2
2
  module Rails
3
- VERSION = '2.4.2'
3
+ VERSION = '2.5.13'
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * vue-resource v1.3.4
2
+ * vue-resource v1.3.5
3
3
  * https://github.com/pagekit/vue-resource
4
4
  * Released under the MIT License.
5
5
  */
@@ -276,13 +276,13 @@ var ntick;
276
276
 
277
277
  var inBrowser = typeof window !== 'undefined';
278
278
 
279
- var Util = function (ref) {
279
+ function Util (ref) {
280
280
  var config = ref.config;
281
281
  var nextTick = ref.nextTick;
282
282
 
283
283
  ntick = nextTick;
284
284
  debug = config.debug || !config.silent;
285
- };
285
+ }
286
286
 
287
287
  function warn(msg) {
288
288
  if (typeof console !== 'undefined' && debug) {
@@ -455,7 +455,7 @@ function _merge(target, source, deep) {
455
455
  * Root Prefix Transform.
456
456
  */
457
457
 
458
- var root = function (options$$1, next) {
458
+ function root (options$$1, next) {
459
459
 
460
460
  var url = next(options$$1);
461
461
 
@@ -464,13 +464,13 @@ var root = function (options$$1, next) {
464
464
  }
465
465
 
466
466
  return url;
467
- };
467
+ }
468
468
 
469
469
  /**
470
470
  * Query Parameter Transform.
471
471
  */
472
472
 
473
- var query = function (options$$1, next) {
473
+ function query (options$$1, next) {
474
474
 
475
475
  var urlParams = Object.keys(Url.options.params), query = {}, url = next(options$$1);
476
476
 
@@ -487,7 +487,7 @@ var query = function (options$$1, next) {
487
487
  }
488
488
 
489
489
  return url;
490
- };
490
+ }
491
491
 
492
492
  /**
493
493
  * URL Template v2.0.6 (https://github.com/bramstein/url-template)
@@ -644,7 +644,7 @@ function encodeReserved(str) {
644
644
  * URL Template (RFC 6570) Transform.
645
645
  */
646
646
 
647
- var template = function (options) {
647
+ function template (options) {
648
648
 
649
649
  var variables = [], url = expand(options.url, options.params, variables);
650
650
 
@@ -653,7 +653,7 @@ var template = function (options) {
653
653
  });
654
654
 
655
655
  return url;
656
- };
656
+ }
657
657
 
658
658
  /**
659
659
  * Service for URL templating.
@@ -790,7 +790,7 @@ function serialize(params, obj, scope) {
790
790
  * XDomain client (Internet Explorer).
791
791
  */
792
792
 
793
- var xdrClient = function (request) {
793
+ function xdrClient (request) {
794
794
  return new PromiseObj(function (resolve) {
795
795
 
796
796
  var xdr = new XDomainRequest(), handler = function (ref) {
@@ -823,7 +823,7 @@ var xdrClient = function (request) {
823
823
  xdr.onprogress = function () {};
824
824
  xdr.send(request.getBody());
825
825
  });
826
- };
826
+ }
827
827
 
828
828
  /**
829
829
  * CORS Interceptor.
@@ -831,7 +831,7 @@ var xdrClient = function (request) {
831
831
 
832
832
  var SUPPORTS_CORS = inBrowser && 'withCredentials' in new XMLHttpRequest();
833
833
 
834
- var cors = function (request, next) {
834
+ function cors (request, next) {
835
835
 
836
836
  if (inBrowser) {
837
837
 
@@ -850,13 +850,13 @@ var cors = function (request, next) {
850
850
  }
851
851
 
852
852
  next();
853
- };
853
+ }
854
854
 
855
855
  /**
856
856
  * Form data Interceptor.
857
857
  */
858
858
 
859
- var form = function (request, next) {
859
+ function form (request, next) {
860
860
 
861
861
  if (isFormData(request.body)) {
862
862
 
@@ -869,13 +869,13 @@ var form = function (request, next) {
869
869
  }
870
870
 
871
871
  next();
872
- };
872
+ }
873
873
 
874
874
  /**
875
875
  * JSON Interceptor.
876
876
  */
877
877
 
878
- var json = function (request, next) {
878
+ function json (request, next) {
879
879
 
880
880
  var type = request.headers.get('Content-Type') || '';
881
881
 
@@ -906,20 +906,21 @@ var json = function (request, next) {
906
906
  }) : response;
907
907
 
908
908
  });
909
- };
909
+ }
910
910
 
911
911
  function isJson(str) {
912
912
 
913
- var start = str.match(/^\[|^\{(?!\{)/), end = {'[': /]$/, '{': /}$/};
913
+ var start = str.match(/^\s*(\[|\{)/);
914
+ var end = {'[': /]\s*$/, '{': /}\s*$/};
914
915
 
915
- return start && end[start[0]].test(str);
916
+ return start && end[start[1]].test(str);
916
917
  }
917
918
 
918
919
  /**
919
920
  * JSONP client (Browser).
920
921
  */
921
922
 
922
- var jsonpClient = function (request) {
923
+ function jsonpClient (request) {
923
924
  return new PromiseObj(function (resolve) {
924
925
 
925
926
  var name = request.jsonp || 'callback', callback = request.jsonpCallback || '_jsonp' + Math.random().toString(36).substr(2), body = null, handler, script;
@@ -967,39 +968,39 @@ var jsonpClient = function (request) {
967
968
 
968
969
  document.body.appendChild(script);
969
970
  });
970
- };
971
+ }
971
972
 
972
973
  /**
973
974
  * JSONP Interceptor.
974
975
  */
975
976
 
976
- var jsonp = function (request, next) {
977
+ function jsonp (request, next) {
977
978
 
978
979
  if (request.method == 'JSONP') {
979
980
  request.client = jsonpClient;
980
981
  }
981
982
 
982
983
  next();
983
- };
984
+ }
984
985
 
985
986
  /**
986
987
  * Before Interceptor.
987
988
  */
988
989
 
989
- var before = function (request, next) {
990
+ function before (request, next) {
990
991
 
991
992
  if (isFunction(request.before)) {
992
993
  request.before.call(this, request);
993
994
  }
994
995
 
995
996
  next();
996
- };
997
+ }
997
998
 
998
999
  /**
999
1000
  * HTTP method override Interceptor.
1000
1001
  */
1001
1002
 
1002
- var method = function (request, next) {
1003
+ function method (request, next) {
1003
1004
 
1004
1005
  if (request.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(request.method)) {
1005
1006
  request.headers.set('X-HTTP-Method-Override', request.method);
@@ -1007,13 +1008,13 @@ var method = function (request, next) {
1007
1008
  }
1008
1009
 
1009
1010
  next();
1010
- };
1011
+ }
1011
1012
 
1012
1013
  /**
1013
1014
  * Header Interceptor.
1014
1015
  */
1015
1016
 
1016
- var header = function (request, next) {
1017
+ function header (request, next) {
1017
1018
 
1018
1019
  var headers = assign({}, Http.headers.common,
1019
1020
  !request.crossOrigin ? Http.headers.custom : {},
@@ -1027,13 +1028,13 @@ var header = function (request, next) {
1027
1028
  });
1028
1029
 
1029
1030
  next();
1030
- };
1031
+ }
1031
1032
 
1032
1033
  /**
1033
1034
  * XMLHttp client (Browser).
1034
1035
  */
1035
1036
 
1036
- var xhrClient = function (request) {
1037
+ function xhrClient (request) {
1037
1038
  return new PromiseObj(function (resolve) {
1038
1039
 
1039
1040
  var xhr = new XMLHttpRequest(), handler = function (event) {
@@ -1090,13 +1091,13 @@ var xhrClient = function (request) {
1090
1091
  xhr.ontimeout = handler;
1091
1092
  xhr.send(request.getBody());
1092
1093
  });
1093
- };
1094
+ }
1094
1095
 
1095
1096
  /**
1096
1097
  * Http client (Node).
1097
1098
  */
1098
1099
 
1099
- var nodeClient = function (request) {
1100
+ function nodeClient (request) {
1100
1101
 
1101
1102
  var client = require('got');
1102
1103
 
@@ -1127,13 +1128,13 @@ var nodeClient = function (request) {
1127
1128
 
1128
1129
  }, function (error$$1) { return handler(error$$1.response); });
1129
1130
  });
1130
- };
1131
+ }
1131
1132
 
1132
1133
  /**
1133
1134
  * Base client.
1134
1135
  */
1135
1136
 
1136
- var Client = function (context) {
1137
+ function Client (context) {
1137
1138
 
1138
1139
  var reqHandlers = [sendRequest], resHandlers = [], handler;
1139
1140
 
@@ -1188,7 +1189,7 @@ var Client = function (context) {
1188
1189
  };
1189
1190
 
1190
1191
  return Client;
1191
- };
1192
+ }
1192
1193
 
1193
1194
  function sendRequest(request, resolve) {
1194
1195
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * vue-resource v1.3.4
2
+ * vue-resource v1.3.5
3
3
  * https://github.com/pagekit/vue-resource
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueResource=e()}(this,function(){"use strict";function t(t){this.state=J,this.value=void 0,this.deferred=[];var e=this;try{t(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(t){e.reject(t)}}function e(t,e){t instanceof Promise?this.promise=t:this.promise=new Promise(t.bind(e)),this.context=e}function n(t){"undefined"!=typeof console&&_&&console.warn("[VueResource warn]: "+t)}function o(t){"undefined"!=typeof console&&console.error(t)}function r(t,e){return F(t,e)}function i(t){return t?t.replace(/^\s*|\s*$/g,""):""}function u(t,e){return t&&void 0===e?t.replace(/\s+$/,""):t&&e?t.replace(new RegExp("["+e+"]+$"),""):t}function s(t){return t?t.toLowerCase():""}function a(t){return t?t.toUpperCase():""}function c(t){return"string"==typeof t}function f(t){return"function"==typeof t}function p(t){return null!==t&&"object"==typeof t}function h(t){return p(t)&&Object.getPrototypeOf(t)==Object.prototype}function d(t){return"undefined"!=typeof Blob&&t instanceof Blob}function l(t){return"undefined"!=typeof FormData&&t instanceof FormData}function m(t,n,o){var r=e.resolve(t);return arguments.length<2?r:r.then(n,o)}function y(t,e,n){return n=n||{},f(n)&&(n=n.call(e)),b(t.bind({$vm:e,$options:n}),t,{$options:n})}function v(t,e){var n,o;if(Q(t))for(n=0;n<t.length;n++)e.call(t[n],t[n],n);else if(p(t))for(o in t)G.call(t,o)&&e.call(t[o],t[o],o);return t}function b(t){return V.call(arguments,1).forEach(function(e){T(t,e,!0)}),t}function g(t){return V.call(arguments,1).forEach(function(e){for(var n in e)void 0===t[n]&&(t[n]=e[n])}),t}function w(t){return V.call(arguments,1).forEach(function(e){T(t,e)}),t}function T(t,e,n){for(var o in e)n&&(h(e[o])||Q(e[o]))?(h(e[o])&&!h(t[o])&&(t[o]={}),Q(e[o])&&!Q(t[o])&&(t[o]=[]),T(t[o],e[o],n)):void 0!==e[o]&&(t[o]=e[o])}function x(t,e,n){var o=j(t),r=o.expand(e);return n&&n.push.apply(n,o.vars),r}function j(t){var e=["+","#",".","/",";","?","&"],n=[];return{vars:n,expand:function(o){return t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(t,r,i){if(r){var u=null,s=[];if(-1!==e.indexOf(r.charAt(0))&&(u=r.charAt(0),r=r.substr(1)),r.split(/,/g).forEach(function(t){var e=/([^:\*]*)(?::(\d+)|(\*))?/.exec(t);s.push.apply(s,E(o,u,e[1],e[2]||e[3])),n.push(e[1])}),u&&"+"!==u){var a=",";return"?"===u?a="&":"#"!==u&&(a=u),(0!==s.length?u:"")+s.join(a)}return s.join(",")}return $(i)})}}}function E(t,e,n,o){var r=t[n],i=[];if(O(r)&&""!==r)if("string"==typeof r||"number"==typeof r||"boolean"==typeof r)r=r.toString(),o&&"*"!==o&&(r=r.substring(0,parseInt(o,10))),i.push(C(e,r,P(e)?n:null));else if("*"===o)Array.isArray(r)?r.filter(O).forEach(function(t){i.push(C(e,t,P(e)?n:null))}):Object.keys(r).forEach(function(t){O(r[t])&&i.push(C(e,r[t],t))});else{var u=[];Array.isArray(r)?r.filter(O).forEach(function(t){u.push(C(e,t))}):Object.keys(r).forEach(function(t){O(r[t])&&(u.push(encodeURIComponent(t)),u.push(C(e,r[t].toString())))}),P(e)?i.push(encodeURIComponent(n)+"="+u.join(",")):0!==u.length&&i.push(u.join(","))}else";"===e?i.push(encodeURIComponent(n)):""!==r||"&"!==e&&"?"!==e?""===r&&i.push(""):i.push(encodeURIComponent(n)+"=");return i}function O(t){return void 0!==t&&null!==t}function P(t){return";"===t||"&"===t||"?"===t}function C(t,e,n){return e="+"===t||"#"===t?$(e):encodeURIComponent(e),n?encodeURIComponent(n)+"="+e:e}function $(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t)),t}).join("")}function U(t,e){var n,o=this||{},r=t;return c(t)&&(r={url:t,params:e}),r=b({},U.options,o.$options,r),U.transforms.forEach(function(t){c(t)&&(t=U.transform[t]),f(t)&&(n=R(t,n,o.$vm))}),n(r)}function R(t,e,n){return function(o){return t.call(n,o,e)}}function A(t,e,n){var o,r=Q(e),i=h(e);v(e,function(e,u){o=p(e)||Q(e),n&&(u=n+"["+(i||o?u:"")+"]"),!n&&r?t.add(e.name,e.value):o?A(t,e,u):t.add(u,e)})}function S(t){var e=t.match(/^\[|^\{(?!\{)/),n={"[":/]$/,"{":/}$/};return e&&n[e[0]].test(t)}function k(t,e){e((t.client||(z?ht:dt))(t))}function I(t,e){return Object.keys(t).reduce(function(t,n){return s(e)===s(n)?n:t},null)}function q(t){if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return i(t)}function H(t){return new e(function(e){var n=new FileReader;n.readAsText(t),n.onload=function(){e(n.result)}})}function L(t){return 0===t.type.indexOf("text")||-1!==t.type.indexOf("json")}function B(t){var n=this||{},r=lt(n.$vm);return g(t||{},n.$options,B.options),B.interceptors.forEach(function(t){c(t)&&(t=B.interceptor[t]),f(t)&&r.use(t)}),r(new vt(t)).then(function(t){return t.ok?t:e.reject(t)},function(t){return t instanceof Error&&o(t),e.reject(t)})}function M(t,e,n,o){var r=this||{},i={};return n=Y({},M.actions,n),v(n,function(n,u){n=b({url:t,params:Y({},e)},o,n),i[u]=function(){return(r.$http||B)(N(n,arguments))}}),i}function N(t,e){var n,o=Y({},t),r={};switch(e.length){case 2:r=e[0],n=e[1];break;case 1:/^(POST|PUT|PATCH)$/i.test(o.method)?n=e[0]:r=e[0];break;case 0:break;default:throw"Expected up to 2 arguments [params, body], got "+e.length+" arguments"}return o.body=n,o.params=Y({},o.params,r),o}function D(t){D.installed||(K(t),t.url=U,t.http=B,t.resource=M,t.Promise=e,Object.defineProperties(t.prototype,{$url:{get:function(){return y(t.url,this,this.$options.url)}},$http:{get:function(){return y(t.http,this,this.$options.http)}},$resource:{get:function(){return t.resource.bind(this)}},$promise:{get:function(){var e=this;return function(n){return new t.Promise(n,e)}}}}))}var J=2;t.reject=function(e){return new t(function(t,n){n(e)})},t.resolve=function(e){return new t(function(t,n){t(e)})},t.all=function(e){return new t(function(n,o){var r=0,i=[];0===e.length&&n(i);for(var u=0;u<e.length;u+=1)t.resolve(e[u]).then(function(t){return function(o){i[t]=o,(r+=1)===e.length&&n(i)}}(u),o)})},t.race=function(e){return new t(function(n,o){for(var r=0;r<e.length;r+=1)t.resolve(e[r]).then(n,o)})};var W=t.prototype;W.resolve=function(t){var e=this;if(e.state===J){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var o=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof o)return void o.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},W.reject=function(t){var e=this;if(e.state===J){if(t===e)throw new TypeError("Promise settled with itself.");e.state=1,e.value=t,e.notify()}},W.notify=function(){var t=this;r(function(){if(t.state!==J)for(;t.deferred.length;){var e=t.deferred.shift(),n=e[0],o=e[1],r=e[2],i=e[3];try{0===t.state?r("function"==typeof n?n.call(void 0,t.value):t.value):1===t.state&&("function"==typeof o?r(o.call(void 0,t.value)):i(t.value))}catch(t){i(t)}}})},W.then=function(e,n){var o=this;return new t(function(t,r){o.deferred.push([e,n,t,r]),o.notify()})},W.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=t),e.all=function(t,n){return new e(Promise.all(t),n)},e.resolve=function(t,n){return new e(Promise.resolve(t),n)},e.reject=function(t,n){return new e(Promise.reject(t),n)},e.race=function(t,n){return new e(Promise.race(t),n)};var X=e.prototype;X.bind=function(t){return this.context=t,this},X.then=function(t,n){return t&&t.bind&&this.context&&(t=t.bind(this.context)),n&&n.bind&&this.context&&(n=n.bind(this.context)),new e(this.promise.then(t,n),this.context)},X.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new e(this.promise.catch(t),this.context)},X.finally=function(t){return this.then(function(e){return t.call(this),e},function(e){return t.call(this),Promise.reject(e)})};var F,G={}.hasOwnProperty,V=[].slice,_=!1,z="undefined"!=typeof window,K=function(t){var e=t.config,n=t.nextTick;F=n,_=e.debug||!e.silent},Q=Array.isArray,Y=Object.assign||w,Z=function(t,e){var n=e(t);return c(t.root)&&!/^(https?:)?\//.test(n)&&(n=u(t.root,"/")+"/"+n),n},tt=function(t,e){var n=Object.keys(U.options.params),o={},r=e(t);return v(t.params,function(t,e){-1===n.indexOf(e)&&(o[e]=t)}),(o=U.params(o))&&(r+=(-1==r.indexOf("?")?"?":"&")+o),r},et=function(t){var e=[],n=x(t.url,t.params,e);return e.forEach(function(e){delete t.params[e]}),n};U.options={url:"",root:null,params:{}},U.transform={template:et,query:tt,root:Z},U.transforms=["template","query","root"],U.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){f(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},A(e,t),e.join("&").replace(/%20/g,"+")},U.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};var nt=function(t){return new e(function(e){var n=new XDomainRequest,o=function(o){var r=o.type,i=0;"load"===r?i=200:"error"===r&&(i=500),e(t.respondWith(n.responseText,{status:i}))};t.abort=function(){return n.abort()},n.open(t.method,t.getUrl()),t.timeout&&(n.timeout=t.timeout),n.onload=o,n.onabort=o,n.onerror=o,n.ontimeout=o,n.onprogress=function(){},n.send(t.getBody())})},ot=z&&"withCredentials"in new XMLHttpRequest,rt=function(t,e){if(z){var n=U.parse(location.href),o=U.parse(t.getUrl());o.protocol===n.protocol&&o.host===n.host||(t.crossOrigin=!0,t.emulateHTTP=!1,ot||(t.client=nt))}e()},it=function(t,e){l(t.body)?t.headers.delete("Content-Type"):p(t.body)&&t.emulateJSON&&(t.body=U.params(t.body),t.headers.set("Content-Type","application/x-www-form-urlencoded")),e()},ut=function(t,e){var n=t.headers.get("Content-Type")||"";p(t.body)&&0===n.indexOf("application/json")&&(t.body=JSON.stringify(t.body)),e(function(t){return t.bodyText?m(t.text(),function(e){if(0===(n=t.headers.get("Content-Type")||"").indexOf("application/json")||S(e))try{t.body=JSON.parse(e)}catch(e){t.body=null}else t.body=e;return t}):t})},st=function(t){return new e(function(e){var n,o,r=t.jsonp||"callback",i=t.jsonpCallback||"_jsonp"+Math.random().toString(36).substr(2),u=null;n=function(n){var r=n.type,s=0;"load"===r&&null!==u?s=200:"error"===r&&(s=500),s&&window[i]&&(delete window[i],document.body.removeChild(o)),e(t.respondWith(u,{status:s}))},window[i]=function(t){u=JSON.stringify(t)},t.abort=function(){n({type:"abort"})},t.params[r]=i,t.timeout&&setTimeout(t.abort,t.timeout),(o=document.createElement("script")).src=t.getUrl(),o.type="text/javascript",o.async=!0,o.onload=n,o.onerror=n,document.body.appendChild(o)})},at=function(t,e){"JSONP"==t.method&&(t.client=st),e()},ct=function(t,e){f(t.before)&&t.before.call(this,t),e()},ft=function(t,e){t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers.set("X-HTTP-Method-Override",t.method),t.method="POST"),e()},pt=function(t,e){v(Y({},B.headers.common,t.crossOrigin?{}:B.headers.custom,B.headers[s(t.method)]),function(e,n){t.headers.has(n)||t.headers.set(n,e)}),e()},ht=function(t){return new e(function(e){var n=new XMLHttpRequest,o=function(o){var r=t.respondWith("response"in n?n.response:n.responseText,{status:1223===n.status?204:n.status,statusText:1223===n.status?"No Content":i(n.statusText)});v(i(n.getAllResponseHeaders()).split("\n"),function(t){r.headers.append(t.slice(0,t.indexOf(":")),t.slice(t.indexOf(":")+1))}),e(r)};t.abort=function(){return n.abort()},t.progress&&("GET"===t.method?n.addEventListener("progress",t.progress):/^(POST|PUT)$/i.test(t.method)&&n.upload.addEventListener("progress",t.progress)),n.open(t.method,t.getUrl(),!0),t.timeout&&(n.timeout=t.timeout),t.responseType&&"responseType"in n&&(n.responseType=t.responseType),(t.withCredentials||t.credentials)&&(n.withCredentials=!0),t.crossOrigin||t.headers.set("X-Requested-With","XMLHttpRequest"),t.headers.forEach(function(t,e){n.setRequestHeader(e,t)}),n.onload=o,n.onabort=o,n.onerror=o,n.ontimeout=o,n.send(t.getBody())})},dt=function(t){var n=require("got");return new e(function(e){var o,r=t.getUrl(),u=t.getBody(),s=t.method,a={};t.headers.forEach(function(t,e){a[e]=t}),n(r,{body:u,method:s,headers:a}).then(o=function(n){var o=t.respondWith(n.body,{status:n.statusCode,statusText:i(n.statusMessage)});v(n.headers,function(t,e){o.headers.set(e,t)}),e(o)},function(t){return o(t.response)})})},lt=function(t){function o(o){return new e(function(e,s){function a(){f(r=i.pop())?r.call(t,o,c):(n("Invalid interceptor of type "+typeof r+", must be a function"),c())}function c(n){if(f(n))u.unshift(n);else if(p(n))return u.forEach(function(e){n=m(n,function(n){return e.call(t,n)||n},s)}),void m(n,e,s);a()}a()},t)}var r,i=[k],u=[];return p(t)||(t=null),o.use=function(t){i.push(t)},o},mt=function(t){var e=this;this.map={},v(t,function(t,n){return e.append(n,t)})};mt.prototype.has=function(t){return null!==I(this.map,t)},mt.prototype.get=function(t){var e=this.map[I(this.map,t)];return e?e.join():null},mt.prototype.getAll=function(t){return this.map[I(this.map,t)]||[]},mt.prototype.set=function(t,e){this.map[q(I(this.map,t)||t)]=[i(e)]},mt.prototype.append=function(t,e){var n=this.map[I(this.map,t)];n?n.push(i(e)):this.set(t,e)},mt.prototype.delete=function(t){delete this.map[I(this.map,t)]},mt.prototype.deleteAll=function(){this.map={}},mt.prototype.forEach=function(t,e){var n=this;v(this.map,function(o,r){v(o,function(o){return t.call(e,o,r,n)})})};var yt=function(t,e){var n=e.url,o=e.headers,r=e.status,i=e.statusText;this.url=n,this.ok=r>=200&&r<300,this.status=r||0,this.statusText=i||"",this.headers=new mt(o),this.body=t,c(t)?this.bodyText=t:d(t)&&(this.bodyBlob=t,L(t)&&(this.bodyText=H(t)))};yt.prototype.blob=function(){return m(this.bodyBlob)},yt.prototype.text=function(){return m(this.bodyText)},yt.prototype.json=function(){return m(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(yt.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var vt=function(t){this.body=null,this.params={},Y(this,t,{method:a(t.method||"GET")}),this.headers instanceof mt||(this.headers=new mt(this.headers))};vt.prototype.getUrl=function(){return U(this)},vt.prototype.getBody=function(){return this.body},vt.prototype.respondWith=function(t,e){return new yt(t,Y(e||{},{url:this.getUrl()}))};var bt={Accept:"application/json, text/plain, */*"},gt={"Content-Type":"application/json;charset=utf-8"};return B.options={},B.headers={put:gt,post:gt,patch:gt,delete:gt,common:bt,custom:{}},B.interceptor={before:ct,method:ft,jsonp:at,json:ut,form:it,header:pt,cors:rt},B.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){B[t]=function(e,n){return this(Y(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){B[t]=function(e,n,o){return this(Y(o||{},{url:e,method:t,body:n}))}}),M.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(D),D});
7
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueResource=e()}(this,function(){"use strict";function t(t){this.state=$,this.value=void 0,this.deferred=[];var e=this;try{t(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(t){e.reject(t)}}function e(t,e){t instanceof Promise?this.promise=t:this.promise=new Promise(t.bind(e)),this.context=e}function n(t){return t?t.replace(/^\s*|\s*$/g,""):""}function o(t){return t?t.toLowerCase():""}function r(t){return"string"==typeof t}function i(t){return"function"==typeof t}function s(t){return null!==t&&"object"==typeof t}function u(t){return s(t)&&Object.getPrototypeOf(t)==Object.prototype}function a(t,n,o){var r=e.resolve(t);return arguments.length<2?r:r.then(n,o)}function c(t,e,n){return n=n||{},i(n)&&(n=n.call(e)),p(t.bind({$vm:e,$options:n}),t,{$options:n})}function f(t,e){var n,o;if(H(t))for(n=0;n<t.length;n++)e.call(t[n],t[n],n);else if(s(t))for(o in t)S.call(t,o)&&e.call(t[o],t[o],o);return t}function p(t){return k.call(arguments,1).forEach(function(e){h(t,e,!0)}),t}function h(t,e,n){for(var o in e)n&&(u(e[o])||H(e[o]))?(u(e[o])&&!u(t[o])&&(t[o]={}),H(e[o])&&!H(t[o])&&(t[o]=[]),h(t[o],e[o],n)):void 0!==e[o]&&(t[o]=e[o])}function d(t,e,n){var o=function(t){var e=["+","#",".","/",";","?","&"],n=[];return{vars:n,expand:function(o){return t.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(t,r,i){if(r){var s=null,u=[];if(-1!==e.indexOf(r.charAt(0))&&(s=r.charAt(0),r=r.substr(1)),r.split(/,/g).forEach(function(t){var e=/([^:\*]*)(?::(\d+)|(\*))?/.exec(t);u.push.apply(u,function(t,e,n,o){var r=t[n],i=[];if(l(r)&&""!==r)if("string"==typeof r||"number"==typeof r||"boolean"==typeof r)r=r.toString(),o&&"*"!==o&&(r=r.substring(0,parseInt(o,10))),i.push(y(e,r,m(e)?n:null));else if("*"===o)Array.isArray(r)?r.filter(l).forEach(function(t){i.push(y(e,t,m(e)?n:null))}):Object.keys(r).forEach(function(t){l(r[t])&&i.push(y(e,r[t],t))});else{var s=[];Array.isArray(r)?r.filter(l).forEach(function(t){s.push(y(e,t))}):Object.keys(r).forEach(function(t){l(r[t])&&(s.push(encodeURIComponent(t)),s.push(y(e,r[t].toString())))}),m(e)?i.push(encodeURIComponent(n)+"="+s.join(",")):0!==s.length&&i.push(s.join(","))}else";"===e?i.push(encodeURIComponent(n)):""!==r||"&"!==e&&"?"!==e?""===r&&i.push(""):i.push(encodeURIComponent(n)+"=");return i}(o,s,e[1],e[2]||e[3])),n.push(e[1])}),s&&"+"!==s){var a=",";return"?"===s?a="&":"#"!==s&&(a=s),(0!==u.length?s:"")+u.join(a)}return u.join(",")}return v(i)})}}}(t),r=o.expand(e);return n&&n.push.apply(n,o.vars),r}function l(t){return void 0!==t&&null!==t}function m(t){return";"===t||"&"===t||"?"===t}function y(t,e,n){return e="+"===t||"#"===t?v(e):encodeURIComponent(e),n?encodeURIComponent(n)+"="+e:e}function v(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t)),t}).join("")}function b(t,e){var n,o=this||{},s=t;return r(t)&&(s={url:t,params:e}),s=p({},b.options,o.$options,s),b.transforms.forEach(function(t){r(t)&&(t=b.transform[t]),i(t)&&(n=function(t,e,n){return function(o){return t.call(n,o,e)}}(t,n,o.$vm))}),n(s)}function g(t,e,n){var o,r=H(e),i=u(e);f(e,function(e,u){o=s(e)||H(e),n&&(u=n+"["+(i||o?u:"")+"]"),!n&&r?t.add(e.name,e.value):o?g(t,e,u):t.add(u,e)})}function w(t){return new e(function(e){var n=new XDomainRequest,o=function(o){var r=o.type,i=0;"load"===r?i=200:"error"===r&&(i=500),e(t.respondWith(n.responseText,{status:i}))};t.abort=function(){return n.abort()},n.open(t.method,t.getUrl()),t.timeout&&(n.timeout=t.timeout),n.onload=o,n.onabort=o,n.onerror=o,n.ontimeout=o,n.onprogress=function(){},n.send(t.getBody())})}function T(t){return new e(function(e){var n,o,r=t.jsonp||"callback",i=t.jsonpCallback||"_jsonp"+Math.random().toString(36).substr(2),s=null;n=function(n){var r=n.type,u=0;"load"===r&&null!==s?u=200:"error"===r&&(u=500),u&&window[i]&&(delete window[i],document.body.removeChild(o)),e(t.respondWith(s,{status:u}))},window[i]=function(t){s=JSON.stringify(t)},t.abort=function(){n({type:"abort"})},t.params[r]=i,t.timeout&&setTimeout(t.abort,t.timeout),(o=document.createElement("script")).src=t.getUrl(),o.type="text/javascript",o.async=!0,o.onload=n,o.onerror=n,document.body.appendChild(o)})}function x(t){function n(n){return new e(function(e,c){function f(){i(o=r.pop())?o.call(t,n,p):(!function(t){"undefined"!=typeof console&&I&&console.warn("[VueResource warn]: "+t)}("Invalid interceptor of type "+typeof o+", must be a function"),p())}function p(n){if(i(n))u.unshift(n);else if(s(n))return u.forEach(function(e){n=a(n,function(n){return e.call(t,n)||n},c)}),void a(n,e,c);f()}f()},t)}var o,r=[j],u=[];return s(t)||(t=null),n.use=function(t){r.push(t)},n}function j(t,o){o((t.client||(q?function(t){return new e(function(e){var o=new XMLHttpRequest,r=function(r){var i=t.respondWith("response"in o?o.response:o.responseText,{status:1223===o.status?204:o.status,statusText:1223===o.status?"No Content":n(o.statusText)});f(n(o.getAllResponseHeaders()).split("\n"),function(t){i.headers.append(t.slice(0,t.indexOf(":")),t.slice(t.indexOf(":")+1))}),e(i)};t.abort=function(){return o.abort()},t.progress&&("GET"===t.method?o.addEventListener("progress",t.progress):/^(POST|PUT)$/i.test(t.method)&&o.upload.addEventListener("progress",t.progress)),o.open(t.method,t.getUrl(),!0),t.timeout&&(o.timeout=t.timeout),t.responseType&&"responseType"in o&&(o.responseType=t.responseType),(t.withCredentials||t.credentials)&&(o.withCredentials=!0),t.crossOrigin||t.headers.set("X-Requested-With","XMLHttpRequest"),t.headers.forEach(function(t,e){o.setRequestHeader(e,t)}),o.onload=r,o.onabort=r,o.onerror=r,o.ontimeout=r,o.send(t.getBody())})}:function(t){var o=require("got");return new e(function(e){var r,i=t.getUrl(),s=t.getBody(),u=t.method,a={};t.headers.forEach(function(t,e){a[e]=t}),o(i,{body:s,method:u,headers:a}).then(r=function(o){var r=t.respondWith(o.body,{status:o.statusCode,statusText:n(o.statusMessage)});f(o.headers,function(t,e){r.headers.set(e,t)}),e(r)},function(t){return r(t.response)})})}))(t))}function E(t,e){return Object.keys(t).reduce(function(t,n){return o(e)===o(n)?n:t},null)}function O(t){var n=this||{},o=x(n.$vm);return function(t){k.call(arguments,1).forEach(function(e){for(var n in e)void 0===t[n]&&(t[n]=e[n])})}(t||{},n.$options,O.options),O.interceptors.forEach(function(t){r(t)&&(t=O.interceptor[t]),i(t)&&o.use(t)}),o(new D(t)).then(function(t){return t.ok?t:e.reject(t)},function(t){return t instanceof Error&&function(t){"undefined"!=typeof console&&console.error(t)}(t),e.reject(t)})}function P(t,e,n,o){var r=this||{},i={};return n=L({},P.actions,n),f(n,function(n,s){n=p({url:t,params:L({},e)},o,n),i[s]=function(){return(r.$http||O)(function(t,e){var n,o=L({},t),r={};switch(e.length){case 2:r=e[0],n=e[1];break;case 1:/^(POST|PUT|PATCH)$/i.test(o.method)?n=e[0]:r=e[0];break;case 0:break;default:throw"Expected up to 2 arguments [params, body], got "+e.length+" arguments"}return o.body=n,o.params=L({},o.params,r),o}(n,arguments))}}),i}function C(t){C.installed||(!function(t){var e=t.config,n=t.nextTick;A=n,I=e.debug||!e.silent}(t),t.url=b,t.http=O,t.resource=P,t.Promise=e,Object.defineProperties(t.prototype,{$url:{get:function(){return c(t.url,this,this.$options.url)}},$http:{get:function(){return c(t.http,this,this.$options.http)}},$resource:{get:function(){return t.resource.bind(this)}},$promise:{get:function(){var e=this;return function(n){return new t.Promise(n,e)}}}}))}var $=2;t.reject=function(e){return new t(function(t,n){n(e)})},t.resolve=function(e){return new t(function(t,n){t(e)})},t.all=function(e){return new t(function(n,o){function r(t){return function(o){s[t]=o,(i+=1)===e.length&&n(s)}}var i=0,s=[];0===e.length&&n(s);for(var u=0;u<e.length;u+=1)t.resolve(e[u]).then(r(u),o)})},t.race=function(e){return new t(function(n,o){for(var r=0;r<e.length;r+=1)t.resolve(e[r]).then(n,o)})};var U=t.prototype;U.resolve=function(t){var e=this;if(e.state===$){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var o=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof o)return void o.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},U.reject=function(t){if(this.state===$){if(t===this)throw new TypeError("Promise settled with itself.");this.state=1,this.value=t,this.notify()}},U.notify=function(){var t=this;!function(t,e){A(t,e)}(function(){if(t.state!==$)for(;t.deferred.length;){var e=t.deferred.shift(),n=e[0],o=e[1],r=e[2],i=e[3];try{0===t.state?r("function"==typeof n?n.call(void 0,t.value):t.value):1===t.state&&("function"==typeof o?r(o.call(void 0,t.value)):i(t.value))}catch(t){i(t)}}})},U.then=function(e,n){var o=this;return new t(function(t,r){o.deferred.push([e,n,t,r]),o.notify()})},U.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=t),e.all=function(t,n){return new e(Promise.all(t),n)},e.resolve=function(t,n){return new e(Promise.resolve(t),n)},e.reject=function(t,n){return new e(Promise.reject(t),n)},e.race=function(t,n){return new e(Promise.race(t),n)};var R=e.prototype;R.bind=function(t){return this.context=t,this},R.then=function(t,n){return t&&t.bind&&this.context&&(t=t.bind(this.context)),n&&n.bind&&this.context&&(n=n.bind(this.context)),new e(this.promise.then(t,n),this.context)},R.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new e(this.promise.catch(t),this.context)},R.finally=function(t){return this.then(function(e){return t.call(this),e},function(e){return t.call(this),Promise.reject(e)})};var A,S={}.hasOwnProperty,k=[].slice,I=!1,q="undefined"!=typeof window,H=Array.isArray,L=Object.assign||function(t){return k.call(arguments,1).forEach(function(e){h(t,e)}),t};b.options={url:"",root:null,params:{}},b.transform={template:function(t){var e=[],n=d(t.url,t.params,e);return e.forEach(function(e){delete t.params[e]}),n},query:function(t,e){var n=Object.keys(b.options.params),o={},r=e(t);return f(t.params,function(t,e){-1===n.indexOf(e)&&(o[e]=t)}),(o=b.params(o))&&(r+=(-1==r.indexOf("?")?"?":"&")+o),r},root:function(t,e){var n=e(t);return r(t.root)&&!/^(https?:)?\//.test(n)&&(n=function(t,e){return t&&void 0===e?t.replace(/\s+$/,""):t&&e?t.replace(new RegExp("["+e+"]+$"),""):t}(t.root,"/")+"/"+n),n}},b.transforms=["template","query","root"],b.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){i(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},g(e,t),e.join("&").replace(/%20/g,"+")},b.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};var B=q&&"withCredentials"in new XMLHttpRequest,M=function(t){var e=this;this.map={},f(t,function(t,n){return e.append(n,t)})};M.prototype.has=function(t){return null!==E(this.map,t)},M.prototype.get=function(t){var e=this.map[E(this.map,t)];return e?e.join():null},M.prototype.getAll=function(t){return this.map[E(this.map,t)]||[]},M.prototype.set=function(t,e){this.map[function(t){if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return n(t)}(E(this.map,t)||t)]=[n(e)]},M.prototype.append=function(t,e){var o=this.map[E(this.map,t)];o?o.push(n(e)):this.set(t,e)},M.prototype.delete=function(t){delete this.map[E(this.map,t)]},M.prototype.deleteAll=function(){this.map={}},M.prototype.forEach=function(t,e){var n=this;f(this.map,function(o,r){f(o,function(o){return t.call(e,o,r,n)})})};var N=function(t,n){var o=n.url,i=n.headers,s=n.status,u=n.statusText;this.url=o,this.ok=s>=200&&s<300,this.status=s||0,this.statusText=u||"",this.headers=new M(i),this.body=t,r(t)?this.bodyText=t:function(t){return"undefined"!=typeof Blob&&t instanceof Blob}(t)&&(this.bodyBlob=t,function(t){return 0===t.type.indexOf("text")||-1!==t.type.indexOf("json")}(t)&&(this.bodyText=function(t){return new e(function(e){var n=new FileReader;n.readAsText(t),n.onload=function(){e(n.result)}})}(t)))};N.prototype.blob=function(){return a(this.bodyBlob)},N.prototype.text=function(){return a(this.bodyText)},N.prototype.json=function(){return a(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(N.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var D=function(t){this.body=null,this.params={},L(this,t,{method:function(t){return t?t.toUpperCase():""}(t.method||"GET")}),this.headers instanceof M||(this.headers=new M(this.headers))};D.prototype.getUrl=function(){return b(this)},D.prototype.getBody=function(){return this.body},D.prototype.respondWith=function(t,e){return new N(t,L(e||{},{url:this.getUrl()}))};var J={"Content-Type":"application/json;charset=utf-8"};return O.options={},O.headers={put:J,post:J,patch:J,delete:J,common:{Accept:"application/json, text/plain, */*"},custom:{}},O.interceptor={before:function(t,e){i(t.before)&&t.before.call(this,t),e()},method:function(t,e){t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers.set("X-HTTP-Method-Override",t.method),t.method="POST"),e()},jsonp:function(t,e){"JSONP"==t.method&&(t.client=T),e()},json:function(t,e){var n=t.headers.get("Content-Type")||"";s(t.body)&&0===n.indexOf("application/json")&&(t.body=JSON.stringify(t.body)),e(function(t){return t.bodyText?a(t.text(),function(e){if(0===(n=t.headers.get("Content-Type")||"").indexOf("application/json")||function(t){var e=t.match(/^\s*(\[|\{)/);return e&&{"[":/]\s*$/,"{":/}\s*$/}[e[1]].test(t)}(e))try{t.body=JSON.parse(e)}catch(e){t.body=null}else t.body=e;return t}):t})},form:function(t,e){!function(t){return"undefined"!=typeof FormData&&t instanceof FormData}(t.body)?s(t.body)&&t.emulateJSON&&(t.body=b.params(t.body),t.headers.set("Content-Type","application/x-www-form-urlencoded")):t.headers.delete("Content-Type"),e()},header:function(t,e){f(L({},O.headers.common,t.crossOrigin?{}:O.headers.custom,O.headers[o(t.method)]),function(e,n){t.headers.has(n)||t.headers.set(n,e)}),e()},cors:function(t,e){if(q){var n=b.parse(location.href),o=b.parse(t.getUrl());o.protocol===n.protocol&&o.host===n.host||(t.crossOrigin=!0,t.emulateHTTP=!1,B||(t.client=w))}e()}},O.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){O[t]=function(e,n){return this(L(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){O[t]=function(e,n,o){return this(L(o||{},{url:e,method:t,body:n}))}}),P.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(C),C});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue-router v2.7.0
2
+ * vue-router v3.0.1
3
3
  * (c) 2017 Evan You
4
4
  * @license MIT
5
5
  */
@@ -93,14 +93,26 @@ var View = {
93
93
  }
94
94
  }
95
95
 
96
- // also regiseter instance in prepatch hook
96
+ // also register instance in prepatch hook
97
97
  // in case the same component instance is reused across different routes
98
98
  ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {
99
99
  matched.instances[name] = vnode.componentInstance;
100
100
  };
101
101
 
102
102
  // resolve props
103
- data.props = resolveProps(route, matched.props && matched.props[name]);
103
+ var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);
104
+ if (propsToPass) {
105
+ // clone to prevent mutation
106
+ propsToPass = data.props = extend({}, propsToPass);
107
+ // pass non-declared props as attrs
108
+ var attrs = data.attrs = data.attrs || {};
109
+ for (var key in propsToPass) {
110
+ if (!component.props || !(key in component.props)) {
111
+ attrs[key] = propsToPass[key];
112
+ delete propsToPass[key];
113
+ }
114
+ }
115
+ }
104
116
 
105
117
  return h(component, data, children)
106
118
  }
@@ -127,6 +139,13 @@ function resolveProps (route, config) {
127
139
  }
128
140
  }
129
141
 
142
+ function extend (to, from) {
143
+ for (var key in from) {
144
+ to[key] = from[key];
145
+ }
146
+ return to
147
+ }
148
+
130
149
  /* */
131
150
 
132
151
  var encodeReserveRE = /[!'()*]/g;
@@ -158,8 +177,7 @@ function resolveQuery (
158
177
  parsedQuery = {};
159
178
  }
160
179
  for (var key in extraQuery) {
161
- var val = extraQuery[key];
162
- parsedQuery[key] = Array.isArray(val) ? val.slice() : val;
180
+ parsedQuery[key] = extraQuery[key];
163
181
  }
164
182
  return parsedQuery
165
183
  }
@@ -236,12 +254,18 @@ function createRoute (
236
254
  router
237
255
  ) {
238
256
  var stringifyQuery$$1 = router && router.options.stringifyQuery;
257
+
258
+ var query = location.query || {};
259
+ try {
260
+ query = clone(query);
261
+ } catch (e) {}
262
+
239
263
  var route = {
240
264
  name: location.name || (record && record.name),
241
265
  meta: (record && record.meta) || {},
242
266
  path: location.path || '/',
243
267
  hash: location.hash || '',
244
- query: location.query || {},
268
+ query: query,
245
269
  params: location.params || {},
246
270
  fullPath: getFullPath(location, stringifyQuery$$1),
247
271
  matched: record ? formatMatch(record) : []
@@ -252,6 +276,20 @@ function createRoute (
252
276
  return Object.freeze(route)
253
277
  }
254
278
 
279
+ function clone (value) {
280
+ if (Array.isArray(value)) {
281
+ return value.map(clone)
282
+ } else if (value && typeof value === 'object') {
283
+ var res = {};
284
+ for (var key in value) {
285
+ res[key] = clone(value[key]);
286
+ }
287
+ return res
288
+ } else {
289
+ return value
290
+ }
291
+ }
292
+
255
293
  // the starting route that represents the initial state
256
294
  var START = createRoute(null, {
257
295
  path: '/'
@@ -305,6 +343,8 @@ function isObjectEqual (a, b) {
305
343
  if ( a === void 0 ) a = {};
306
344
  if ( b === void 0 ) b = {};
307
345
 
346
+ // handle null value #1566
347
+ if (!a || !b) { return a === b }
308
348
  var aKeys = Object.keys(a);
309
349
  var bKeys = Object.keys(b);
310
350
  if (aKeys.length !== bKeys.length) {
@@ -484,7 +524,7 @@ function findAnchor (children) {
484
524
  var _Vue;
485
525
 
486
526
  function install (Vue) {
487
- if (install.installed) { return }
527
+ if (install.installed && _Vue === Vue) { return }
488
528
  install.installed = true;
489
529
 
490
530
  _Vue = Vue;
@@ -606,14 +646,14 @@ function cleanPath (path) {
606
646
  return path.replace(/\/\//g, '/')
607
647
  }
608
648
 
609
- var index$1 = Array.isArray || function (arr) {
649
+ var isarray = Array.isArray || function (arr) {
610
650
  return Object.prototype.toString.call(arr) == '[object Array]';
611
651
  };
612
652
 
613
653
  /**
614
654
  * Expose `pathToRegexp`.
615
655
  */
616
- var index = pathToRegexp;
656
+ var pathToRegexp_1 = pathToRegexp;
617
657
  var parse_1 = parse;
618
658
  var compile_1 = compile;
619
659
  var tokensToFunction_1 = tokensToFunction;
@@ -790,7 +830,7 @@ function tokensToFunction (tokens) {
790
830
  }
791
831
  }
792
832
 
793
- if (index$1(value)) {
833
+ if (isarray(value)) {
794
834
  if (!token.repeat) {
795
835
  throw new TypeError('Expected "' + token.name + '" to not repeat, but received `' + JSON.stringify(value) + '`')
796
836
  }
@@ -941,7 +981,7 @@ function stringToRegexp (path, keys, options) {
941
981
  * @return {!RegExp}
942
982
  */
943
983
  function tokensToRegExp (tokens, keys, options) {
944
- if (!index$1(keys)) {
984
+ if (!isarray(keys)) {
945
985
  options = /** @type {!Object} */ (keys || options);
946
986
  keys = [];
947
987
  }
@@ -1017,7 +1057,7 @@ function tokensToRegExp (tokens, keys, options) {
1017
1057
  * @return {!RegExp}
1018
1058
  */
1019
1059
  function pathToRegexp (path, keys, options) {
1020
- if (!index$1(keys)) {
1060
+ if (!isarray(keys)) {
1021
1061
  options = /** @type {!Object} */ (keys || options);
1022
1062
  keys = [];
1023
1063
  }
@@ -1028,20 +1068,21 @@ function pathToRegexp (path, keys, options) {
1028
1068
  return regexpToRegexp(path, /** @type {!Array} */ (keys))
1029
1069
  }
1030
1070
 
1031
- if (index$1(path)) {
1071
+ if (isarray(path)) {
1032
1072
  return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)
1033
1073
  }
1034
1074
 
1035
1075
  return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)
1036
1076
  }
1037
1077
 
1038
- index.parse = parse_1;
1039
- index.compile = compile_1;
1040
- index.tokensToFunction = tokensToFunction_1;
1041
- index.tokensToRegExp = tokensToRegExp_1;
1078
+ pathToRegexp_1.parse = parse_1;
1079
+ pathToRegexp_1.compile = compile_1;
1080
+ pathToRegexp_1.tokensToFunction = tokensToFunction_1;
1081
+ pathToRegexp_1.tokensToRegExp = tokensToRegExp_1;
1042
1082
 
1043
1083
  /* */
1044
1084
 
1085
+ // $flow-disable-line
1045
1086
  var regexpCompileCache = Object.create(null);
1046
1087
 
1047
1088
  function fillParams (
@@ -1052,7 +1093,7 @@ function fillParams (
1052
1093
  try {
1053
1094
  var filler =
1054
1095
  regexpCompileCache[path] ||
1055
- (regexpCompileCache[path] = index.compile(path));
1096
+ (regexpCompileCache[path] = pathToRegexp_1.compile(path));
1056
1097
  return filler(params || {}, { pretty: true })
1057
1098
  } catch (e) {
1058
1099
  {
@@ -1072,7 +1113,9 @@ function createRouteMap (
1072
1113
  ) {
1073
1114
  // the path list is used to control path matching priority
1074
1115
  var pathList = oldPathList || [];
1116
+ // $flow-disable-line
1075
1117
  var pathMap = oldPathMap || Object.create(null);
1118
+ // $flow-disable-line
1076
1119
  var nameMap = oldNameMap || Object.create(null);
1077
1120
 
1078
1121
  routes.forEach(function (route) {
@@ -1114,8 +1157,12 @@ function addRouteRecord (
1114
1157
  );
1115
1158
  }
1116
1159
 
1117
- var normalizedPath = normalizePath(path, parent);
1118
1160
  var pathToRegexpOptions = route.pathToRegexpOptions || {};
1161
+ var normalizedPath = normalizePath(
1162
+ path,
1163
+ parent,
1164
+ pathToRegexpOptions.strict
1165
+ );
1119
1166
 
1120
1167
  if (typeof route.caseSensitive === 'boolean') {
1121
1168
  pathToRegexpOptions.sensitive = route.caseSensitive;
@@ -1203,9 +1250,9 @@ function addRouteRecord (
1203
1250
  }
1204
1251
 
1205
1252
  function compileRouteRegex (path, pathToRegexpOptions) {
1206
- var regex = index(path, [], pathToRegexpOptions);
1253
+ var regex = pathToRegexp_1(path, [], pathToRegexpOptions);
1207
1254
  {
1208
- var keys = {};
1255
+ var keys = Object.create(null);
1209
1256
  regex.keys.forEach(function (key) {
1210
1257
  warn(!keys[key.name], ("Duplicate param keys in route with path: \"" + path + "\""));
1211
1258
  keys[key.name] = true;
@@ -1214,8 +1261,8 @@ function compileRouteRegex (path, pathToRegexpOptions) {
1214
1261
  return regex
1215
1262
  }
1216
1263
 
1217
- function normalizePath (path, parent) {
1218
- path = path.replace(/\/$/, '');
1264
+ function normalizePath (path, parent, strict) {
1265
+ if (!strict) { path = path.replace(/\/$/, ''); }
1219
1266
  if (path[0] === '/') { return path }
1220
1267
  if (parent == null) { return path }
1221
1268
  return cleanPath(((parent.path) + "/" + path))
@@ -1487,6 +1534,8 @@ function resolveRecordPath (path, record) {
1487
1534
  var positionStore = Object.create(null);
1488
1535
 
1489
1536
  function setupScroll () {
1537
+ // Fix for #1585 for Firefox
1538
+ window.history.replaceState({ key: getStateKey() }, '');
1490
1539
  window.addEventListener('popstate', function (e) {
1491
1540
  saveScrollPosition();
1492
1541
  if (e.state && e.state.key) {
@@ -1518,25 +1567,21 @@ function handleScroll (
1518
1567
  router.app.$nextTick(function () {
1519
1568
  var position = getScrollPosition();
1520
1569
  var shouldScroll = behavior(to, from, isPop ? position : null);
1570
+
1521
1571
  if (!shouldScroll) {
1522
1572
  return
1523
1573
  }
1524
- var isObject = typeof shouldScroll === 'object';
1525
- if (isObject && typeof shouldScroll.selector === 'string') {
1526
- var el = document.querySelector(shouldScroll.selector);
1527
- if (el) {
1528
- var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};
1529
- offset = normalizeOffset(offset);
1530
- position = getElementPosition(el, offset);
1531
- } else if (isValidPosition(shouldScroll)) {
1532
- position = normalizePosition(shouldScroll);
1533
- }
1534
- } else if (isObject && isValidPosition(shouldScroll)) {
1535
- position = normalizePosition(shouldScroll);
1536
- }
1537
1574
 
1538
- if (position) {
1539
- window.scrollTo(position.x, position.y);
1575
+ if (typeof shouldScroll.then === 'function') {
1576
+ shouldScroll.then(function (shouldScroll) {
1577
+ scrollToPosition((shouldScroll), position);
1578
+ }).catch(function (err) {
1579
+ {
1580
+ assert(false, err.toString());
1581
+ }
1582
+ });
1583
+ } else {
1584
+ scrollToPosition(shouldScroll, position);
1540
1585
  }
1541
1586
  });
1542
1587
  }
@@ -1590,6 +1635,26 @@ function isNumber (v) {
1590
1635
  return typeof v === 'number'
1591
1636
  }
1592
1637
 
1638
+ function scrollToPosition (shouldScroll, position) {
1639
+ var isObject = typeof shouldScroll === 'object';
1640
+ if (isObject && typeof shouldScroll.selector === 'string') {
1641
+ var el = document.querySelector(shouldScroll.selector);
1642
+ if (el) {
1643
+ var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};
1644
+ offset = normalizeOffset(offset);
1645
+ position = getElementPosition(el, offset);
1646
+ } else if (isValidPosition(shouldScroll)) {
1647
+ position = normalizePosition(shouldScroll);
1648
+ }
1649
+ } else if (isObject && isValidPosition(shouldScroll)) {
1650
+ position = normalizePosition(shouldScroll);
1651
+ }
1652
+
1653
+ if (position) {
1654
+ window.scrollTo(position.x, position.y);
1655
+ }
1656
+ }
1657
+
1593
1658
  /* */
1594
1659
 
1595
1660
  var supportsPushState = inBrowser && (function () {
@@ -1685,7 +1750,7 @@ function resolveAsyncComponents (matched) {
1685
1750
  pending++;
1686
1751
 
1687
1752
  var resolve = once(function (resolvedDef) {
1688
- if (resolvedDef.__esModule && resolvedDef.default) {
1753
+ if (isESModule(resolvedDef)) {
1689
1754
  resolvedDef = resolvedDef.default;
1690
1755
  }
1691
1756
  // save resolved on async factory in case it's used elsewhere
@@ -1751,6 +1816,14 @@ function flatten (arr) {
1751
1816
  return Array.prototype.concat.apply([], arr)
1752
1817
  }
1753
1818
 
1819
+ var hasSymbol =
1820
+ typeof Symbol === 'function' &&
1821
+ typeof Symbol.toStringTag === 'symbol';
1822
+
1823
+ function isESModule (obj) {
1824
+ return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')
1825
+ }
1826
+
1754
1827
  // in Webpack 2, require.ensure now also returns a Promise
1755
1828
  // so the resolve/reject functions may get called an extra time
1756
1829
  // if the user uses an arrow function shorthand that happens to
@@ -2079,9 +2152,18 @@ var HTML5History = (function (History$$1) {
2079
2152
  setupScroll();
2080
2153
  }
2081
2154
 
2155
+ var initLocation = getLocation(this.base);
2082
2156
  window.addEventListener('popstate', function (e) {
2083
2157
  var current = this$1.current;
2084
- this$1.transitionTo(getLocation(this$1.base), function (route) {
2158
+
2159
+ // Avoiding first `popstate` event dispatched in some browsers but first
2160
+ // history route not updated since async guard at the same time.
2161
+ var location = getLocation(this$1.base);
2162
+ if (this$1.current === START && location === initLocation) {
2163
+ return
2164
+ }
2165
+
2166
+ this$1.transitionTo(location, function (route) {
2085
2167
  if (expectScroll) {
2086
2168
  handleScroll(router, route, current, true);
2087
2169
  }
@@ -2165,26 +2247,50 @@ var HashHistory = (function (History$$1) {
2165
2247
  HashHistory.prototype.setupListeners = function setupListeners () {
2166
2248
  var this$1 = this;
2167
2249
 
2168
- window.addEventListener('hashchange', function () {
2250
+ var router = this.router;
2251
+ var expectScroll = router.options.scrollBehavior;
2252
+ var supportsScroll = supportsPushState && expectScroll;
2253
+
2254
+ if (supportsScroll) {
2255
+ setupScroll();
2256
+ }
2257
+
2258
+ window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {
2259
+ var current = this$1.current;
2169
2260
  if (!ensureSlash()) {
2170
2261
  return
2171
2262
  }
2172
2263
  this$1.transitionTo(getHash(), function (route) {
2173
- replaceHash(route.fullPath);
2264
+ if (supportsScroll) {
2265
+ handleScroll(this$1.router, route, current, true);
2266
+ }
2267
+ if (!supportsPushState) {
2268
+ replaceHash(route.fullPath);
2269
+ }
2174
2270
  });
2175
2271
  });
2176
2272
  };
2177
2273
 
2178
2274
  HashHistory.prototype.push = function push (location, onComplete, onAbort) {
2275
+ var this$1 = this;
2276
+
2277
+ var ref = this;
2278
+ var fromRoute = ref.current;
2179
2279
  this.transitionTo(location, function (route) {
2180
2280
  pushHash(route.fullPath);
2281
+ handleScroll(this$1.router, route, fromRoute, false);
2181
2282
  onComplete && onComplete(route);
2182
2283
  }, onAbort);
2183
2284
  };
2184
2285
 
2185
2286
  HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {
2287
+ var this$1 = this;
2288
+
2289
+ var ref = this;
2290
+ var fromRoute = ref.current;
2186
2291
  this.transitionTo(location, function (route) {
2187
2292
  replaceHash(route.fullPath);
2293
+ handleScroll(this$1.router, route, fromRoute, false);
2188
2294
  onComplete && onComplete(route);
2189
2295
  }, onAbort);
2190
2296
  };
@@ -2234,15 +2340,27 @@ function getHash () {
2234
2340
  return index === -1 ? '' : href.slice(index + 1)
2235
2341
  }
2236
2342
 
2343
+ function getUrl (path) {
2344
+ var href = window.location.href;
2345
+ var i = href.indexOf('#');
2346
+ var base = i >= 0 ? href.slice(0, i) : href;
2347
+ return (base + "#" + path)
2348
+ }
2349
+
2237
2350
  function pushHash (path) {
2238
- window.location.hash = path;
2351
+ if (supportsPushState) {
2352
+ pushState(getUrl(path));
2353
+ } else {
2354
+ window.location.hash = path;
2355
+ }
2239
2356
  }
2240
2357
 
2241
2358
  function replaceHash (path) {
2242
- var href = window.location.href;
2243
- var i = href.indexOf('#');
2244
- var base = i >= 0 ? href.slice(0, i) : href;
2245
- window.location.replace((base + "#" + path));
2359
+ if (supportsPushState) {
2360
+ replaceState(getUrl(path));
2361
+ } else {
2362
+ window.location.replace(getUrl(path));
2363
+ }
2246
2364
  }
2247
2365
 
2248
2366
  /* */
@@ -2344,7 +2462,7 @@ var VueRouter = function VueRouter (options) {
2344
2462
  }
2345
2463
  };
2346
2464
 
2347
- var prototypeAccessors = { currentRoute: {} };
2465
+ var prototypeAccessors = { currentRoute: { configurable: true } };
2348
2466
 
2349
2467
  VueRouter.prototype.match = function match (
2350
2468
  raw,
@@ -2502,7 +2620,7 @@ function createHref (base, fullPath, mode) {
2502
2620
  }
2503
2621
 
2504
2622
  VueRouter.install = install;
2505
- VueRouter.version = '2.7.0';
2623
+ VueRouter.version = '3.0.1';
2506
2624
 
2507
2625
  if (inBrowser && window.Vue) {
2508
2626
  window.Vue.use(VueRouter);