Files
mqtt-explorer/events/Events.ts
Thomas Nordquist a8e082f084 Refactor
2019-01-11 19:07:56 +01:00

42 lines
870 B
TypeScript

import { MqttOptions, DataSourceState } from '../backend/src/DataSource'
export interface Event<MessageType> {
topic: string
}
export interface AddMqttConnection {
id: string,
options: MqttOptions
}
export const addMqttConnectionEvent: Event<AddMqttConnection> = {
topic: 'connection/add/mqtt',
}
export const removeConnection: Event<string> = {
topic: 'connection/remove',
}
export function makeConnectionStateEvent(connectionId: string): Event<DataSourceState> {
return {
topic: `conn/state/${connectionId}`,
}
}
export interface Message {
topic: string,
payload: any
}
export function makePublishEvent(connectionId: string): Event<Message> {
return {
topic: `conn/publish/${connectionId}`,
}
}
export function makeConnectionMessageEvent(connectionId: string): Event<Message> {
return {
topic: `conn/${connectionId}`,
}
}