UNPKG

@lonewolfspace/storage-manager-ts

Version:

A universal browser storage manager with optional AES encryption support for localStorage, sessionStorage, and cookies.

45 lines (44 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageManagerConfig = void 0; const clientDefaults = { secretKey: process.env.NEXT_PUBLIC_STORAGE_SECRET, encryption: true, keyPrefix: "", }; const serverDefaults = { secretKey: process.env.STORAGE_MANAGER_SECRET, encryption: true, keyPrefix: "", }; let currentClientConfig = { ...clientDefaults }; let currentServerConfig = { ...serverDefaults }; exports.StorageManagerConfig = { /** * Set config for client-side usage (CSR) */ configureClient(config) { currentClientConfig = { ...currentClientConfig, ...config, }; }, /** * Set config for server-side usage (SSR) */ configureServer(config) { currentServerConfig = { ...currentServerConfig, ...config, }; }, /** * Auto-returns appropriate config based on runtime */ getConfig() { if (typeof window === "undefined") { return currentServerConfig; } return currentClientConfig; }, };