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