@comparaonline/event-tracker
Version:
This library it's an interface between any frontend application and some event tracking platforms, currently Snowplow and Tag Manager.
34 lines (33 loc) • 2.09 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';
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;
};
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, };