JSPM

  • Created
  • Published
  • Downloads 2104
  • Score
    100M100P100Q115710F
  • 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 Dependency Status Downloads

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

Installation

$ npm i --save wayfarer

Overview

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

// Register routes.

router
  .default('/404')
  .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(path, cb)

Register a new path. 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')});

.default(defaultPath)

Sets a default path to match. This is particularly useful for setting 404 pages.

router.default('/404');
router.path('/404', function() {console.log('sunglasses not found')});

.match(path)

Match a 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