grid-apps-cmms/js/moto-kv.js
2017-04-18 17:09:33 -04:00

56 lines
1.2 KiB
JavaScript

"use strict";
var gs_moto_kv = {
copyright:"stewart allen <stewart@neuron.com> -- all rights reserved"
};
(function() {
if (!self.moto) self.moto = {};
if (self.moto.KV) return;
try {
self.moto.KV = self.localStorage;
self.moto.KV.setItem('__test',1);
self.moto.KV.getItem('__test');
} catch (e) {
console.log("in private browsing mode or 3rd party storage blocked. some settings will be lost.");
self.moto.KV = new KV();
}
/**
* @param {String} dbname
* @param {number} [version]
* @constructor
*/
function KV() {
this.__data__ = {};
this.__mem__ = true;
}
var KP = KV.prototype;
KP.getItem = function(key) {
return this[key];
};
KP.setItem = function(key, val) {
this.__data__[key] = val;
this[key] = val;
};
KP.removeItem = function(key) {
delete this.__data__[key];
};
KP.clear = function() {
var d = this.__data__, key;
for (key in d) {
if (d.hasOwnProperty(key)) {
delete d[key];
delete this[key];
}
}
};
})();