Files
discord-decomp/modules/messages/MediaFormatTesters.tsx
T
2026-11-01 12:12:55 +02:00

111 lines
2.6 KiB
TypeScript

// Metro module 4377 (f4378).
import { isIOS, isAndroid } from "../../utils/PlatformUtils";
import { isIOSWithWebM } from "./WebViewWebmSupportTest.native";
let r35;
let c2594_8;
let c2594_3 = /\.(png|jpe?g|jfif|webp|gif|heic|heif|dng|avif)$/i;
let c2594_4 = /\.(webp|gif|avif)$/i;
let c2594_5 = isIOS() ? /\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$/i : isAndroid() ? /\.(mp3|m4a|wav|ogg|opus|flac)$/i : /\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$/i;
let c2594_6 = /\.(webm)$/i;
let c2594_7 = /\.(riv)$/i;
if (isIOS()) {
r35 = /\.(mp4|mov|qt)$/i;
} else {
isAndroid();
r35 = /\.(mp4|webm|mov|qt)$/i;
}
export function urlMatchesFileExtension(a0, a1) {
if (a0 == null) {
return false;
}
const [r12, ] = a0.split(/\?/, 1);
return a1.test(r12);
}
export function isWebPlayerVideoUrl(a0) {
let r13 = isIOSWithWebM();
if (r13) {
const r14 = a0 == null;
let r15 = false;
if (!r14) {
const [r20, ] = a0.split(/\?/, 1);
r15 = c2594_6.test(r20);
}
r13 = r15;
}
return r13;
}
export function isWebPlayerVideoFile(a0) {
return a0 != null && isIOSWithWebM() && c2594_6.test(a0);
}
c2594_8 = r35;
export function isImageUrl(a0) {
const r8 = a0 == null;
let r2 = false;
if (!r8) {
const [r14, ] = a0.split(/\?/, 1);
r2 = c2594_3.test(r14);
}
return r2;
}
export function isImageFile(a0) {
return a0 != null && c2594_3.test(a0);
}
export function isImageContentType(a0) {
const r2 = a0 == null;
let r7 = false;
if (!r2) {
const [r12, ] = a0.split("/");
r7 = r12 === "image";
}
return r7;
}
export function isAnimatedImageUrl(a0) {
const r8 = a0 == null;
let r2 = false;
if (!r8) {
const [r14, ] = a0.split(/\?/, 1);
r2 = c2594_4.test(r14);
}
return r2;
}
export function isAudioFile(a0) {
return a0 != null && c2594_5.test(a0);
}
export function isVideoUrl(a0) {
const r1 = a0 == null;
let r3 = false;
if (!r1) {
const [r16, ] = a0.split(/\?/, 1);
r3 = c2594_8.test(r16);
}
if (!r3) {
let r25 = isIOSWithWebM();
if (r25) {
const r27 = a0 == null;
let r5 = false;
if (!r27) {
const [r34, ] = a0.split(/\?/, 1);
r5 = c2594_6.test(r34);
}
r25 = r5;
}
r3 = r25;
}
return r3;
}
export function isVideoFile(a0) {
return a0 != null && (c2594_8.test(a0) || a0 != null && isIOSWithWebM() && c2594_6.test(a0));
}
export function isRiveFile(a0) {
return a0 != null && c2594_7.test(a0);
}
export function isVideoContentType(a0) {
const r2 = a0 == null;
let r7 = false;
if (!r2) {
const [r12, ] = a0.split("/");
r7 = r12 === "video";
}
return r7;
}