@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
TypeScript
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, };