tiny-cookie
    TypeScript icon, indicating that this package has built-in type declarations

    2.3.2 • Public • Published

    tiny-cookie

    Build Status codecov npm npm

    English | 简体中文

    A tiny cookie manipulation plugin for browser.

    Upgrade from 1.x to 2.x: You can check the CHANGELOG.md

    Install

    NPM:

    npm install tiny-cookie

    Usage

    ES2015 (recommended)

    // You can import all methods.
    import * as Cookies from 'tiny-cookie'
     
    // Or, you can import the methods as needed.
    import { isEnabled, get, set, remove } from 'tiny-cookie'
     
    // No alias required, just imports.
    import { isCookieEnabled, getCookie, setCookie, removeCookie } from 'tiny-cookie'

    The tiny-cookie will expose an object Cookie on the global scope. Also, it can be as a CommonJS/AMD module (recommended).

    APIs

    isEnabled()

    Alias: isCookieEnabled

    Check if the cookie is enabled.

    get(key)

    Alias: getCookie

    Get the cookie value with decoding, using decodeURIComponent.

    getRaw(key)

    Alias: getRawCookie

    Get the cookie value without decoding.

    getAll()

    Alias: getAllCookies

    Get all cookies with decoding, using decodeURIComponent.

    set(key, value, options)

    Alias: setCookie

    Set a cookie with encoding the value, using encodeURIComponent. The options parameter is an object. And its property can be a valid cookie option, such as path(default: root path /), domain, expires/max-age, samesite or secure (Note: the secure flag will be set if it is an truthy value, such as true, or it will be not set). For example, you can set the expiration:

    import { setCookie } from 'tiny-cookie';
     
    const now = new Date;
    now.setMonth(now.getMonth() + 1);
     
    setCookie('foo', 'Foo', { expires: now.toGMTString() });

    The expires property value can accept a Date object, a parsable date string (parsed by Date.parse()), an integer (unit: day) or a numeric string with a suffix character which specifies the time unit.

    Unit suffix Representation
    Y One year
    M One month
    D One day
    h One hour
    m One minute
    s One second

    Examples:

    import { setCookie } from 'tiny-cookie';
    const date = new Date;
     
    date.setDate(date.getDate() + 21);
     
    setCookie('dateObject', 'A date object', { expires: date });
    setCookie('dateString', 'A parsable date string', { expires: date.toGMTString() });
    setCookie('integer', 'Seven days later', { expires: 7 });
    setCookie('stringSuffixY', 'One year later', { expires: '1Y' });
    setCookie('stringSuffixM', 'One month later', { expires: '1M' });
    setCookie('stringSuffixD', 'One day later', { expires: '1D' });
    setCookie('stringSuffixh', 'One hour later', { expires: '1h' });
    setCookie('stringSuffixm', 'Ten minutes later', { expires: '10m' });
    setCookie('stringSuffixs', 'Thirty seconds later', { expires: '30s' });

    setRaw(key, value, options)

    Alias: setRawCookie

    Set a cookie without encoding.

    remove(key, options)

    Alias: removeCookie

    Remove a cookie on the current domain. If you want to remove the parent domain's cookie, you can use the options parameter, such as remove('cookieName', { domain: 'parentdomain.com' }).

    FAQ

    1. How to use JSON as the encoder/decoder?

    You can write your cookie get and set methods with JSON support easily:

    import { getCookie, setCookie } from 'tiny-cookie';
     
    export const getJSON = (key) => getCookie(key, JSON.parse);
    export const setJSON = (key, value, options) => setCookie(key, value, JSON.stringify, options);

    License

    MIT.

    Keywords

    Install

    npm i tiny-cookie

    DownloadsWeekly Downloads

    61,773

    Version

    2.3.2

    License

    MIT

    Unpacked Size

    32.7 kB

    Total Files

    14

    Last publish

    Collaborators

    • alexchao