@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
15 lines (11 loc) • 522 B
text/typescript
import { ImpressionObserver } from './ImpressionObserver';
import { hash128 } from '../../utils/murmur3/murmur3_128_x86';
import { buildKey } from './buildKey';
import SplitIO from '../../../types/splitio';
export function hashImpression128(impression: SplitIO.ImpressionDTO) {
return hash128(buildKey(impression));
}
const LAST_SEEN_CACHE_SIZE = 500000; // cache up to 500k impression hashes
export function impressionObserverSSFactory() {
return new ImpressionObserver(LAST_SEEN_CACHE_SIZE, hashImpression128);
}