diff --git a/storage.js b/storage.js new file mode 100644 index 0000000..51d135d --- /dev/null +++ b/storage.js @@ -0,0 +1,55 @@ +class Session { + getItem(k) { + return sessionStorage.getItem(k) + } + + setItem(k, v) { + sessionStorage.setItem(k, v) + } + + removeItem(k) { + sessionStorage.removeItem(k) + } + + keys() { + return Object.keys(sessionStorage) + } + + values() { + return Object.values(sessionStorage) + } + + entries() { + return Object.entries(sessionStorage) + } +} + +export class Storage { + constructor() { + this.session = new Session() + } + + getItem(k) { + return localStorage.getItem(k) + } + + setItem(k, v) { + localStorage.setItem(k, v) + } + + removeItem(k) { + localStorage.removeItem(k) + } + + keys() { + return Object.keys(localStorage) + } + + values() { + return Object.values(localStorage) + } + + entries() { + return Object.entries(localStorage) + } +} \ No newline at end of file