webls
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    WEB Local Storage

    npm version contributions welcome HitCount downloads

    Web localstorage helps to communicate between localstorage and application, you can manage localstorage with plain, encrypted data with it and can add listeners for keys in on localstorage. In case localstorage not available then data will be handled in Memory.


    Basic useful feature list:

    • Store any kind of data in localstorage/in memory.
    • Encrypt/decrypt data.
    • Add multiple listeners for a key.
    • Typescript.
    • Set encryption key by enviroment variable or by function
    • Can set expiry for a data to check while retrieving

    installation

    npm install webls --save
    

    Class Functions

    Functions List:

    set(key, data, isJson, encrypt, expiry) // Add data in localstorage/inmem against the given key
    get(key, isJson, isEncrypted, withExpiry) // get the data from localstorage/inmem against the given key
    clear() // clear all data
    exist(key) // give true/false if key exist or not
    remove(key) // remove the key and data from localstorage
    setEncryptKey(key) // set the key on which data will be ecrypted
    addListner(key, callback) // Add listners to the key with callback function
    removeListner(key, callback) // Remove listner from the key with callback function
    

    Params Types:

    Param Type Required Default
    key unique String Required undefined
    data Any Required undefined
    isJson boolean optional true
    encrypt boolean optional false
    expiry Date optional undefined
    withExpiry boolean optional false
    callback (newValue, oldValue, url) => {} Required undefined

    Coding Example File A

    import ls from 'webls';
    // for Ecma5 it imports like below
    // var ls = require("webls").default;
    
    ls.set('key1','dataHere');
    ls.set('key2', { temp: "mydata2" }, true); // to Object
    ls.set('key3', { temp: "mydata2" }, true, true); // to save Encrypt
    ls.set('key4', { temp: "mydata2" }, true, true, Date('10-12-2029')); // to save with expiry
    

    Coding Example File B

    import ls from 'webls';
    // for Ecma5 it imports like below
    // var drawerjs = require("drawerjs").default;
    
    ls.get("key1"); // output: 'dataHere'
    ls.get("key2", true); // output: { temp: "mydata2" }
    ls.get("key3", true, true); // output: { temp: "mydata2" }
    ls.get("key4", true, true, true); // output: {data: { temp: "mydata2" }, isExpired: false}
    
    function listenerCallback(newValue, oldValue, url) => {console.log(newValue, oldValue, url)}
    function listenerCallback2(newValue, oldValue, url) => {console.log(newValue, oldValue, url)}
    ls.addListener("key2", listenerCallback); // triggers when key2 get updated
    ls.addListener("key2", listenerCallback2); // triggers when key2 get updated
    ls.removeListener("key2", listenerCallback); // remove the listner function listenerCallback from key2 but listenerCallback2 still 
    ls.clear();

    License

    MIT
    

    Install

    npm i webls

    DownloadsWeekly Downloads

    6

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    24.3 kB

    Total Files

    20

    Last publish

    Collaborators

    • adeelakram