2.0.5 • Published 10 years ago

obs-router v2.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

obs-router

Mutable observable abstraction of url as route with parameters Deprecated in favor of routeemitter

build status dependencies dev-dependencies

npm

description

ObsRouter provides a two-way mapping between urls (rather pathname + query) and named routes with parameters, given a named set of pathname patterns.

Instances are EventEmitters & optionally (& by default) bind to document location in the browser, using html5-history polyfill.

Also exposes static methods, routeToUrl and urlToRoute, which both take the patterns as their first argument.

Uses route-parser to match and obtain parameters from pathnames, and node native 'querystring' for query parameters.

Check out the documentation.

links

installation

npm install --save obs-router

example

var ObsRouter = require('obs-router');
var presenter = require('./presenter');
var api = require('./api');

var router = new ObsRouter({
    home: '/',
    blog: '/blog(/tag/:tag)(/:slug)',
    contact: '/contact'
}, {
    //bindToWindow: false, // would prevent binding to document location on the browser
    initialEmit: true // cause to emit events after nextTick even though nothing has changed
});

router.on('route', function(route, params, old_route, old_params){
    presenter.updatePage(route, params);
});

router.on('blog', function(params){
    if (params){
        if (params.tag){
            api.getBlogsByTag(params.tag).then(function(blogs){
                presenter.updateBlogQuery(blogs);
            });
        } else if (params.slug){
            api.getBlogBySlug(params.slug).then(function(blog){
                presenter.updateBlog(blog);
            });
        }
    }
});

changelog

2.0.5

  • Fixed readme
  • Deprecated

2.0.4

  • One dependency for lodash utilities

2.0.3

2.0.2

  • Improved documentation
  • fixed google analytics for docs

2.0.1

  • Improved documentation
  • fixed package.json scripts.test command for unix
2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.0.0

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago