X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fmisc%2Fpeertube-web-storage.ts;h=6a152dd988bb3c77cf02c5b3eb70e82538775b5a;hb=6189b699fbc2d428d6baf09473356ed4568ea2a6;hp=fff2096784a8c75fe8974305b9ff072b97bf4274;hpb=572bf73be68f63ac28beb27bde289925c15be239;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/misc/peertube-web-storage.ts b/client/src/app/shared/misc/peertube-web-storage.ts index fff209678..6a152dd98 100644 --- a/client/src/app/shared/misc/peertube-web-storage.ts +++ b/client/src/app/shared/misc/peertube-web-storage.ts @@ -47,26 +47,32 @@ try { peertubeLocalStorage = localStorage peertubeSessionStorage = sessionStorage } catch (err) { - const instance = new MemoryStorage() + const instanceLocalStorage = new MemoryStorage() + const instanceSessionStorage = new MemoryStorage() - peertubeLocalStorage = sessionStorage = new Proxy(instance, { - set: function (obj, prop: string | number, value) { - if (MemoryStorage.prototype.hasOwnProperty(prop)) { - instance[prop] = value - } else { - instance.setItem(prop, value) + function proxify (instance: MemoryStorage) { + return new Proxy(instance, { + set: function (obj, prop: string | number, value) { + if (MemoryStorage.prototype.hasOwnProperty(prop)) { + instance[prop] = value + } else { + instance.setItem(prop, value) + } + return true + }, + get: function (target, name: string | number) { + if (MemoryStorage.prototype.hasOwnProperty(name)) { + return instance[name] + } + if (valuesMap.has(name)) { + return instance.getItem(name) + } } - return true - }, - get: function (target, name: string | number) { - if (MemoryStorage.prototype.hasOwnProperty(name)) { - return instance[name] - } - if (valuesMap.has(name)) { - return instance.getItem(name) - } - } - }) + }) + } + + peertubeLocalStorage = proxify(instanceLocalStorage) + peertubeSessionStorage = proxify(instanceSessionStorage) } export {