Specify return types
This commit is contained in:
parent
b4479ee3a3
commit
8f90c177fb
|
@ -14,7 +14,7 @@ export class Chat {
|
|||
/**
|
||||
* Create a public chat room.
|
||||
*/
|
||||
public static async create(id: string) {
|
||||
public static async create(id: string): Promise<Chat> {
|
||||
const symKey = await createSymKeyFromPassword(id);
|
||||
|
||||
return new Chat(id, symKey);
|
||||
|
@ -34,7 +34,7 @@ export class Chat {
|
|||
return message;
|
||||
}
|
||||
|
||||
public handleNewMessage(message: ChatMessage) {
|
||||
public handleNewMessage(message: ChatMessage): void {
|
||||
this._updateClockFromMessage(message);
|
||||
}
|
||||
|
||||
|
@ -52,11 +52,18 @@ export class Chat {
|
|||
}
|
||||
|
||||
private _updateClockFromMessage(message: ChatMessage): void {
|
||||
if (!this.lastMessage || this.lastMessage.clock <= message.clock) {
|
||||
if (
|
||||
!this.lastMessage ||
|
||||
!this.lastMessage.clock ||
|
||||
(message.clock && this.lastMessage.clock <= message.clock)
|
||||
) {
|
||||
this.lastMessage = message;
|
||||
}
|
||||
|
||||
if (!this.lastClockValue || this.lastClockValue < message.clock) {
|
||||
if (
|
||||
!this.lastClockValue ||
|
||||
(message.clock && this.lastClockValue < message.clock)
|
||||
) {
|
||||
this.lastClockValue = message.clock;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ export class ChatMessage {
|
|||
timestamp: number,
|
||||
text: string,
|
||||
chatId: string
|
||||
) {
|
||||
): ChatMessage {
|
||||
const proto = {
|
||||
clock, // ms?
|
||||
timestamp, //ms?
|
||||
|
@ -50,7 +50,7 @@ export class ChatMessage {
|
|||
return proto.ChatMessage.encode(this.proto).finish();
|
||||
}
|
||||
|
||||
public get clock() {
|
||||
public get clock(): number | undefined {
|
||||
return this.proto.clock;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ export class Messenger {
|
|||
public static async create(
|
||||
identity: Identity,
|
||||
wakuOptions?: WakuCreateOptions
|
||||
) {
|
||||
): Promise<Messenger> {
|
||||
const _wakuOptions = Object.assign({ bootstrap: true }, wakuOptions);
|
||||
const waku = await Waku.create(_wakuOptions);
|
||||
return new Messenger(identity, waku);
|
||||
|
@ -39,7 +39,7 @@ export class Messenger {
|
|||
*
|
||||
* Use `addListener` to get messages received on this chat.
|
||||
*/
|
||||
public async joinChat(chatId: string) {
|
||||
public async joinChat(chatId: string): Promise<void> {
|
||||
if (this.chatsById.has(chatId))
|
||||
throw `Failed to join chat, it is already joined: ${chatId}`;
|
||||
|
||||
|
@ -102,7 +102,7 @@ export class Messenger {
|
|||
public addObserver(
|
||||
observer: (message: ApplicationMetadataMessage) => void,
|
||||
chatId: string
|
||||
) {
|
||||
): void {
|
||||
// Not sure this is the best design here. Maybe `addObserver` and `joinChat` should be merged.
|
||||
|
||||
if (!this.chatsById.has(chatId))
|
||||
|
@ -153,7 +153,7 @@ export class Messenger {
|
|||
if (!chat)
|
||||
throw `Failed to retrieve messages, chat is not joined: ${chatId}`;
|
||||
|
||||
const _callback = (wakuMessages: WakuMessage[]) => {
|
||||
const _callback = (wakuMessages: WakuMessage[]): void => {
|
||||
const isDefined = (
|
||||
msg: ApplicationMetadataMessage | undefined
|
||||
): msg is ApplicationMetadataMessage => {
|
||||
|
@ -187,7 +187,7 @@ export class Messenger {
|
|||
private _handleNewChatMessage(
|
||||
chat: Chat,
|
||||
message: ApplicationMetadataMessage
|
||||
) {
|
||||
): void {
|
||||
if (!message.payload || !message.type || !message.signature) return;
|
||||
|
||||
const chatMessage = ChatMessage.decode(message.payload);
|
||||
|
|
Loading…
Reference in New Issue