Mock session storage
by amindunited
JavaScript
const Model = (function () {
const s = {}
Object.defineProperty(s, 'setItem', {
get: () => {
return (key, value) => {
s[key] = value;
console.log('just set ', key, value, 'in', this);
}
}
});
Object.defineProperty(s, 'getItem', {
get: () => {
return (key) => {
return s[key];
}
}
});
Object.defineProperty(s, 'length', {
get: () => {
return Object.keys(s).length;
}
});
return s;
});
let m = new Model();
m.setItem('bee', 'gee');
m.setItem('gretta', 'vanfeet');
console.log('m', m);
console.log('m.setItem', m.setItem);
m.setItem('bee', 'gee');
console.log('m.getItem', m.getItem('bee'));
console.log('..............', Object.keys(m));