@alauda-fe/common
Version:
Alauda frontend team common codes.
10 lines (9 loc) • 422 B
TypeScript
import { MessagePayloadMap, MessageType } from './utils';
export declare class BaseWindowChannel {
private readonly self;
private otherSide?;
private listeners;
protected init(window: Window): () => void;
send<T extends MessageType>(type: T, payload?: MessagePayloadMap[T]): void;
listen<T extends keyof MessagePayloadMap>(type: T, callback: (payload: MessagePayloadMap[T]) => void): () => void;
}