A simple, lightweight JavaScript API for handling browser localStorage, it is easy to pick up and use, has a reasonable footprint 2.08kb(gzipped: 0.97kb), and has no dependencies. It should not interfere with any JavaScript libraries or frameworks.
Old v1 version document preview.
Features:
๐ Has no dependencies
๐ฑ Works in all browsers
๐ฅ Heavily tested
๐ฆ Supports AMD/CommonJS
๐ฅ store.min.js 2.08kb(gzipped: 0.97kb)
Installed via npm. You will need Node.js
installed on your system.
$ npm install storejs --save
import store from 'storejs';
store('test', 'tank', 1)
Or manually download and link storejs
in your HTML, It can also be downloaded via UNPKG or jsDelivr CDN:
CDN: UNPKG | jsDelivr | Githack | Statically | bundle.run
<script src="https://unpkg.com/storejs/dist/store.js"></script>
<script type="text/javascript">
store('test', 'tank');
</script>
store(key, data); // Single storage string data
store({key: data, key2: data2}); // Bulk storage of multiple string data
store(key); // Get `key` string data
store('?key'); // Determine if the `key` exists
store(); // Get all key/data
//store(false);๐ซ // (Deprecated) because it is easy to empty the storage because of a null value or an error
//store(key, false); ๐ซ // (Deprecated)
store.set(key, data[, overwrite]); // === store(key, data);
store.set({key: data, key2: data2}) // === store({key: data, key2: data});
store.get(key[, alt]); // === store(key);
store.get('?key'); // Determine if the `key` exists
store.get('key1', 'key2', 'key3'); // Get `key1`,`key2`,`key3` data
store.remove(key); // ===store(key,false)
store.clear(); // Clean all key/data
store.keys(); // Returns an array of all the keys
store.forEach(callback); // Loop traversal, return false to end traversal
store.search(string); // Search method
store.has(key); //โ Determine if there is a return true/false
//โ Provide callback method to process data
store('test', (key,val) => {
console.log(val) // Processing the data obtained through the test here
return [3,4,5] // Return data and set store
})
store(['key', 'key2'], (key) => {
// Get data processing of multiple keys, return and save;
console.log('key:', key)
return '้ไธชๆดๆนๆฐๆฎ'
})
Store or delete string data individually store.set(key, data[, overwrite]);
. Same effect store(key, data);
.
store.set('wcj', '1') //โ 1
store.set('wcj') //โ Delete `wcj` and string data
Get the string data of the key
store.get(key[, alt])
. Same effect store(key)
.
store.get('wcj1') // Get the string data of `wcj1`
store('wcj1') // Same function as above
Bulk storage of multiple string data store.setAll(data[, overwrite])
. Same effect store({key: data, key2: data});
.
store.setAll({
"wcj1": 123,
"wcj2": 345
}) // Store two string data
store.setAll(["w1", "w2", "w3"])
// Store three strings of data
// 0โ "w1"
// 1โ "w2"
// 2โ "w3"
Get all key/data . Same effect store.getAll()
store()
.
store.getAll() // โ JSON
store() // Same function as above
Clear all key/data. store.clear()
because it is easy to empty the library because of passing in a null value or reporting an errorstore(false)
store.clear()
Return an array of all keys
. store.keys()
.
store.keys() //โ ["w1", "w2", "w3"]
Judge whether it exists, return true/false store.has(key)
.
store.has('w1'); //โ true
Delete key string data including key store.remove(key)
store.remove('w1'); // Delete w1 and return the value of w1
store('w1', false) // So also delete w1
Loop traversal, return false
to end the traversal
store.forEach((k, d) => {
console.log(k, d);
if (k== 3) return false
});
Responding to storage changes with the StorageEvent
if (window.addEventListener) {
window.addEventListener('storage', handleStorage,false);
} else if (window.attachEvent){
window.attachEvent('onstorage', handleStorage);
}
function handleStorage(e) {
if(!e) { e=window.event; }
//showStorage();
}
Property | Type | Description |
---|---|---|
key | String | The named key that was added, removed, or moddified |
oldValue | Any | The previous value(now overwritten), or null if a new item was added |
newValue | Any | The new value, or null if an item was added |
url/uri | String | The page that called the method that triggered this change |
store.set('ad', 234).get('ad')
-
store.get([key,key2])
Get method, return json -
store([key,key2])
Get method, return json -
onStorage
Method test cases, and implementation
- cookiejs ๐ช A simple, lightweight JavaScript API for handling browser cookies , it is easy to pick up and use, has a reasonable footprint(~2kb, gzipped: 0.95kb), and has no dependencies. It should not interfere with any JavaScript libraries or frameworks.
As always, thanks to our amazing contributors!
Made with action-contributors.
Licensed under the MIT License.