JSPM

  • Created
  • Published
  • Downloads 2887
  • Score
    100M100P100Q122061F
  • License MIT

A simple router built for minimalism and speed

Package Exports

  • wayfarer

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (wayfarer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

wayfarer

NPM version build status Test coverage

A simple trie based router built for minimalism and speed. Works best with React and Browserify.

Installation

$ npm i --save wayfarer

Overview

/**
 * Initialize wayfarer.
 */

var wayfarer = require('wayfarer');
var router = wayfarer();

/**
 * Register routes.
 */

router
  .path('/', function() {console.log('/')})
  .path('/home', function() {console.log('/home')})
  .path('/404', function() {console.log('/404')})
  .path('/:user', function() {console.log('/user')});

/**
 * Match a route.
 */

router.match('/tobi')
// => '/user'

API

.path()

Register a new path. Takes a {String} pathName that calls a {Function} callback. Partial paths are supported through the /: operator. Wayfarer uses a trie to match routes, so the order in which routes are registered does not matter.

router.path('/', function() {console.log('do stuff')});
router.path('/:user', function() {console.log('do user stuff')});

.match()

Match a {String} path against the saved paths in the router. If a match is found the registered callback will be executed.

router.match('/tobi');
// => 'do user stuff'

License

MIT © Yoshua Wuyts