cookie-service-banner
Version:
[](https://badge.fury.io/js/cookie-service-banner) [](https://travis-ci.org/liyokuna/cookie-consent) [![depen
56 lines • 7.81 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
let CookieServiceService = class CookieServiceService {
constructor() {
this.GA_COOKIE_NAMES = ['__utma', '__utmb', '__utmc', '__utmz', '_ga', '_gid', '_gat', '_gat_gtag'];
}
setCookie(name, val, domain) {
const date = new Date();
const value = val;
// Set it expire in 395 days, compliance with Cookie Laws in EU
date.setTime(date.getTime() + (395 * 24 * 60 * 60 * 1000));
document.cookie = name + ' = ' + value + '; expires=' + date.toUTCString() + '; path=/';
}
setCookieWithString(name, val, domain) {
const date = new Date();
const value = val;
// Set it expire in 395 days, compliance with Cookie Laws in EU
date.setTime(date.getTime() + (395 * 24 * 60 * 60 * 1000));
document.cookie = name + ' = ' + value + '; expires=' + date.toUTCString() + '; path=/';
}
getCookie(name) {
const value = '; ' + document.cookie;
const parts = value.split('; ' + name + '=');
if (parts.length === 2) {
return parts.pop().split(';').shift();
}
}
deleteCookie(name) {
const date = new Date();
date.setTime(date.getTime() + (-1 * 24 * 60 * 60 * 1000));
document.cookie = name + '=; expires=' + date.toUTCString() + '; path=/';
}
rejectCookie(gaId) {
// disable GA
this.deleteCookie(`ga-disable-${gaId}`);
this.deleteCookie('consent');
window[`ga-disable-${gaId}`] = true;
window[`_gat_gtag_${gaId}`] = false;
this.GA_COOKIE_NAMES.forEach((cookieName) => {
this.deleteCookie(cookieName);
});
}
isAnalytics(str) {
return (/^ua-\d{4,9}-\d{1,4}$/i).test(str.toString());
}
};
CookieServiceService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieServiceService_Factory() { return new CookieServiceService(); }, token: CookieServiceService, providedIn: "root" });
CookieServiceService = __decorate([
Injectable({
providedIn: 'root'
}),
__metadata("design:paramtypes", [])
], CookieServiceService);
export { CookieServiceService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Nvb2tpZS1zZXJ2aWNlLWJhbm5lci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlL2Nvb2tpZS1zZXJ2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBRS9CO1FBQ1Esb0JBQWUsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUR2RixDQUFDO0lBR1YsU0FBUyxDQUFDLElBQVksRUFBRSxHQUFZLEVBQUUsTUFBYztRQUN2RCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNsQiwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRCxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFFO0lBQzdGLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLE1BQWM7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbEIsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0QsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLFVBQVUsQ0FBRTtJQUM3RixDQUFDO0lBRU0sU0FBUyxDQUFDLElBQVk7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDO0lBQzdFLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBWTtRQUM1QixhQUFhO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNwQyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDNUIsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRixDQUFBOztBQWpEWSxvQkFBb0I7SUFIaEMsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQzs7R0FDVyxvQkFBb0IsQ0FpRGhDO1NBakRZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG4gIHByaXZhdGUgR0FfQ09PS0lFX05BTUVTID0gWydfX3V0bWEnLCAnX191dG1iJywgJ19fdXRtYycsICdfX3V0bXonLCAnX2dhJywgJ19naWQnLCAnX2dhdCcsICdfZ2F0X2d0YWcnXTtcblxuICBwdWJsaWMgc2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsOiBib29sZWFuLCBkb21haW46IHN0cmluZykge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbDtcbiAgICAgIC8vIFNldCBpdCBleHBpcmUgaW4gMzk1IGRheXMsIGNvbXBsaWFuY2Ugd2l0aCBDb29raWUgTGF3cyBpbiBFVVxuICAgICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgKDM5NSAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTtcbiAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnID0gJyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgZGF0ZS50b1VUQ1N0cmluZygpICsgJzsgcGF0aD0vJyA7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29va2llV2l0aFN0cmluZyhuYW1lOiBzdHJpbmcsIHZhbDogc3RyaW5nLCBkb21haW46IHN0cmluZykge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbDtcbiAgICAgIC8vIFNldCBpdCBleHBpcmUgaW4gMzk1IGRheXMsIGNvbXBsaWFuY2Ugd2l0aCBDb29raWUgTGF3cyBpbiBFVVxuICAgICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgKDM5NSAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTtcbiAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnID0gJyArIHZhbHVlICsgJzsgZXhwaXJlcz0nICsgZGF0ZS50b1VUQ1N0cmluZygpICsgJzsgcGF0aD0vJyA7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKG5hbWU6IHN0cmluZykge1xuICAgICAgY29uc3QgdmFsdWUgPSAnOyAnICsgZG9jdW1lbnQuY29va2llO1xuICAgICAgY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdCgnOyAnICsgbmFtZSArICc9Jyk7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcnRzLnBvcCgpLnNwbGl0KCc7Jykuc2hpZnQoKTtcbiAgICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVDb29raWUobmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGUuc2V0VGltZShkYXRlLmdldFRpbWUoKSArICgtMSAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTtcbiAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnPTsgZXhwaXJlcz0nICsgZGF0ZS50b1VUQ1N0cmluZygpICsgJzsgcGF0aD0vJztcbiAgfVxuXG4gIHB1YmxpYyByZWplY3RDb29raWUoZ2FJZDogc3RyaW5nKSB7XG4gICAgICAvLyBkaXNhYmxlIEdBXG4gICAgICB0aGlzLmRlbGV0ZUNvb2tpZShgZ2EtZGlzYWJsZS0ke2dhSWR9YCk7XG4gICAgICB0aGlzLmRlbGV0ZUNvb2tpZSgnY29uc2VudCcpO1xuICAgICAgd2luZG93W2BnYS1kaXNhYmxlLSR7Z2FJZH1gXSA9IHRydWU7XG4gICAgICB3aW5kb3dbYF9nYXRfZ3RhZ18ke2dhSWR9YF0gPSBmYWxzZTtcbiAgICAgIHRoaXMuR0FfQ09PS0lFX05BTUVTLmZvckVhY2goKGNvb2tpZU5hbWUpID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoY29va2llTmFtZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FuYWx5dGljcyhzdHI6IHN0cmluZykge1xuICAgIHJldHVybiAoL151YS1cXGR7NCw5fS1cXGR7MSw0fSQvaSkudGVzdChzdHIudG9TdHJpbmcoKSk7XG4gIH1cbn1cbiJdfQ==