import { getUrlParams, Impression, isAnonymousMode, logger, NamiAPI, storageService, } from '@namiml/sdk-core'; function buildImpressionPayload(impression: Impression): Impression { const payload: Impression = { ...impression }; const sessionId = storageService.getSessionId(); if (sessionId) { payload.session = sessionId; } const launchId = storageService.getLaunchId(); if (launchId) { payload.launch_id = launchId; } payload.app_env = NAMI_SDK_ENV; payload.url_params = getUrlParams(); return payload; } export const postImpression = async (impression: Impression): Promise => { if (isAnonymousMode()) { return; } const payload = buildImpressionPayload(impression); try { await NamiAPI.instance.postImpression(payload); } catch (error) { logger.error('Error posting impression', error); } };