nxkit
Version:
This is a collection of tools, independent of any other libraries
75 lines (74 loc) • 3.19 kB
JavaScript
;
/* ***** BEGIN LICENSE BLOCK *****
* Distributed under the BSD license:
*
* Copyright (c) 2015, xuewen.chu
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of xuewen.chu nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL xuewen.chu BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ***** END LICENSE BLOCK ***** */
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("./util");
const { haveWeb } = util_1.default;
var ImplCookie;
if (haveWeb)
/**
* @class ClientCookie
*/
ImplCookie = class {
get(name) {
var i = document.cookie.match(new RegExp(String.format('(?:^|;\\s*){0}=([^;]+)(;|$)', name)));
return i && decodeURIComponent(i[1]);
}
getAll() {
var cookie = {};
for (var item of document.cookie.split(';')) {
if (item) {
var sp = item.split('=');
cookie[sp[0]] = decodeURIComponent(sp[1]);
}
}
return cookie;
}
set(name, value, expires, path, domain, secure) {
var cookie = String.format('{0}={1}{2}{3}{4}{5}', name, encodeURIComponent(value), expires ? '; Expires=' + expires.toUTCString() : '', path ? '; Path=' + path : '', domain ? '; Domain=' + domain : '', secure ? '; Secure' : '');
document.cookie = cookie;
}
remove(name, path, domain) {
this.set(name, 'NULL', new Date(0, 1, 1), path, domain);
}
removeAll() {
for (var i in this.getAll())
this.remove(i);
}
};
else
ImplCookie = class {
get(name) { return null; }
getAll() { return {}; }
set() { }
remove() { }
removeAll() { }
};
exports.default = new ImplCookie();