| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | import {
    MediaStream,
    MediaStreamTrack,
    RTCSessionDescription,
    RTCIceCandidate,
    mediaDevices,
    permissions
} from 'react-native-webrtc';
import RTCPeerConnection from './RTCPeerConnection';
(global => {
    if (typeof global.MediaStream === 'undefined') {
        global.MediaStream = MediaStream;
    }
    if (typeof global.MediaStreamTrack === 'undefined') {
        global.MediaStreamTrack = MediaStreamTrack;
    }
    if (typeof global.RTCIceCandidate === 'undefined') {
        global.RTCIceCandidate = RTCIceCandidate;
    }
    if (typeof global.RTCPeerConnection === 'undefined') {
        global.RTCPeerConnection = RTCPeerConnection;
    }
    if (typeof global.RTCPeerConnection === 'undefined') {
        global.webkitRTCPeerConnection = RTCPeerConnection;
    }
    if (typeof global.RTCSessionDescription === 'undefined') {
        global.RTCSessionDescription = RTCSessionDescription;
    }
    const navigator = global.navigator;
    if (navigator) {
        if (typeof navigator.mediaDevices === 'undefined') {
            navigator.mediaDevices = mediaDevices;
        }
        if (typeof navigator.permissions === 'undefined') {
            navigator.permissions = permissions;
        }
    }
})(global || window || this); // eslint-disable-line no-invalid-this
 |