JavaScriptmediumJavaScript

Cookie Manager

Simplifies reading, setting, and deleting browser cookies

01

The problem

Need convenient browser cookie operations

02

The solution

JavaScript
const cookies = {
  set(name, value, days = 7) {
    const expires = new Date();
    expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
    document.cookie = `${name}=${encodeURIComponent(value)};expires=${expires.toUTCString()};path=/`;
  },
  
  get(name) {
    const nameEQ = name + "=";
    const ca = document.cookie.split(';');
    for (let i = 0; i < ca.length; i++) {
      let c = ca[i];
      while (c.charAt(0) === ' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) === 0) {
        return decodeURIComponent(c.substring(nameEQ.length, c.length));
      }
    }
    return null;
  },
  
  remove(name) {
    this.set(name, '', -1);
  },
  
  getAll() {
    const cookies = {};
    const ca = document.cookie.split(';');
    for (let i = 0; i < ca.length; i++) {
      let c = ca[i].trim();
      const [name, ...valueParts] = c.split('=');
      cookies[name] = decodeURIComponent(valueParts.join('='));
    }
    return cookies;
  }
};

03

Put it to work

Example
// Set cookie, expires in 7 days
cookies.set('username', 'JohnDoe', 7);

// Get cookie
const username = cookies.get('username');
console.log(username); // "JohnDoe"

// Get all cookies
const allCookies = cookies.getAll();
console.log(allCookies);

// Remove cookie
cookies.remove('username');