es6-router

Simple ES6 client side router with 0 dependencies

Usage no npm install needed!

<script type="module">
  import es6Router from 'https://cdn.skypack.dev/es6-router';
</script>

README

ES6 Router

Licence Tests

A simple client side router built in ES6 with 0 dependencies and TypeScript definitions.

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


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(path) ⇒ Router

Navigate router to path

Param Type Description
path string Path to navigate the router to

Returns: Router - This router instance


navigateError(hash) ⇒ Router

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


parseRoute(path) ⇒ string

Parse a route URL to get all parts

Param Type Description
path string Route to split into parts

Returns: string[] - Parts of the url

License

MIT