ES6 Router

A simple client side router built in ES6.

Usage

const router = new Router({ ... })
  .add(() => {
    // getPage('/');
  })
  .add(/about/, () => {
    // getPage('about');
  })
  .add('contact', () => {
    // getPage('contact');
  });

router.remove('contact');
router.navigate('about');

API

constuctor

Param Type Description
options Object Options object
options.debug boolean (false) Enable debugging
options.context Object (window) Context to add event listener to
options.startListening boolean (true) Start listening when router is created

currentRoute ⇒ string

Name of the current route

Returns: string - Current route


add(route, handler) ⇒ Router

Add a new route

Param Type Description
re string | RegExp Name of route to match
handler function Method to execute when route matches

Returns: Router - This router instance


remove(route, [handler]) ⇒ Router

Remove a route from the routerc

Param Type Description
re string | RegExp Name of route to remove
[handler] function Function handler to remove

Returns: Router - This router instance


reload() ⇒ Router

Reload the current route

Returns: Router - This router instance


check() ⇒ Router

Recheck the path and reload the page

Returns: Router - This router instance


listen([instance]) ⇒ Router

Start listening for hash changes on the window

Param Type Default Description
[instance] any Window Context to start listening on

Returns: Router - This router instance


stopListen([instance]) ⇒ Router

Stop listening for hash changes on the window

Param Type Default Description
[instance] any Window Context to stop listening on

Returns: Router - This router instance


Navigate router to path

Param Type Description
path string Path to navigate the router to

Returns: Router - This router instance


Navigate to the error page

Param Type
hash string

Returns: Router - This router instance


cleanPath(path) ⇒ string

Strip the path of slashes and hashes

Param Type Description
path string Path to clean of hashes

Returns: string - Cleaned path

License

MIT