(
messageType: T,
data: FromProtocol[T][0],
)
| 186 | } |
| 187 | |
| 188 | request<T extends keyof FromProtocol>( |
| 189 | messageType: T, |
| 190 | data: FromProtocol[T][0], |
| 191 | ): Promise<FromProtocol[T][1]> { |
| 192 | const messageId = uuidv4(); |
| 193 | return new Promise((resolve) => { |
| 194 | const handler = (msg: Message) => { |
| 195 | resolve(msg.data); |
| 196 | this.idListeners.delete(messageId); |
| 197 | }; |
| 198 | this.idListeners.set(messageId, handler); |
| 199 | this.send(messageType, data, messageId); |
| 200 | }); |
| 201 | } |
| 202 | } |