baseframe-js
Version:
A suite of useful Javascript plugins and functions to help with Front-end Development on websites
44 lines (43 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var Cookies = {
get: function get(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return getCookieVal(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return "";
},
set: function set(name, value) {
var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var d = new Date();
d.setTime(d.getTime() + (props.expires || 0) * 60 * 1000);
var expires = props.expires ? d.toUTCString() : null;
document.cookie = name + "=" + encodeURI(value) + (expires ? "; expires=" + expires : "") + "; path=" + (props.path ? props.path : "/") + (props.domain ? "; domain=" + props.domain : "") + (props.sameSite ? "; sameSite=" + props.sameSite : "") + (props.secure || props.sameSite && props.sameSite.toLowerCase() === "none" ? "; secure" : "");
},
remove: function remove(name, path, domain) {
if (this.get(name)) {
document.cookie = name + "=" + (path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
};
//utility
function getCookieVal(offset) {
var endstr = document.cookie.indexOf(";", offset);
if (endstr == -1) {
endstr = document.cookie.length;
}
return decodeURI(document.cookie.substring(offset, endstr));
}
var _default = exports["default"] = Cookies;