-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cookies.mjs
29 lines (29 loc) · 1.24 KB
/
Cookies.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const expiredValue=new Date(0);
function toObject() {
const fodderBox={};
if (document.cookie=="") return fodderBox;
const cookiesBox=document.cookie.split("; ");
for (let cookie of cookiesBox) {
let edge=cookie.indexOf("=");
fodderBox[cookie.substring(0,edge)]=cookie.substring(edge+1);
}
return fodderBox;
}
function get(cookieName){
if (document.cookie=="") return null;
const cookiesBox=document.cookie.split("; ");
for (let cookie of cookiesBox) {
let edge=cookie.indexOf("=");
if (cookie.substring(0,edge)==cookieName) return cookie.substring(edge+1);
}
return null;
}
function set(name,value,expiresDate,path,domain) {document.cookie=name+"="+value+(expiresDate instanceof Date?";expires="+expiresDate.toUTCString()+";":"")+(typeof path=="string"?";Path="+path:"")+(typeof domain=="string"?";domain="+domain:"")}
function remove(cookieName,cookiePath,cookieDomain){set(cookieName,"",expiredValue,cookiePath,cookieDomain)}
function empty(){for (var cookie in toObject()) remove(cookie)}
function renewal(cookieName,cookiePath,cookieDomain) {
const expiresDate=new Date();
expiresDate.setFullYear(expiresDate.getFullYear()+1);
set(cookieName,get(cookieName),expiresDate,cookiePath,cookieDomain);
}
export {toObject,get,set,remove,empty,renewal}