/** * A simple cookie reader/writer with JSON support. * * @example * // Create a cookie * CookieManager.setCookie('username', 'JohnDoe', 7); * * @example * // Read a cookie * const username = CookieManager.getCookie('username'); * console.log(username); // Outputs: JohnDoe * * @example * // Erase a cookie * CookieManager.eraseCookie('username'); * * @example * // Set a JSON object as a cookie * const user = { name: 'John Doe', age: 30 }; * CookieManager.setJSONCookie('user', user, 7); * * @example * // Get a JSON object from a cookie * const user = CookieManager.getJSONCookie('user'); * console.log(user); // Outputs: { name: 'John Doe', age: 30 } */ // a simple cookie reader/writer with json support class CookieManager { static setCookie(name, value, days) { let expires = ""; if (days) { const date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + value + expires + "; path=/"; } static getCookie(name) { const nameEQ = name + "="; const ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) { let 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; } static deleteCookie(name) { document.cookie = name + '=; Max-Age=-99999999;'; } }