lockr

![Lockr logo](http://i.imgur.com/m5kPjkB.png)

  • lockr

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
lockr
0.9.0-beta.2a year ago9 years agoMinified + gzip package size for lockr in KB

Readme

Lockr logo
A minimal API wrapper for localStorage. Simple as your high-school locker.

Build Status npm version CodeClimate Dependencies devDependency Status
Lockr (pronounced /ˈlɒkəʳ/) is an extremely lightweight library (<2kb when minified), designed to facilitate how you interact with localStorage. Saving objects and arrays, numbers or other data types, accessible via a Redis-like API, heavily inspired by noderedis.

How to use lockr

In order to user lockr, you firstly need to install it in your project.
npm install lockr --save

or maybe download it manually from JSDelivr and hook it in your HTML.

API reference

``Lockr.prefix`` - String
Set a prefix to a string value that is going to be prepended to each key saved by Lockr.

Example
Lockr.prefix = 'lockr_';
Lockr.set('username', 'Coyote'); // Saved as string
localStorage.getItem('username');
> null
localStorage.getItem('lockr_username');
> {"data":"Coyote"}
Please note that when prefix is set, ``flush`` method deletes only keys that are prefixed, and ignores the rest.
``Lockr.set`` - arguments: key, value {String, Number, Array or Object}
Set a key to a particular value or a hash object (``Object` or `Array``) under a hash key.

Example
Lockr.set('username', 'Coyote'); // Saved as string
Lockr.set('user_id', 12345); // Saved as number
Lockr.set('users', [{name: 'John Doe', age: 18}, {name: 'Jane Doe', age: 19}]);

``Lockr.get`` - arguments:
key or hashkey, default value
Returns the saved value for given key, even if the saved value is hash object. If value is null or undefined it returns a default value.

Example
Lockr.get('username');
> "Coyote"

Lockr.get('user_id');
> 12345

Lockr.get('users');
>  [{name: 'John Doe', age: 18}, {name: 'Jane Doe', age: 19}]

Lockr.get('score', 0):
> 0

Lockr.set('score', 3):
Lockr.get('score', 0):
> 3

``Lockr.rm`` - arguments:
key {String}
Remove a key from ``localStorage`` entirely.

Example
Lockr.set('username', 'Coyote'); // Saved as string
Lockr.get('username');
> "Coyote"
Lockr.rm('username');
Lockr.get('username');
> undefined

``Lockr.sadd`` - arguments
key, value {String, Number, Array or Object}
Adds a unique value to a particular set under a hash key.

Example
Lockr.sadd("wat", 1); // [1]
Lockr.sadd("wat", 2); // [1, 2]
Lockr.sadd("wat", 1); // [1, 2]

``Lockr.smembers`` - arguments
key
Returns the values of a particular set under a hash key.

Example
Lockr.sadd("wat", 42);
Lockr.sadd("wat", 1337);
Lockr.smembers("wat"); // [42, 1337]

``Lockr.sismember`` - arguments
key, value
Returns whether the value exists in a particular set under a hash key.

Example
Lockr.sadd("wat", 1);
Lockr.sismember("wat", 1); // true
Lockr.sismember("wat", 2); // false

``Lockr.srem`` - arguments
key, value
Removes a value from a particular set under a hash key.

Example
Lockr.sadd("wat", 1);
Lockr.sadd("wat", 2);
Lockr.srem("wat", 1);
Lockr.smembers("wat"); // [2]

``Lockr.getAll`` - arguments:
null
Returns all saved values & objects, in an ``Array``

Example
Lockr.getAll();
> ["Coyote", 12345, [{name: 'John Doe', age: 18}, {name: 'Jane Doe', age: 19}]]

``Lockr.getAll`` - arguments:
includeKeys {Boolean}
Returns contents of localStorage as an Array of dictionaries that contain key and value of the saved item.

Example
Lockr.getAll(true);
> [{"username": "Coyote"}, {"user_id": 12345}, {"users": [{name: 'John Doe', age: 18}, {name: 'Jane Doe', age: 19}]}]
---
``Lockr.flush()`` - arguments:
null
Empties localStorage().

Example
localStorage.length;
> 3
Lockr.flush();
localStorage.length;
> 0