UNPKG

nope-js-browser

Version:

NoPE Runtime for the Browser. For nodejs please use nope-js-node

41 lines (40 loc) 1.76 kB
import { Bridge } from "./bridge"; import { IoHostLayer } from "./layers/IoHost"; import { IoSocketClientLayer, ioSocketServerLayer, MQTTLayer, } from "./layers/index.nodejs"; export const validLayers = { event: Bridge, "io-server": ioSocketServerLayer, "io-client": IoSocketClientLayer, "io-host": IoHostLayer, mqtt: MQTTLayer, }; export const layerDefaultParameters = { amqp: "localhost", "io-server": 7000, "io-host": "http://localhost:7000", "io-client": "http://localhost:7000", mqtt: "mqtt://localhost:1883", }; export function addLayer(communicationBridge, layer, parameter = null, logger = false, considerConnection = false, forwardData = true) { // Assign the Default Setting for the Channel. const params = parameter !== null ? parameter : layerDefaultParameters[layer]; switch (layer) { case "event": break; case "io-client": communicationBridge.addCommunicationLayer(new IoSocketClientLayer(params, logger), forwardData, considerConnection); break; case "io-server": communicationBridge.addCommunicationLayer(new ioSocketServerLayer(params, logger), forwardData, considerConnection); break; case "io-host": communicationBridge.addCommunicationLayer(new IoHostLayer(communicationBridge, params, logger), forwardData, considerConnection); break; case "mqtt": communicationBridge.addCommunicationLayer(new MQTTLayer(params, logger), forwardData, considerConnection); break; } // Now that we have added a connection, we will // update the value. communicationBridge.connected.forcePublish(); }