Skip to content

zcorky/storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

storage

NPM version NPM quality Coverage Status Dependencies Build Status Known Vulnerabilities NPM download license issues

A minimal API wrapper for localStorages, inspired by tsironis/lockr and marcuswestin/store.js. It is written fully with Typescript.

  • 🕒 Familiar store API & patterns
  • 🔥 TypeScript

Install

$ npm install @zcorky/storage

Usage

import storage from '@zcorky/storage';

// set sets the value of the given key
// suport maxAge, unit: ms
storage.set('user', { name:'Marcus' }, 30 * 1000)

// get returns the value of the given key
storage.get('user')

// remove removes the value of the given key
storage.remove('user')

// clear clears the storage
storage.clear()

// keys returns the keys of the storage
storage.keys()

// getAll returns the all items of the storage
storage.getAll()

// has checks whether the given key exists
storage.has('user')

Enhancement

// built-in drivers
//  local       - use localStorage
//  session     - use sessionStorage
//  indexeddb   - use IndexedDB
//  service     - use service with http request
storage.setDriver('session')

// custom prefix
storage.setPrefix('my-prefix-')

Advanced Usage

1. Create a new Storage

Default storage is a global storage with singleton pattern. If you want to create a new storage, you can use storage.create() method.

const storage = storage.create(options);

2. Create Custom Driver

import { StorageDriver } from '@zcorky/storage';

// 1. Create a class implements StorageDriver
export class CustomStorage extends StorageDriver {
  ...
}

// 2. Register the driver
storage.setDriver('custom', CustomStorage)

API

Relatived

  • lockr - A minimal API wrapper for localStorages.
  • store

License

MIT © Moeover

About

A minimal API wrapper for localStorage

Resources

License

Stars

Watchers

Forks

Packages

No packages published