ps

persistent-storage

Abstracts access to any storage object implementing the webstorage Storage interface, offering optional compression using lz-string

Showing:

Popularity

Downloads/wk

32

GitHub Stars

0

Maintenance

Last Commit

4yrs ago

Contributors

1

Package

Dependencies

2

Size (min+gzip)

27.4KB

License

ISC

Type Definitions

Built-In

Tree-Shakeable

No?

Categories

Readme

Build Status

persistent-storage

Abstracts access to any storage object implementing the webstorage Storage interface, and provides some extra features:

  • Seamless Serialisation / Deserialization of objects (functions and prototype etc however will not be maintained)
  • Optional seamless compression using lz-string
  • Optional seamless encryption using node crypto / browserify-crypto
  • Optional key scoping

Configuration

See interfaces for documentation of configuration object

Example Usage

//Without Scoping
var PersistentStore = require('persistent-store')

var store = new PersistentStorage({
        useCompression: false, 
        storageBackend: new StorageShim()
    })

store.setItem("myObj", {foo: "bar"})
console.log(store.getItem("myObj")) // Prints {foo: "bar"}


//With scoping
    
    var fred = new PersistentStorage({
            useCompression: true, 
            keyPrefix: 'fred'
            storageBackend: new StorageShim()
        })
        
    var bob = new  PersistentStorage({
            useCompression: false, 
            keyPrefix: 'bob'
            storageBackend: new StorageShim()
        })

    fred.setItem("name", "Fred")
    bob.setItem("name", "Bob")
    
    console.log(fred.getItem("name")) // prints Fred
    console.log(bob.getItem("name")) // prints  Bob
    

See unit tests here for further examples

Installation

persistent-storage is available as an npm package. Simply run:

npm install --save persistent-storage

A typescript definition file is provided with the package and will be automatically used by the typescript compiler

Running Unit Tests

The unit tests use mocha and phantomjs, and are setup to run by the standard npm test command.

npm install
npm test

You can also run them using the browser of your choice by opening the html file found here

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial