"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * @private
*/
var session = window.sessionStorage;
// 暂时注释掉还未使用的方法
// /**
//  * 获取缓存
// */
// GET:function(key:string ,def:any= null){
//     if(_.has(CACHE,key)){
//         return CACHE[key];
//     }
//     return def;
// },
// /**
//  * 设置缓存
// */
// SET:function(key:string ,value:any){
//     if(value===null){
//         _.unset(CACHE,key);
//     }else{
//         CACHE[key]==value;
//     }
// },
// /**
//  * 监听缓存，当值变化时，回调
// */
// LISTEN:function(key:string,callback:Function){
// },
/**
 * 清空缓存
*/
// function sessionClear() {
//     session.clear();
// }
/**
 *
*/
// function handler(e) {
//     sessionDelete(e.key, false);
// }
// window.addEventListener("storage", handler, false);
/**
 * 删除SESSION缓存
*/
function sessionDelete(key) {
    session.removeItem(key);
}
/**
 * 获取（传`key`参数）,设置（同时传`key`,`value`参数）
 * @param key key
 * @param value val 需要是对象或数组类型
 *
*/
function sessionData(key, value) {
    if (value === void 0) { value = undefined; }
    if (value !== undefined) {
        var txt = JSON.stringify(value);
        session.setItem(key, txt);
    }
    else {
        if (session.getItem(key)) {
            return JSON.parse(session.getItem(key));
        }
    }
    return null;
}
/**
 * 获取（传`key`参数）,设置（同时传`key`,`value`参数）
 * @param key key
 * @param value val 字符串类型
 *
*/
function sessionString(key, value) {
    if (value) {
        session.setItem(key, value);
    }
    return session.getItem(key);
}
exports.default = { sessionDelete: sessionDelete, sessionData: sessionData, sessionString: sessionString };
