@team-griffin/uteals
v3.0.0
Published
Utilities for Tealium
Downloads
4
Keywords
Readme
teal-utils
Consent
(
mappings: {
[id: string]: string,
},
) => Object
import { Consent } from '@team-griffin/uteals';
The consent module allows you to fetch and update the opt out preferences.
To create an optOut instance, call it with a mapping of category ids to aliases:
const o = new Consent({
0: 'default',
c11: 'analytics',
});
This means you can reference the preferences by their aliases rather than their ids.
get
(
categories?: Array<string>,
consent: string,
) => {
[id: string]: boolean,
}
Fetches the categories, with a boolean value to indicate whether the user has given consent for that option.
o.get([ 'default' ], '0:1|c:0') // -> { default: true }
The categories list is optional, if you call get
with no arguments, it will return all categories:
o.get(null, '0:0|c:1'). // -> { default: true, analytics: false }
set
(
categories: {
[id: string]: boolean,
},
consent: string,
) => string;
Sets the consent flag for the given categories. Any categories not passed into this method will be preserved.
o.set({
default: false,
}, '0:1|c:0')
getByOrder
(
categories: Array<string>,
consent: string,
) => {
[category: string]: {
id: string,
value: boolean,
},
}
If you don't know the ids of your categories, but you know the order they will be in, you can use this method to extract the ids and flags based purely on their order.
const o = consent();
o.getByOrder([ 'default', 'analytics' ], '0:1|c:0') // { default: { id: '0', value: false }, analytics: { id: 'c', value: true }}
Cookie Consent
(
mappings: {
[id: string]: string,
},
cookieOptions?: Object,
) => Object
import { CookieConsent } from '@team-griffin/uteals';
This variation fetches the consent data from a cookie rather than being passed in explicitly.
To create an instance, call it with a mapping of category ids to aliases:
const o = new CookieConsent({
0: 'default',
c11: 'analytics',
});
This means you can reference the preferences by their aliases rather than their ids.
get
(
categories?: Array<string>,
) => {
[id: string]: boolean,
}
Fetches the categories, with a boolean value to indicate whether the user has given consent for that option.
o.get([ 'default' ]).getOrElse() // -> { default: true }
The categories list is optional, if you call get
with no arguments, it will return all categories:
o.get().getOrElse() // -> { default: true, analytics: false }
set
(
categories: {
[id: string]: boolean,
},
) => string;
Sets the consent flag for the given categories. Any categories not passed into this method will be preserved.
o.set({
default: false,
}).getOrElse()
getByOrder
(
categories: Array<string>,
) => {
[category: string]: {
id: string,
value: boolean,
},
}
If you don't know the ids of your categories, but you know the order they will be in, you can use this method to extract the ids and flags based purely on their order.
const o = consent();
o.getByOrder([ 'default', 'analytics' ]).getOrElse() // { default: { id: '0', value: false }, analytics: { id: 'c', value: true }}
Identity Consent
(
mappings: {
[id: string]: string,
},
consent: string,
) => Object
import { IdentityConsent } from '@team-griffin/uteals';
This variation is very similar to the standard consent
except that you can provide the consent string at instantiation time.
To create an instance, call it with a mapping of category ids to aliases:
const o = new IdentityConsent({
0: 'default',
c11: 'analytics',
}, '0:1|c:0');
This means you can reference the preferences by their aliases rather than their ids.
get
(
categories?: Array<string>,
) => {
[id: string]: boolean,
}
Fetches the categories, with a boolean value to indicate whether the user has given consent for that option.
o.get([ 'default' ]) // -> { default: true }
The categories list is optional, if you call get
with no arguments, it will return all categories:
o.get() // -> { default: true, analytics: false }
set
(
categories: {
[id: string]: boolean,
},
) => string;
Sets the consent flag for the given categories. Any categories not passed into this method will be preserved.
o.set({
default: false,
}).getOrElse()
getByOrder
(
categories: Array<string>,
) => {
[category: string]: {
id: string,
value: boolean,
},
}
If you don't know the ids of your categories, but you know the order they will be in, you can use this method to extract the ids and flags based purely on their order.
const o = consent();
o.getByOrder([ 'default', 'analytics' ]) // { default: { id: '0', value: false }, analytics: { id: 'c', value: true }}