npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

location-history

v1.1.2

Published

Lightweight browser location history abstraction

Downloads

233

Readme

location-history travis npm downloads javascript style guide

Lightweight browser location history abstraction

Works in the browser with browserify! This module is used by WebTorrent Desktop.

install

npm install location-history

usage

var LocationHistory = require('location-history')

var location = new LocationHistory()

// Navigate to a page
location.go({ url: 'first-url', data: 'hi' })

console.log(location.current()) // { url: 'first-url', data: 'hi' }
console.log(location.url()) // 'first-url'

// Navigate to a second page
location.go({ url: 'second-url' })

console.log(location.url()) // 'second-url'

// Go back one page
location.back()

console.log(location.url()) // 'first-url'

// Go forward one page
location.forward()

console.log(location.url()) // 'second-url'

api

location = LocationHistory()

Create a new location history instance.

location.current()

Returns the current page object.

location.url()

Return the current page object's url property.

location.go(page, [callback])

Navigate to a new page. page should be an object with a url property.

Optionally, specify a setup function property to be called before the page becomes the current one. setup will be passed a callback function that should be called with a null or Error object as the first property.

location.go({
  url: 'my-url',
  setup: function (cb) {
    setTimeout(function () { // ... do any async operations
      cb(null)
    }, 100)
  }
})

Optionally, specify a destroy function property to be called after the page is replaced with another one.

location.go({
  url: 'my-url',
  destroy: function () {
    // ... do any cleanup operations
  }
})

location.back([callback])

Navigate to the previous page. If there is no previous page, this does nothing.

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.forward([callback])

Navigate to the forward page. If there is no forward page, this does nothing.

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.cancel([callback])

Navigate to the previous page, and remove the current page from the history. If there is no previous page, this does nothing.

If you want the current page to stay in history (accessible via forward()), see back().

Optionally, specify a callback function to be called after the next page is loaded (in case it has a setup function).

location.hasBack()

Returns true if there is a previous page, else false.

location.hasForward()

Returns true if there is a forward page, else false.

location.backToFirst([callback])

Navigate to the first page. Optionally, specify a callback function to be called after the first page is loaded.

location.clearForward([url])

Clear all forward pages. Useful in situations where the forward page no longer exists in the app.

Optionally, specify a url and only pages with the given url will be removed.

license

MIT. Copyright (c) Feross Aboukhadijeh.