@4players/odin
Version:
A cross-platform SDK enabling developers to integrate real-time VoIP chat technology into their projects
40 lines (39 loc) • 1.55 kB
JavaScript
import { OdinEvent, OdinEventTarget } from '../../utils/odin-event-target';
/**
* Class describing a single peer inside an `OdinRoom`.
*/
export class Peer extends OdinEventTarget {
/**
* Creates an instance of the class with the provided peer data, room, and remote status.
*
* @param {PeerData} _peerData - The peer data object containing information about the peer.
* @param {Room} room - The room instance associated with the peer.
*/
constructor(_peerData, room) {
super();
this._peerData = _peerData;
this.room = room;
/**
* This method is for SDK internal usage and might get removed.
* @deprecated
* @param {OdinEvent<AudioActivityPayload>} event - The audio event containing the payload
* with RMS power level information.
*/
this.rmsDBFSHandler = (event) => {
this.dispatchEvent(new OdinEvent('AudioPowerLevel', event.payload));
this.onPowerLevel?.(event.payload);
};
/**
* This method is for SDK internal usage and might get removed.
*
* @deprecated
* @param {OdinEvent<AudioActivityPayload>} event - The audio activity event containing relevant payload data.
*/
this.audioActivityHandler = (event) => {
this.dispatchEvent(new OdinEvent('AudioActivity', event.payload));
this.onAudioActivity?.(event.payload);
};
this.id = _peerData.id;
this.userId = _peerData.user_id;
}
}