typescriptifying completed
This commit is contained in:
26
src/Forwarder.ts
Normal file
26
src/Forwarder.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { AItem } from './AItem'
|
||||
import * as logger from './log'
|
||||
import { mqttHandler } from './MqttDispatcher'
|
||||
|
||||
|
||||
export class Forwarder extends AItem {
|
||||
private targetTopics: string[]
|
||||
private inTopic: string
|
||||
|
||||
constructor(floor: string, room: string, item: string, topicLastPart: string, targetTopics: string[]) {
|
||||
super(floor, room, item)
|
||||
this.inTopic = `${this.topicFirstPart}/${topicLastPart}`
|
||||
this.subscribeTopics = [ this.inTopic ]
|
||||
this.targetTopics = targetTopics
|
||||
}
|
||||
|
||||
processMessage(topic: string, payload: string) : void {
|
||||
switch (topic) {
|
||||
case this.inTopic:
|
||||
this.targetTopics.forEach((targetTopic) => {
|
||||
mqttHandler.send(targetTopic, payload, true)
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user