hash-router

0.4.0 • Public • Published

hash-router

A frontend router for the hash change event

Example

var HashRouter = require("hash-router")
 
var router = HashRouter()
router.addRoute("#/", renderHome)
router.addRoute("#/login", showLoginDialog)
 
router.on("hash", function (hash, event) {
  console.log("hash changed!", hash)
})
 
window.addEventListener("hashchange", router)
router() // start the router

Docs

type RouteHandler := (hash: String, opts: {
    params: Object,
    splats: Array<String>,
    newUrl: String,
    oldUrl: String
}) => void
 
hash-router := (opts?: {
    setRoute?: (String) => void,
    getRoute?: () => String
}) => EventEmitter & {
    (HashChangeEvent?) => void,
    go: (String) => void,
    get: () => String,
    addRoute: (pattern: String | RegExp, handler: RouteHandler) => void
}

Installation

npm install hash-router

Contributors

  • Raynos

MIT Licenced

Readme

Keywords

none

Package Sidebar

Install

npm i hash-router

Weekly Downloads

125

Version

0.4.0

License

none

Last publish

Collaborators

  • raynos