32 lines
753 B
TypeScript
32 lines
753 B
TypeScript
export default class Cooker {
|
|
|
|
static set(name: string, value: string, ttlMS: number) {
|
|
let expires = "";
|
|
if (ttlMS) {
|
|
let date = new Date();
|
|
date.setTime(date.getTime() + ttlMS);
|
|
expires = "; expires=" + date.toUTCString();
|
|
}
|
|
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
|
}
|
|
|
|
static get(name: string) {
|
|
let nameSplit = name + "=";
|
|
let 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(nameSplit) == 0) {
|
|
return c.substring(nameSplit.length, c.length);
|
|
}
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
static remove(name: string) {
|
|
document.cookie = name + "=; Max-Age=-99999999;";
|
|
}
|
|
}
|