# 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*
