Skip to content

🍪 A simple frontend library for manage cookies and local-storage easily.

License

Notifications You must be signed in to change notification settings

canccevik/coocal

Repository files navigation

Coocal Logo


🖖 A simple frontend library for manage cookies and local-storage easily.

Features

  • Lightweight
  • Supports ES modules
  • Easy API for dealing with cookies
  • Expire dates for local-storage items

Installation

Using npm:

npm install coocal

Using yarn:

yarn add coocal

Using pnpm:

pnpm add coocal

Usage

import Coocal from 'coocal'

const { cookies, localStorage } = Coocal

Cookies

Create an accessible cookie from the entire site:

cookies.set('name', 'value')

Create a 5-day cookie accessible from the entire site:

cookies.set('name', 'value', { expires: { d: 5 } })

Read a cookie:

cookies.get('name') // => "value"

Read all cookies:

cookies.getAll() // => [cookie1, cookie2, ...]

Remove a cookie:

cookies.remove('name')

Remove all of the cookies:

cookies.removeAll()

Cookie Options

Set expiration date of the cookie:

cookies.set('name', 'value', { expires: { d: 7, h: 12, m: 40 } })
// Y: year, M: month, W: week, d: day, h: hour, m: minute, s: second

// or

cookies.set('name', 'value', { expires: '7d 12h 40m' })

// or

cookies.set('name', 'value', { expires: 650400 })
// 7 days, 12 hours and 40 minutes in seconds

Set path of the cookie:

cookies.set('name', 'value', { path: '/profile.html' })

Set domain of the cookie:

cookies.set('name', 'value', { domain: 'localhost' })

Set sameSite option of the cookie:

cookies.set('name', 'value', { sameSite: 'Strict' })
// SameSite: Strict, Lax, None

Set secure option of the cookie:

cookies.set('name', 'value', { secure: true })

Local Storage

Create a local storage item:

localStorage.set('name', 'value')

Create a local storage item for three days:

localStorage.set('name', 'value', { expires: { d: 3 } })

Read a local storage item:

localStorage.get('name') // => "value"

Read all local storage items:

localStorage.getAll() // => [item1, item2, ...]

Remove a local storage item:

localStorage.remove('name')

Remove all of the local storage items:

localStorage.removeAll()

Local Storage Options

Set expiration date of the local storage item:

localStorage.set('name', 'value', { expires: { W: 2, m: 30 } })
// Y: year, M: month, W: week, d: day, h: hour, m: minute, s: second

// or

localStorage.set('name', 'value', { expires: '2W 30m' })

// or

localStorage.set('name', 'value', { expires: 1211400 })
// 2 weeks and 30 minutes in seconds

Contributing

  1. Fork this repository.
  2. Create a new branch with feature name.
  3. Create your feature.
  4. Commit and set commit message with feature name.
  5. Push your code to your fork repository.
  6. Create pull request.

License

MIT