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