@kwiz/common
Version:
KWIZ common utilities and helpers for M365 platform
59 lines • 2.24 kB
JavaScript
;
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