Susanin
Susanin is a routing library which can be used in any JavaScript environments.
Demo
Getting Started
susanin.js
- uncompressed source code with commentssusanin.min.js
- compressed code
In the browsers just include the file in your document:
You can install Susanin on Node.js using NPM:
npm install susanin
Examples
- The simplest:
var route = Susanin; console; // => null console; // => {}
- More complex, with a param in pattern:
var route = Susanin; console; // => nullconsole; // => { id : '321' }console; // => { id : '321' }
- With query params in path:
var route = Susanin; console; // => { id : '321', category : [ 'shoes', 'new' ] }
- With an optional group:
var route = Susanin); console; // => {}console; // => { id : '321' }
- With a default value of param:
var route = Susanin; console; // => { id : '123' }console; // => { id : '321' }
- If you want to specify a regexp for param:
var route = Susanin; console; // => { id : '123' }console; // => { id : '321' }console; // => nullconsole; // => null
- The most complex:
var route = Susanin; console; // => nullconsole; // => { category : 'shoes', id : '123' }console; // => { category : 'shoes', id : '123' }console; // => { category : 'jeans', id : '123' }console; // => nullconsole; // => { category : 'shirt', id : '321' }console; // => nullconsole; // => { category : 'shoes', id : '123' }
- You can bind any data with a route and match on these:
var route = Susanin; console; // => { method : 'GET', controller : 'products' }console
- Set of routes:
var susanin = ; susanin;susanin;susanin; console; // => [ #route, { controller : 'index', action : 'build' } ]console; // => [ #route, { controller : 'products', action : 'build' } ]console; // => [ #route, { category : 'shoes' } ]
- Susanin can build a path:
var route = Susanin; console; // => '/products'console; // => '/products/cat_jeans'console; // => '/products'