Files
discord-decomp/sources/utils/web/KeyboardUtils.tsx
T
2026-07-27 16:20:00 +03:00

779 lines
28 KiB
TypeScript

/* Metro module 12478; source: utils/web/KeyboardUtils.tsx; dependencies: [57, 5047, 477, 22, 12479, 12480, 12481, 1360, 2] */
function _fun94906(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94906, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:6, offset: 0x0212ba02, size: 1076 bytes, params: 8, frame: 33
var r11;
var r16;
let env0_1 = require;
const _arrayLikeToArray_94909 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const maybePlusConversion = function(a0) {
var value = a0;
return value === '+' ? 'plus' : value;
};
const closure = getCodeToKeyLanguageCorrection;
const closure2 = getEnv_94912;
const closure3 = codeToKey;
const closure4 = keyToCode;
const closure5 = function(a0) {
var value = a0.replace(RegExp('^(right|left) (shift|meta|ctrl|alt)$', ''), '$2');
value = value.replace('meta', 'command');
return value === 'pause' || value === 'break' ? 'pause/break' : value;
};
const toMetaKeyIndexKey = function(a0) {
return a0 + 'Key';
};
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_4 = importDefault(57) /* metro dependency 57 */;
let value = require(5047) /* metro dependency 5047: KeyboardConstants */;
const env0_5 = value.KeyboardDeviceTypes;
const LinuxKeyToCode = value.LinuxKeyToCode;
const MacosKeyToCode = value.MacosKeyToCode;
const WindowsKeyToCode = value.WindowsKeyToCode;
const env0_9 = value.KeyboardEnvs;
if (Reflect.apply((require(477) /* metro dependency 477: PlatformUtils */).isLinux, value, [])) {
r16 = LinuxKeyToCode;
} else {
value = require(477) /* metro dependency 477: PlatformUtils */;
if (value.isMac()) {
r11 = MacosKeyToCode;
} else {
value = require(477) /* metro dependency 477: PlatformUtils */;
r11 = value.isWindows() ? WindowsKeyToCode : {};
}
r16 = r11;
}
let invert = (importDefault(22) /* metro dependency 22 */).invert;
value = Reflect.apply(invert, value, [LinuxKeyToCode]);
value[223] = '`';
Object = global.Object;
let freeze = Object.freeze;
Reflect.apply(freeze, Object, [value]);
Object = global.Object;
freeze = Object.freeze;
value = importDefault(22) /* metro dependency 22 */;
const env0_12 = Reflect.apply(freeze, Object, [value.invert(MacosKeyToCode)]);
value = importDefault(22) /* metro dependency 22 */;
value = value.invert(WindowsKeyToCode);
value[223] = '`';
Object = global.Object;
Object.freeze(value);
invert = (importDefault(22) /* metro dependency 22 */).invert;
r16 = r16 ?? ({});
value = Reflect.apply(invert, value, [r16]);
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
if (!platformUtilsModule.isMac()) {
value[223] = '`';
}
Object = global.Object;
Object.freeze(value);
object = [['META', '⌘'], ['CMD', '⌘'], ['RIGHT META', 'RIGHT ⌘'], ['RIGHT CMD', 'RIGHT ⌘'], ['SHIFT', '⇧'],
['RIGHT SHIFT', 'RIGHT ⇧'], ['ALT', '⌥'], ['RIGHT ALT', 'RIGHT ⌥'], ['CTRL', '⌃'], ['RIGHT CTRL', 'RIGHT ⌃'],
['ENTER', '↵'], ['BACKSPACE', '⌫'], ['DEL', '⌦'], ['ESC', '⎋'], ['PAGEUP', '⇞'], ['PAGEDOWN', '⇟'], ['UP', '↑'],
['DOWN', '↓'], ['LEFT', '←'], ['RIGHT', '→'], ['HOME', '↖'], ['END', '↘'], ['TAB', '⇥'], ['SPACE', '␣']];
const env0_16 = RegExp('shift|meta|ctrl|alt$', '');
(require(2) /* metro dependency 2 */).fileFinishedImporting('utils/web/KeyboardUtils.tsx');
exports.getRawCodeFromKey = getRawCodeFromKey;
exports.getCodeToKeyLanguageCorrection = closure;
exports.getEnv = closure2;
exports.codeToKey = closure3;
exports.keyToCode = closure4;
exports.getKeyConversionForBrowser = closure5;
exports.toBrowserEvents = function(a0) {
var env0_0 = {'keyCode': 0, 'key': '', 'code': '', 'metaKey': false, 'shiftKey': false, 'altKey': false,
'ctrlKey': false};
return a0 == null ? [] : a0.reduce(_fun94920, []);
};
exports.toCombo = toCombo;
exports.toString = toString_94925;
exports.areKeyCombosEqual = function(a0, a1) {
var value = a2;
var env0_0 = a1;
var env0_1 = value !== undefined ? value : false;
return a0.length === a1.length && a0.every(_fun94928);
};
exports.isKeyboardActivatedMouseEvent = function(a0) {
var r0;
r0 = a0 != null && typeof a0 === 'object' && 'nativeEvent' in a0;
r0 = r0 && a0.nativeEvent.clientX === 0 && a0.nativeEvent.clientY === 0;
return r0;
};
}
function _createForOfIteratorHelperLoose_94907(a0, a1) { // fn#94907, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:221, offset: 0x0212be36, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun94908;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_94909(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_94909(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_94909(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun94908;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function getCodeToKeyLanguageCorrection(a0, a1, a2) { // fn#94911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1428, offset: 0x0212bfc0, size: 253 bytes, params: 4, frame: 19
var r3;
const BACKTICK_CODES = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).BACKTICK_CODES;
var value5;
var moduleValue2;
var value6;
let value = a1;
if (a2 != null) {
var WINDOWS = KeyboardEnvs.WINDOWS;
if (a2 !== WINDOWS) {
return value;
}
}
if (BACKTICK_CODES.has(a0)) {
value5 = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getLayoutMap().get('Backquote');
if (value === value5) {
return maybePlusConversion(value);
}
moduleValue2 = require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */;
value6 = moduleValue2.getExactKeyboardEventMatchFromAny({key: value5, code: 'Backquote', keyCode: a0});
if (value === '\\') {
if (value5 === '`') {
r3 = value;
} else {
value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key);
r3 = value;
}
} else if (value !== "'") {
value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key);
r3 = value;
} else if (a0 === 192) {
value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key);
r3 = value;
} else if (value5 === '`') {
r3 = value;
} else {
value = maybePlusConversion(value6 == null ? value5 ?? value : value6.key);
r3 = value;
}
return r3;
}
return value;
}
function getEnv_94912() { // fn#94912, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1818, offset: 0x0212c0bd, size: 142 bytes, params: 1, frame: 13
var r0;
var moduleValue2;
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
if (platformUtilsModule.isLinux()) {
r0 = KeyboardEnvs.LINUX;
} else {
moduleValue2 = platformUtilsModule;
r0 = moduleValue2.isMac() ? KeyboardEnvs.MACOS : (require(477) /* metro dependency 477: PlatformUtils */).isWindows() ? KeyboardEnvs.WINDOWS : KeyboardEnvs.BROWSER;
}
return r0;
}
function codeToKey(a0) { // fn#94913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:1936, offset: 0x0212c14b, size: 423 bytes, params: 2, frame: 26
var r1;
var r2;
var r11;
var r112;
var r9;
var r4;
var item3;
var value5;
var item4;
var value6;
var value7;
var value8;
var value10;
const value2 = undefined;
const value3 = env0_4(a0, 3);
const property = value3[1];
const property2 = value3[2];
const iterator = a0[Symbol.iterator]();
const iterator2 = iterator.next;
let item2 = Reflect.apply(iterator2, iterator, []);
let item = item2.value;
item2 = item2.done ? undefined : iterator;
const value4 = item2 === value2;
if (value4) {
}
if (value4) {
r1 = item2;
r2 = value4;
r11 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value5 = item3 === value2;
if (value5) {
r1 = item3;
r2 = value5;
r11 = value2;
} else {
r1 = item3;
r2 = value5;
r11 = item;
}
}
if (r2) {
r112 = value2;
} else {
item4 = Reflect.apply(iterator2, r1, []);
item = item4.value;
item4 = item4.done ? undefined : r1;
value6 = item4 === value2;
if (value6) {
r1 = item4;
r2 = value6;
r112 = value2;
} else {
r1 = item4;
r2 = value6;
r112 = item;
}
}
if (!r2) {
r1.return();
}
const LINUX = KeyboardEnvs.LINUX;
if (LINUX === r112) {
r9 = env0_11[String(r11)];
value10 = null;
r4 = value10 != r9 ? r9 : value10;
} else if (KeyboardEnvs.MACOS === r112) {
r9 = env0_12[String(r11)];
value10 = null;
r4 = value10 != r9 ? r9 : value10;
} else if (KeyboardEnvs.WINDOWS === r112) {
r9 = env0_13[String(r11)];
value10 = null;
r4 = value10 != r9 ? r9 : value10;
} else if (KeyboardEnvs.BROWSER === r112) {
value7 = (importDefault(12479) /* metro dependency 12479 */)(r11);
value8 = null;
if (value8 == value7) {
r4 = value8;
} else {
r9 = getKeyConversionForBrowser(value7);
value10 = null;
r4 = value10 != r9 ? r9 : value10;
}
} else {
r9 = env0_14[String(r11)];
value10 = null;
r4 = value10 != r9 ? r9 : value10;
}
const value11 = null;
if (value11 != r4) {
return getCodeToKeyLanguageCorrection(property, r4, property2);
}
const keyboardEventShapeFromKeycode = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKeycode(property);
return value11 != keyboardEventShapeFromKeycode ? getCodeToKeyLanguageCorrection(keyboardEventShapeFromKeycode.keyCode,
keyboardEventShapeFromKeycode.key, property2) : value11;
}
function keyToCode(a0) { // fn#94914, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:2434, offset: 0x0212c2f2, size: 584 bytes, params: 2, frame: 20
var r0;
var keyboardEventShapeFromKey;
let value = a1;
const value2 = a2;
let r10 = value !== undefined ? value : getEnv_94912();
let r9 = value2 !== undefined ? value2 : KeyboardDeviceTypes.KEYBOARD_KEY;
r10 = r10 === undefined ? getEnv_94912() : r10;
r9 = r9 === undefined ? KeyboardDeviceTypes.KEYBOARD_KEY : r9;
value = null;
if (value == a0) {
r0 = value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
const KEYBOARD_KEY = KeyboardDeviceTypes.KEYBOARD_KEY;
let r2 = r9 === KEYBOARD_KEY || r9 === KeyboardDeviceTypes.KEYBOARD_MODIFIER_KEY;
if ((r2 && r10 === KeyboardEnvs.LINUX) === true) {
r2 = LinuxKeyToCode[a0];
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
if ((r2 && r10 === KeyboardEnvs.MACOS) === true) {
r2 = MacosKeyToCode[a0];
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
if ((r2 && r10 === KeyboardEnvs.WINDOWS) === true) {
r2 = a0 === '+' ? WindowsKeyToCode.plus : WindowsKeyToCode[a0];
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
if ((r2 && r10 === KeyboardEnvs.BROWSER) === true) {
r2 = (importDefault(12479) /* metro dependency 12479 */)(getKeyConversionForBrowser(a0));
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
if (r2 === true) {
r2 = env0_10[a0];
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
const MOUSE_BUTTON = KeyboardDeviceTypes.MOUSE_BUTTON;
if (r9 === MOUSE_BUTTON === true) {
r2 = global.parseInt(a0.replace('MOUSE', ''), 10);
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
const GAMEPAD_BUTTON = KeyboardDeviceTypes.GAMEPAD_BUTTON;
if (r9 === GAMEPAD_BUTTON === true) {
r2 = global.parseInt(a0.replace('GAMEPAD', ''), 10);
r0 = value != r2 ? r2 : value;
if (value != r0) {
return r0;
}
keyboardEventShapeFromKey = (require(12480) /* metro dependency 12480: KeyboardLayoutMapUtils */).getKeyboardEventShapeFromKey(a0);
return value != keyboardEventShapeFromKey ? keyboardEventShapeFromKey.keyCode : value;
}
const Error = global.Error;
value = 'Unrecognized DeviceType ' + r9 + '.';
const value10 = Object.create(Error.prototype, {constructor: {value: Error}});
const error = new Error(value);
throw error instanceof Object ? error : value10;
}
function toPrettyKey(a0) { // fn#94916, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:3823, offset: 0x0212c590, size: 102 bytes, params: 2, frame: 20
var value4;
var value5;
var property;
var property2;
var toUpperCase;
var value6;
const value2 = _createForOfIteratorHelperLoose_94907(env0_15);
const value3 = value2();
let done = value3.done;
if (done) {
return a0;
}
let r3 = value3;
loopExit1: while (true) {
value4 = r3.value;
value5 = env0_4(value4, 2);
property = value5[0];
property2 = value5[1];
toUpperCase = a0.toUpperCase;
if (property === Reflect.apply(toUpperCase, a0, [])) {
break loopExit1;
}
value6 = value2();
done = value6.done;
if (done) {
return a0;
}
r3 = value6;
continue;
}
return property2;
}
function getRawCodeFromKey(a0) { // fn#94918, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4145, offset: 0x0212c603, size: 77 bytes, params: 2, frame: 14
const value = a1;
const r4 = value !== undefined ? value : getEnv_94912();
const BROWSER = KeyboardEnvs.BROWSER;
return r4 === BROWSER ? (importDefault(12479) /* metro dependency 12479 */)(a0) : env0_10[a0];
}
function toBrowserEvents(a0) { // fn#94919, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4428, offset: 0x0212c650, size: 60 bytes, params: 2, frame: 13
const env0_0 = {'keyCode': 0, 'key': '', 'code': '', 'metaKey': false, 'shiftKey': false, 'altKey': false,
'ctrlKey': false};
return a0 == null ? [] : a0.reduce(_fun94920, []);
}
function toCombo(a0) { // fn#94922, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4899, offset: 0x0212c78d, size: 225 bytes, params: 2, frame: 16
let value = a1;
const value2 = a2;
if (value === undefined) {
value = getEnv_94912();
}
const env0_1 = value2 !== undefined ? value2 : KeyboardDeviceTypes.KEYBOARD_KEY;
value = a0.replace(RegExp('numpad plus', 'i'), '');
value = value.replace(RegExp('NUMPAD \\+', 'i'), 'numpad plus');
value = value.replace(RegExp('mod', 'i'), (require(12481) /* metro dependency 12481: KeybindModKeys */).modKey);
value = value.split('+');
value = value.map(function(a0) {
return a0.trim().replace('plus', '+');
});
return value.reduce(_fun94924, []);
}
function toString_94925(a0) { // fn#94925, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5372, offset: 0x0212c947, size: 181 bytes, params: 2, frame: 16
let value = a1;
let r0 = value !== undefined ? value : false;
value = Reflect.apply(a0.map(_fun94926).filter, value,
[(require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish]);
if (r0) {
value = (env0_0.navigator.appVersion.indexOf('Mac OS X') === -1 ? value : value.map(toPrettyKey)).join(' + ');
value = value.toUpperCase();
r0 = value;
} else {
value = value.join('+');
r0 = value;
}
return r0;
}
function areKeyCombosEqual(a0, a1) { // fn#94927, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5865, offset: 0x0212cb4d, size: 64 bytes, params: 3, frame: 13
const value = a2;
const env0_0 = a1;
const env0_1 = value !== undefined ? value : false;
return a0.length === a1.length && a0.every(_fun94928);
}
function _fun94920(a0, a1) { // fn#94920, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4561, offset: 0x0212c68c, size: 225 bytes, params: 3, frame: 20
var environment;
var r8;
var push;
var object3;
let value = environment.__proto__;
const value2 = codeToKey(a1);
const env0_0 = value2;
const object4 = {};
copyDataProperties(object4, env0_0, undefined);
if (value2 == null) {
push = a0.push;
object3 = {};
copyDataProperties(object3, object4, undefined);
object3['combo'] = a1;
Reflect.apply(push, a0, [object3]);
} else {
var binding = env1_16;
if (binding.test(value2)) {
r8 = value2 === 'meta' || value2 === 'shift';
r8 = !r8 ? value2 === 'alt' : r8;
r8 = !r8 ? value2 === 'ctrl' : r8;
if (r8) {
env0_0[toMetaKeyIndexKey(value2)] = true;
return a0.map(_fun94921);
}
value = keyToCode(value2, KeyboardEnvs.BROWSER);
if (value != null) {
object4.keyCode = value;
}
a0.push(object4);
return a0;
}
value = keyToCode(value2, KeyboardEnvs.BROWSER);
if (value != null) {
object4.keyCode = value;
}
a0.push(object4);
}
return a0;
}
function _fun94924(a0, a1) { // fn#94924, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5109, offset: 0x0212c892, size: 181 bytes, params: 3, frame: 23
var r4;
var r5;
var value5;
var value6;
var property;
var property2;
var toUpperCase;
var value7;
var toLowerCase;
let value = a1;
const value3 = _createForOfIteratorHelperLoose_94907(env1_15);
const value4 = value3();
let done = value4.done;
if (done) {
r5 = value;
} else {
r4 = value4;
loopExit1: while (true) {
value5 = r4.value;
value6 = env1_4(value5, 2);
property = value6[0];
property2 = value6[1];
toUpperCase = value.toUpperCase;
if (property2 === Reflect.apply(toUpperCase, value, [])) {
toLowerCase = property.toLowerCase;
value = Reflect.apply(toLowerCase, property, []);
r5 = value;
break loopExit1;
}
value7 = value3();
done = value7.done;
if (done) {
r5 = value;
break loopExit1;
}
r4 = value7;
continue;
}
}
const value8 = keyToCode(r5, env0_0, env0_1);
if (value8 != null) {
a0.push([env0_1, value8, env0_0]);
}
return a0;
}
function _fun94926(a0) { // fn#94926, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5411, offset: 0x0212c9fc, size: 337 bytes, params: 2, frame: 19
var r0;
var r1;
var r3;
var r6;
var item3;
var value3;
var item4;
var value4;
var codeToKeyBinding;
const iterator = a0[Symbol.iterator]();
const iterator2 = iterator.next;
let item2 = Reflect.apply(iterator2, iterator, []);
let item = item2.value;
item2 = item2.done ? undefined : iterator;
const value = undefined;
const value2 = item2 === value;
const r7 = value2 ? value : item;
if (value2) {
r0 = item2;
r1 = value2;
r3 = value;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = item3;
r1 = value3;
r3 = value;
} else {
r0 = item3;
r1 = value3;
r3 = item;
}
}
if (r1) {
r6 = value;
} else {
item4 = Reflect.apply(iterator2, r0, []);
item = item4.value;
item4 = item4.done ? undefined : r0;
value4 = item4 === value;
if (value4) {
r0 = item4;
r1 = value4;
r6 = value;
} else {
r0 = item4;
r1 = value4;
r6 = item;
}
}
if (!r1) {
r0.return();
}
r6 = typeof r6 !== 'number' ? getEnv_94912() : r6;
const KEYBOARD_KEY = KeyboardDeviceTypes.KEYBOARD_KEY;
if (KEYBOARD_KEY === r7) {
codeToKeyBinding = codeToKey;
r0 = r6 != null ? [r7, r3, r6] : [r7, r3];
r0 = codeToKeyBinding(r0) ?? 'UNK' + r3;
return r0;
}
const KEYBOARD_MODIFIER_KEY = KeyboardDeviceTypes.KEYBOARD_MODIFIER_KEY;
if (KEYBOARD_MODIFIER_KEY === r7) {
codeToKeyBinding = codeToKey;
r0 = r6 != null ? [r7, r3, r6] : [r7, r3];
r0 = codeToKeyBinding(r0) ?? 'UNK' + r3;
return r0;
}
const MOUSE_BUTTON = KeyboardDeviceTypes.MOUSE_BUTTON;
if (MOUSE_BUTTON === r7) {
return 'mouse' + r3;
}
const GAMEPAD_BUTTON = KeyboardDeviceTypes.GAMEPAD_BUTTON;
if (GAMEPAD_BUTTON === r7) {
return 'gamepad' + r3;
}
return 'dev' + r7 + ',' + r3;
}
function _fun94928(a0, a1) { // fn#94928, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:5939, offset: 0x0212cb8d, size: 176 bytes, params: 3, frame: 18
var r0;
var r1;
var r5;
var r3;
var item3;
var value3;
var item4;
var value4;
const iterator = a0[Symbol.iterator]();
const iterator2 = iterator.next;
let item2 = Reflect.apply(iterator2, iterator, []);
let item = item2.value;
item2 = item2.done ? undefined : iterator;
let value = undefined;
const value2 = item2 === value;
const r6 = value2 ? value : item;
if (value2) {
r0 = item2;
r1 = value2;
r5 = value;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = item3;
r1 = value3;
r5 = value;
} else {
r0 = item3;
r1 = value3;
r5 = item;
}
}
if (r1) {
r3 = value;
} else {
item4 = Reflect.apply(iterator2, r0, []);
item = item4.value;
item4 = item4.done ? undefined : r0;
value4 = item4 === value;
if (value4) {
r0 = item4;
r1 = value4;
r3 = value;
} else {
r0 = item4;
r1 = value4;
r3 = item;
}
}
if (!r1) {
r0.return();
}
value = env1_4(require[a1], 3);
return r6 === value[0] && r5 === value[1] && (env0_1 ? r3 === value[2] : !env0_1);
}
function _fun94921(a0) { // fn#94921, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12664:4774, offset: 0x0212c76d, size: 32 bytes, params: 2, frame: 12
const value = environment.__proto__.__proto__;
a0[toMetaKeyIndexKey(env0_0)] = true;
return a0;
}