You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
842 B
JavaScript
42 lines
842 B
JavaScript
'use strict';
|
|
//Mock localStorage
|
|
function localStorageMock() {
|
|
var storage = {};
|
|
Object.defineProperties(storage, {
|
|
setItem: {
|
|
value: function(key, value) {
|
|
storage[key] = value || '';
|
|
},
|
|
enumerable: false,
|
|
writable: true
|
|
},
|
|
getItem: {
|
|
value: function(key) {
|
|
return storage[key];
|
|
},
|
|
enumerable: false,
|
|
writable: true
|
|
},
|
|
removeItem: {
|
|
value: function(key) {
|
|
delete storage[key];
|
|
},
|
|
enumerable: false,
|
|
writable: true
|
|
},
|
|
length: {
|
|
get: function() {
|
|
return Object.keys(storage).length;
|
|
},
|
|
enumerable: false
|
|
},
|
|
key: {
|
|
value: function(i) {
|
|
var aKeys = Object.keys(storage);
|
|
return aKeys[i] || null;
|
|
},
|
|
enumerable: false
|
|
}
|
|
});
|
|
return storage;
|
|
} |