@lonewolfspace/storage-manager-ts
Version:
A universal browser storage manager with optional AES encryption support for localStorage, sessionStorage, and cookies.
34 lines (33 loc) • 1.38 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClientCookieManager = void 0;
const js_cookie_1 = __importDefault(require("js-cookie"));
const base_storage_manager_1 = require("./base-storage-manager");
class ClientCookieManager extends base_storage_manager_1.BaseStorageManager {
static setCookie(name, value, options) {
if (typeof window === "undefined") {
throw new Error("This method can only be used in client components");
}
const encryptedValue = this.encryptValue(value);
js_cookie_1.default.set(name, encryptedValue, options);
}
static getCookie(name) {
if (typeof window === "undefined") {
throw new Error("This method can only be used in client components");
}
const encryptedValue = js_cookie_1.default.get(name);
if (!encryptedValue)
return undefined;
return this.decryptValue(encryptedValue);
}
static deleteCookie(name) {
if (typeof window === "undefined") {
throw new Error("This method can only be used in client components");
}
js_cookie_1.default.remove(name);
}
}
exports.ClientCookieManager = ClientCookieManager;