Files
discord-decomp/sources/by-id/module-07473-BrowserMetricsAggregator.js
2026-07-28 01:06:53 +03:00

106 lines
5.9 KiB
JavaScript

/* Metro module 7473; source: unknown; dependencies: [6, 7, 7466, 7383, 7470, 7471, 7374, 7472] */
import * as ClassCallCheckModule from './module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import * as CreateClassModule from './module-00007-CreateClass.js'; /* Metro dependency 7 */
import * as Module07466Module from './module-07466.js'; /* Metro dependency 7466 */
import * as Module07470Module from './module-07470.js'; /* Metro dependency 7470 */
function _fun60279(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60279, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:6, offset: 0x016ffe56, size: 101 bytes, params: 8, frame: 17
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
exports.BrowserMetricsAggregator = _fun60280();
function _fun60280() { // fn#60280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:109, offset: 0x016ffebb, size: 101 bytes, params: 1, frame: 15
return CreateClassModule(BrowserMetricsAggregator, [{key: 'add', value: value_60283}, {key: 'flush', value: value_60284},
{key: 'close', value: function() {
global.clearInterval(this._interval);
this.flush();
}}]);
function BrowserMetricsAggregator(a0) { // fn#60281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:143, offset: 0x016fff20, size: 125 bytes, params: 2, frame: 16
env1_2(this, BrowserMetricsAggregator);
this._client = a0;
const Map = global.Map;
const value3 = Object.create(Map.prototype, {constructor: {value: Map}});
const map = new Map();
this._buckets = map instanceof Object ? map : value3;
const setInterval = global.setInterval;
const DEFAULT_BROWSER_FLUSH_INTERVAL = (Module07466Module).DEFAULT_BROWSER_FLUSH_INTERVAL;
this._interval = setInterval(_fun60282, DEFAULT_BROWSER_FLUSH_INTERVAL);
function _fun60282() { // fn#60282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:289, offset: 0x0136bce9, size: 19 bytes, params: 1, frame: 9
return env0_0.flush();
}
}
function value_60283(a0, a1, a2) { // fn#60283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:379, offset: 0x016fff9d, size: 541 bytes, params: 4, frame: 31
var r2;
var object;
var property;
var value16;
var property2;
const value = a2;
const value2 = 'none';
const r14 = arguments.length > 3 ? arguments[3] === undefined ? value2 : arguments[3] : value2;
const r7 = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
const r4 = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : (require(7383) /* metro dependency 7383 */).timestampInSeconds();
const Math = global.Math;
const value8 = Math.floor(r4);
const value10 = (Module07470Module).sanitizeMetricKey(a1);
const value11 = (Module07470Module).sanitizeTags(r7);
const value12 = (Module07470Module).sanitizeUnit(r14);
const bucketKey = (Module07470Module).getBucketKey(a0, value10, value12, value11);
const value14 = this._buckets.get(bucketKey);
const value15 = 0;
const weight = value14 ? a0 !== (require(7466) /* metro dependency 7466 */).SET_METRIC_TYPE ? value15 : value14.metric.weight : value15;
if (value14) {
value14.metric.add(value);
if (value14.timestamp < value8) {
value14.timestamp = value8;
r2 = value14;
} else {
r2 = value14;
}
} else {
object = {};
property = (require(7471) /* metro dependency 7471 */).METRIC_MAP[a0];
value16 = Object.create(property.prototype, {constructor: {value: property}});
property2 = new property(value);
object.metric = property2 instanceof Object ? property2 : value16;
object.timestamp = value8;
object.metricType = a0;
object.name = value10;
object.unit = value12;
object.tags = value11;
this._buckets.set(bucketKey, object);
r2 = object;
}
(require(7374) /* metro dependency 7374 */).updateMetricSummaryOnActiveSpan(a0, value10,
typeof value !== 'string' ? value : r2.metric.weight - weight, value12, r7, bucketKey);
}
function value_60284() { // fn#60284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7651:1100, offset: 0x017001ba, size: 116 bytes, params: 1, frame: 14
var Array;
var from;
var value;
var value2;
var moduleValue;
let _buckets = this._buckets;
if (_buckets.size !== 0) {
Array = global.Array;
from = Array.from;
_buckets = this._buckets;
value = Reflect.apply(from, Array, [_buckets.values()]);
value2 = environment.__proto__;
moduleValue = require(7472) /* metro dependency 7472 */;
moduleValue.captureAggregateMetrics(this._client, value);
_buckets = this._buckets;
_buckets.clear();
}
}
}
}
global.__d(_fun60279, 7473, [6, 7, 7466, 7383, 7470, 7471, 7374,
7472]) /* metro module 7473, dependencies: [6, 7, 7466, 7383, 7470, 7471, 7374, 7472] */;