route-trie
Advanced tools
Comparing version 0.1.1 to 0.1.2
@@ -7,3 +7,3 @@ { | ||
], | ||
"version": "0.1.0", | ||
"version": "0.1.2", | ||
"main": "index.js", | ||
@@ -10,0 +10,0 @@ "repository": { |
@@ -7,3 +7,3 @@ { | ||
], | ||
"version": "0.1.0", | ||
"version": "0.1.2", | ||
"main": "index.js", | ||
@@ -10,0 +10,0 @@ "repository": { |
18
index.js
@@ -12,2 +12,3 @@ // **Github:** https://github.com/zensh/route-trie | ||
else root.Trie = factory(); | ||
}(typeof window === 'object' ? window : this, function () { | ||
@@ -18,2 +19,5 @@ 'use strict'; | ||
var parameterReg = /^\:\w+\b/; | ||
var multiSlashReg = /(\/){2,}/g; | ||
var trimSlashReg = /(^\/)|(\/$)/g; | ||
var EmptyBracketReg = /\(\)/g; | ||
@@ -28,6 +32,5 @@ function Trie(flags) { | ||
pattern = pattern | ||
.replace(/(\/)+/g, '\/') | ||
.replace(/^\//, '') | ||
.replace(/\/$/, '') | ||
.replace(/\(\)/g, ''); | ||
.replace(multiSlashReg, '\/') | ||
.replace(trimSlashReg, '') | ||
.replace(EmptyBracketReg, ''); | ||
@@ -38,3 +41,6 @@ return define(this.root, pattern.split('/'), this.flags); | ||
Trie.prototype.match = function (path) { | ||
if (path[0] === '/') path = path.slice(1); | ||
// the path should be normalized before match, just as path.normalize do in Node.js | ||
path = path | ||
.replace(multiSlashReg, '\/') | ||
.replace(trimSlashReg, ''); | ||
var frags = path.split('/'); | ||
@@ -144,4 +150,4 @@ var result = {params: {}, node: null}; | ||
Trie.NAME = 'Trie'; | ||
Trie.VERSION = 'v0.1.1'; | ||
Trie.VERSION = 'v0.1.2'; | ||
return Trie; | ||
})); |
@@ -7,3 +7,3 @@ { | ||
], | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"main": "index.js", | ||
@@ -10,0 +10,0 @@ "repository": { |
@@ -1,2 +0,2 @@ | ||
route-trie v0.1.1 [![Build Status](https://travis-ci.org/zensh/route-trie.svg)](https://travis-ci.org/zensh/route-trie) | ||
route-trie v0.1.2 [![Build Status](https://travis-ci.org/zensh/route-trie.svg)](https://travis-ci.org/zensh/route-trie) | ||
==== | ||
@@ -9,3 +9,3 @@ A trie-based URL router. | ||
** It is a different implementation from [routington](https://github.com/pillarjs/routington) ** | ||
**It is a different implementation from [routington](https://github.com/pillarjs/routington)** | ||
@@ -68,3 +68,4 @@ route-trie is a [trie](http://en.wikipedia.org/wiki/Trie)-based URL router. | ||
// assert(node !== trie.define('/post')); | ||
// assert(node === trie.define('/:type/:id([a-z0-9]{6}')); | ||
// assert(node === trie.define('/:type/:id([a-z0-9]{6})')); | ||
// assert(trie.define('/:type') === trie.define('/:type1')); | ||
``` | ||
@@ -71,0 +72,0 @@ |
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
16517
318
96