Files
discord-decomp/sources/modules/messages/MediaFormatTesters.tsx
T
2026-07-27 16:20:00 +03:00

117 lines
5.6 KiB
TypeScript

/* Metro module 4631; source: modules/messages/MediaFormatTesters.tsx; dependencies: [57, 477, 4632, 2] */
function _fun39850(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#39850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:6, offset: 0x010edc53, size: 500 bytes, params: 8, frame: 19
var regexp;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const closure = urlMatchesFileExtension;
const env0_5 = RegExp('\\.(png|jpe?g|jfif|webp|gif|heic|heif|dng|avif)$', 'i');
const env0_6 = RegExp('\\.(webp|gif|avif)$', 'i');
let value = require(477) /* metro dependency 477: PlatformUtils */;
if (value.isIOS()) {
regexp = RegExp('\\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$', 'i');
} else {
value = require(477) /* metro dependency 477: PlatformUtils */;
if (value.isAndroid()) {
regexp = RegExp('\\.(mp3|m4a|wav|ogg|opus|flac)$', 'i');
} else {
regexp = RegExp('\\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$', 'i');
}
}
const env0_8 = RegExp('\\.(webm)$', 'i');
const env0_9 = RegExp('\\.(riv)$', 'i');
value = require(477) /* metro dependency 477: PlatformUtils */;
if (value.isIOS()) {
regexp = RegExp('\\.(mp4|mov|qt)$', 'i');
} else {
(require(477) /* metro dependency 477: PlatformUtils */).isAndroid();
regexp = RegExp('\\.(mp4|webm|mov|qt)$', 'i');
}
const closure2 = isWebPlayerVideoUrl;
const closure3 = isWebPlayerVideoFile;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/messages/MediaFormatTesters.tsx');
exports.urlMatchesFileExtension = closure;
exports.isImageUrl = isImageUrl;
exports.isImageFile = isImageFile;
exports.isImageContentType = function(a0) {
return contentTypeMatches(a0, 'image');
};
exports.isAnimatedImageUrl = isAnimatedImageUrl;
exports.isAudioFile = isAudioFile;
exports.isWebPlayerVideoUrl = closure2;
exports.isVideoUrl = isVideoUrl;
exports.isWebPlayerVideoFile = closure3;
exports.isVideoFile = isVideoFile;
exports.isRiveFile = isRiveFile;
exports.isVideoContentType = function(a0) {
return contentTypeMatches(a0, 'video');
};
}
function urlMatchesFileExtension(a0, a1) { // fn#39851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:130, offset: 0x010ede47, size: 84 bytes, params: 3, frame: 15
if (a0 == null) {
return false;
}
let value = a0.split(RegExp('\\?', ''), 1);
value = env0_2(value, 2);
const property = value[0];
value[1];
return a1.test(property);
}
function contentTypeMatches(a0, a1) { // fn#39852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:238, offset: 0x010ede9b, size: 67 bytes, params: 3, frame: 13
if (a0 == null) {
return false;
}
let value = a0.split('/');
value = env0_2(value, 2);
const property = value[0];
value[1];
return property === a1;
}
function isWebPlayerVideoUrl(a0) { // fn#39853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:687, offset: 0x010edede, size: 57 bytes, params: 2, frame: 14
return (require(4632) /* metro dependency 4632: WebViewWebmSupportTestNative */).isIOSWithWebM() && urlMatchesFileExtension(a0,
env0_8);
}
function isWebPlayerVideoFile(a0) { // fn#39854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:765, offset: 0x010edf17, size: 69 bytes, params: 2, frame: 13
var r0;
let value = a0 != null;
if (value) {
value = require(4632) /* metro dependency 4632: WebViewWebmSupportTestNative */;
value = value.isIOSWithWebM();
r0 = value;
} else {
r0 = value;
}
r0 = r0 && env0_8.test(a0);
return r0;
}
function isImageUrl(a0) { // fn#39855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:948, offset: 0x010edf5c, size: 24 bytes, params: 2, frame: 13
return urlMatchesFileExtension(a0, env0_5);
}
function isImageFile(a0) { // fn#39856, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:994, offset: 0x010edf74, size: 31 bytes, params: 2, frame: 12
return a0 != null && env0_5.test(a0);
}
function isAnimatedImageUrl(a0) { // fn#39858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:1091, offset: 0x010edfab, size: 24 bytes, params: 2, frame: 13
return urlMatchesFileExtension(a0, env0_6);
}
function isVideoUrl(a0) { // fn#39860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:1214, offset: 0x010edfc3, size: 36 bytes, params: 2, frame: 14
return urlMatchesFileExtension(a0, env0_10) || isWebPlayerVideoUrl(a0);
}
function isVideoFile(a0) { // fn#39861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:1328, offset: 0x010edfe7, size: 48 bytes, params: 2, frame: 13
return a0 != null && (env0_10.test(a0) || isWebPlayerVideoFile(a0));
}
function isRiveFile(a0) { // fn#39862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4809:1390, offset: 0x010ee017, size: 31 bytes, params: 2, frame: 12
return a0 != null && env0_9.test(a0);
}