diff --git a/storage.js b/storage.js index 51d135d..0cf7f6c 100644 --- a/storage.js +++ b/storage.js @@ -27,9 +27,20 @@ class Session { export class Storage { constructor() { this.session = new Session() + this.plugins = [] + } + + addPlugin(plugin) { + this.plugins.push(plugin) } getItem(k) { + for (const plugin of this.plugins) { + const result = plugin(k) + if (result ?? undefined !== undefined) { + return result + } + } return localStorage.getItem(k) }