UNPKG

1.07 kBTypeScriptView Raw
1import { AuthHubEventData } from './AuthTypes';
2export type IListener<Channel extends string = AmplifyChannel | string, EventData extends EventDataMap = EventDataMap> = {
3 name: string;
4 callback: HubCallback<Channel, EventData>;
5}[];
6export interface EventDataMap {
7 event: string;
8 data?: unknown;
9}
10export interface AmplifyEventData {
11 auth: AuthHubEventData;
12 [key: string]: EventDataMap;
13}
14export type AmplifyChannel = 'auth';
15export type StopListenerCallback = () => void;
16export interface HubCapsule<Channel extends string, EventData extends EventDataMap> {
17 channel: Channel;
18 payload: HubPayload<EventData>;
19 source?: string;
20 patternInfo?: string[];
21}
22export type HubCallback<Channel extends string = string, EventData extends EventDataMap = EventDataMap> = (capsule: HubCapsule<Channel, EventData>) => void;
23export type HubPayload<EventData extends EventDataMap = EventDataMap> = EventData & {
24 message?: string;
25};
26export interface AmplifyHubCallbackMap<Channel extends AmplifyChannel> {
27 auth: HubCallback<Channel>;
28}