UNPKG

networked-aframe

Version:

A web framework for building multi-user virtual reality experiences.

46 lines (39 loc) 1.3 kB
const WsEasyRtcAdapter = require("./WsEasyRtcAdapter"); const EasyRtcAdapter = require("./EasyRtcAdapter"); const WebrtcAdapter = require("./naf-webrtc-adapter"); const SocketioAdapter = require('./naf-socketio-adapter'); const UWSAdapter = require('./naf-uws-adapter'); class AdapterFactory { constructor() { this.adapters = { "wseasyrtc": WsEasyRtcAdapter, "easyrtc": EasyRtcAdapter, "socketio": SocketioAdapter, "webrtc": WebrtcAdapter, "uws": UWSAdapter, }; this.IS_CONNECTED = AdapterFactory.IS_CONNECTED; this.CONNECTING = AdapterFactory.CONNECTING; this.NOT_CONNECTED = AdapterFactory.NOT_CONNECTED; } register(adapterName, AdapterClass) { this.adapters[adapterName] = AdapterClass; } make(adapterName) { var name = adapterName.toLowerCase(); if (this.adapters[name]) { var AdapterClass = this.adapters[name]; return new AdapterClass(); } else { throw new Error( "Adapter: " + adapterName + " not registered. Please use NAF.adapters.register() to register this adapter." ); } } } AdapterFactory.IS_CONNECTED = "IS_CONNECTED"; AdapterFactory.CONNECTING = "CONNECTING"; AdapterFactory.NOT_CONNECTED = "NOT_CONNECTED"; module.exports = AdapterFactory;