nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
53 lines (52 loc) • 2.1 kB
JavaScript
;
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2021-03-23 07:30:19
* @modify date 2022-01-03 17:33:53
* @desc [description]
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLayer = exports.layerDefaultParameters = exports.validLayers = void 0;
const idMethods_1 = require("../helpers/idMethods");
const bridge_1 = require("./bridge");
const index_browser_1 = require("./layers/index.browser");
exports.validLayers = {
event: bridge_1.Bridge,
"io-client": index_browser_1.IoSocketClientLayer,
};
exports.layerDefaultParameters = {
"io-client": "http://localhost:7000",
};
/**
* Function, that will create a Bridge, based on the provided function.
* Based on the parameter "layer", a corresponding layer or mirror will
* be added to the bridge. You can provide custom parameters using the
* parameter "parameter". This will receive either the uri or ports.
* Additionally you are able to assign a log-level to the bridge.
*
* @export
* @param {validLayerOrMirror} layer the layer to add
* @param {(number | string)} [parameter=null] the parameter required for the additonal layer / mirror
* @param {LoggerLevel} [level=false] the level of the debugger
* @return {ICommunicationBridge}
*/
function getLayer(layer, parameter = null, logger = false) {
// Create the Bridge
const communicationBridge = new bridge_1.Bridge((0, idMethods_1.generateId)(), logger);
// Assign the Default Setting for the Channel.
const params = parameter !== null ? parameter : exports.layerDefaultParameters[layer];
switch (layer) {
case "event":
break;
case "io-client":
communicationBridge.addCommunicationLayer(new index_browser_1.IoSocketClientLayer(params, logger), true);
break;
}
// Now that we have added a connection, we will
// update the value.
communicationBridge.connected.forcePublish();
// Return the Bridge
return communicationBridge;
}
exports.getLayer = getLayer;