Files
discord-decomp/_bundle/instrumentDOM.js
T
2026-11-01 12:12:55 +02:00

164 lines
4.9 KiB
JavaScript

// Metro module 1065 (f1066).
import { triggerHandlers, fill, addHandler, maybeInstrument } from "./Module817";
import { WINDOW } from "./Module1039";
function $mk67630($env) {
return (a0) => {
if (a0 && !a0._sentryCaptured) {
const r10 = (function getEventTarget(a0) {
let target;
try {
target = a0.target;
} catch ($e) {
return null;
}
return target;
})(a0);
let r3 = a0.type === "keypress";
if (r3) {
const tagName = r10?.tagName;
r3 = tagName ? r10.tagName !== "INPUT" && r10.tagName !== "TEXTAREA" && !r10.isContentEditable : !tagName;
}
if (!r3) {
const r25 = $env.$parent;
const r8 = r25[0];
const r26 = r25[1];
r8(r26[0]).addNonEnumerableProperty(a0, "_sentryCaptured", true);
if (r10 && !r10._sentryId) {
r8(r26[0]).addNonEnumerableProperty(r10, "_sentryId", r8(r26[0]).uuid4());
}
const name = a0.type !== "keypress" ? a0.type : "input";
if (!$mk101661(r25)(a0)) {
const r44 = $env;
(0, r44[0])({
event: a0,
name,
global: r44[1]
});
r25[3] = a0.type;
r25[4] = r10 ? r10._sentryId : void 0;
}
clearTimeout(r25[2]);
r25[2] = r8(r26[1]).WINDOW.setTimeout($mk101662(r25), 1000);
}
}
};
}
function $mk101661($env) {
return function isSimilarToLastCapturedEvent(a0) {
const r0 = $env;
if (a0.type !== r0[3]) {
return false;
}
L4: {
try {
if (!a0.target) {
break L4;
}
if (a0.target._sentryId !== r0[4]) {
break L4;
}
} catch ($e) {}
return true;
}
return false;
};
}
function $mk101662($env) {
return () => {
const r1 = $env;
r1[4] = void 0;
r1[3] = void 0;
};
}
let makeDOMEventHandler;
let env876 = {};
export function instrumentDOM() {
if (WINDOW.document) {
let env12699;
const r16 = triggerHandlers.bind(null, "dom");
let c12698_0 = r16;
const r17 = env12699 = {
$parent: env876
};
env12699[0] = r16;
env12699[1] = true;
const r19 = $mk67630(r17);
WINDOW.document.addEventListener("click", r19, false);
WINDOW.document.addEventListener("keypress", r19, false);
["EventTarget", "Node"].forEach((item) => {
const prototype = WINDOW[item]?.prototype;
const r14 = prototype == null;
let r15 = void 0;
if (!r14) {
const hasOwnProperty = prototype.hasOwnProperty;
r15 = hasOwnProperty == null ? void 0 : hasOwnProperty.call(prototype, "addEventListener");
}
if (r15) {
fill(prototype, "addEventListener", function(c28749_0) {
return function(a0, a1, a2) {
if (!(a0 !== "click" && a0 != "keypress")) {
try {
const __sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {};
this.__sentry_instrumentation_handlers__ = __sentry_instrumentation_handlers__;
const r15 = __sentry_instrumentation_handlers__[a0] || {
refCount: 0
};
__sentry_instrumentation_handlers__[a0] = r15;
if (!r15.handler) {
const handler = makeDOMEventHandler(c12698_0);
r15.handler = handler;
c28749_0.call(this, a0, handler, a2);
}
r15.refCount = r15.refCount + 1;
} catch ($e) {}
}
return c28749_0.call(this, a0, a1, a2);
};
});
fill(prototype, "removeEventListener", function(c28750_0) {
return function(a0, a1, a2) {
if (!(a0 !== "click" && a0 != "keypress")) {
try {
const r17 = this.__sentry_instrumentation_handlers__ || {};
const r19 = r17[a0];
if (r19) {
r19.refCount = r19.refCount - 1;
if (r19.refCount <= 0) {
c28750_0.call(this, a0, r19.handler, a2);
r19.handler = void 0;
delete r17[a0];
}
if (Object.keys(r17).length === 0) {
delete this["__sentry_instrumentation_handlers__"];
}
}
} catch ($e) {}
}
return c28750_0.call(this, a0, a1, a2);
};
});
}
});
}
}
makeDOMEventHandler = function makeDOMEventHandler(a0) {
let env12700;
const r1 = env12700 = {
$parent: env876
};
env12700[0] = a0;
let r3 = arguments[1];
if (r3 === void 0) {
r3 = false;
}
env12700[1] = r3;
return $mk67630(r1);
};
Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
export function addClickKeypressInstrumentationHandler(a0) {
addHandler("dom", a0);
maybeInstrument("dom", instrumentDOM);
}