Git Product home page Git Product logo

lockr's Introduction

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 node_redis.

How to use lockr

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

bower install lockr

or you use npm to install

npm i lockr --save

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

<script src="/path/to/lockr.js" type="text/javascript"></script>

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 hash_key, 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

lockr's People

Contributors

tsironis avatar avgerin0s avatar wboka avatar georapbox avatar diablohu avatar victorquinn avatar stropitek avatar haroenv avatar jacse avatar mrjoelkemp avatar karlqumu avatar khaledelansari avatar kthejoker avatar panosjee avatar williamboman avatar jartek avatar qiansen1386 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.