UNPKG

@benshi.ai/js-sdk

Version:

Benshi SDK

40 lines (32 loc) 1.14 kB
import { injectEvent } from '../../core/injector' import { hasRepeatedIds } from '../../utils' import { ContentBlock } from '../Navigation/typings' import { LevelProperties, LoyaltyTypes, MilestoneProperties, PromoProperties, } from './typings' import LoyaltyPropertiesTI from './typings-ti' const moduleName = ContentBlock.Loyalty const ERROR_REPEATEAD_IDS = 'repeated-ids' const logPromoEvent = (properties: PromoProperties, sendNow = false) => { if (hasRepeatedIds(properties.items)) { throw new Error(ERROR_REPEATEAD_IDS) } injectEvent( properties, [LoyaltyPropertiesTI], LoyaltyTypes.Promo, moduleName, '', sendNow) } const logLevelEvent = (properties: LevelProperties, sendNow = false) => { injectEvent(properties, [LoyaltyPropertiesTI], LoyaltyTypes.Level, moduleName, '', sendNow) } const logMilestoneEvent = (properties: MilestoneProperties, sendNow = false) => { injectEvent(properties, [LoyaltyPropertiesTI], LoyaltyTypes.Milestone, moduleName, '', sendNow) } export default { logLevelEvent, logMilestoneEvent, logPromoEvent }