UNPKG

node-datachannel

Version:

WebRTC For Node.js and Electron. libdatachannel node bindings.

72 lines (58 loc) 2.18 kB
export default class RTCError extends DOMException implements globalThis.RTCError { #errorDetail: RTCErrorDetailType; #receivedAlert: number | null; #sctpCauseCode: number | null; #sdpLineNumber: number | null; #sentAlert: number | null; constructor(init: globalThis.RTCErrorInit, message?: string) { super(message, 'OperationError'); if (!init || !init.errorDetail) throw new TypeError('Cannot construct RTCError, errorDetail is required'); if ( [ 'data-channel-failure', 'dtls-failure', 'fingerprint-failure', 'hardware-encoder-error', 'hardware-encoder-not-available', 'sctp-failure', 'sdp-syntax-error', ].indexOf(init.errorDetail) === -1 ) throw new TypeError('Cannot construct RTCError, errorDetail is invalid'); this.#errorDetail = init.errorDetail; this.#receivedAlert = init.receivedAlert ?? null; this.#sctpCauseCode = init.sctpCauseCode ?? null; this.#sdpLineNumber = init.sdpLineNumber ?? null; this.#sentAlert = init.sentAlert ?? null; } get errorDetail(): globalThis.RTCErrorDetailType { return this.#errorDetail; } set errorDetail(_value) { throw new TypeError('Cannot set errorDetail, it is read-only'); } get receivedAlert(): number | null { return this.#receivedAlert; } set receivedAlert(_value) { throw new TypeError('Cannot set receivedAlert, it is read-only'); } get sctpCauseCode(): number | null { return this.#sctpCauseCode; } set sctpCauseCode(_value) { throw new TypeError('Cannot set sctpCauseCode, it is read-only'); } get sdpLineNumber(): number | null { return this.#sdpLineNumber; } set sdpLineNumber(_value) { throw new TypeError('Cannot set sdpLineNumber, it is read-only'); } get sentAlert(): number | null { return this.#sentAlert; } set sentAlert(_value) { throw new TypeError('Cannot set sentAlert, it is read-only'); } }