hiroshima

2.4.7 • Public • Published

hiroshima Build Status NPM Version License

Hiroshima is a routing library inspired by the style of the D3.js monks, out of need for a short-term working replacement for the great React Router. It is designed to be simplistic and flexible while keeping the API clean and rigid.

Usage

import {Router} from 'hiroshima';
 
function routes(router) {
    router.group(App).call(function(router) {
        router.index(Home);
 
        router.dir('about').index(About);
 
        router.dir('users').call(function(router) {
            router.index(Users);
            router.param('user_id', /\d+/).index(User);
            router.else(BadUser);
        });
 
        router.else(NotFound);
    });
}
 
const router = new Router().call(routes);
 
router.match('/'); // {components: [App, Home]}
router.match('/about'); // {components: [App, About]}
router.match('/users'); // {components: [App, Users]}
router.match('/users/123'); // {components: [App, User], params: {user_id: '123'}}
router.match('/users/foo'); // {components: [App, BadUser]}
router.match('/foo'); // {components: [App, NotFound]}

Documentation

TODO

Package Sidebar

Install

npm i hiroshima

Weekly Downloads

19

Version

2.4.7

License

MIT

Last publish

Collaborators

  • l8d