PageSourceSearch

http://drinkingclass.org/phpmyadmin/js/vendor/js.cookie.js?v=4.9.11

js drinkingclass.org collected 2026-09-27 14:47:53 UTC 3,883 bytes, 163 lines download raw bytes

vendor: 3,883 bytes, lines 1-163
1/*!
2 * JavaScript Cookie v2.2.1
3 * https://github.com/js-cookie/js-cookie
4 *
5 * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
6 * Released under the MIT license
7 */
8;(function (factory) {
9	var registeredInModuleLoader;
10	if (typeof define === 'function' && define.amd) {
11		define(factory);
12		registeredInModuleLoader = true;
13	}
14	if (typeof exports === 'object') {
15		module.exports = factory();
16		registeredInModuleLoader = true;
17	}
18	if (!registeredInModuleLoader) {
19		var OldCookies = window.Cookies;
20		var api = window.Cookies = factory();
21		api.noConflict = function () {
22			window.Cookies = OldCookies;
23			return api;
24		};
25	}
26}(function () {
27	function extend () {
28		var i = 0;
29		var result = {};
30		for (; i < arguments.length; i++) {
31			var attributes = arguments[ i ];
32			for (var key in attributes) {
33				result[key] = attributes[key];
34			}
35		}
36		return result;
37	}
38
39	function decode (s) {
40		return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
41	}
42
43	function init (converter) {
44		function api() {}
45
46		function set (key, value, attributes) {
47			if (typeof document === 'undefined') {
48				return;
49			}
50
51			attributes = extend({
52				path: '/'
53			}, api.defaults, attributes);
54
55			if (typeof attributes.expires === 'number') {
56				attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
57			}
58
59			// We're using "expires" because "max-age" is not supported by IE
60			attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
61
62			try {
63				var result = JSON.stringify(value);
64				if (/^[\{\[]/.test(result)) {
65					value = result;
66				}
67			} catch (e) {}
68
69			value = converter.write ?
70				converter.write(value, key) :
71				encodeURIComponent(String(value))
72					.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
73
74			key = encodeURIComponent(String(key))
75				.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
76				.replace(/[\(\)]/g, escape);
77
78			var stringifiedAttributes = '';
79			for (var attributeName in attributes) {
80				if (!attributes[attributeName]) {
81					continue;
82				}
83				stringifiedAttributes += '; ' + attributeName;
84				if (attributes[attributeName] === true) {
85					continue;
86				}
87
88				// Considers RFC 6265 section 5.2:
89				// ...
90				// 3.  If the remaining unparsed-attributes contains a %x3B (";")
91				//     character:
92				// Consume the characters of the unparsed-attributes up to,
93				// not including, the first %x3B (";") character.
94				// ...
95				stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
96			}
97
98			return (document.cookie = key + '=' + value + stringifiedAttributes);
99		}
100
101		function get (key, json) {
102			if (typeof document === 'undefined') {
103				return;
104			}
105
106			var jar = {};
107			// To prevent the for loop in the first place assign an empty array
108			// in case there are no cookies at all.
109			var cookies = document.cookie ? document.cookie.split('; ') : [];
110			var i = 0;
111
112			for (; i < cookies.length; i++) {
113				var parts = cookies[i].split('=');
114				var cookie = parts.slice(1).join('=');
115
116				if (!json && cookie.charAt(0) === '"') {
117					cookie = cookie.slice(1, -1);
118				}
119
120				try {
121					var name = decode(parts[0]);
122					cookie = (converter.read || converter)(cookie, name) ||
123						decode(cookie);
124
125					if (json) {
126						try {
127							cookie = JSON.parse(cookie);
128						} catch (e) {}
129					}
130
131					jar[name] = cookie;
132
133					if (key === name) {
134						break;
135					}
136				} catch (e) {}
137			}
138
139			return key ? jar[key] : jar;
140		}
141
142		api.set = set;
143		api.get = function (key) {
144			return get(key, false /* read as raw */);
145		};
146		api.getJSON = function (key) {
147			return get(key, true /* read as json */);
148		};
149		api.remove = function (key, attributes) {
150			set(key, '', extend(attributes, {
151				expires: -1
152			}));
153		};
154
155		api.defaults = {};
156
157		api.withConverter = init;
158
159		return api;
160	}
161
162	return init(function () {});
163}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.