refacor all the things \o/

This commit is contained in:
uwap 2017-09-19 10:12:32 +02:00
parent d729d949bd
commit 538162d38c
15 changed files with 721 additions and 402 deletions

View file

@ -1,6 +1,6 @@
// @flow
import mqtt from "mqtt";
import { MQTT_MESSAGE, MQTT_CONNECT, MQTT_DISCONNECT } from "./stateActions";
import { Actions } from "./state";
import { Store } from "redux";
import Config from "./config";
import R from "ramda";
@ -9,14 +9,18 @@ export default function connectMqtt(url: string, store: Store<*,*>) {
const client = mqtt.connect(url);
client.on("connect", () => {
store.dispatch({
type: MQTT_CONNECT, mqtt: client
type: Actions.MQTT_CONNECT, payload: client
});
R.forEachObjIndexed(v =>
client.subscribe(v.state), Config.topics);
});
client.on("message", (topic, message) => {
store.dispatch({
type: "mqtt_message", message: message, topic: topic
type: Actions.MQTT_MESSAGE,
payload: {
message: message,
topic: topic
}
});
});
}