-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
37 lines (32 loc) · 987 Bytes
/
Copy pathmain.js
File metadata and controls
37 lines (32 loc) · 987 Bytes
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
30
31
32
33
34
35
36
37
window.DocumentCookie = {
get: function (cookieName) {
const name = cookieName + "="
const decodedCookie = decodeURIComponent(document.cookie)
return (
decodedCookie
.split(";")
.find(cookie => cookie.trim().startsWith(name))
?.substring(name.length) || null
)
},
set: function (cookieName, cookieValue, expirationDays = 365) {
if (expirationDays <= 0) return this.delete(cookieName)
const date = new Date()
date.setTime(date.getTime() + expirationDays * 24 * 60 * 60 * 1000)
const expires = "expires=" + date.toUTCString()
document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/"
return {
name: cookieName,
value: cookieValue,
expiration: date
}
},
delete: function (cookieName) {
document.cookie = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"
return {
name: cookieName,
value: null,
expiration: null
}
}
}