Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@kiwicom/cookies

Package Overview
Dependencies
Maintainers
6
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kiwicom/cookies

Finally a proper cookie management system. :cookie:

  • 0.6.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
12
increased by100%
Maintainers
6
Weekly downloads
 
Created
Source

Cookies

Finally a proper cookie management system. :cookie:

yarn add @kiwicom/cookies

API

The API handles:

  • managing cookies
  • managing local storage
  • managing React context
  • managing 3rd party scripts
  • generating documentation

Cookies

import { Cookie, Settings, save, load, remove } from "@kiwicom/cookies";

Cookie

A TypeScript enum that contains all cookie keys. Use it when manipulating cookies.

Settings

A TypeScript / Flow type with the following keys:

  • analytics: boolean;
  • marketing: boolean;

save(key: Cookie, value: string, opts?: Options) => void

The Options object is passed to js-cookie and has these attributes:

  • domain: string
  • path: string
  • secure: boolean

Saves a cookie. Expiration is set automatically.

load(key: Cookie) => string | null

Loads a cookie.

remove(key: Cookie, opts?: Options) => void

The Options object is passed to js-cookie and has these attributes:

  • domain: string
  • path: string
  • secure: boolean

Removes a cookie.

Local storage

TODO

React context

import { Agreed, CookiesProvider, useCookies } from "@kiwicom/cookies";

Agreed

A TypeScript enum with values TRUE or FALSE that signify if consent was agreed to.

CookiesProvider

A React context provider. Props:

  • agreedInitial?: Agreed | null used for initial server-side rendering consistency

The context has the following attributes:

  • agreed: Agreed | null
  • settings: Settings
  • handleAgree(agreed: true | false) => void
  • handleChange(settings: Settings) => void

Call handleAgree when the user consents / revokes consent. Does not change settings on agreeing, so call in conjunction with handleChange.

Call handleChange when user changes his cookie preferences.

useCookies

A utility hook that retrieves the context value.

3rd party scripts

Make scripts loadable via HTTP requests, then create <script /> tags with attributes:

  • src pointing to the script's URL
  • type of "text/plain"
  • data-cookiescript with value of "necessary" | "analytics" | "marketing"

The scripts will be loaded and executed on demand, based on the user's cookie settings.

Documentation

Load the @kiwicom/cookies/cookies.json file for a list of objects with the following signature:

type Cookie = {
  name: string;
  category: string;
  type: "cookie"; // for now
  description: string;
};

License

MIT

FAQs

Package last updated on 19 Sep 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc