‚̧Needful Program Management
    Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    mozilla-doc-cookies

    1.0.3¬†‚Äʬ†Public¬†‚Äʬ†Published

    This module was taken from a code snippet on the MDN docs for document.cookie. It has been published as an npm module to facilitate use.

    doc-cookies

    A little framework: a complete cookies reader/writer with full unicode support

    Sometimes, cookies being formatted strings, it can be intricate to deal with them in a natural way. The following library aims to abstract the access to document.cookie by defining an object (docCookies) that is partially consistent with a Storage object. It offers also a full unicode support.

    Note: For never-expire-cookies we used the arbitrarily distant date Fri, 31 Dec 9999 23:59:59 GMT. If for any reason you are afraid of such a date, use the conventional date of end of the world Tue, 19 Jan 2038 03:14:07 GMT ‚Äď which is the maximum number of seconds elapsed since since 1 January 1970 00:00:00 UTC expressible by a signed 32-bit integer (i.e.: 01111111111111111111111111111111, which is new Date(0x7fffffff * 1e3)).

    Writing a cookie

    Syntax
    docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
    Description

    Create/overwrite a cookie.

    Parameters
    name
    The name of the cookie to create/overwrite (string).
    value
    The value of the cookie (string).
    end (optional)
    The max-age in seconds (e.g. 31536e3 for a year, Infinity for a never-expires cookie), or the expires date in GMTString format or as Date object; if not specified the cookie will expire at the end of session (number ‚Äď finite or Infinity ‚Äď string, Date object or null).
    path (optional)
    The path from where the cookie will be readable. E.g., "/", "/mydir"; if not specified, defaults to the current path of the current document location (string or null). The path must be absolute (see RFC 2965). For more information on how to use relative paths in this argument, see this paragraph.
    domain (optional)
    The domain from where the cookie will be readable. E.g., "example.com", ".example.com" (includes all subdomains) or "subdomain.example.com"; if not specified, defaults to the host portion of the current document location (string or null).
    secure (optional)
    The cookie will be transmitted only over secure protocol as https (boolean or null).

    Getting a cookie

    Syntax
    docCookies.getItem(name)
    Description

    Read a cookie. If the cookie doesn't exist a null value will be returned.

    Parameters
    name
    The name of the cookie to read (string).

    Removing a cookie

    Syntax
    docCookies.removeItem(name[, path[, domain]])
    Description

    Delete a cookie.

    Parameters
    name
    The name of the cookie to remove (string).
    path (optional)
    E.g., "/", "/mydir"; if not specified, defaults to the current path of the current document location (string or null). The path must be absolute (see RFC 2965). For more information on how to use relative paths in this argument, see this paragraph.
    domain (optional)
    E.g., "example.com", ".example.com" (includes all subdomains) or "subdomain.example.com"; if not specified, defaults to the host portion of the current document location (string or null).

    Note: To delete cookies that span over subdomains, you need to explicitate the domain attribute in removeItem() as well as setItem().

    Testing a cookie

    Syntax
    docCookies.hasItem(name)
    Description

    Check whether a cookie exists in the current position.

    Parameters
    name
    The name of the cookie to test (string).

    Getting the list of all cookies

    Syntax
    docCookies.keys()
    Description

    Returns an array of all readable cookies from this location.

    Example usage:

    docCookies.setItem("test0", "Hello world!");
    docCookies.setItem("test1", "Unicode test: \u00E0\u00E8\u00EC\u00F2\u00F9", Infinity);
    docCookies.setItem("test2", "Hello world!", new Date(2020, 5, 12));
    docCookies.setItem("test3", "Hello world!", new Date(2027, 2, 3), "/blog");
    docCookies.setItem("test4", "Hello world!", "Wed, 19 Feb 2127 01:04:55 GMT");
    docCookies.setItem("test5", "Hello world!", "Fri, 20 Aug 88354 14:07:15 GMT", "/home");
    docCookies.setItem("test6", "Hello world!", 150);
    docCookies.setItem("test7", "Hello world!", 245, "/content");
    docCookies.setItem("test8", "Hello world!", null, null, "example.com");
    docCookies.setItem("test9", "Hello world!", null, null, null, true);
    docCookies.setItem("test1;=", "Safe character test;=", Infinity);
     
    alert(docCookies.keys().join("\n"));
    alert(docCookies.getItem("test1"));
    alert(docCookies.getItem("test5"));
    docCookies.removeItem("test1");
    docCookies.removeItem("test5", "/home");
    alert(docCookies.getItem("test1"));
    alert(docCookies.getItem("test5"));
    alert(docCookies.getItem("unexistingCookie"));
    alert(docCookies.getItem());
    alert(docCookies.getItem("test1;="));

    Install

    npm i mozilla-doc-cookies

    DownloadsWeekly Downloads

    40

    Version

    1.0.3

    License

    GPL-3.0

    Last publish

    Collaborators

    • avatar