Skip to content

A lightweight vanilla ES6 cookies and local storage JavaScript library

License

Notifications You must be signed in to change notification settings

nirtz89/crumbsjs

Repository files navigation

🍪 CrumbsJS 🍪

A lightweight, intuitive, vanilla ES6 fueled JS cookie and local storage library.

Quick Start

Adding a single cookie or a local storage key

// Cookie
crumbs.set("Operating System","Win10"); // => true

// Local storage key
crumbs.ls.set("Operating System","Win10") // => true

Adding a single cookie that will expire in 7 days for a specific path

// The "expires" parameter is capable of taking a number, and will default as days.
crumbs.set("Name","Roy Azaeev",{type:"day",value:7},"/crumbsjs"); // => true

Adding a few cookies at once

const my_cookies = [];
my_cookies.push({name:"Operating System",value:"Win10"});
my_cookies.push({name:"Age",value:"29"});

crumbs.set(my_cookies); // => [{name:"Operating System",value:"Win10"},{name:"Age",value:"29"}]

Adding a few local storage keys at once

const my_localstorage_array = [];
my_localstorage_array.push({"key":"Operating System","value":"Win10"});
my_localstorage_array.push({"key":"Age","value":"29"});

crumbs.ls.set(my_localstorage_array); // => [{key:"Operating System",value:"Win10"},{key:"Age",value:"29"}]

Get a cookie or a local storage key value

// Cookie
let age = crumbs.get("Age"); // => "29"

// Local storage
let age = crumbs.ls.get("Age"); // => "29"

Get all cookies or all local storage keys in a key-value pair object

// Cookies
let all_cookies = crumbs.getAll(); // => [{name:"Operating System",value:"Win10"},{name:"Age",value:"29"}]

// Local storage
let all_localstorage = crumbs.ls.getAll(); // => [{key:"Operating System",value:"Win10"},{key:"Age",value:"29"}]

Delete a single cookie or local storage key

// Cookie
crumbs.delete("Operating system"); // => true

// Local storage
crumbs.ls.delete("Operating system"); // => true

Delete a few cookies at once

const my_cookies = [];
my_cookies.push("Operating system");
my_cookies.push("Age");

crumbs.delete(my_cookies); // => true

Features

  • NO DEPENDENCIES - Yup, no jQuery.
  • ES5 compatible.
  • Tested, using Jest.
  • Add one or multiple cookies or local storage keys at once
  • Update cookies or local storage keys using the set method
  • Delete one or multiple cookies at once
  • Delete local storage keys easily
  • Display a cookie or a local storage key value
  • Display all cookies or local storage keys in a key-value easy to read object
  • Fallback to cookies when localstorage is not available (Safari private browsing)

Methods

set(name, value, [expires], [domain])

Sets one or more cookies or local storage keys.

name can be set as an array of key-pair objects in the format of {name:"Age",value:29} for mass cookie set


get(name)

Gets a cookie or a local storage value by its name.


getAll()

Gets all the cookies or local storage keys in a key-pair object array.


delete(name)

Deletes a cookie or local storage key by its name.

name can be set as an array of strings for mass delete of cookies


deleteAll()

Deletes all cookies or local storage keys.

Getting Started

Install On your local PC

Using a bundler ?

You can import CrumbsJS like that

import crumbs from 'crumbsjs';

Download Sources

use npm

npm install crumbsjs

use git

git clone https://github.com/nirtz89/crumbsjs.git

What's next

  • IndexDB support
  • Session storage support

Contributers

alt text alt text alt text alt text

Thank you for making the library better!

About

A lightweight vanilla ES6 cookies and local storage JavaScript library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published