@sovanderpol/tabtalk
Version:
Tabtalk enables browsing contexts within the same domain to communicate with each other.
22 lines (21 loc) • 703 B
TypeScript
export interface TabtalkMessage<T> {
body: T;
meta: TabtalkMessageMeta;
}
export interface TabtalkMessageMeta {
recipientId: string | null;
senderId: string;
createdAt: number;
}
export declare const VALIDATION_ERROR_INVALID_SENDER_ID = "Invalid senderId";
export declare class TabtalkMessageFactory {
body: any;
recipientId: TabtalkMessageMeta['recipientId'];
senderId: TabtalkMessageMeta['senderId'];
createdAt: TabtalkMessageMeta['createdAt'];
setBody: (body: any) => void;
setRecipientId: (recipientId: string) => void;
setSenderId: (senderId: string) => void;
throwIfInvalidMessageProperties: () => void;
build: <T>() => TabtalkMessage<T>;
}