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 🙏

© 2026 – Pkg Stats / Ryan Hefner

localstorage-expiry

v2.0.2

Published

A Typescript utility for storing data in localStorage with expiration

Downloads

21

Readme

LocalStorage Expiry

A lightweight TypeScript utility for storing data in localStorage with expiration capabilities.

Features

  • Store data in localStorage with optional expiration time
  • Automatically removes expired data when retrieved
  • Type-safe with TypeScript
  • Tiny with zero dependencies
  • Simple and intuitive API

Installation

npm install localstorage-expiry

or

yarn add localstorage-expiry

Usage

Basic Usage

import LocalStorageExpiry from 'localstorage-expiry';

// Store data without expiration
LocalStorageExpiry.set('user', { name: 'John', role: 'admin' });

// Store data with 1 hour expiration
LocalStorageExpiry.set('session', { token: 'abc123' }, 3600000);

// Retrieve data
const user = LocalStorageExpiry.get('user');
const session = LocalStorageExpiry.get('session');

// Check if a key exists and hasn't expired
if (LocalStorageExpiry.exists('session')) {
  console.log('Session exists!');
}

// Get time remaining until expiry (in milliseconds)
const timeRemaining = LocalStorageExpiry.getTimeRemaining('session');
console.log(`Session expires in ${timeRemaining / 1000} seconds`);

// Remove data
LocalStorageExpiry.remove('session');

// Clear all localStorage data
LocalStorageExpiry.clear();

Advanced Usage

You can also create your own instance of the LocalStorageExpiry class:

import { LocalStorageExpiry } from 'localstorage-expiry';

const myStorage = new LocalStorageExpiry();
myStorage.set('custom', { data: 'value' }, 60000); // 1 minute expiry

API

set<T>(key: string, value: T, ttl?: number): void

Stores a value in localStorage with an optional expiration time.

  • key: The key to store the data under
  • value: The data to store
  • ttl: (Optional) Time to live in milliseconds

get<T>(key: string): T | null

Retrieves data from localStorage. Returns null if the item is expired or not found.

  • key: The key to retrieve data for

remove(key: string): void

Removes an item from localStorage.

  • key: The key to remove

clear(): void

Clears all items from localStorage.

exists(key: string): boolean

Checks if a key exists and hasn't expired.

  • key: The key to check

getTimeRemaining(key: string): number | null

Gets the time remaining before expiry in milliseconds.

  • key: The key to check
  • Returns: Time remaining in milliseconds or null if no expiry/not found

License

MIT

Credits

Original package by Habib Adebayo