cookie-storage-v2
Version:
A lightweight JavaScript UMD to handle cookies through Web Storage Interface
3 lines • 5 kB
JavaScript
/*! cookieStorage@v1.1.0. Jherax 2017. Visit https://github.com/jherax/cookie-storage */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.cookieStorage=t():e.cookieStorage=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,n){"use strict";function r(e){return"[object Object]"===Object.prototype.toString.call(e)}function o(e){if(null==e||""===e)throw new Error("The key provided can not be empty")}function u(e,t,n){var r={configurable:!1,enumerable:!1,writable:!1};void 0!==n&&(r.value=n),Object.defineProperty(e,t,r)}function i(e){var t=void 0;try{t=JSON.parse(e)}catch(n){t=e}return t}Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=r,t.checkEmpty=o,t.setProperty=u,t.tryParse=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return Object.keys(t).forEach(function(n){e[n]=(0,i.tryParse)(t[n])}),e}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),a=n(2),s=function(e){return e&&e.__esModule?e:{default:e}}(a),c=/^(?:expires|max-age|path|domain|secure)$/i,CookieStorage=function(){function CookieStorage(){r(this,CookieStorage),o(this,s.default)}return u(CookieStorage,[{key:"setItem",value:function(e,t,n){if((0,i.checkEmpty)(e),c.test(e))throw new Error("The key is a reserved word, therefore not allowed");this[e]=t,"string"!=typeof t&&(t=JSON.stringify(t)),s.default.setItem(e,t,n),null===s.default.getItem(e)&&delete this[e]}},{key:"getItem",value:function(e){(0,i.checkEmpty)(e);var t=s.default.getItem(e);return null==t?(delete this[e],t=null):(t=(0,i.tryParse)(t),this[e]=t),t}},{key:"removeItem",value:function(e,t){(0,i.checkEmpty)(e),delete this[e],s.default.removeItem(e,t)}},{key:"clear",value:function(){var e=this;Object.keys(this).forEach(function(t){delete e[t]},this),s.default.clear()}},{key:"length",get:function(){return Object.keys(this).length}}]),CookieStorage}();t.default=new CookieStorage,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=this.toString();return 0===e.trim().indexOf(t)}function u(e){for(var t in e)(0,i.setProperty)(e,t);return l.get().split(";").forEach(function(t){var n=t.indexOf("="),r=t.substring(0,n).trim(),o=t.substring(n+1).trim();r&&(e[r]=decodeURIComponent(o))}),e}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),a=n(3),s=r(a),c=n(4),f=r(c),l={get:function(){return document.cookie},set:function(e){document.cookie=e},data:{}};t.default=function(){var e={setItem:function(e,t,n){n=Object.assign({path:"/"},n),l.data[e]={path:n.path};var r=l.data[e];((0,i.isObject)(n.expires)||n.expires instanceof Date)&&(r.expires=(0,f.default)(n.expires)),n.domain&&"string"==typeof n.domain&&(r.domain=n.domain.trim()),!0===n.secure&&(r.secure=!0);var o=e+"="+encodeURIComponent(t)+(0,s.default)(r);l.set(o)},getItem:function(e){var t=null,n=e+"=",r=l.get().split(";").find(o,n);return r&&(t=r.trim().substring(n.length,r.length),t=decodeURIComponent(t)),null===t&&delete l.data[e],t},removeItem:function(t,n){var r=Object.assign({},l.data[t],n);r.expires={days:-1},e.setItem(t,"",r),delete l.data[t]},clear:function(){var t=void 0,n=void 0;l.get().split(";").forEach(function(r){(n=r.indexOf("="))>-1&&(t=r.substring(0,n),e.removeItem(t.trim()))})}};return u(e)}(),e.exports=t.default},function(e,t,n){"use strict";function r(e,t){return t[e]?";"+e+"="+t[e]:""}function o(e){return""+r("expires",e)+r("domain",e)+r("path",e)+(e.secure?";secure":"")}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,e.exports=t.default},function(e,t,n){"use strict";function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},e),n=t.date instanceof Date?t.date:new Date;return+t.minutes&&n.setMinutes(n.getMinutes()+t.minutes),+t.hours&&n.setHours(n.getHours()+t.hours),+t.days&&n.setDate(n.getDate()+t.days),+t.months&&n.setMonth(n.getMonth()+t.months),+t.years&&n.setFullYear(n.getFullYear()+t.years),n}function o(e){return r(e instanceof Date?{date:e}:e).toUTCString()}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o,e.exports=t.default}])});
//# sourceMappingURL=cookie-storage.min.map