decord/source/stores/RTCRegionStore.tsx

99 lines
2.9 KiB
TypeScript
Raw Normal View History

2026-08-25 06:04:03 +00:00
// Module ID: 4475
// Function ID: 4476
2026-07-29 08:29:29 +00:00
// Name: initialize
// Dependencies: [687, 589, 12, 709, 2]
2026-07-23 10:11:24 +00:00
2026-08-25 06:04:03 +00:00
// Module 4475 (initialize)
2026-08-24 06:08:38 +00:00
import applyDefault from "apply" /* 12 */;
import initializeDefault from "initialize" /* 589 */;
import setDefault from "set" /* 687 */;
import dispatcherDefault from "dispatcher" /* 709 */;
2026-07-20 16:05:17 +00:00
2026-07-23 10:11:24 +00:00
let obj = { preferredRegions: null, lastTestTimestamp: null, lastGeoRankedOrder: null };
2026-08-24 06:08:38 +00:00
const HOUR = setDefault.Millis.HOUR;
const DeviceSettingsStore = initializeDefault.DeviceSettingsStore;
2026-07-29 08:29:29 +00:00
class RTCRegionStore extends DeviceSettingsStore {
}
const prototype = RTCRegionStore.prototype;
prototype["initialize"] = function initialize(arg0) {
2026-08-24 06:08:38 +00:00
let tmp = arg0;
if (arg0 == null) {
tmp = obj;
}
closure_3 = tmp;
2026-07-29 08:29:29 +00:00
};
prototype["shouldIncludePreferredRegion"] = function shouldIncludePreferredRegion() {
return null != obj.preferredRegions;
};
prototype["getPreferredRegion"] = function getPreferredRegion() {
const preferredRegions = obj.preferredRegions;
let first;
if (preferredRegions != null) {
first = preferredRegions[0];
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (first == null) {
first = null;
}
return first;
};
prototype["getPreferredRegions"] = function getPreferredRegions() {
return obj.preferredRegions;
};
prototype["getRegion"] = function getRegion(str) {
if (null != str) {
return str.substr(0, str.search(/\d/));
}
};
prototype["getUserAgnosticState"] = function getUserAgnosticState() {
return obj;
};
prototype["shouldPerformLatencyTest"] = function shouldPerformLatencyTest(mapped) {
let tmp = null === obj.preferredRegions;
if (!tmp) {
2026-08-24 06:08:38 +00:00
obj = applyDefault;
2026-07-29 08:29:29 +00:00
let lastGeoRankedOrder = obj.lastGeoRankedOrder;
if (lastGeoRankedOrder == null) {
lastGeoRankedOrder = [];
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = !obj.isEqual(mapped, lastGeoRankedOrder);
}
if (!tmp) {
const _Date = Date;
let num = obj.lastTestTimestamp;
const timestamp = Date.now();
if (num == null) {
num = 0;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = timestamp - num >= HOUR;
}
return tmp;
};
RTCRegionStore.displayName = "RTCRegionStore";
RTCRegionStore.persistKey = "RTCRegionStore";
2026-07-23 10:11:24 +00:00
let items = [
2026-07-20 16:05:17 +00:00
(preferredRegion) => {
if (preferredRegion.preferredRegion) {
const items = [preferredRegion.preferredRegion];
preferredRegion.preferredRegions = items;
} else {
preferredRegion.preferredRegions = null;
}
2026-07-29 08:29:29 +00:00
delete tmp[tmp2];
2026-07-20 16:05:17 +00:00
return preferredRegion;
}
];
2026-07-29 08:29:29 +00:00
RTCRegionStore.migrations = items;
2026-07-20 16:05:17 +00:00
obj = {
RTC_LATENCY_TEST_COMPLETE: function handleCompletedRTCLatencyTest(latencyRankedRegions) {
if (latencyRankedRegions.latencyRankedRegions.length > 0) {
obj.lastGeoRankedOrder = latencyRankedRegions.geoRankedRegions;
obj.preferredRegions = latencyRankedRegions.latencyRankedRegions;
}
obj.lastTestTimestamp = Date.now();
}
};
2026-08-24 06:08:38 +00:00
const rTCRegionStore = new RTCRegionStore(dispatcherDefault, obj);
const result = require("set").fileFinishedImporting("stores/RTCRegionStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default rTCRegionStore;