npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cyclejs-cookie

v0.7.4

Published

Cookie Driver for Cycle.js, based on cookie_js

Downloads

139

Readme

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:

| key | value | default value | |:--|:--|:--| | expires | Either a number containing the days until the expiry, a date in the GMTString format or a date object. | Expires when the browser is closed. | | domain | A string that specifies the domain that can access the cookie. | The current domain. | | path | A string that limits the access of the cookie to that path. | The current path. | | secure | A boolean indicating whether the cookie shall only be accessable over a secure connection or not. | false |