UNPKG

dphelper

Version:

dphelper devtools for developers

116 lines (88 loc) 2.46 kB
# cookie Cookie management utilities with security features. ## Functions | Function | Description | Example | |----------|-------------|---------| | `set` | Creates a cookie with specified properties | `dphelper.cookie.set({name: 'user', value: 'john', time: 365})` | | `get` | Retrieves a cookie value by name | `dphelper.cookie.get('user')` | | `delete` | Deletes a cookie by name | `dphelper.cookie.delete('user')` | | `removeAll` | Clears all cookies | `dphelper.cookie.removeAll()` | ## Description Complete cookie management: - **Create** - Set cookies with expiration, path, security - **Read** - Get cookie values - **Delete** - Remove specific or all cookies - **Security** - SameSite, Secure flags for CSRF protection ## Usage Examples ### Setting Cookies ```javascript // Simple cookie dphelper.cookie.set({ name: 'theme', value: 'dark' }); // Cookie with expiration (days) dphelper.cookie.set({ name: 'user', value: 'john@example.com', time: 30 // 30 days }); // Secure cookie (HTTPS only) dphelper.cookie.set({ name: 'session', value: 'abc123', secure: true, sameSite: 'Strict' }); ``` ### Reading Cookies ```javascript // Get cookie value const theme = dphelper.cookie.get('theme'); console.log(theme); // "dark" // Get session const session = dphelper.cookie.get('session'); ``` ### Deleting Cookies ```javascript // Delete specific cookie dphelper.cookie.delete('theme'); // Clear all cookies dphelper.cookie.removeAll(); ``` ### Complete Example ```javascript class CookieManager { constructor() {} // Save user preferences savePreferences(prefs) { dphelper.cookie.set({ name: 'preferences', value: JSON.stringify(prefs), time: 365, sameSite: 'Lax' }); } // Load preferences loadPreferences() { const prefs = dphelper.cookie.get('preferences'); return prefs ? JSON.parse(prefs) : null; } // Clear all clearAll() { dphelper.cookie.removeAll(); } } ``` ## Security Features - **SameSite** - Default 'Lax' for CSRF protection - **Secure** - Automatic on HTTPS - **Value Encoding** - URL encoding to prevent injection ## Details - **Author:** Dario Passariello - **Version:** 0.0.2 - **Creation Date:** 20210101 - **Last Modified:** 20240613 - **Environment:** Client-side only (browser) --- *Automatically generated document*