42 lines
1,022 B
TypeScript
42 lines
1,022 B
TypeScript
|
|
function extractCookieOnNonBrowser() {
|
||
|
|
let result: any = {};
|
||
|
|
let cookie_ent = document.cookie.split(';');
|
||
|
|
for (let i = 0; i < cookie_ent.length; i++) {
|
||
|
|
let c = cookie_ent[i].trim();
|
||
|
|
if (c.indexOf('=') > -1) {
|
||
|
|
let key = c.split('=')[0];
|
||
|
|
result[key] = c.split('=')[1];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
function setCookieOnNonBrowser(name: string, value: string) {
|
||
|
|
let current = extractCookieOnNonBrowser();
|
||
|
|
let result = '';
|
||
|
|
|
||
|
|
for (let key of Object.keys(current)) {
|
||
|
|
if (key == name) continue;
|
||
|
|
result += `${key}=${current[key]}; `;
|
||
|
|
}
|
||
|
|
|
||
|
|
result += `${name}=${value};`;
|
||
|
|
|
||
|
|
document.cookie = result;
|
||
|
|
console.log('last set cookie', result);
|
||
|
|
}
|
||
|
|
|
||
|
|
function deleteCookiesOnNonBrowser(name: string) {
|
||
|
|
let current = extractCookieOnNonBrowser();
|
||
|
|
let result = '';
|
||
|
|
if (current[name]) {
|
||
|
|
for (let key of Object.keys(current)) {
|
||
|
|
if (key == name) continue;
|
||
|
|
result += `${key}=${current[key]}; `;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
document.cookie = result;
|
||
|
|
}
|
||
|
|
|
||
|
|
export { extractCookieOnNonBrowser, setCookieOnNonBrowser, deleteCookiesOnNonBrowser };
|