@amplitude/experiment-js-client
Version:
Amplitude Experiment Javascript Client SDK
17 lines (16 loc) • 793 B
TypeScript
import { ExperimentAnalyticsEvent, ExperimentAnalyticsProvider } from '../types/analytics';
/**
* A wrapper for an analytics provider which only sends one exposure event per
* flag, per variant, per session. In other words, wrapping an analytics
* provider in this class will prevent the same exposure event to be sent twice
* in one session.
*/
export declare class SessionAnalyticsProvider implements ExperimentAnalyticsProvider {
private readonly analyticsProvider;
private readonly setProperties;
private readonly unsetProperties;
constructor(analyticsProvider: ExperimentAnalyticsProvider);
track(event: ExperimentAnalyticsEvent): void;
setUserProperty?(event: ExperimentAnalyticsEvent): void;
unsetUserProperty?(event: ExperimentAnalyticsEvent): void;
}