b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / lib / web / mage /
Filename/home/a/home/dev2.destoffenstraat.com/lib/web/mage/polyfill.js
Size5.11 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified28-Jan-2025 06:45
Last accessed22-Aug-2025 11:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
(function (root, doc) {
'use strict';

var Storage;

try {
if (!root.localStorage || !root.sessionStorage) {
throw new Error();
}

localStorage.setItem('storage_test', 1);
localStorage.removeItem('storage_test');
} catch (e) {
/**
* Returns a storage object to shim local or sessionStorage
* @param {String} type - either 'local' or 'session'
*/
Storage = function (type) {
var data;

/**
* Creates a cookie
* @param {String} name
* @param {String} value
* @param {Integer} days
*/
function createCookie(name, value, days) {
var date, expires;

if (days) {
date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toGMTString();
} else {
expires = '';
}
doc.cookie = name + '=' + value + expires + '; path=/';
}

/**
* Reads value of a cookie
* @param {String} name
*/
function readCookie(name) {
var nameEQ = name + '=',
ca = doc.cookie.split(';'),
i = 0,
c;

for (i = 0; i < ca.length; i++) {
c = ca[i];

while (c.charAt(0) === ' ') {
c = c.substring(1, c.length);
}

if (c.indexOf(nameEQ) === 0) {
return c.substring(nameEQ.length, c.length);
}
}

return null;
}

/**
* Returns cookie name based upon the storage type.
* If this is session storage, the function returns a unique cookie per tab
*/
function getCookieName() {

if (type !== 'session') {
return 'localstorage';
}

if (!root.name) {
root.name = new Date().getTime();
}

return 'sessionStorage' + root.name;
}

/**
* Sets storage cookie to a data object
* @param {Object} dataObject
*/
function setData(dataObject) {
data = encodeURIComponent(JSON.stringify(dataObject));
createCookie(getCookieName(), data, 365);
}

/**
* Clears value of cookie data
*/
function clearData() {
createCookie(getCookieName(), '', 365);
}

/**
* @returns value of cookie data
*/
function getData() {
var dataResponse = readCookie(getCookieName());

return dataResponse ? JSON.parse(decodeURIComponent(dataResponse)) : {};
}

data = getData();

return {
length: 0,

/**
* Clears data from storage
*/
clear: function () {
data = {};
this.length = 0;
clearData();
},

/**
* Gets an item from storage
* @param {String} key
*/
getItem: function (key) {
return data[key] === undefined ? null : data[key];
},

/**
* Gets an item by index from storage
* @param {Integer} i
*/
key: function (i) {
var ctr = 0,
k;

for (k in data) {

if (data.hasOwnProperty(k)) {

// eslint-disable-next-line max-depth
if (ctr.toString() === i.toString()) {
return k;
}
ctr++;
}
}

return null;
},

/**
* Removes an item from storage
* @param {String} key
*/
removeItem: function (key) {
delete data[key];
this.length--;
setData(data);
},

/**
* Sets an item from storage
* @param {String} key
* @param {String} value
*/
setItem: function (key, value) {
data[key] = value.toString();
this.length++;
setData(data);
}
};
};

root.localStorage.prototype = root.localStorage = new Storage('local');
root.sessionStorage.prototype = root.sessionStorage = new Storage('session');
}
})(window, document);