Description
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.
lockr alternatives and similar libraries
Based on the "Storage" category.
Alternatively, view lockr alternatives based on common mentions on social networks and blogs.
-
localForage
💾 Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API. -
jquery-cookie
DISCONTINUED. A simple, lightweight jQuery plugin for reading, writing and deleting cookies. -
Lovefield
DISCONTINUED. Lovefield is a relational database for web apps. Written in JavaScript, works cross-browser. Provides SQL-like APIs that are fast, safe, and easy to use. -
cookies.js
🍫 Tastier cookies, local, session, and db storage in a tiny package. Includes subscribe() events for changes. -
Hadmean
Generate powerful admin apps without writing a single line of code - Run `npx dashpress` to see some magic! -
proxy-web-storage
stokado can proxy objects of any storage-like, providing getter/setter syntax sugars, serialization, subscription listening, expiration setting, one-time value retrieval.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of lockr or a related project?
Popular Comparisons
README
A minimal API wrapper for localStorage. Simple as your high-school locker.
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
orArray
) 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