Skip to content
A lightweight vanilla ES6 cookies and local storage JavaScript library
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Fixes to gulp file and unit tests Apr 3, 2019
src add rollup and babel to bundle and convert to es5 Apr 2, 2019
test Fixes to gulp file and unit tests Apr 3, 2019
.babelrc add rollup and babel to bundle and convert to es5 Apr 2, 2019
.gitignore Update .gitignore Mar 22, 2019
LICENSE
README.md Version update and MD update Apr 5, 2019
_config.yml
crumbs.tests.js Minor version update Mar 25, 2019
gulpfile.js Fixes to gulp file and unit tests Apr 3, 2019
index.html
package-lock.json Fixes to gulp file and unit tests Apr 3, 2019
package.json Version update and MD update Apr 5, 2019

README.md

🍪 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.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

Thank you for making the library better!

You can’t perform that action at this time.