in src/client/src/analytics_client/opt_in_config.ts [42:69]
public isShipperOptedIn(shipperName: ShipperName, eventType?: EventType): boolean {
if (!this.isOptedIn()) {
return false;
}
// In case of not provided a specific shipper consent, we assume opted-in
const isShipperGloballyOptedIn: boolean =
(this.optInConfig.global.shippers && this.optInConfig.global.shippers[shipperName]) ?? true;
if (!isShipperGloballyOptedIn) {
return false;
}
if (eventType) {
if (!this.isEventTypeOptedIn(eventType)) {
return false;
}
const eventTypeOptInConfig = this.optInConfig.event_types && this.optInConfig.event_types[eventType];
// In case of not provided a specific eventType-level shipper consent, we assume opted-in
const isEventTypeShipperOptedIn: boolean =
(eventTypeOptInConfig?.shippers && eventTypeOptInConfig.shippers[shipperName]) ?? true;
return isEventTypeShipperOptedIn;
} else {
return isShipperGloballyOptedIn;
}
}