nsgm-cli
Version:
A CLI tool to run Next/Style-components and Graphql/Mysql fullstack project
52 lines (43 loc) • 1.42 kB
text/typescript
import _ from "lodash";
export const setCookie = (name: string, value: string, cookieExpire: any) => {
const currentDate = new Date();
const currentTime = currentDate.getTime();
const expiresTime = new Date();
expiresTime.setTime(currentTime + 60 * 1000 * 60 * 24 * 30);
if (typeof document !== "undefined") {
let cookie = `${name}=${window.btoa(encodeURIComponent(value))}`;
// let cookie = name + '=' + encodeURIComponent(value)
if (cookieExpire) {
cookie += `;expires=${cookieExpire}`;
} else {
cookie += `;expires=${expiresTime.toUTCString()}`;
}
cookie += ";path=/";
document.cookie = cookie;
}
};
export const getCookie = (name: string) => {
let result = "";
if (typeof document !== "undefined") {
const cookie = document.cookie;
const cookieArr = cookie.split("; ");
_.each(cookieArr, (item) => {
const itemArr = item.split("=");
if (name === itemArr[0]) {
result = decodeURIComponent(window.atob(itemArr[1]));
return false;
}
return true;
});
}
return result;
};
export const delCookie = (name: string) => {
const currentDate = new Date();
const currentTime = currentDate.getTime();
const expiresTime = new Date();
expiresTime.setTime(currentTime - 1);
if (typeof document !== "undefined") {
document.cookie = `${name}=;expires=${expiresTime.toUTCString()};path=/`;
}
};