UNPKG

create-bar-project

Version:

This module helps create a base for web application projects.

41 lines (33 loc) 1.09 kB
import { CookieAttributes, get, remove, set } from 'js-cookie'; import { NextPageContext } from 'next'; import { isBrowser } from './IsBrowser'; import nextCookies from 'next-cookies'; enum CookiesKeys { userToken = 'token', } export const removeCookie = (name: string): void => { remove(name); }; export const getCookie = (name: string, ctx?: NextPageContext): string | undefined => { if (isBrowser()) { return get(name); } else if (ctx) { const cookies = nextCookies(ctx); if (cookies && cookies[name]) { return cookies[name]; } } }; export const setCookie = (name: string, value: string, options?: CookieAttributes): string | undefined => { return set(name, value, options); }; export const saveToken = (token: string): string => { setCookie(CookiesKeys.userToken, token, { expires: 9999 }); return token; }; export const getToken = (ctx?: NextPageContext): string | undefined => { return getCookie(CookiesKeys.userToken, ctx); }; export const removeToken = (): void => { return removeCookie(CookiesKeys.userToken); };