UNPKG

@xapp/chat-widget

Version:
24 lines (23 loc) 963 B
import 'rollup-plugin-inject-process-env'; import { ChatUserInfo } from "@xapp/stentor-chat-widget"; import { FC } from "react"; import { Display } from "stentor-models"; import { ChatMessageRequest } from "../xapp/ChatServerMessage"; import { OpenUrlCallback } from "../hooks/useOpenUrlCallback"; export type MessageMiddlewareSendMessage = Omit<ChatMessageRequest, "timestamp">; export interface MessageMiddlewareContext { readonly user: ChatUserInfo; send(msg: MessageMiddlewareSendMessage): void; write(msg: MessageMiddlewareSendMessage): void; openUrl: OpenUrlCallback; } export interface MessageMiddlewareProps { readonly msg: Display; readonly ctx: MessageMiddlewareContext; } export type MessageMiddlewareFC<TMsg> = FC<{ readonly msg: TMsg; ctx: MessageMiddlewareContext; }>; export type MessageMiddleware = FC<MessageMiddlewareProps>; export type MessageMiddlewareBuilder = (next: MessageMiddleware) => MessageMiddleware;