2026-06-19 17:27:28 +07:00
|
|
|
import { logger } from '$lib/core/utils/logger';
|
2026-02-17 14:30:02 +07:00
|
|
|
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;
|
2026-06-19 17:27:28 +07:00
|
|
|
logger.info('last set cookie', result);
|
2026-02-17 14:30:02 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 };
|