Source: lib/cookie.js

'use strict';

/* cookie操作 */
/** @module cookie */

/**
 * 设置cookie
 * @param {String} key - cookie对应的key
 * @param {String} value - cookie对应的value
 * @param {Date} expires - 过期时间
 * @notes 在默认情况下,与创建cookie的网页在同一目录或子目录下的所有网页都可以读取该cookie。
 */
function set(key, value, expires) {
    let cookieText = '';
    cookieText += encodeURIComponent(key) + '=' + encodeURIComponent(value);
    if (expires instanceof Date) {
        cookieText += ';expires=' + expires.toGMTString();
    }
    document.cookie = cookieText;
}

/**
 * 获取cookie的值
 * @param {String} key - cookie对应的key
 * @return {String} cookie key对应的value
 */
function get(key) {
    let cookieName = encodeURIComponent(key) + '=',
        cookieStart = document.cookie.indexOf(cookieName),
        cookieValue = '';
    if (cookieStart > -1) {
        let cookieEnd = document.cookie.indexOf(';', cookieStart);
        if (cookieEnd == -1) {
            cookieEnd = document.cookie.length;
        }
        cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
    }
    return cookieValue;
}

/**
 * 删除cookie
 * @param {String} key - cookie对应的key
 */
function unset(key) {
    this.set(key, '', Date(0));
}

export {
    set,
    get,
    unset,
};