kar-cw/src/service/cookies.ts

43 lines
1.1 KiB
TypeScript

/** @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 '';
}
}