/** * External dependencies */ import type { AnalyticsSettings } from '@nelio/popups/types'; /** * Internal dependencies */ import { DEFAULT_POPUP_METAS } from '../defaults'; export function parseAnalyticsViewCount( value?: number ): number { return value ?? DEFAULT_POPUP_METAS.analytics_view_count; } export function parseAnalyticsLastView( value?: string ): string { return value ?? DEFAULT_POPUP_METAS.analytics_last_view; } export function parseAnalyticsConversionCount( value?: number ): number { return value ?? DEFAULT_POPUP_METAS.analytics_conversion_count; } export function parseAnalyticsLastConversion( value?: string ): string { return value ?? DEFAULT_POPUP_METAS.analytics_last_conversion; } export function parseAnalyticsConversionRate( value?: number ): number { return value ?? DEFAULT_POPUP_METAS.analytics_conversion_rate; } export function parseAnalyticsSettings( value?: Partial< AnalyticsSettings > ): AnalyticsSettings { if ( ! value ) { return DEFAULT_POPUP_METAS.analytics_settings; } return { isTrackingEnabled: value.isTrackingEnabled === undefined ? DEFAULT_POPUP_METAS.analytics_settings.isTrackingEnabled : value.isTrackingEnabled, trackClicksOnButtons: value.trackClicksOnButtons === undefined ? DEFAULT_POPUP_METAS.analytics_settings.trackClicksOnButtons : value.trackClicksOnButtons, trackClicksOnLinks: value.trackClicksOnLinks === undefined ? DEFAULT_POPUP_METAS.analytics_settings.trackClicksOnLinks : value.trackClicksOnLinks, trackFormSubmissions: value.trackFormSubmissions === undefined ? DEFAULT_POPUP_METAS.analytics_settings.trackFormSubmissions : value.trackFormSubmissions, }; }