@transcend-io/consent-manager-ui
Version:
Transcend Consent Manager reference consent UI
20 lines (18 loc) • 596 B
text/typescript
import type { AirgapAPI } from '@transcend-io/airgap.js-types';
export const arePrivacySignalsApplicable = (
airgap: AirgapAPI,
signals: ('GPC' | 'DNT')[],
): boolean => {
const privacySignals = airgap.getPrivacySignals();
const regimePurposes = airgap.getRegimePurposes();
const consent = airgap.getConsent().purposes;
return signals.some(
(signal) =>
privacySignals.has(signal) &&
[...regimePurposes].some(
(purpose) =>
consent[purpose] === false &&
airgap.getPurposeTypes()[purpose]?.optOutSignals?.includes?.(signal),
),
);
};