function newBooleanInStorage(uniqueKey) { //log('newBooleanInStorage: enter'); //log('newBooleanInStorage: uniqueKey=' + uniqueKey); var utils = {}; utils.storageKey = uniqueKey; utils.hasValue = function hasValue() { // returns true if any value has been stored for this object const key = this.storageKey; const stored = localStorage.getItem(key); const flag = (stored !== null); return flag; }; utils.set = function set(boolValue) { //log('newBooleanInStorage.utils.set: enter'); //log('newBooleanInStorage.utils.set: storageKey=' + utils.storageKey); //log('newBooleanInStorage.utils.set: boolValue=' + boolValue); var stringValue = "false"; if (boolValue) stringValue = "true"; localStorage.setItem(utils.storageKey, stringValue); //log('newBooleanInStorage.utils.set: leave'); }; utils.get = function get() { //log('newBooleanInStorage.utils.get: enter'); //log('newBooleanInStorage.utils.get: storageKey=' + utils.storageKey); var value = false; var valueStr = localStorage.getItem(utils.storageKey); if (valueStr === 'true') value = true; //log('newBooleanInStorage.utils.get: value=' + value); //log('newBooleanInStorage.utils.get: leave'); return value; }; utils.clear = function clear() { log('newBooleanInStorage.utils.clear: enter'); log('newBooleanInStorage.utils.clear: storageKey=' + utils.storageKey); localStorage.removeItem(this.storageKey); log('newBooleanInStorage.utils.clear: leave'); } //log('newBooleanInStorage: leave'); return utils; }