1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-13 11:29:53 +03:00
inav-configurator/js/connection/connectionFactory.js
2024-02-26 11:58:56 -03:00

32 lines
No EOL
924 B
JavaScript

'use strict'
const { ConnectionType } = require('./connection');
const ConnectionBle = require('./connectionBle');
const ConnectionSerial = require('./connectionSerial');
const ConnectionTcp = require('./connectionTcp');
const ConnectionUdp = require('./connectionUdp');
var connectionFactory = function(type, instance) {
if (instance && (instance.type == type || instance.connectionId)){
return instance;
}
switch (type) {
case ConnectionType.BLE:
instance = new ConnectionBle();
break;
case ConnectionType.TCP:
instance = new ConnectionTcp();
break;
case ConnectionType.UDP:
instance = new ConnectionUdp();
break;
default:
case ConnectionType.Serial:
instance = new ConnectionSerial();
break;
}
return instance;
};
module.exports = connectionFactory;