src/main/generic/utils/platform/PlatformUtils.js
class PlatformUtils {
/**
* @returns {boolean}
*/
static isBrowser() {
return typeof window !== 'undefined';
}
/**
* @return {boolean}
*/
static isNodeJs() {
return !PlatformUtils.isBrowser() && typeof process === 'object' && typeof require === 'function';
}
/**
* @returns {boolean}
*/
static supportsWebRTC() {
let RTCPeerConnection = PlatformUtils.isBrowser() ? (window.RTCPeerConnection || window.webkitRTCPeerConnection) : null;
return !!RTCPeerConnection;
}
/**
* @returns {boolean}
*/
static isOnline() {
return (!PlatformUtils.isBrowser() || !('onLine' in window.navigator)) || window.navigator.onLine;
}
}
Class.register(PlatformUtils);