Supra_App/src/lib/helpers/cookie.ts
pakintada@gmail.com f0619c5a10 feat: migrate recipe editor
- using eventbus in recipe editor
- migrate to logging instead of console log
- fix case swap not saved, value not update after change, topping slot bug

Signed-off-by: pakintada@gmail.com <Pakin>
2026-06-19 17:27:28 +07:00

42 lines
1 KiB
TypeScript

import { logger } from '$lib/core/utils/logger';
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;
logger.info('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 };