@amplitude/experiment-js-client
Version:
Amplitude Experiment Javascript Client SDK
16 lines (15 loc) • 696 B
TypeScript
import { Exposure, ExposureTrackingProvider } from '../types/exposure';
import { ExperimentUser } from '../types/user';
/**
* A wrapper for an exposure tracking provider which only sends one exposure event per
* flag, per variant, per user session. When the user identity (userId or deviceId) changes,
* the tracking cache is reset to ensure exposures are tracked for the new user session.
*/
export declare class UserSessionExposureTracker {
private readonly exposureTrackingProvider;
private tracked;
private identity;
constructor(exposureTrackingProvider: ExposureTrackingProvider);
track(exposure: Exposure, user?: ExperimentUser): void;
private identityEquals;
}