koekiemonster
A node.js compatible version of cookie-monster
, which is a clone of
cookie-cutter
. We must fork deeper yessss?
Installation
The package is released in the public npm registry as koekiemonster
which is
the dutch name for cookie monster
and can be installed by running:
npm install --save koekiemonster
API
The module returns a single function that requires a reference to document. If
you are in a Node.js environment you can pass in a object instead and it should
still function as intended.
var cookie = require('koekiemonster')(document, { });
var times = parseInt(cookie.getItem('times'), 10) || 0;
cookie.setItem('times', times + 1);
The first argument is a reference to the document
so it can access document.cookie
the second argument is an object for advanced options. This allows you to specify
a custom read
and write
method for cookies.
read
Called when it needs to read all cookies and expects an array to be
returned with key=cookie
strings for each cookie.write
Called when a cookie needs to be stored, with cookie
, and meta
as arguments. Assumes it returns the cookie string once it's stored. The meta
is an object that contains the following properties:
remove
Boolean indicating if this is a removal request.value
Cookie value.key
Key of the cookie.opts
Original supplied options.
It's worth noting that if you do not supply document
as first argument we
will attempt to feature detect the existance of document
and document.cookie
automatically and default to that. In the case where it's missing, we will
default to an empty object so the following will work fine in a browser based
environment:
var cookie = require('koekiemonster')();
console.log(cookie.getItem('items'));
getItem(key)
Return the contents of a cookie for the given key name.
setItem(key, value, opts)
Set a new cookie with the given key as name and value as contents. You can use
the opts
object to configure the cookie string.
expires
Sets the expiree of the cookie.path
Path of the cookie.domain
Domain of the cookie.secure
Should the cookie be secure only.
removeItem(key, opts)
Remove a cookie with the name of the key. You can use the same opts
as the
setItem
method.
clear
Remove all cookies.
License
MIT/X11