src/datapipe/DataPipeFactory.js
import {WacDataPipe} from './WacDataPipe';
import {DataChannelDataPipe} from './DataChannelDataPipe';
/**
* DataPipe factory
*/
export class DataPipeFactory {
/**
* Create a {DataPipe} instance with given parameters.
*
* @throws {TypeError} invalid participants.
*
* @param {String} id pipe identifier. Optional. Default is a random value.
* @param {DataPipe.TYPE} type pipe type.
* @param {WacStack} stack stack instance.
* @param {Array<String>} participants pipe participants.
* @param {String} label pipe label. Optional. Default is 'generic'
*/
static create(id, type, stack, participants, label) {
if (stack.getCapabilities().includes('datapipe')) {
return new WacDataPipe(id, type, stack, participants, label);
} else {
return new DataChannelDataPipe(id, type, stack, participants, label);
}
}
}