1.0.0 • Published 5 years ago

jason-store v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

JavaScript localStorage

Build Status Coverage Status GitHub issues GitHub forks GitHub stars npm.io store.js

A simple, lightweight JavaScript API for handling browser localStorage , it is easy to pick up and use, has a reasonable footprint 2.36kb(gzipped: 1.04kb), and has no dependencies. It should not interfere with any JavaScript libraries or frameworks.

Features:

🚀 Has no dependencies
🌱 Works in all browsers
🔥 Heavily tested
📦 Supports AMD/CommonJS
💥 store.min.js 2.36kb(gzipped: 1.04kb)

Usage

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:

<script src="https://unpkg.com/cookiejs/dist/cookie.min.js"></script>
<script type="text/javascript">
  store('test', 'tank');
</script>

Basic Usage

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 '逐个更改数据'
})

Storage Event

Responding to storage changes with the StorageEvent

if(window.addEventListener){
  window.addEventListener("storage",handle_storage,false);
}else if(window.attachEvent){
  window.attachEvent("onstorage",handle_storage);
}
function handle_storage(e){
  if(!e){e=window.event;}
  //showStorage();
}
PropertyTypeDescription
keyStringThe named key that was added, removed, or moddified
oldValueAnyThe previous value(now overwritten), or null if a new item was added
newValueAnyThe new value, or null if an item was added
url/uriStringThe page that called the method that triggered this change

Chained Call

store.set('ad', 234).get('ad')

TODO

  • store.get([key,key2]) Get method, return json
  • store([key,key2]) Get method, return json
  • onStorage Method test cases, and implementation

License

Licensed under the MIT License.