import SplitIO from '../../../types/splitio'; import { IImpressionObserver } from '../impressionObserver/types'; import { IStrategy } from '../types'; /** * Debug strategy for impressions tracker. Wraps impressions to store and adds previousTime if it corresponds * * @param impressionsObserver - impression observer. Previous time (pt property) is included in impression instances * @returns Debug strategy */ export function strategyDebugFactory( impressionsObserver: IImpressionObserver ): IStrategy { return { process(impression: SplitIO.ImpressionDTO) { if (impression.properties) return true; impression.pt = impressionsObserver.testAndSet(impression); return true; } }; }