UNPKG

react-native-unit-components

Version:

Unit React Native components

38 lines (35 loc) 2.43 kB
import type { UNAccount, UNCard } from '../../types/shared'; import type { ActivityFiltersChangedEvent } from '../../messages/webMessages/activityMessage'; import type { MultiFactorAuthenticationFinishedEvent, RequestRefreshEvent } from '../../messages/webMessages/unitComponentsMessages'; import type { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage'; import type { CardCreatedEvent, CardMessage } from '../../messages/webMessages/cardMessage'; import type { AccountMessage } from '../../messages/webMessages/accountMessage'; import type { ActivityMessage } from '../../messages/webMessages/activityMessage'; import type { UnitComponentsMessage } from '../../messages/webMessages/unitComponentsMessages'; import type { MultipleCardsFiltersChangedEvent, MultipleCardsMessage } from '../../messages/webMessages/multipleCardsMessage'; import { BottomSheetRenderingMessage } from '../../messages/nativeMessages/bottomSheetMessage'; import { PageMessage } from '../../messages/webMessages/pageMessage'; import { OpenPlaidEvent, PlaidMessage } from '../../messages/webMessages/plaidMessages'; import { PayeeManagementMessage } from '../../messages/webMessages/payeeManagementMessage'; import { UNCounterparty } from '../../types/shared/counterparty.types'; // Map of event keys to their data types export type EventMap = { [CardMessage.CARD_STATUS_CHANGED]: UNCard; [CardMessage.CARD_ACTIVATED]: UNCard; [CardMessage.CARD_CREATED]: CardCreatedEvent; [AccountMessage.UNIT_ACCOUNT_CHANGED]: UNAccount; [ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED]: ActivityFiltersChangedEvent; [MultipleCardsMessage.UNIT_MULTIPLE_CARDS_CARD_CLICKED]: UNCard; [MultipleCardsMessage.UNIT_MULTIPLE_CARDS_FILTERS_CHANGED]: MultipleCardsFiltersChangedEvent; [UnitComponentsMessage.UNIT_REQUEST_CLOSE_FLOW]: Record<PropertyKey, never>; [BottomSheetNativeMessage.REQUEST_RENDERING]: BottomSheetRenderingMessage; [UnitComponentsMessage.UNIT_REQUEST_REFRESH]: RequestRefreshEvent; [UnitComponentsMessage.UNIT_MULTI_FACTOR_AUTH_FINISHED]: MultiFactorAuthenticationFinishedEvent; [PageMessage.PAGE_HEIGHT]: number; [PlaidMessage.UNIT_OPEN_PLAID]: OpenPlaidEvent; [PayeeManagementMessage.UNIT_COUNTERPARTY_DELETED]: UNCounterparty; }; // Generate SharedEvent as a union of { key, data } objects export type SharedEvent = { [K in keyof EventMap]: { key: K; data: EventMap[K] }; }[keyof EventMap];