0.7.4 • Published 8 years ago

cyclejs-cookie v0.7.4

Weekly downloads
45
License
MIT
Repository
github
Last release
8 years ago

Cycle JS Cookie Driver

Cycle.js Cookie Driver, based on cookie_js library.

Install

$ npm install --save cyclejs-cookie xstream

Usage

import xs from 'xstream';
import {run} from '@cycle/xstream-run';
import {makeCookieDriver} from 'cyclejs-cookie';

function main({cookie}) {
    const cookieChangeSource$ = xs.periodic(1000);

    const cookieValue$ = cookie.get('MyCookie');

    // just for print debug
    const noop = () => undefined;
    cookieValue$.debug('cookie current value').addListener({
        next: noop,
        error: noop,
        complete: noop,
    });

    return {
        cookie: cookieChangeSource$.map((counter) => ({
            key: 'MyCookie',
            value: 'cookieValue-' + counter,
            settings: {
                expires: 30, // expiring in 30 days
            }
        }))
    };
};

run(main, {
    cookie: makeCookieDriver()
});

Api

Library export only one function: makeCookieDriver

makeCookieDriver(options = {}}

Instantiates an new cookie driver function (cookieDriver(sink$)).

options

  • decode - set cookie.decode attribute, check cookie_js documentation for details.

cookieDriver(sink$)

$sink - driver assumes that sink$ is stream of cookie setter objects. it interprete cookie setter object and set new cookie (or delete if cookie value is undefined).

Returning cookies observables functions object {get(), all()}.

  • get(cookieName) - returning stream of cookie cookieName changes, initiated by current cookie value
  • all() - returning stream of all cookies object changes, initiated by starting cookies object

cookie setter object

Driver assumes following objects on it $sink:

{
  key: 'cookieName',
  value: 'cookieValue', // if undefined, cookie will be deleted
  options: {..}
}

Options is cookie settings, like expires time. By cookie_js documentation:

The following fields can be added to the mentioned object:

keyvaluedefault value
expiresEither a number containing the days until the expiry, a date in the GMTString format or a date object.Expires when the browser is closed.
domainA string that specifies the domain that can access the cookie.The current domain.
pathA string that limits the access of the cookie to that path.The current path.
secureA boolean indicating whether the cookie shall only be accessable over a secure connection or not.false
0.7.4

8 years ago

0.7.3

8 years ago

0.7.2

8 years ago

0.7.1

8 years ago

0.7.0

8 years ago

0.6.0

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago