UNPKG

@kwiz/common

Version:

KWIZ common utilities and helpers for M365 platform

61 lines 2.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cookieEnabled = exports.setCookie = exports.getCookie = exports.getAllCookies = exports.deleteCookie = void 0; const strings_1 = require("./strings"); const typecheckers_1 = require("./typecheckers"); var _zeroDay = new Date(0); var _today = new Date(); function deleteCookie(cookieName, path) { var days = (_zeroDay.getTime() - _today.getTime()) / (24 * 60 * 60 * 1000); setCookie(cookieName, "", Math.round(days), path); } exports.deleteCookie = deleteCookie; function getAllCookies(prefix) { let cookies = document.cookie.split(';'); let names = []; for (var k = 0; k < cookies.length; k++) { let cookieSplit = cookies[k].split('='); let cookieName = (0, strings_1.trim)(cookieSplit[0]); if ((0, typecheckers_1.isNullOrEmptyString)(prefix) || cookieName.indexOf(prefix) === 0) names.push(cookieName); } return names; } exports.getAllCookies = getAllCookies; /** get a cookie's value by that name, or null */ function getCookie(cookieName) { try { let cookies = document.cookie.split(';'); for (var k = 0; k < cookies.length; k++) { let cookieSplit = cookies[k].split('='); if ((0, strings_1.trim)(cookieSplit[0]) === cookieName) { return decodeURIComponent((0, strings_1.trim)(cookieSplit[1])); } } } catch (e) { } return null; } exports.getCookie = getCookie; /** set a cookie by that name and value. if you do not send expireDays, it will be a session cookie (in memory) */ function setCookie(name, value, expireDays, path) { var cookie = []; var cookieValue = `${name}=${(0, typecheckers_1.isString)(value) ? value : ""}`; cookie.push(cookieValue); if ((0, typecheckers_1.isNumeric)(expireDays)) { var d = new Date(); d.setTime(d.getTime() + (expireDays * 24 * 60 * 60 * 1000)); var cookieExpires = "expires=" + d.toUTCString(); cookie.push(cookieExpires); } var cookiePath = `${(0, typecheckers_1.isString)(path) ? `path=` + path : "path=/"}`; cookie.push(cookiePath); document.cookie = cookie.join(";"); } exports.setCookie = setCookie; function cookieEnabled() { let enabled = "navigator" in globalThis && navigator.cookieEnabled === true; return enabled; } exports.cookieEnabled = cookieEnabled; //# sourceMappingURL=cookies.js.map