@phenixrts/sdk
Version:
JavaScript SDK
936 lines (827 loc) • 1.66 MB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["phenix"] = factory();
else
root["phenix"] = factory();
})(self, function() {
return /******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/dom/ApplicationActivityMonitor.ts":
/*!***********************************************!*\
!*** ./src/dom/ApplicationActivityMonitor.ts ***!
\***********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ ApplicationActivityMonitor; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../globalScope/GlobalScope */ "./src/globalScope/GlobalScope.ts");
/* harmony import */ var _lang_Disposable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lang/Disposable */ "./src/lang/Disposable.ts");
/* harmony import */ var _lang_DisposableList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lang/DisposableList */ "./src/lang/DisposableList.ts");
/* harmony import */ var _rx_Subject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rx/Subject */ "./src/rx/Subject.ts");
/* harmony import */ var _rx_ReadOnlySubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../rx/ReadOnlySubject */ "./src/rx/ReadOnlySubject.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var visibilityChangeEvent = 'visibilitychange';
var ApplicationActivityMonitor = /*#__PURE__*/function () {
function ApplicationActivityMonitor() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, ApplicationActivityMonitor);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_disposables", new _lang_DisposableList__WEBPACK_IMPORTED_MODULE_5__["default"]());
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_readOnlyIsForeground", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_isForeground", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_timeOfLastTabFocusChange", Date.now());
this._isForeground = new _rx_Subject__WEBPACK_IMPORTED_MODULE_6__["default"](true);
this._readOnlyIsForeground = new _rx_ReadOnlySubject__WEBPACK_IMPORTED_MODULE_7__["default"](this._isForeground);
this.initialize();
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(ApplicationActivityMonitor, [{
key: "isForeground",
get: function get() {
return this._readOnlyIsForeground;
}
}, {
key: "getTimeSinceLastChange",
value: function getTimeSinceLastChange() {
return Date.now() - this._timeOfLastTabFocusChange;
}
}, {
key: "dispose",
value: function dispose() {
this._disposables.dispose();
}
}, {
key: "initialize",
value: function initialize() {
var _this = this;
var handleVisibilityChange = function handleVisibilityChange() {
return _this._isForeground.value = !_globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.documentIsHidden;
};
var useEventCapturePhase = false;
_globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.addDocumentEventListener(visibilityChangeEvent, handleVisibilityChange, useEventCapturePhase);
this._disposables.add(new _lang_Disposable__WEBPACK_IMPORTED_MODULE_4__["default"](function () {
return _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.removeDocumentEventListener(visibilityChangeEvent, handleVisibilityChange, useEventCapturePhase);
}));
}
}]);
}();
/***/ }),
/***/ "./src/dom/BrowserDetector.ts":
/*!************************************!*\
!*** ./src/dom/BrowserDetector.ts ***!
\************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ BrowserDetector; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
var _BrowserDetector, _navigator, _navigator2;
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var BrowserDetector = /*#__PURE__*/function () {
function BrowserDetector() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, BrowserDetector);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(BrowserDetector, null, [{
key: "browserNameAndVersion",
get: function get() {
return BrowserDetector._browserNameAndVersion;
}
}, {
key: "browserName",
get: function get() {
return this._browserName;
}
}, {
key: "browserMajorVersion",
get: function get() {
return this._browserMajorVersion;
}
}, {
key: "isAndroid",
get: function get() {
return BrowserDetector._isAndroid;
}
}, {
key: "isChrome69",
get: function get() {
return BrowserDetector._isChrome69;
}
}, {
key: "isChrome70",
get: function get() {
return BrowserDetector._isChrome70;
}
}, {
key: "isChrome71",
get: function get() {
return BrowserDetector._isChrome71;
}
}, {
key: "isChrome72",
get: function get() {
return BrowserDetector._isChrome72;
}
}, {
key: "isChrome74",
get: function get() {
return BrowserDetector._isChrome74;
}
}, {
key: "isChrome75",
get: function get() {
return BrowserDetector._isChrome75;
}
}, {
key: "isChrome76",
get: function get() {
return BrowserDetector._isChrome76;
}
}, {
key: "isChrome77",
get: function get() {
return BrowserDetector._isChrome77;
}
}, {
key: "isMobile",
value: function isMobile() {
return BrowserDetector._isMobile;
}
}, {
key: "parseBrowserNameAndVersion",
value: function parseBrowserNameAndVersion() {
if (!navigator || !navigator.userAgent) {
return '';
}
var browserNameAndVersion = navigator.userAgent.match(BrowserDetector._browserNameAndVersionRegex);
if (browserNameAndVersion && browserNameAndVersion[0]) {
return browserNameAndVersion[0];
}
return BrowserDetector.parseBrowserNameAndVersionForIE();
}
}, {
key: "parseBrowserName",
value: function parseBrowserName() {
if (!BrowserDetector._browserNameAndVersion) {
return '';
}
var browserNameList = BrowserDetector._browserNameAndVersion.split('/');
if (!browserNameList || !browserNameList[0]) {
return '';
}
return browserNameList[0];
}
}, {
key: "parseBrowserMajorVersion",
value: function parseBrowserMajorVersion() {
if (!BrowserDetector._browserNameAndVersion) {
return 0;
}
var browserVersionList = BrowserDetector._browserNameAndVersion.split('/');
if (!browserVersionList || !browserVersionList[1]) {
return 0;
}
var fullVersion = browserVersionList[1];
if (!fullVersion) {
return 0;
}
return Number(fullVersion.split('.')[0]) || 0;
}
}, {
key: "parseBrowserNameAndVersionForIE",
value: function parseBrowserNameAndVersionForIE() {
if (!navigator || !navigator.userAgent) {
return '';
}
var userAgent = navigator.userAgent;
var msie = userAgent.indexOf('MSIE ');
if (msie > 0) {
// IE 10 or older => return version number
return "IE/".concat(parseInt(userAgent.substring(msie + 5, userAgent.indexOf('.', msie)), 10));
}
var trident = userAgent.indexOf('Trident/');
if (trident > 0) {
// IE 11 => return version number
var version = userAgent.indexOf('rv:');
return "IE/".concat(parseInt(userAgent.substring(version + 3, userAgent.indexOf('.', version)), 10));
}
return '';
}
}]);
}();
_BrowserDetector = BrowserDetector;
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_browserNameAndVersionRegex", /(MSIE|(?!Gecko.+)Firefox|(?!AppleWebKit.+Chrome.+)Safari|(?!AppleWebKit.+)Chrome|AppleWebKit(?!.+Chrome|.+Safari)|Gecko(?!.+Firefox))(?: |\/)([\d.apre]+)/g);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_browserNameAndVersion", _BrowserDetector.parseBrowserNameAndVersion());
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_browserName", _BrowserDetector.parseBrowserName());
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_browserMajorVersion", _BrowserDetector.parseBrowserMajorVersion());
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isMobile", /Android|iPhone|iPad|iPod|BlackBerry|Opera Mini/i.test((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isAndroid", /Android/i.test((_navigator2 = navigator) === null || _navigator2 === void 0 ? void 0 : _navigator2.userAgent));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome69", _BrowserDetector._browserNameAndVersion.includes('Chrome/69.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome70", _BrowserDetector._browserNameAndVersion.includes('Chrome/70.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome71", _BrowserDetector._browserNameAndVersion.includes('Chrome/71.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome72", _BrowserDetector._browserNameAndVersion.includes('Chrome/72.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome74", _BrowserDetector._browserNameAndVersion.includes('Chrome/74.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome75", _BrowserDetector._browserNameAndVersion.includes('Chrome/75.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome76", _BrowserDetector._browserNameAndVersion.includes('Chrome/76.'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BrowserDetector, "_isChrome77", _BrowserDetector._browserNameAndVersion.includes('Chrome/77.'));
/***/ }),
/***/ "./src/dom/ConfigurationParameterReader.ts":
/*!*************************************************!*\
!*** ./src/dom/ConfigurationParameterReader.ts ***!
\*************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ PlainConfigurationParameterReader; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _metrics_TelemetricLevelMapping__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../metrics/TelemetricLevelMapping */ "./src/metrics/TelemetricLevelMapping.ts");
/* harmony import */ var _metrics_TelemetryDefault__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../metrics/TelemetryDefault */ "./src/metrics/TelemetryDefault.ts");
/* harmony import */ var _logger_LoggingLevelMapping__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../logger/LoggingLevelMapping */ "./src/logger/LoggingLevelMapping.ts");
/* harmony import */ var _logger_LoggerDefaults__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../logger/LoggerDefaults */ "./src/logger/LoggerDefaults.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
// The PlainConfigurationParameterReader file is used in the silent build
// to constrain the configuration parameters to the specified values.
var PlainConfigurationParameterReader = /*#__PURE__*/function () {
function PlainConfigurationParameterReader() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, PlainConfigurationParameterReader);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(PlainConfigurationParameterReader, null, [{
key: "getStringValue",
value: function getStringValue(name) {
return PlainConfigurationParameterReader.defaultStringValue[name];
}
}, {
key: "getBooleanValue",
value: function getBooleanValue(name) {
return PlainConfigurationParameterReader.defaultBooleanValue[name];
}
}, {
key: "defaultStringValue",
get: function get() {
return {
'phenix-metrics-level': _metrics_TelemetricLevelMapping__WEBPACK_IMPORTED_MODULE_2__["default"].convertTelemetryLevelToTelemetryLevelType(_metrics_TelemetryDefault__WEBPACK_IMPORTED_MODULE_3__["default"].defaultTelemetryLevel),
'phenix-logging-level': _logger_LoggingLevelMapping__WEBPACK_IMPORTED_MODULE_4__["default"].convertLoggingLevelToLoggingLevelType(_logger_LoggerDefaults__WEBPACK_IMPORTED_MODULE_5__["default"].defaultLoggingLevel),
'phenix-console-logging-level': _logger_LoggingLevelMapping__WEBPACK_IMPORTED_MODULE_4__["default"].convertLoggingLevelToLoggingLevelType(_logger_LoggerDefaults__WEBPACK_IMPORTED_MODULE_5__["default"].defaultConsoleLoggingLevel),
'phenix-telemetry-logging-level': _logger_LoggingLevelMapping__WEBPACK_IMPORTED_MODULE_4__["default"].convertLoggingLevelToLoggingLevelType(_logger_LoggerDefaults__WEBPACK_IMPORTED_MODULE_5__["default"].defaultTelemetryLoggingLevel),
'phenix-channel-token': '',
'phenix-uri': '',
'phenix-base-uri': ''
};
}
}, {
key: "defaultBooleanValue",
get: function get() {
return {
'phenix-automatically-retry-on-failure': true,
'phenix-automatically-reconnect-peer-connection': true,
'phenix-force-garbage-collection-on-restart': true,
'phenix-skip-garbage-collection-on-mobile-devices': true
};
}
}]);
}();
/***/ }),
/***/ "./src/dom/GarbageCollectorManager.ts":
/*!********************************************!*\
!*** ./src/dom/GarbageCollectorManager.ts ***!
\********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ GarbageCollectorManager; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../globalScope/GlobalScope */ "./src/globalScope/GlobalScope.ts");
/* harmony import */ var _environment_FeatureEnablement__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../environment/FeatureEnablement */ "./src/environment/FeatureEnablement.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var GarbageCollectorManager = /*#__PURE__*/function () {
function GarbageCollectorManager() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, GarbageCollectorManager);
throw new Error('GarbageCollectorManager is a static class that may not be instantiated');
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(GarbageCollectorManager, null, [{
key: "forceGarbageCollection",
value: function forceGarbageCollection() {
if (_environment_FeatureEnablement__WEBPACK_IMPORTED_MODULE_3__["default"].isForceChromeGarbageCollectionSupported) {
this.forceChromeGarbageCollection();
}
}
}, {
key: "forceChromeGarbageCollection",
value: function forceChromeGarbageCollection() {
if (_environment_FeatureEnablement__WEBPACK_IMPORTED_MODULE_3__["default"].isQueueMicrotaskSupported) {
_globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value.queueMicrotask(this.overloadMemoryToInvokeGarbageCollection.bind(this));
} else {
_globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value.setTimeout(this.overloadMemoryToInvokeGarbageCollection.bind(this), 0);
}
}
}, {
key: "overloadMemoryToInvokeGarbageCollection",
value: function overloadMemoryToInvokeGarbageCollection() {
var img = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value.documentCreateElement('img');
img.src = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value.URL.createObjectURL(new Blob([new ArrayBuffer(10e+7)])); // 100Mb or less or more depending on as you wish to force/invoke GC cycle run
img.onerror = function () {
_globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value.URL.revokeObjectURL(this.src);
img = null;
};
}
}]);
}();
/***/ }),
/***/ "./src/dom/NetworkMonitor.ts":
/*!***********************************!*\
!*** ./src/dom/NetworkMonitor.ts ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ NetworkMonitor; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../globalScope/GlobalScope */ "./src/globalScope/GlobalScope.ts");
/* harmony import */ var _lang_Disposable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lang/Disposable */ "./src/lang/Disposable.ts");
/* harmony import */ var _lang_DisposableList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../lang/DisposableList */ "./src/lang/DisposableList.ts");
/* harmony import */ var _rx_Subject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rx/Subject */ "./src/rx/Subject.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var NetworkMonitor = /*#__PURE__*/function () {
function NetworkMonitor() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, NetworkMonitor);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_disposables", new _lang_DisposableList__WEBPACK_IMPORTED_MODULE_5__["default"]());
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_isSupported", _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection !== undefined);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_rtt", new _rx_Subject__WEBPACK_IMPORTED_MODULE_6__["default"](undefined));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_effectiveType", new _rx_Subject__WEBPACK_IMPORTED_MODULE_6__["default"](undefined));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_downlinkThroughputCapacity", new _rx_Subject__WEBPACK_IMPORTED_MODULE_6__["default"](undefined));
if (!this.isSupported) {
return;
}
this.setupNetworkChangeListeners();
this.updateStatistics();
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(NetworkMonitor, [{
key: "isSupported",
get: function get() {
return this._isSupported;
}
}, {
key: "rtt",
get: function get() {
return this._rtt;
}
}, {
key: "effectiveType",
get: function get() {
return this._effectiveType;
}
}, {
key: "downlinkThroughputCapacity",
get: function get() {
return this._downlinkThroughputCapacity;
}
}, {
key: "dispose",
value: function dispose() {
this._disposables.dispose();
}
}, {
key: "getDownlinkThroughputCapacity",
value: function getDownlinkThroughputCapacity() {
var _ref, _GlobalScope$value$na, _GlobalScope$value$na2, _GlobalScope$value$na3;
return (_ref = (_GlobalScope$value$na = (_GlobalScope$value$na2 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na2 === void 0 ? void 0 : _GlobalScope$value$na2.downlink) !== null && _GlobalScope$value$na !== void 0 ? _GlobalScope$value$na : (_GlobalScope$value$na3 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na3 === void 0 ? void 0 : _GlobalScope$value$na3.downlinkMax) !== null && _ref !== void 0 ? _ref : -1;
}
}, {
key: "getEffectiveType",
value: function getEffectiveType() {
var _ref2, _GlobalScope$value$na4, _GlobalScope$value$na5, _GlobalScope$value$na6;
return (_ref2 = (_GlobalScope$value$na4 = (_GlobalScope$value$na5 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na5 === void 0 ? void 0 : _GlobalScope$value$na5.effectiveType) !== null && _GlobalScope$value$na4 !== void 0 ? _GlobalScope$value$na4 : (_GlobalScope$value$na6 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na6 === void 0 ? void 0 : _GlobalScope$value$na6.type) !== null && _ref2 !== void 0 ? _ref2 : 'Unknown';
}
}, {
key: "getRoundTripTime",
value: function getRoundTripTime() {
var _GlobalScope$value$na7, _GlobalScope$value$na8;
return (_GlobalScope$value$na7 = (_GlobalScope$value$na8 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na8 === void 0 ? void 0 : _GlobalScope$value$na8.rtt) !== null && _GlobalScope$value$na7 !== void 0 ? _GlobalScope$value$na7 : -1;
}
}, {
key: "setupNetworkChangeListeners",
value: function setupNetworkChangeListeners() {
var _this = this,
_GlobalScope$value$na9;
var listener = function listener() {
return _this.updateStatistics();
};
(_GlobalScope$value$na9 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na9 === void 0 ? void 0 : _GlobalScope$value$na9.addEventListener('change', listener);
this._disposables.add(new _lang_Disposable__WEBPACK_IMPORTED_MODULE_4__["default"](function () {
var _GlobalScope$value$na0;
return (_GlobalScope$value$na0 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.navigatorConnection) === null || _GlobalScope$value$na0 === void 0 ? void 0 : _GlobalScope$value$na0.removeEventListener('change', listener);
}));
}
}, {
key: "updateStatistics",
value: function updateStatistics() {
this._rtt.value = this.getRoundTripTime();
this._effectiveType.value = this.getEffectiveType();
this._downlinkThroughputCapacity.value = this.getDownlinkThroughputCapacity();
}
}]);
}();
/***/ }),
/***/ "./src/dom/StreamSetupListener.ts":
/*!****************************************!*\
!*** ./src/dom/StreamSetupListener.ts ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ StreamSetupListener: function() { return /* binding */ StreamSetupListener; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _metrics_MetricsType__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../metrics/MetricsType */ "./src/metrics/MetricsType.ts");
/* harmony import */ var _metrics_MetricType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../metrics/MetricType */ "./src/metrics/MetricType.ts");
/* harmony import */ var _time_Duration__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../time/Duration */ "./src/time/Duration.ts");
/* harmony import */ var _sdk_SDK__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../sdk/SDK */ "./src/sdk/SDK.ts");
/* harmony import */ var _logger_LoggerFactory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../logger/LoggerFactory */ "./src/logger/LoggerFactory.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var StreamSetupListener = /*#__PURE__*/function () {
function StreamSetupListener(pageLoadTime) {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, StreamSetupListener);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_logger", _logger_LoggerFactory__WEBPACK_IMPORTED_MODULE_7__["default"].getLogger('StreamSetupListener'));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "metricsService", _sdk_SDK__WEBPACK_IMPORTED_MODULE_6__["default"].metricsService);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_pageLoadTime", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_startTime", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_metricSubmitted", false);
this._startTime = Date.now();
this._pageLoadTime = pageLoadTime;
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(StreamSetupListener, [{
key: "success",
value: function success(streamId) {
this.recordStreamMetric(_metrics_MetricsType__WEBPACK_IMPORTED_MODULE_3__["default"].SetupCompleted, streamId);
}
}, {
key: "fail",
value: function fail() {
this.recordStreamMetric(_metrics_MetricsType__WEBPACK_IMPORTED_MODULE_3__["default"].SetupFailed);
}
}, {
key: "recordStreamMetric",
value: function recordStreamMetric(metricType, streamId) {
if (this._metricSubmitted) {
return;
}
this._metricSubmitted = true;
var now = Date.now();
var setupTime = now - this._startTime;
var metricName = new _metrics_MetricType__WEBPACK_IMPORTED_MODULE_4__["default"](metricType).getName();
this.metricsService.push({
metricType: metricType,
runtime: (now - this._pageLoadTime) / 1000,
value: {
uint64: setupTime
},
streamId: streamId
});
this._logger.info('[%s] [%s] Stream metric [%s] in [%s]', new _time_Duration__WEBPACK_IMPORTED_MODULE_5__["default"](now - this._pageLoadTime).toIsoString(), streamId, metricName, new _time_Duration__WEBPACK_IMPORTED_MODULE_5__["default"](setupTime).toIsoString());
}
}]);
}();
/***/ }),
/***/ "./src/edgeAuth/EdgeAuthParser.ts":
/*!****************************************!*\
!*** ./src/edgeAuth/EdgeAuthParser.ts ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ EdgeAuthParser; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _logger_LoggerFactory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../logger/LoggerFactory */ "./src/logger/LoggerFactory.ts");
/* harmony import */ var _EdgeToken__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EdgeToken */ "./src/edgeAuth/EdgeToken.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var edgeAuthTokenPrefix = 'DIGEST:';
var EdgeAuthParser = /*#__PURE__*/function () {
function EdgeAuthParser() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, EdgeAuthParser);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(EdgeAuthParser, null, [{
key: "parseToken",
value: function parseToken(token) {
if (!this.isEncodedEdgeTokenValid(token)) {
EdgeAuthParser._logger.error('Token is not valid [%s]', token);
return new _EdgeToken__WEBPACK_IMPORTED_MODULE_4__["default"](null);
}
try {
var decodedToken = atob(token.substr(edgeAuthTokenPrefix.length));
var edgeToken = JSON.parse(decodedToken);
edgeToken.token = JSON.parse(edgeToken.token);
return new _EdgeToken__WEBPACK_IMPORTED_MODULE_4__["default"](edgeToken);
} catch (e) {
EdgeAuthParser._logger.error('Cannot parse token value', e);
return new _EdgeToken__WEBPACK_IMPORTED_MODULE_4__["default"](null);
}
}
}, {
key: "isEncodedEdgeTokenValid",
value: function isEncodedEdgeTokenValid(token) {
return !!token && token.startsWith(edgeAuthTokenPrefix);
}
}]);
}();
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(EdgeAuthParser, "_logger", _logger_LoggerFactory__WEBPACK_IMPORTED_MODULE_3__["default"].getLogger('EdgeAuthParser'));
/***/ }),
/***/ "./src/edgeAuth/EdgeToken.ts":
/*!***********************************!*\
!*** ./src/edgeAuth/EdgeToken.ts ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ EdgeToken; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../globalScope/GlobalScope */ "./src/globalScope/GlobalScope.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var EdgeToken = /*#__PURE__*/function () {
function EdgeToken(edgeToken) {
var _edgeToken$token, _edgeToken$token2;
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, EdgeToken);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_applicationId", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(this, "_token", void 0);
this._applicationId = (edgeToken === null || edgeToken === void 0 ? void 0 : edgeToken.applicationId) || '';
this._token = {
uri: edgeToken !== null && edgeToken !== void 0 && (_edgeToken$token = edgeToken.token) !== null && _edgeToken$token !== void 0 && _edgeToken$token.uri ? new _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_3__["default"].value.URL(edgeToken.token.uri) : null,
capabilities: (edgeToken === null || edgeToken === void 0 ? void 0 : (_edgeToken$token2 = edgeToken.token) === null || _edgeToken$token2 === void 0 ? void 0 : _edgeToken$token2.capabilities) || []
};
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(EdgeToken, [{
key: "uri",
get: function get() {
return this._token.uri;
}
}, {
key: "capabilities",
get: function get() {
return this._token.capabilities;
}
}, {
key: "tenancy",
get: function get() {
return this._applicationId;
}
}]);
}();
/***/ }),
/***/ "./src/environment/BuildFeatures.ts":
/*!******************************************!*\
!*** ./src/environment/BuildFeatures.ts ***!
\******************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ BuildFeatures; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var BuildFeatures = /*#__PURE__*/function () {
function BuildFeatures() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, BuildFeatures);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(BuildFeatures, null, [{
key: "sendLocalCandidates",
get: function get() {
return this._sendLocalCandidates;
}
}, {
key: "sendLogs",
get: function get() {
return this._sendLogs;
}
}, {
key: "sendMetrics",
get: function get() {
return this._sendMetrics;
}
}, {
key: "logToConsole",
get: function get() {
return this._logToConsole;
}
}, {
key: "applyFeatures",
value: function applyFeatures() {
try {
var features = {"sendLocalCandidates":false,"sendLogs":"Off","sendMetrics":"Essential","logToConsole":"Off"};
this._sendLocalCandidates = 'sendLocalCandidates' in features ? features.sendLocalCandidates : true;
this._sendLogs = 'sendLogs' in features ? features.sendLogs : 'All';
this._sendMetrics = 'sendMetrics' in features ? features.sendMetrics : 'All';
this._logToConsole = 'logToConsole' in features ? features.logToConsole : 'All';
} catch (e) {
this._sendLocalCandidates = true;
this._sendLogs = 'All';
this._sendMetrics = 'All';
this._logToConsole = 'All';
}
}
}]);
}();
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BuildFeatures, "_sendLocalCandidates", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BuildFeatures, "_sendLogs", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BuildFeatures, "_sendMetrics", void 0);
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(BuildFeatures, "_logToConsole", void 0);
BuildFeatures.applyFeatures();
/***/ }),
/***/ "./src/environment/FeatureEnablement.ts":
/*!**********************************************!*\
!*** ./src/environment/FeatureEnablement.ts ***!
\**********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ FeatureEnablement; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../globalScope/GlobalScope */ "./src/globalScope/GlobalScope.ts");
/* harmony import */ var _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom/BrowserDetector */ "./src/dom/BrowserDetector.ts");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var FeatureEnablement = /*#__PURE__*/function () {
function FeatureEnablement() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, FeatureEnablement);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(FeatureEnablement, null, [{
key: "clientOfferDisabled",
get: function get() {
// Client offer workflow does not work correctly in the following browsers
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome74 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome75 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome76 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome77;
}
}, {
key: "getTransceiversDisabled",
get: function get() {
return FeatureEnablement.addTranceiverDisabled;
}
}, {
key: "addTranceiverDisabled",
get: function get() {
// Chrome 69, 70, 71, 72 exposes `addTranceiver` but it does not work correctly
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome69 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome70 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome71 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isChrome72;
}
}, {
key: "getStatsPromiseBasedDisabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 66;
}
}, {
key: "getCurrentOfferDisabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 69 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Firefox' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 56;
}
}, {
key: "onTrackDisabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 63 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Firefox' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 52;
}
}, {
key: "webkitRTCPeerConnectionEnabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 55;
}
}, {
key: "promiseBasedPCMethodsDisabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Firefox' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion <= 52;
}
}, {
key: "shouldUseNativeHls",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Safari' || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'SamsungBrowser';
}
}, {
key: "isPrecachingEnabled",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName !== 'IE';
}
}, {
key: "isForceChromeGarbageCollectionSupported",
get: function get() {
var _GlobalScope$value;
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && typeof ((_GlobalScope$value = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value) === null || _GlobalScope$value === void 0 ? void 0 : _GlobalScope$value.documentCreateElement) === 'function';
}
}, {
key: "isQueueMicrotaskSupported",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Chrome' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion >= 71 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Firefox' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserMajorVersion >= 69 || _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName === 'Safari';
}
}, {
key: "isMobile",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].isMobile();
}
}, {
key: "isInsertableStreamsSupported",
get: function get() {
return !(typeof MediaStreamTrackProcessor === 'undefined' || typeof MediaStreamTrackGenerator === 'undefined');
}
}, {
key: "isEncodedInsertableStreamsSupported",
get: function get() {
return typeof RTCRtpReceiver !== 'undefined' && typeof RTCRtpReceiver.prototype.createEncodedStreams !== 'undefined';
}
}, {
key: "isRTCRtpScriptTransformSupported",
get: function get() {
return typeof RTCRtpScriptTransform !== 'undefined';
}
}, {
key: "isRequestVideoFrameCallbackSupported",
get: function get() {
var _GlobalScope$value2;
return typeof ((_GlobalScope$value2 = _globalScope_GlobalScope__WEBPACK_IMPORTED_MODULE_2__["default"].value) === null || _GlobalScope$value2 === void 0 ? void 0 : _GlobalScope$value2.HTMLVideoElement.prototype.requestVideoFrameCallback) !== 'undefined';
}
}, {
key: "isChannelFrameTimingInformationSupported",
get: function get() {
return FeatureEnablement.isRequestVideoFrameCallbackSupported && (FeatureEnablement.isEncodedInsertableStreamsSupported || FeatureEnablement.isRTCRtpScriptTransformSupported);
}
}, {
key: "errorStackAlsoHasErrorMessage",
get: function get() {
return _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName !== 'Firefox' && _dom_BrowserDetector__WEBPACK_IMPORTED_MODULE_3__["default"].browserName !== 'Safari';
}
}]);
}();
/***/ }),
/***/ "./src/environment/Parameters.ts":
/*!***************************************!*\
!*** ./src/environment/Parameters.ts ***!
\***************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": function() { return /* binding */ Parameters; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/**
* Copyright 2025 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
*/
var Parameters = /*#__PURE__*/function () {
function Parameters() {
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, Parameters);
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(Parameters, null, [{
key: "discoveryParameters",
get: function get() {
return this._discoveryParameters;
}
}, {
key: "applyParameters",
value: function applyParameters() {
try {
var parameters = {"discovery":{"intentions":"distribution"}};
this._discoveryParameters = 'discovery' in parameters ? parameters.discovery : {
intentions: ''
};
} catch (e) {
this._discoveryParameters = {
intentions: ''
};
}
}
}]);
}();
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__["default"])(Parameters, "_discoveryParameters", void 0);
Parameters.applyParameters();
/***/ }),
/***/ "./src/globalScope/GlobalScope.ts":
/*!****************************************!*\
!*** ./src/globalScope/GlobalScope.ts ***!