import { Observable } from 'lib0/observable'; import { Message } from 'src/types'; import { MessageCode } from './code'; export class MessageCenter extends Observable { constructor() { super(); } public send(message: MessageCode) { this.emit('message', [message]); } public onMessage(callback: (message: Message) => void) { this.on('message', callback); } private messages: Record = { [MessageCode.loginError]: { code: MessageCode.loginError, message: 'Login failed', }, }; }