infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
63 lines • 2.18 kB
JavaScript
import { CallOptions } from "./CallOptions";
import { AudioOptions } from "./AudioOptions";
import { PhoneCallRecordingOptions } from "./PhoneCallRecordingOptions";
import { MachineDetectionOptions } from "./MachineDetectionOptions";
export class PhoneCallOptions extends CallOptions {
constructor(_from, audio, autoReconnect, audioOptions, recordingOption, customData, _machineDetectionOptions) {
super(audio, audioOptions, recordingOption, customData, autoReconnect);
this._from = _from;
this._machineDetectionOptions = _machineDetectionOptions;
}
get from() {
return this._from;
}
get machineDetectionOptions() {
return this._machineDetectionOptions;
}
static builder() {
return new PhoneCallOptionsBuilder();
}
}
class PhoneCallOptionsBuilder {
constructor() {
this._from = null;
this._audio = true;
this._autoReconnect = false;
this._audioOptions = AudioOptions.builder().build();
this._recordingOptions = new PhoneCallRecordingOptions();
this._machineDetectionOptions = MachineDetectionOptions.builder().build();
this._customData = {};
}
setFrom(_from) {
this._from = _from;
return this;
}
setAudio(_audio) {
this._audio = _audio;
return this;
}
setAutoReconnect(_autoReconnect) {
this._autoReconnect = _autoReconnect;
return this;
}
setAudioOptions(_audioOptions) {
this._audioOptions = _audioOptions;
return this;
}
setRecordingOptions(recordingOptions) {
this._recordingOptions = recordingOptions;
return this;
}
setMachineDetectionOptions(machineDetectionOptions) {
this._machineDetectionOptions = machineDetectionOptions;
return this;
}
setCustomData(_customData) {
this._customData = _customData;
return this;
}
build() {
return new PhoneCallOptions(this._from, this._audio, this._autoReconnect, this._audioOptions, this._recordingOptions, this._customData, this._machineDetectionOptions);
}
}
//# sourceMappingURL=PhoneCallOptions.js.map