{"version":3,"file":"cookie.js","sources":["cookie.js"],"sourcesContent":["// Copyright (c) Florian Hartmann, https://github.com/florian https://github.com/florian/cookie.js\r\n\r\n\t!function (document, undefined) {\r\n\r\n\tvar cookie = function () {\r\n\t return cookie.get.apply(cookie, arguments);\r\n\t};\r\n\r\n\tvar utils = cookie.utils = {\r\n\r\n\t // Is the given value an array? Use ES5 Array.isArray if it's available.\r\n\t isArray: Array.isArray || function (value) {\r\n\t\treturn Object.prototype.toString.call(value) === '[object Array]';\r\n\t },\r\n\r\n\t // Is the given value a plain object / an object whose constructor is `Object`?\r\n\t isPlainObject: function (value) {\r\n\t\treturn !!value && Object.prototype.toString.call(value) === '[object Object]';\r\n\t },\r\n\r\n\t // Convert an array-like object to an array – for example `arguments`.\r\n\t toArray: function (value) {\r\n\t\treturn Array.prototype.slice.call(value);\r\n\t },\r\n\r\n\t // Get the keys of an object. Use ES5 Object.keys if it's available.\r\n\t getKeys: Object.keys || function (obj) {\r\n\t\tvar keys = [],\r\n\t\t key = '';\r\n\t\tfor (key in obj) {\r\n\t\t if (obj.hasOwnProperty(key)) keys.push(key);\r\n\t\t}\r\n\t\treturn keys;\r\n\t },\r\n\r\n\t // Unlike JavaScript's built-in escape functions, this method\r\n\t // only escapes characters that are not allowed in cookies.\r\n\t encode: function (value) {\r\n\t\treturn String(value).replace(/[,;\"\\\\=\\s%]/g, function (character) {\r\n\t\t return encodeURIComponent(character);\r\n\t\t});\r\n\t },\r\n\r\n\t decode: function (value) {\r\n\t\treturn decodeURIComponent(value);\r\n\t },\r\n\r\n\t // Return fallback if the value is not defined, otherwise return value.\r\n\t retrieve: function (value, fallback) {\r\n\t\treturn value == null ? fallback : value;\r\n\t }\r\n\r\n\t};\r\n\r\n\tcookie.defaults = {};\r\n\r\n\tcookie.expiresMultiplier = 60 * 60 * 24;\r\n\r\n\tcookie.set = function (key, value, options) {\r\n\t if (utils.isPlainObject(key)) {\r\n\t\t// `key` contains an object with keys and values for cookies, `value` contains the options object.\r\n\r\n\t\tfor (var k in key) {\r\n\t\t if (key.hasOwnProperty(k)) this.set(k, key[k], value);\r\n\t\t}\r\n\t } else {\r\n\t\toptions = utils.isPlainObject(options) ? options : { expires: options };\r\n\r\n\t\t// Empty string for session cookies.\r\n\t\tvar expires = options.expires !== undefined ? options.expires : (this.defaults.expires || ''),\r\n\t\t\texpiresType = typeof(expires);\r\n\r\n\t\tif (expiresType === 'string' && expires !== '') expires = new Date(expires);\r\n\t\telse if (expiresType === 'number') expires = new Date(+new Date + 1000 * this.expiresMultiplier * expires); // This is needed because IE does not support the `max-age` cookie attribute.\r\n\r\n\t\tif (expires !== '' && 'toUTCString' in expires) expires = ';expires=' + expires.toUTCString();\r\n\r\n\t\tvar path = options.path || this.defaults.path;\r\n\t\tpath = path ? ';path=' + path : '';\r\n\r\n\t\tvar domain = options.domain || this.defaults.domain;\r\n\t\tdomain = domain ? ';domain=' + domain : '';\r\n\r\n\t\tvar secure = options.secure || this.defaults.secure ? ';secure' : '';\r\n\t\tif (options.secure === false) secure = '';\r\n\r\n\t\tvar sameSite = options.sameSite || this.defaults.sameSite;\r\n\t\tsameSite = sameSite ? ';SameSite=' + sameSite : '';\r\n\t\tif (options.sameSite === null) sameSite = '';\r\n\r\n\t\ttry {\r\n\t\t\tdocument.cookie = utils.encode(key) + '=' + utils.encode(value) + expires + path + domain + secure + sameSite;\r\n\t\t} catch ( e ) {\r\n\t\t\t// Die quietly\r\n\t\t}\r\n\t }\r\n\r\n\t return this; // Return the `cookie` object to make chaining possible.\r\n\t};\r\n\r\n\tcookie.setDefault = function (key, value, options) {\r\n\t if (utils.isPlainObject(key)) {\r\n\t\tfor (var k in key) {\r\n\t\t if (this.get(k) === undefined) this.set(k, key[k], value);\r\n\t\t}\r\n\t\treturn cookie;\r\n\t } else {\r\n\t\tif (this.get(key) === undefined) return this.set.apply(this, arguments);\r\n\t }\r\n\t},\r\n\r\n\tcookie.remove = function (keys) {\r\n\t keys = utils.isArray(keys) ? keys : utils.toArray(arguments);\r\n\r\n\t for (var i = 0, l = keys.length; i < l; i++) {\r\n\t\tthis.set(keys[i], '', -1);\r\n\t }\r\n\r\n\t return this; // Return the `cookie` object to make chaining possible.\r\n\t};\r\n\r\n\tcookie.removeSpecific = function (keys, options) {\r\n\t if (!options) return this.remove(keys);\r\n\r\n\t keys = utils.isArray(keys) ? keys : [keys];\r\n\t options.expires = -1;\r\n\r\n\t for (var i = 0, l = keys.length; i < l; i++) {\r\n\t\tthis.set(keys[i], '', options);\r\n\t }\r\n\r\n\t return this; // Return the `cookie` object to make chaining possible.\r\n\t};\r\n\r\n\tcookie.empty = function () {\r\n\t return this.remove(utils.getKeys(this.all()));\r\n\t};\r\n\r\n\tcookie.get = function (keys, fallback) {\r\n\t var cookies = this.all();\r\n\r\n\t if (utils.isArray(keys)) {\r\n\t\tvar result = {};\r\n\r\n\t\tfor (var i = 0, l = keys.length; i < l; i++) {\r\n\t\t var value = keys[i];\r\n\t\t result[value] = utils.retrieve(cookies[value], fallback);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\r\n\t } else return utils.retrieve(cookies[keys], fallback);\r\n\t};\r\n\r\n\tcookie.all = function () {\r\n\t try {\r\n\t\tif (document.cookie === '') return {};\r\n\r\n\t\tvar cookies = document.cookie.split('; '),\r\n\t\t\tresult = {};\r\n\r\n\t\tfor (var i = 0, l = cookies.length; i < l; i++) {\r\n\t\t\tvar item = cookies[i].split('=');\r\n\t\t\tvar key = utils.decode(item.shift());\r\n\t\t\tvar value = utils.decode(item.join('='));\r\n\t\t\tresult[key] = value;\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t } catch ( e ) {\r\n\t\treturn {};\r\n\t }\r\n\t};\r\n\r\n\tcookie.enabled = function () {\r\n\t if (navigator.cookieEnabled) return true;\r\n\r\n\t var ret = cookie.set('_', '_').get('_') === '_';\r\n\t cookie.remove('_');\r\n\t return ret;\r\n\t};\r\n\r\n\t// If an AMD loader is present use AMD.\r\n\t// If a CommonJS loader is present use CommonJS.\r\n\t// Otherwise assign the `cookie` object to the global scope.\r\n\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine(function () {\r\n\t\t\treturn {cookie: cookie};\r\n\t\t});\r\n\t} else if (typeof exports !== 'undefined') {\r\n\t\texports.cookie = cookie;\r\n\t} else window.cookie = cookie;\r\n\r\n// If used e.g. with Browserify and CommonJS, document is not declared.\r\n}(typeof document === 'undefined' ? null : document);\r\n"],"names":["document","undefined","cookie","get","apply","arguments","utils","isArray","Array","value","Object","prototype","toString","call","isPlainObject","toArray","slice","getKeys","keys","obj","key","hasOwnProperty","push","encode","String","replace","character","encodeURIComponent","decode","decodeURIComponent","retrieve","fallback","defaults","expiresMultiplier","set","options","k","this","expires","expiresType","Date","toUTCString","path","domain","secure","sameSite","e","setDefault","remove","i","l","length","removeSpecific","empty","all","cookies","result","split","item","shift","join","enabled","ret","navigator","cookieEnabled","define","amd","exports","window"],"mappings":"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"}