wbu-design-system
Version:
WhereBy.Design is the nascent design system for WhereBy.Us
38 lines (32 loc) • 959 B
JavaScript
import { isEmpty } from 'lodash';
import { getCookie, setCookie } from 'tiny-cookie';
const cookieComplianceCookieName = 'wbuCookiePolicyAccepted';
export default {
name: 'CookieComplianceService',
version: '1.0.0',
/**
* Gets the compliance cookie from the browser, if it exists.
* @returns {string | null}
*/
getCookieComplianceCookie() {
return getCookie(cookieComplianceCookieName);
},
/**
* Determines whether the compliance cookie exists on the user's browser.
* @returns {boolean}
*/
hasCookieComplianceCookie() {
const complianceCookie = this.getCookieComplianceCookie();
return !isEmpty(complianceCookie);
},
/**
* Sets a truthy cookie in the user's browser we refer to to
* determine whether our awesome user has accepted our use
* of cookies.
*
* @returns { void }
*/
setComplianceCookie() {
return setCookie(cookieComplianceCookieName, true, { expires: '1Y' });
},
};