local-storage-fallback
Version:
Check and use appropriate storage adapter for browser (localStorage, sessionStorage, cookies, memory)
1 lines • 7.53 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.localStorageFallback=t():e.localStorageFallback=t()}(self,(()=>(()=>{"use strict";var e={662:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.hasCookies=function(){var e=new l;try{var t="__test";e.setItem(t,"1");var r=e.getItem(t);return e.removeItem(t),"1"===r}catch(e){return!1}};var o=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=i(e)&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var c=a?Object.getOwnPropertyDescriptor(e,u):null;c&&(c.get||c.set)?Object.defineProperty(o,u,c):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}(r(232));function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,u(o.key),o)}}function u(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}var c="lS_",l=t.default=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.cookieOptions=Object.assign({path:"/"},t),c=void 0===t.prefix?c:t.prefix},(t=[{key:"getItem",value:function(e){var t=o.parse(document.cookie);return t&&t[c+e]?t[c+e]:null}},{key:"setItem",value:function(e,t){return document.cookie=o.serialize(c+e,t,this.cookieOptions),t}},{key:"removeItem",value:function(e){var t=Object.assign({},this.cookieOptions,{maxAge:-1});return document.cookie=o.serialize(c+e,"",t),null}},{key:"clear",value:function(){var e=o.parse(document.cookie);for(var t in e)0===t.indexOf(c)&&this.removeItem(t.substr(c.length));return null}}])&&a(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},293:(e,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function n(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._data={}},(t=[{key:"getItem",value:function(e){return this._data.hasOwnProperty(e)?this._data[e]:null}},{key:"setItem",value:function(e,t){return this._data[e]=String(t)}},{key:"removeItem",value:function(e){return delete this._data[e]}},{key:"clear",value:function(){return this._data={}}}])&&o(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()},367:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"localStorage",t=String(e).replace(/storage$/i,"").toLowerCase();if("local"===t)return i("localStorage");if("session"===t)return i("sessionStorage");if("cookie"===t)return(0,o.hasCookies)();if("memory"===t)return!0;throw new Error("Storage method `".concat(e,"` is not available.\n Please use one of the following: localStorage, sessionStorage, cookieStorage, memoryStorage."))};var o=r(662),n="__test";function i(e){try{var t=window[e];return t.setItem(n,"1"),t.removeItem(n),!0}catch(e){return!1}}},232:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e,t){const r=new u,o=e.length;if(o<2)return r;const n=t?.decode||f;let i=0;do{const t=e.indexOf("=",i);if(-1===t)break;const a=e.indexOf(";",i),u=-1===a?o:a;if(t>u){i=e.lastIndexOf(";",t-1)+1;continue}const f=c(e,i,t),s=l(e,t,f),p=e.slice(f,s);if(void 0===r[p]){let o=c(e,t+1,u),i=l(e,u,o);const a=n(e.slice(o,i));r[p]=a}i=u+1}while(i<o);return r},t.serialize=function(e,t,u){const c=u?.encode||encodeURIComponent;if(!r.test(e))throw new TypeError(`argument name is invalid: ${e}`);const l=c(t);if(!o.test(l))throw new TypeError(`argument val is invalid: ${t}`);let f=e+"="+l;if(!u)return f;if(void 0!==u.maxAge){if(!Number.isInteger(u.maxAge))throw new TypeError(`option maxAge is invalid: ${u.maxAge}`);f+="; Max-Age="+u.maxAge}if(u.domain){if(!n.test(u.domain))throw new TypeError(`option domain is invalid: ${u.domain}`);f+="; Domain="+u.domain}if(u.path){if(!i.test(u.path))throw new TypeError(`option path is invalid: ${u.path}`);f+="; Path="+u.path}if(u.expires){if(!function(e){return"[object Date]"===a.call(e)}(u.expires)||!Number.isFinite(u.expires.valueOf()))throw new TypeError(`option expires is invalid: ${u.expires}`);f+="; Expires="+u.expires.toUTCString()}if(u.httpOnly&&(f+="; HttpOnly"),u.secure&&(f+="; Secure"),u.partitioned&&(f+="; Partitioned"),u.priority)switch("string"==typeof u.priority?u.priority.toLowerCase():u.sameSite){case"low":f+="; Priority=Low";break;case"medium":f+="; Priority=Medium";break;case"high":f+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${u.priority}`)}if(u.sameSite)switch("string"==typeof u.sameSite?u.sameSite.toLowerCase():u.sameSite){case!0:case"strict":f+="; SameSite=Strict";break;case"lax":f+="; SameSite=Lax";break;case"none":f+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${u.sameSite}`)}return f};const r=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,o=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,n=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,i=/^[\u0020-\u003A\u003D-\u007E]*$/,a=Object.prototype.toString,u=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function c(e,t,r){do{const r=e.charCodeAt(t);if(32!==r&&9!==r)return t}while(++t<r);return r}function l(e,t,r){for(;t>r;){const r=e.charCodeAt(--t);if(32!==r&&9!==r)return t+1}return r}function f(e){if(-1===e.indexOf("%"))return e;try{return decodeURIComponent(e)}catch(t){return e}}}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}var o={};return(()=>{var e=o;e.default=void 0;var t=a(r(367)),n=a(r(662)),i=a(r(293));function a(e){return e&&e.__esModule?e:{default:e}}var u;u=(0,t.default)("localStorage")?window.localStorage:(0,t.default)("sessionStorage")?window.sessionStorage:(0,t.default)("cookieStorage")?new n.default:new i.default,e.default=u})(),o.default})()));