/** @file * @author Edouard DUPIN * @copyright 2018, Edouard DUPIN, all right reserved * @license PROPRIETARY (see license file) */ import { Injectable } from '@angular/core'; @Injectable() export class CookiesService { constructor() {} set(cname: string, cvalue: string, exdays: number): void { if (this.get(cname) !== '') { // reset previous cookies... document.cookie = `${cname}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`; } let ddd = new Date(); ddd.setTime(ddd.getTime() + exdays * 24 * 60 * 60 * 1000); let expires = `expires=${ddd.toUTCString()}`; document.cookie = `${cname}=${cvalue};${expires};path=/`; } remove(cname: string): void { this.set(cname, '', 0); } get(cname: string): string | undefined { let name = `${cname}=`; let coolies = document.cookie.split(';'); for (let iii = 0; iii < coolies.length; iii++) { let ccc = coolies[iii]; while (ccc.charAt(0) === ' ') { ccc = ccc.substring(1); } if (ccc.indexOf(name) === 0) { return ccc.substring(name.length, ccc.length); } } return ''; } }