UNPKG

skip-event-bridge

Version:
277 lines (209 loc) 8.96 kB
/* eslint-disable @typescript-eslint/no-explicit-any */ export type Gender = 'M' | 'F'; export type Platform = 'ios' | 'android'; export type UserAction = 'Accepted' | 'Declined'; export type StatusProps = 'Success' | 'Fail'; export type LoginProps = StatusProps; export type ErrorHandler = (nameProvider: string, err: Error) => void; export type LoggerHandler = (nameProvider: string, methodName: string) => void; export type ProviderMethod = (payload: any) => void; export type Actor = 'Skip' | 'Customer'; export type ActionMethod = 'Chosen' | 'Added New'; export type BusinessUnit = 'Loja' | 'Loja Fisíca' | 'Clube'; export type Stores = 'Play store' | 'Apple store'; export type Thumbs = 'up' | 'down'; export type DiscountType = 'cash' | 'percent'; export type Change = 'Upgrade' | 'Downgrade'; export type Confirmation = 'Yes' | 'No'; export type MembershipType = 'Free' | 'Premium' | 'Vip' | 'Plus'; export interface EventSdk { tryAppReviewed(payload: any, ids: Array<string>): void; tryCharged(payload: any, ids: Array<string>): void; tryDeepLinkClicked(payload: any, ids: Array<string>): void; tryDeepLinkOpened(payload: any, ids: Array<string>): void; tryLogin(payload: LoginStatus, ids: Array<string>): void; tryLogout(payload: any, ids: Array<string>): void; tryOnUserLogin(payload: any, ids: Array<string>): void; tryOnUserSelectReasons(payload: any, ids: Array<string>): void; trySetUserLocation(payload: any, ids: Array<string>): void; tryUpdateFCMtoken(payload: any, ids: Array<string>): void; tryUserClicksSignUp(payload: any, ids: Array<string>): void; tryVisitsHomePage(payload: any, ids: Array<string>): void; tryVisitsJoinPage(payload: any, ids: Array<string>): void; tryVisitsPremiumPage(payload: any, ids: Array<string>): void; tryVisitsFreePage(payload: any, ids: Array<string>): void; tryVisitsOnboarding(payload: any, ids: Array<string>): void; tryVisitsDashboard(payload: any, ids: Array<string>): void; tryVisitsBusinessProfile(payload: any, ids: Array<string>): void; tryVisitsRemindersPage(payload: any, ids: Array<string>): void; tryUserCompletesBusinessProfile(payload: any, ids: Array<string>): void; tryUserClickTodoItem(payload: any, ids: Array<string>): void; tryUserConfirmsSubscription(payload: any, ids: Array<string>): void; tryUserScheduledOnboardingCall(payload: any, ids: Array<string>): void; tryUserFeaturedBusinessOnSkip(payload: any, ids: Array<string>): void; tryAccountCreated(payload: any, ids: Array<string>): void; tryAccountCreatedError(payload: any, ids: Array<string>): void; tryClickedAnnual(payload: any, ids: Array<string>): void; tryClickedAutoSubCheckbox(payload: any, ids: Array<string>): void; tryClickedCardNumberField(payload: any, ids: Array<string>): void; tryClickedCheckAvailability(payload: any, ids: Array<string>): void; tryClickedConfirm(payload: any, ids: Array<string>): void; tryClickedContinuetoDashboard(payload: any, ids: Array<string>): void; tryClickedDownloadApp(payload: any, ids: Array<string>): void; tryClickedFunding(payload: any, ids: Array<string>): void; tryClickedLogin(payload: any, ids: Array<string>): void; tryClickedMonthly(payload: any, ids: Array<string>): void; tryClickedPrivacyPolicy(payload: any, ids: Array<string>): void; tryClickedReferralEmailField(payload: any, ids: Array<string>): void; tryClickedReviewReadMore(payload: any, ids: Array<string>): void; tryClickedSaveNewPassword(payload: any, ids: Array<string>): void; tryClickedSendInvites(payload: any, ids: Array<string>): void; tryClickedTermsandConditions(payload: any, ids: Array<string>): void; tryPaymentVerifiedError(payload: any, ids: Array<string>): void; tryPaymentVerifiedSuccess(payload: any, ids: Array<string>): void; trySaveNewPasswordError(payload: any, ids: Array<string>): void; tryViewedCalendlyCalendar(payload: any, ids: Array<string>): void; tryViewedNewPasswordPage(payload: any, ids: Array<string>): void; tryViewedPaymentInfo(payload: any, ids: Array<string>): void; tryViewedPlusPage(payload: any, ids: Array<string>): void; tryViewedPremiumConciergePage(payload: any, ids: Array<string>): void; tryViewedPlatinumConciergePage(payload: any, ids: Array<string>): void; // plop EventSdk tryAddedLoanApplicationTracking(payload: any, ids: Array<string>): void; tryClickedServiceFlow(payload: any, ids: Array<string>): void; tryUpgradedFromAccountDetails(payload: any, ids: Array<string>): void; tryUpgradedFromLatestFundingOpportunity(payload: any, ids: Array<string>): void; tryAddedFundingGoal(payload: any, ids: Array<string>): void; tryClickOnBlog(payload: any, ids: Array<string>): void; tryNotInterestedInFundingOpportunity(payload: any, ids: Array<string>): void; trySharedReferralLink(payload: any, ids: Array<string>): void; tryExitedAddBusinessModal(payload: any, ids: Array<string>): void; tryAddedBusiness(payload: any, ids: Array<string>): void; tryInvitesAFriend(payload: any, ids: Array<string>): void; } export interface Provider { appReviewed?: ProviderMethod; charged?: ProviderMethod; deepLinkClicked?: ProviderMethod; deepLinkOpened?: ProviderMethod; login?: ProviderMethod; logout?: ProviderMethod; onUserLogin?: ProviderMethod; onUserSelectReasons?: ProviderMethod; setUserLocation?: ProviderMethod; updateFCMtoken?: ProviderMethod; visitsHomePage?: ProviderMethod; visitsJoinPage?: ProviderMethod; visitsPremiumPage?: ProviderMethod; visitsFreePage?: ProviderMethod; visitsOnboarding?: ProviderMethod; visitsDashboard?: ProviderMethod; visitsBusinessProfile?: ProviderMethod; visitsRemindersPage?: ProviderMethod; userClicksSignUp: ProviderMethod; userCompletesBusinessProfile: ProviderMethod; userClickTodoItem: ProviderMethod; userConfirmsSubscription: ProviderMethod; userScheduledOnboardingCall: ProviderMethod; userFeaturedBusinessOnSkip: ProviderMethod; accountCreated: ProviderMethod; accountCreatedError: ProviderMethod; clickedAnnual: ProviderMethod; clickedAutoSubCheckbox: ProviderMethod; clickedCardNumberField: ProviderMethod; clickedCheckAvailability: ProviderMethod; clickedConfirm: ProviderMethod; clickedContinuetoDashboard: ProviderMethod; clickedDownloadApp: ProviderMethod; clickedFunding: ProviderMethod; clickedLogin: ProviderMethod; clickedMonthly: ProviderMethod; clickedPrivacyPolicy: ProviderMethod; clickedReferralEmailField: ProviderMethod; clickedReviewReadMore: ProviderMethod; clickedSaveNewPassword: ProviderMethod; clickedSendInvites: ProviderMethod; clickedTermsandConditions: ProviderMethod; paymentVerifiedError: ProviderMethod; paymentVerifiedSuccess: ProviderMethod; saveNewPasswordError: ProviderMethod; viewedCalendlyCalendar: ProviderMethod; viewedNewPasswordPage: ProviderMethod; viewedPaymentInfo: ProviderMethod; viewedPlusPage: ProviderMethod; viewedPremiumConciergePage: ProviderMethod; viewedPlatinumConciergePage: ProviderMethod; // plop provider addedLoanApplicationTracking: ProviderMethod; clickedServiceFlow: ProviderMethod; upgradedFromAccountDetails: ProviderMethod; upgradedFromLatestFundingOpportunity: ProviderMethod; addedFundingGoal: ProviderMethod; clickOnBlog: ProviderMethod; notInterestedInFundingOpportunity: ProviderMethod; sharedReferralLink: ProviderMethod; exitedAddBusinessModal: ProviderMethod; addedBusiness: ProviderMethod; invitesAFriend: ProviderMethod; } export type ProviderAttr = keyof Provider; interface DeviceType { channel?: string; } export interface Action extends DeviceType { action?: string; } export interface DeepLink extends DeviceType { url: string; success: boolean; } export interface Location extends DeviceType { latitude: number; longitude?: number; } export interface LoginStatus extends DeviceType { status: StatusProps; } export interface Product extends DeviceType { title?: string; description: string; sku?: string; } export interface Order extends DeviceType { business_unit?: BusinessUnit; cart_id?: number; order_id?: number; // THIS NAME IS CLEVERTAP MANDATORY. DON'T REMOVE OR CHANGE THIS Items?: Product[]; } export interface UserProfile extends DeviceType { Uid?: string; Identity?: string; Name?: string; Last_name?: string; Email?: string; UserEmail?: string; Phone?: string; DOB?: Date; Gender?: Gender; Photo?: string; Email_Verified?: boolean; Onboarding_Reasons?: string[]; Onboarding_Reasons_Id?: string[]; Membership_Type?: MembershipType; } export interface AppReview extends DeviceType { store: Stores; thumbs: Thumbs; body?: string; } export interface PageVisited { Current_Page?: string; } export interface TodoItemType { TodoType?: string; } export interface UserConfirmsSubscription { Selected_Plan?: string; Current_Page?: string; }