UNPKG

@comparaonline/event-tracker

Version:

This library it's an interface between any frontend application and some event tracking platforms, currently Snowplow and Tag Manager.

48 lines (47 loc) 3.25 kB
import type { EventName } from '../constants'; import type { AttachedPolicyToUserData } from './attachedPolicyToUserEvent'; import type { CancelPolicyRequestedData } from './cancelPolicyRequestedEvent'; import type { CepAutocompletedData } from './cepAutocompletedEvent'; import type { FormStepRenderData } from './formStepRenderEvent'; import type { PaymentMethodUpdatedData } from './paymentMethodUpdatedEvent'; import type { PersonAutocompletedData } from './personAutocompletedEvent'; import type { TransactionData } from './transactionEvent'; import type { TutorialBeginData, TutorialCompleteData } from './tutorialEvents'; import type { UserAccountOnboardingCompletedData } from './userAccountOnboardingCompletedEvent'; import type { VehicleAutocompletedData } from './vehicleAutocompletedEvent'; import type { OtpErrorEvent } from './otpErrorEvent'; import type { OneClickCheckoutCompletedEvent } from './oneClickCheckoutCompletedEvent'; import type { OneClickCheckoutModalOpenEvent } from './oneClickCheckoutModalOpenEvent'; import type { TravelCompanionUpsertedEvent } from './travelCompanionUpsertedEvent'; import type { TravelCompanionRemovedEvent } from './travelCompanionRemovedEvent'; import type { EmergencyContactUpsertedEvent } from './emergencyContactUpsertedEvent'; import type { EmergencyContactRemovedEvent } from './emergencyContactRemovedEvent'; import type { ProfileUpdatedEvent } from './profileUpdatedEvent'; import type { SuccessfulPaymentEvent } from './successfulPaymentEvent'; export type EventDataMap = { attached_policy_to_user: AttachedPolicyToUserData; cancel_policy_requested: CancelPolicyRequestedData; cep_autocompleted: CepAutocompletedData; form_step_render: FormStepRenderData; payment_method_updated: PaymentMethodUpdatedData; person_autocompleted: PersonAutocompletedData; transaction: TransactionData; tutorial_begin: TutorialBeginData; tutorial_complete: TutorialCompleteData; user_account_onboarding_completed: UserAccountOnboardingCompletedData; vehicle_autocompleted: VehicleAutocompletedData; otp_error: OtpErrorEvent; one_click_checkout_completed: OneClickCheckoutCompletedEvent; one_click_checkout_modal_open: OneClickCheckoutModalOpenEvent; travel_companion_upserted: TravelCompanionUpsertedEvent; travel_companion_removed: TravelCompanionRemovedEvent; emergency_contact_upserted: EmergencyContactUpsertedEvent; emergency_contact_removed: EmergencyContactRemovedEvent; profile_updated: ProfileUpdatedEvent; successful_payment: SuccessfulPaymentEvent; }; export type Events<T extends EventName = EventName> = { data: T extends keyof EventDataMap ? EventDataMap[T] : unknown; name: T; }; export type { AttachedPolicyToUserData, CancelPolicyRequestedData, CepAutocompletedData, FormStepRenderData, PaymentMethodUpdatedData, PersonAutocompletedData, TransactionData, TutorialBeginData, TutorialCompleteData, UserAccountOnboardingCompletedData, VehicleAutocompletedData, OtpErrorEvent, OneClickCheckoutCompletedEvent, OneClickCheckoutModalOpenEvent, TravelCompanionUpsertedEvent, TravelCompanionRemovedEvent, EmergencyContactUpsertedEvent, EmergencyContactRemovedEvent, ProfileUpdatedEvent, SuccessfulPaymentEvent, };