JSFiddle - React, Tailwind, and code Playground

by ScottRippey

JavaScript

var Uverse = {};

var storage = window.localStorage;
if (!storage){ 
    Uverse.cache = {
        supported: false
    };
} else {
    Uverse.cache = {
        supported: true
        , store: function(key, object) {
            storage.setItem(key, JSON.encode(object));
        }
        , retrieve: function(key) {
            return JSON.decode(storage.getItem(key));
        }
        , eliminate: function(key) {
            storage.removeItem(key);
        }
        , clearAll: function() {
            storage.clear();
        }
        , getKeys: function() {
            var keys = [];
            for (var i = 0; i < storage.length; i++) {
                keys.push(storage.key(i));
            }
            return keys;
        }
        , addEvent: function(){/*TODO*/}
        , fireEvent: function(){/*TODO*/}
    };
}


// Tests:
var old = Uverse.cache.retrieve('test');
console.log("old", old);

var x = { name: "Scott", date: new Date() };
Uverse.cache.store('test', x);
x = Uverse.cache.retrieve('test');
console.log("new", x);

console.log("keys", Uverse.cache.getKeys());