mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
feat: add message center
This commit is contained in:
3
packages/data-center/src/message/code.ts
Normal file
3
packages/data-center/src/message/code.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export enum MessageCode {
|
||||
loginError,
|
||||
}
|
||||
2
packages/data-center/src/message/index.ts
Normal file
2
packages/data-center/src/message/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export { MessageCenter } from './message';
|
||||
export { MessageCode } from './code';
|
||||
24
packages/data-center/src/message/message.ts
Normal file
24
packages/data-center/src/message/message.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { Observable } from 'lib0/observable';
|
||||
import { Message } from 'src/types';
|
||||
import { MessageCode } from './code';
|
||||
|
||||
export class MessageCenter extends Observable<string> {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
public send(message: MessageCode) {
|
||||
this.emit('message', [message]);
|
||||
}
|
||||
|
||||
public onMessage(callback: (message: Message) => void) {
|
||||
this.on('message', callback);
|
||||
}
|
||||
|
||||
private messages: Record<number, Message> = {
|
||||
[MessageCode.loginError]: {
|
||||
code: MessageCode.loginError,
|
||||
message: 'Login failed',
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user