UNPKG

@kwiz/common

Version:

KWIZ common utilities and helpers for M365 platform

59 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteCookie = deleteCookie; exports.getAllCookies = getAllCookies; exports.getCookie = getCookie; exports.setCookie = setCookie; exports.cookieEnabled = cookieEnabled; const strings_1 = require("./strings"); const typecheckers_1 = require("./typecheckers"); var _zeroDay = new Date(0); var _today = new Date(); function deleteCookie(cookieName, path) { setCookie(cookieName, "", null, path); } 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; } /** 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; } /** 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(";"); } function cookieEnabled() { let enabled = "navigator" in globalThis && navigator.cookieEnabled === true; return enabled; } //# sourceMappingURL=cookies.js.map