riot-route
Advanced tools
Comparing version 3.0.0 to 3.0.1
@@ -139,3 +139,2 @@ define(function () { 'use strict'; | ||
var HAS_ATTRIBUTE = 'hasAttribute'; | ||
var REPLACE = 'replace'; | ||
var POPSTATE = 'popstate'; | ||
@@ -179,4 +178,8 @@ var HASHCHANGE = 'hashchange'; | ||
function DEFAULT_SECOND_PARSER(path, filter) { | ||
var re = new RegExp('^' + filter[REPLACE](/\*/g, '([^/?#]+?)')[REPLACE](/\.\./, '.*') + '$'), | ||
args = path.match(re); | ||
var f = filter | ||
.replace(/\?/g, '\\?') | ||
.replace(/\*/g, '([^/?#]+?)') | ||
.replace(/\.\./, '.*'); | ||
var re = new RegExp(("^" + f + "$")); | ||
var args = path.match(re); | ||
@@ -223,3 +226,3 @@ if (args) { return args.slice(1) } | ||
function normalize(path) { | ||
return path[REPLACE](/^\/|\/$/, '') | ||
return path.replace(/^\/|\/$/, '') | ||
} | ||
@@ -237,3 +240,3 @@ | ||
function getPathFromRoot(href) { | ||
return (href || loc.href)[REPLACE](RE_ORIGIN, '') | ||
return (href || loc.href).replace(RE_ORIGIN, '') | ||
} | ||
@@ -249,3 +252,3 @@ | ||
? (href || loc.href || '').split(base)[1] || '' | ||
: (loc ? getPathFromRoot(href) : href || '')[REPLACE](base, '') | ||
: (loc ? getPathFromRoot(href) : href || '').replace(base, '') | ||
} | ||
@@ -430,3 +433,3 @@ | ||
var href = loc.href || current; | ||
href[REPLACE](/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
href.replace(/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
return q | ||
@@ -433,0 +436,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
define(function(){"use strict";var e=function(e){e=e||{};var t={},r=Array.prototype.slice;Object.defineProperties(e,{on:{value:function(r,n){if(typeof n=="function"){(t[r]=t[r]||[]).push(n)}return e},enumerable:false,writable:false,configurable:false},off:{value:function(r,n){if(r=="*"&&!n){t={}}else{if(n){var i=t[r];for(var f=0,a;a=i&&i[f];++f){if(a==n){i.splice(f--,1)}}}else{delete t[r]}}return e},enumerable:false,writable:false,configurable:false},one:{value:function(t,r){function n(){e.off(t,n);r.apply(e,arguments)}return e.on(t,n)},enumerable:false,writable:false,configurable:false},trigger:{value:function(n){var i=arguments;var f=arguments.length-1,a=new Array(f),u,o,l;for(l=0;l<f;l++){a[l]=i[l+1]}u=r.call(t[n]||[],0);for(l=0;o=u[l];++l){o.apply(e,a)}if(t["*"]&&n!="*"){e.trigger.apply(e,["*",n].concat(a))}return e},enumerable:false,writable:false,configurable:false}});return e};var t=/^.+?\/\/+[^\/]+/;var r="EventListener";var n="remove"+r;var i="add"+r;var f="hasAttribute";var a="replace";var u="popstate";var o="hashchange";var l="trigger";var s=3;var c=typeof window!="undefined"&&window;var v=typeof document!="undefined"&&document;var h=c&&history;var p=c&&(h.location||c.location);var d=j.prototype;var m=v&&v.ontouchstart?"touchstart":"click";var b=e();var g=false;var y=false;var w;var $;var A;var x;var K;var N=[];var O=0;function S(e){return e.split(/[\/?#]/)}function T(e,t){var r=new RegExp("^"+t[a](/\*/g,"([^/?#]+?)")[a](/\.\./,".*")+"$"),n=e.match(r);if(n){return n.slice(1)}}function E(e,t){var r;return function(){clearTimeout(r);r=setTimeout(e,t)}}function P(e){w=E(R,1);c[i](u,w);c[i](o,w);v[i](m,_);if(e){R(true)}}function j(){this.$=[];e(this);b.on("stop",this.s.bind(this));b.on("emit",this.e.bind(this))}function k(e){return e[a](/^\/|\/$/,"")}function q(e){return typeof e=="string"}function D(e){return(e||p.href)[a](t,"")}function L(e){return $[0]==="#"?(e||p.href||"").split($)[1]||"":(p?D(e):e||"")[a]($,"")}function R(e){var t=O===0;if(s<=O){return}O++;N.push(function(){var t=L();if(e||t!==A){b[l]("emit",t);A=t}});if(t){var r;while(r=N.shift()){r()}O=0}}function _(e){if(e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented){return}var r=e.target;while(r&&r.nodeName!=="A"){r=r.parentNode}if(!r||r.nodeName!=="A"||r[f]("download")||!r[f]("href")||r.target&&r.target!=="_self"||r.href.indexOf(p.href.match(t)[0])===-1){return}if(r.href!==p.href&&(r.href.split("#")[0]===p.href.split("#")[0]||$[0]!=="#"&&D(r.href).indexOf($)!==0||$[0]==="#"&&r.href.split($)[0]!==p.href.split($)[0]||!z(L(r.href),r.title||v.title))){return}e.preventDefault()}function z(e,t,r){if(!h){return b[l]("emit",L(e))}e=$+k(e);t=t||v.title;r?h.replaceState(null,t,e):h.pushState(null,t,e);v.title=t;y=false;R();return y}d.m=function(e,t,r){if(q(e)&&(!t||q(t))){z(e,t,r||false)}else if(t){this.r(e,t)}else{this.r("@",e)}};d.s=function(){this.off("*");this.$=[]};d.e=function(e){this.$.concat("@").some(function(t){var r=(t==="@"?x:K)(k(e),k(t));if(typeof r!="undefined"){this[l].apply(null,[t].concat(r));return y=true}},this)};d.r=function(e,t){if(e!=="@"){e="/"+k(e);this.$.push(e)}this.on(e,t)};var B=new j;var C=B.m.bind(B);C.create=function(){var e=new j;var t=e.m.bind(e);t.stop=e.s.bind(e);return t};C.base=function(e){$=e||"#";A=L()};C.exec=function(){R(true)};C.parser=function(e,t){if(!e&&!t){x=S;K=T}if(e){x=e}if(t){K=t}};C.query=function(){var e={};var t=p.href||A;t[a](/[?&](.+?)=([^&]*)/g,function(t,r,n){e[r]=n});return e};C.stop=function(){if(g){if(c){c[n](u,w);c[n](o,w);v[n](m,_)}b[l]("stop");g=false}};C.start=function(e){if(!g){if(c){if(document.readyState==="complete"){P(e)}else{c[i]("load",function(){setTimeout(function(){P(e)},1)})}}g=true}};C.base();C.parser();return C}); | ||
define(function(){"use strict";var e=function(e){e=e||{};var t={},r=Array.prototype.slice;Object.defineProperties(e,{on:{value:function(r,n){if(typeof n=="function"){(t[r]=t[r]||[]).push(n)}return e},enumerable:false,writable:false,configurable:false},off:{value:function(r,n){if(r=="*"&&!n){t={}}else{if(n){var i=t[r];for(var a=0,f;f=i&&i[a];++a){if(f==n){i.splice(a--,1)}}}else{delete t[r]}}return e},enumerable:false,writable:false,configurable:false},one:{value:function(t,r){function n(){e.off(t,n);r.apply(e,arguments)}return e.on(t,n)},enumerable:false,writable:false,configurable:false},trigger:{value:function(n){var i=arguments;var a=arguments.length-1,f=new Array(a),u,o,l;for(l=0;l<a;l++){f[l]=i[l+1]}u=r.call(t[n]||[],0);for(l=0;o=u[l];++l){o.apply(e,f)}if(t["*"]&&n!="*"){e.trigger.apply(e,["*",n].concat(f))}return e},enumerable:false,writable:false,configurable:false}});return e};var t=/^.+?\/\/+[^\/]+/;var r="EventListener";var n="remove"+r;var i="add"+r;var a="hasAttribute";var f="popstate";var u="hashchange";var o="trigger";var l=3;var c=typeof window!="undefined"&&window;var s=typeof document!="undefined"&&document;var v=c&&history;var h=c&&(v.location||c.location);var p=P.prototype;var d=s&&s.ontouchstart?"touchstart":"click";var m=e();var b=false;var g=false;var y;var w;var $;var A;var x;var K=[];var N=0;function O(e){return e.split(/[\/?#]/)}function S(e,t){var r=t.replace(/\?/g,"\\?").replace(/\*/g,"([^/?#]+?)").replace(/\.\./,".*");var n=new RegExp("^"+r+"$");var i=e.match(n);if(i){return i.slice(1)}}function T(e,t){var r;return function(){clearTimeout(r);r=setTimeout(e,t)}}function E(e){y=T(L,1);c[i](f,y);c[i](u,y);s[i](d,R);if(e){L(true)}}function P(){this.$=[];e(this);m.on("stop",this.s.bind(this));m.on("emit",this.e.bind(this))}function j(e){return e.replace(/^\/|\/$/,"")}function k(e){return typeof e=="string"}function q(e){return(e||h.href).replace(t,"")}function D(e){return w[0]==="#"?(e||h.href||"").split(w)[1]||"":(h?q(e):e||"").replace(w,"")}function L(e){var t=N===0;if(l<=N){return}N++;K.push(function(){var t=D();if(e||t!==$){m[o]("emit",t);$=t}});if(t){var r;while(r=K.shift()){r()}N=0}}function R(e){if(e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented){return}var r=e.target;while(r&&r.nodeName!=="A"){r=r.parentNode}if(!r||r.nodeName!=="A"||r[a]("download")||!r[a]("href")||r.target&&r.target!=="_self"||r.href.indexOf(h.href.match(t)[0])===-1){return}if(r.href!==h.href&&(r.href.split("#")[0]===h.href.split("#")[0]||w[0]!=="#"&&q(r.href).indexOf(w)!==0||w[0]==="#"&&r.href.split(w)[0]!==h.href.split(w)[0]||!_(D(r.href),r.title||s.title))){return}e.preventDefault()}function _(e,t,r){if(!v){return m[o]("emit",D(e))}e=w+j(e);t=t||s.title;r?v.replaceState(null,t,e):v.pushState(null,t,e);s.title=t;g=false;L();return g}p.m=function(e,t,r){if(k(e)&&(!t||k(t))){_(e,t,r||false)}else if(t){this.r(e,t)}else{this.r("@",e)}};p.s=function(){this.off("*");this.$=[]};p.e=function(e){this.$.concat("@").some(function(t){var r=(t==="@"?A:x)(j(e),j(t));if(typeof r!="undefined"){this[o].apply(null,[t].concat(r));return g=true}},this)};p.r=function(e,t){if(e!=="@"){e="/"+j(e);this.$.push(e)}this.on(e,t)};var z=new P;var B=z.m.bind(z);B.create=function(){var e=new P;var t=e.m.bind(e);t.stop=e.s.bind(e);return t};B.base=function(e){w=e||"#";$=D()};B.exec=function(){L(true)};B.parser=function(e,t){if(!e&&!t){A=O;x=S}if(e){A=e}if(t){x=t}};B.query=function(){var e={};var t=h.href||$;t.replace(/[?&](.+?)=([^&]*)/g,function(t,r,n){e[r]=n});return e};B.stop=function(){if(b){if(c){c[n](f,y);c[n](u,y);s[n](d,R)}m[o]("stop");b=false}};B.start=function(e){if(!b){if(c){if(document.readyState==="complete"){E(e)}else{c[i]("load",function(){setTimeout(function(){E(e)},1)})}}b=true}};B.base();B.parser();return B}); |
@@ -17,3 +17,2 @@ 'use strict'; | ||
const HAS_ATTRIBUTE = 'hasAttribute'; | ||
const REPLACE = 'replace'; | ||
const POPSTATE = 'popstate'; | ||
@@ -57,4 +56,8 @@ const HASHCHANGE = 'hashchange'; | ||
function DEFAULT_SECOND_PARSER(path, filter) { | ||
const re = new RegExp('^' + filter[REPLACE](/\*/g, '([^/?#]+?)')[REPLACE](/\.\./, '.*') + '$'), | ||
args = path.match(re); | ||
const f = filter | ||
.replace(/\?/g, '\\?') | ||
.replace(/\*/g, '([^/?#]+?)') | ||
.replace(/\.\./, '.*'); | ||
const re = new RegExp(`^${f}$`); | ||
const args = path.match(re); | ||
@@ -101,3 +104,3 @@ if (args) return args.slice(1) | ||
function normalize(path) { | ||
return path[REPLACE](/^\/|\/$/, '') | ||
return path.replace(/^\/|\/$/, '') | ||
} | ||
@@ -115,3 +118,3 @@ | ||
function getPathFromRoot(href) { | ||
return (href || loc.href)[REPLACE](RE_ORIGIN, '') | ||
return (href || loc.href).replace(RE_ORIGIN, '') | ||
} | ||
@@ -127,3 +130,3 @@ | ||
? (href || loc.href || '').split(base)[1] || '' | ||
: (loc ? getPathFromRoot(href) : href || '')[REPLACE](base, '') | ||
: (loc ? getPathFromRoot(href) : href || '').replace(base, '') | ||
} | ||
@@ -308,3 +311,3 @@ | ||
const href = loc.href || current; | ||
href[REPLACE](/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
href.replace(/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
return q | ||
@@ -311,0 +314,0 @@ }; |
@@ -140,3 +140,2 @@ var route = (function () { | ||
var HAS_ATTRIBUTE = 'hasAttribute'; | ||
var REPLACE = 'replace'; | ||
var POPSTATE = 'popstate'; | ||
@@ -180,4 +179,8 @@ var HASHCHANGE = 'hashchange'; | ||
function DEFAULT_SECOND_PARSER(path, filter) { | ||
var re = new RegExp('^' + filter[REPLACE](/\*/g, '([^/?#]+?)')[REPLACE](/\.\./, '.*') + '$'), | ||
args = path.match(re); | ||
var f = filter | ||
.replace(/\?/g, '\\?') | ||
.replace(/\*/g, '([^/?#]+?)') | ||
.replace(/\.\./, '.*'); | ||
var re = new RegExp(("^" + f + "$")); | ||
var args = path.match(re); | ||
@@ -224,3 +227,3 @@ if (args) { return args.slice(1) } | ||
function normalize(path) { | ||
return path[REPLACE](/^\/|\/$/, '') | ||
return path.replace(/^\/|\/$/, '') | ||
} | ||
@@ -238,3 +241,3 @@ | ||
function getPathFromRoot(href) { | ||
return (href || loc.href)[REPLACE](RE_ORIGIN, '') | ||
return (href || loc.href).replace(RE_ORIGIN, '') | ||
} | ||
@@ -250,3 +253,3 @@ | ||
? (href || loc.href || '').split(base)[1] || '' | ||
: (loc ? getPathFromRoot(href) : href || '')[REPLACE](base, '') | ||
: (loc ? getPathFromRoot(href) : href || '').replace(base, '') | ||
} | ||
@@ -431,3 +434,3 @@ | ||
var href = loc.href || current; | ||
href[REPLACE](/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
href.replace(/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v; }); | ||
return q | ||
@@ -434,0 +437,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
var route=function(){"use strict";var e=function(e){e=e||{};var t={},r=Array.prototype.slice;Object.defineProperties(e,{on:{value:function(r,n){if(typeof n=="function"){(t[r]=t[r]||[]).push(n)}return e},enumerable:false,writable:false,configurable:false},off:{value:function(r,n){if(r=="*"&&!n){t={}}else{if(n){var i=t[r];for(var a=0,f;f=i&&i[a];++a){if(f==n){i.splice(a--,1)}}}else{delete t[r]}}return e},enumerable:false,writable:false,configurable:false},one:{value:function(t,r){function n(){e.off(t,n);r.apply(e,arguments)}return e.on(t,n)},enumerable:false,writable:false,configurable:false},trigger:{value:function(n){var i=arguments;var a=arguments.length-1,f=new Array(a),u,o,l;for(l=0;l<a;l++){f[l]=i[l+1]}u=r.call(t[n]||[],0);for(l=0;o=u[l];++l){o.apply(e,f)}if(t["*"]&&n!="*"){e.trigger.apply(e,["*",n].concat(f))}return e},enumerable:false,writable:false,configurable:false}});return e};var t=/^.+?\/\/+[^\/]+/;var r="EventListener";var n="remove"+r;var i="add"+r;var a="hasAttribute";var f="replace";var u="popstate";var o="hashchange";var l="trigger";var s=3;var c=typeof window!="undefined"&&window;var v=typeof document!="undefined"&&document;var h=c&&history;var p=c&&(h.location||c.location);var d=j.prototype;var m=v&&v.ontouchstart?"touchstart":"click";var b=e();var g=false;var y=false;var w;var $;var A;var x;var K;var N=[];var O=0;function S(e){return e.split(/[\/?#]/)}function T(e,t){var r=new RegExp("^"+t[f](/\*/g,"([^/?#]+?)")[f](/\.\./,".*")+"$"),n=e.match(r);if(n){return n.slice(1)}}function E(e,t){var r;return function(){clearTimeout(r);r=setTimeout(e,t)}}function P(e){w=E(R,1);c[i](u,w);c[i](o,w);v[i](m,_);if(e){R(true)}}function j(){this.$=[];e(this);b.on("stop",this.s.bind(this));b.on("emit",this.e.bind(this))}function k(e){return e[f](/^\/|\/$/,"")}function q(e){return typeof e=="string"}function D(e){return(e||p.href)[f](t,"")}function L(e){return $[0]==="#"?(e||p.href||"").split($)[1]||"":(p?D(e):e||"")[f]($,"")}function R(e){var t=O===0;if(s<=O){return}O++;N.push(function(){var t=L();if(e||t!==A){b[l]("emit",t);A=t}});if(t){var r;while(r=N.shift()){r()}O=0}}function _(e){if(e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented){return}var r=e.target;while(r&&r.nodeName!=="A"){r=r.parentNode}if(!r||r.nodeName!=="A"||r[a]("download")||!r[a]("href")||r.target&&r.target!=="_self"||r.href.indexOf(p.href.match(t)[0])===-1){return}if(r.href!==p.href&&(r.href.split("#")[0]===p.href.split("#")[0]||$[0]!=="#"&&D(r.href).indexOf($)!==0||$[0]==="#"&&r.href.split($)[0]!==p.href.split($)[0]||!z(L(r.href),r.title||v.title))){return}e.preventDefault()}function z(e,t,r){if(!h){return b[l]("emit",L(e))}e=$+k(e);t=t||v.title;r?h.replaceState(null,t,e):h.pushState(null,t,e);v.title=t;y=false;R();return y}d.m=function(e,t,r){if(q(e)&&(!t||q(t))){z(e,t,r||false)}else if(t){this.r(e,t)}else{this.r("@",e)}};d.s=function(){this.off("*");this.$=[]};d.e=function(e){this.$.concat("@").some(function(t){var r=(t==="@"?x:K)(k(e),k(t));if(typeof r!="undefined"){this[l].apply(null,[t].concat(r));return y=true}},this)};d.r=function(e,t){if(e!=="@"){e="/"+k(e);this.$.push(e)}this.on(e,t)};var B=new j;var C=B.m.bind(B);C.create=function(){var e=new j;var t=e.m.bind(e);t.stop=e.s.bind(e);return t};C.base=function(e){$=e||"#";A=L()};C.exec=function(){R(true)};C.parser=function(e,t){if(!e&&!t){x=S;K=T}if(e){x=e}if(t){K=t}};C.query=function(){var e={};var t=p.href||A;t[f](/[?&](.+?)=([^&]*)/g,function(t,r,n){e[r]=n});return e};C.stop=function(){if(g){if(c){c[n](u,w);c[n](o,w);v[n](m,_)}b[l]("stop");g=false}};C.start=function(e){if(!g){if(c){if(document.readyState==="complete"){P(e)}else{c[i]("load",function(){setTimeout(function(){P(e)},1)})}}g=true}};C.base();C.parser();return C}(); | ||
var route=function(){"use strict";var e=function(e){e=e||{};var t={},r=Array.prototype.slice;Object.defineProperties(e,{on:{value:function(r,n){if(typeof n=="function"){(t[r]=t[r]||[]).push(n)}return e},enumerable:false,writable:false,configurable:false},off:{value:function(r,n){if(r=="*"&&!n){t={}}else{if(n){var i=t[r];for(var a=0,f;f=i&&i[a];++a){if(f==n){i.splice(a--,1)}}}else{delete t[r]}}return e},enumerable:false,writable:false,configurable:false},one:{value:function(t,r){function n(){e.off(t,n);r.apply(e,arguments)}return e.on(t,n)},enumerable:false,writable:false,configurable:false},trigger:{value:function(n){var i=arguments;var a=arguments.length-1,f=new Array(a),u,o,l;for(l=0;l<a;l++){f[l]=i[l+1]}u=r.call(t[n]||[],0);for(l=0;o=u[l];++l){o.apply(e,f)}if(t["*"]&&n!="*"){e.trigger.apply(e,["*",n].concat(f))}return e},enumerable:false,writable:false,configurable:false}});return e};var t=/^.+?\/\/+[^\/]+/;var r="EventListener";var n="remove"+r;var i="add"+r;var a="hasAttribute";var f="popstate";var u="hashchange";var o="trigger";var l=3;var c=typeof window!="undefined"&&window;var s=typeof document!="undefined"&&document;var v=c&&history;var h=c&&(v.location||c.location);var p=P.prototype;var d=s&&s.ontouchstart?"touchstart":"click";var m=e();var b=false;var g=false;var y;var w;var $;var A;var x;var K=[];var N=0;function O(e){return e.split(/[\/?#]/)}function S(e,t){var r=t.replace(/\?/g,"\\?").replace(/\*/g,"([^/?#]+?)").replace(/\.\./,".*");var n=new RegExp("^"+r+"$");var i=e.match(n);if(i){return i.slice(1)}}function T(e,t){var r;return function(){clearTimeout(r);r=setTimeout(e,t)}}function E(e){y=T(L,1);c[i](f,y);c[i](u,y);s[i](d,R);if(e){L(true)}}function P(){this.$=[];e(this);m.on("stop",this.s.bind(this));m.on("emit",this.e.bind(this))}function j(e){return e.replace(/^\/|\/$/,"")}function k(e){return typeof e=="string"}function q(e){return(e||h.href).replace(t,"")}function D(e){return w[0]==="#"?(e||h.href||"").split(w)[1]||"":(h?q(e):e||"").replace(w,"")}function L(e){var t=N===0;if(l<=N){return}N++;K.push(function(){var t=D();if(e||t!==$){m[o]("emit",t);$=t}});if(t){var r;while(r=K.shift()){r()}N=0}}function R(e){if(e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented){return}var r=e.target;while(r&&r.nodeName!=="A"){r=r.parentNode}if(!r||r.nodeName!=="A"||r[a]("download")||!r[a]("href")||r.target&&r.target!=="_self"||r.href.indexOf(h.href.match(t)[0])===-1){return}if(r.href!==h.href&&(r.href.split("#")[0]===h.href.split("#")[0]||w[0]!=="#"&&q(r.href).indexOf(w)!==0||w[0]==="#"&&r.href.split(w)[0]!==h.href.split(w)[0]||!_(D(r.href),r.title||s.title))){return}e.preventDefault()}function _(e,t,r){if(!v){return m[o]("emit",D(e))}e=w+j(e);t=t||s.title;r?v.replaceState(null,t,e):v.pushState(null,t,e);s.title=t;g=false;L();return g}p.m=function(e,t,r){if(k(e)&&(!t||k(t))){_(e,t,r||false)}else if(t){this.r(e,t)}else{this.r("@",e)}};p.s=function(){this.off("*");this.$=[]};p.e=function(e){this.$.concat("@").some(function(t){var r=(t==="@"?A:x)(j(e),j(t));if(typeof r!="undefined"){this[o].apply(null,[t].concat(r));return g=true}},this)};p.r=function(e,t){if(e!=="@"){e="/"+j(e);this.$.push(e)}this.on(e,t)};var z=new P;var B=z.m.bind(z);B.create=function(){var e=new P;var t=e.m.bind(e);t.stop=e.s.bind(e);return t};B.base=function(e){w=e||"#";$=D()};B.exec=function(){L(true)};B.parser=function(e,t){if(!e&&!t){A=O;x=S}if(e){A=e}if(t){x=t}};B.query=function(){var e={};var t=h.href||$;t.replace(/[?&](.+?)=([^&]*)/g,function(t,r,n){e[r]=n});return e};B.stop=function(){if(b){if(c){c[n](f,y);c[n](u,y);s[n](d,R)}m[o]("stop");b=false}};B.start=function(e){if(!b){if(c){if(document.readyState==="complete"){E(e)}else{c[i]("load",function(){setTimeout(function(){E(e)},1)})}}b=true}};B.base();B.parser();return B}(); |
@@ -15,3 +15,2 @@ 'use strict' | ||
HAS_ATTRIBUTE = 'hasAttribute', | ||
REPLACE = 'replace', | ||
POPSTATE = 'popstate', | ||
@@ -56,4 +55,8 @@ HASHCHANGE = 'hashchange', | ||
function DEFAULT_SECOND_PARSER(path, filter) { | ||
const re = new RegExp('^' + filter[REPLACE](/\*/g, '([^/?#]+?)')[REPLACE](/\.\./, '.*') + '$'), | ||
args = path.match(re) | ||
const f = filter | ||
.replace(/\?/g, '\\?') | ||
.replace(/\*/g, '([^/?#]+?)') | ||
.replace(/\.\./, '.*') | ||
const re = new RegExp(`^${f}$`) | ||
const args = path.match(re) | ||
@@ -100,3 +103,3 @@ if (args) return args.slice(1) | ||
function normalize(path) { | ||
return path[REPLACE](/^\/|\/$/, '') | ||
return path.replace(/^\/|\/$/, '') | ||
} | ||
@@ -114,3 +117,3 @@ | ||
function getPathFromRoot(href) { | ||
return (href || loc.href)[REPLACE](RE_ORIGIN, '') | ||
return (href || loc.href).replace(RE_ORIGIN, '') | ||
} | ||
@@ -126,3 +129,3 @@ | ||
? (href || loc.href || '').split(base)[1] || '' | ||
: (loc ? getPathFromRoot(href) : href || '')[REPLACE](base, '') | ||
: (loc ? getPathFromRoot(href) : href || '').replace(base, '') | ||
} | ||
@@ -307,3 +310,3 @@ | ||
const href = loc.href || current | ||
href[REPLACE](/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v }) | ||
href.replace(/[?&](.+?)=([^&]*)/g, function(_, k, v) { q[k] = v }) | ||
return q | ||
@@ -310,0 +313,0 @@ } |
{ | ||
"name": "riot-route", | ||
"version": "3.0.0", | ||
"version": "3.0.1", | ||
"description": "Simple isomorphic router", | ||
@@ -5,0 +5,0 @@ "main": "dist/cjs.route.js", |
@@ -230,2 +230,14 @@ function fireEvent(node, eventName) { | ||
it('sets routing and filter with question mark(?)', function() { | ||
route.base('/') | ||
route('search?keyword=*&limit=*', function() { | ||
counter++ | ||
}) | ||
route('fruit') | ||
route('search?keyword=test&limit=30') | ||
fireEvent($('.tag-g'), 'click') | ||
fireEvent($('.tag-j'), 'click') | ||
expect(counter).to.be(2) | ||
}) | ||
it('gets query from url', function() { | ||
@@ -232,0 +244,0 @@ route.base('/') |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
87406
2137