safe-storage
Version:
Provides in-memory storage implementation when localStorage or sessionStorage aren't available
3 lines (2 loc) • 960 B
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e["safe-storage"]={})}(this,function(e){"use strict";var t={},o={getItem:function(e){return t[e]},setItem:function(e,o){t[e]=o},removeItem:function(e){delete t[e]},clear:function(){Object.keys(t).forEach(this.removeItem)},key:function(e){return t[Object.keys(t)[e]]},length:Object.keys(t).length},n=function(e){if("undefined"==typeof window)return!1;var t=window[e];try{var o="__storage_test__";return t.setItem(o,o),t.removeItem(o),!0}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&0!==t.length}},r=n("localStorage")?window.localStorage:o,i=n("sessionStorage")?window.sessionStorage:o;e.safeLocalStorage=r,e.safeSessionStorage=i,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=safe-storage.js.map