decord/source/modules/messages/MediaFormatTesters.tsx

123 lines
3.6 KiB
TypeScript
Raw Normal View History

2026-07-23 10:11:24 +00:00
// Module ID: 4317
2026-07-24 07:16:23 +00:00
// Function ID: 37826
2026-07-20 16:05:17 +00:00
// Name: urlMatchesFileExtension
2026-07-23 10:11:24 +00:00
// Dependencies: [57, 477, 4318, 2]
2026-07-20 16:05:17 +00:00
// Exports: isAnimatedImageUrl, isAudioFile, isImageContentType, isImageFile, isImageUrl, isRiveFile, isVideoContentType, isVideoFile, isVideoUrl
2026-07-23 10:11:24 +00:00
// Module 4317 (urlMatchesFileExtension)
import _slicedToArray from "_slicedToArray";
import set from "set";
import set from "set";
import set from "isIOSWithWebM";
const require = arg1;
2026-07-20 16:05:17 +00:00
function urlMatchesFileExtension(sourceURI, GIF_RE_IOS) {
if (null == sourceURI) {
return false;
} else {
const tmp2 = callback(sourceURI.split(/\?/, 1), 2);
return GIF_RE_IOS.test(tmp2[0]);
}
}
function contentTypeMatches(contentType, image) {
if (null == contentType) {
return false;
} else {
const tmp2 = callback(contentType.split("/"), 2);
return tmp2[0] === image;
}
}
function isWebPlayerVideoUrl(mediaUrl) {
2026-07-23 10:11:24 +00:00
let isIOSWithWebMResult = require(4318) /* isIOSWithWebM */.isIOSWithWebM();
2026-07-20 16:05:17 +00:00
if (isIOSWithWebMResult) {
isIOSWithWebMResult = urlMatchesFileExtension(mediaUrl, closure_6);
}
return isIOSWithWebMResult;
}
function isWebPlayerVideoFile(filename) {
let isIOSWithWebMResult = null != filename;
if (isIOSWithWebMResult) {
2026-07-23 10:11:24 +00:00
isIOSWithWebMResult = require(4318) /* isIOSWithWebM */.isIOSWithWebM();
const obj = require(4318) /* isIOSWithWebM */;
2026-07-20 16:05:17 +00:00
}
if (isIOSWithWebMResult) {
isIOSWithWebMResult = regex2.test(filename);
}
return isIOSWithWebMResult;
}
2026-07-23 10:11:24 +00:00
const re3 = /\.(png|jpe?g|jfif|webp|gif|heic|heif|dng|avif)$/i;
const re4 = /\.(webp|gif|avif)$/i;
if (set.isIOS()) {
2026-07-20 16:05:17 +00:00
let tmp2 = /\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$/i;
} else {
2026-07-23 10:11:24 +00:00
tmp2 = require("set").isAndroid() ? /\.(mp3|m4a|wav|ogg|opus|flac)$/i : /\.(mp3|m4a|wav|aif|aiff|ogg|opus|flac)$/i;
const obj2 = require("set");
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let closure_5 = tmp2;
const re6 = /\.(webm)$/i;
const re7 = /\.(riv)$/i;
if (set.isIOS()) {
2026-07-20 16:05:17 +00:00
let tmp4 = /\.(mp4|mov|qt)$/i;
} else {
2026-07-23 10:11:24 +00:00
require("set").isAndroid();
2026-07-20 16:05:17 +00:00
tmp4 = /\.(mp4|webm|mov|qt)$/i;
2026-07-23 10:11:24 +00:00
const obj4 = require("set");
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let closure_8 = tmp4;
const result = set.fileFinishedImporting("modules/messages/MediaFormatTesters.tsx");
2026-07-20 16:05:17 +00:00
export { urlMatchesFileExtension };
export const isImageUrl = function isImageUrl(url) {
return urlMatchesFileExtension(url, closure_3);
};
export const isImageFile = function isImageFile(filename) {
let isMatch = null != filename;
if (isMatch) {
isMatch = regex.test(filename);
}
return isMatch;
};
export const isImageContentType = function isImageContentType(contentType) {
return contentTypeMatches(contentType, "image");
};
export const isAnimatedImageUrl = function isAnimatedImageUrl(coverImage) {
return urlMatchesFileExtension(coverImage, closure_4);
};
export const isAudioFile = function isAudioFile(filename) {
let isMatch = null != filename;
if (isMatch) {
isMatch = tmp2.test(filename);
}
return isMatch;
};
export { isWebPlayerVideoUrl };
export const isVideoUrl = function isVideoUrl(url) {
2026-07-23 10:11:24 +00:00
let tmp = urlMatchesFileExtension(url, closure_8);
2026-07-20 16:05:17 +00:00
if (!tmp) {
tmp = isWebPlayerVideoUrl(url);
}
return tmp;
};
export { isWebPlayerVideoFile };
export const isVideoFile = function isVideoFile(filename) {
let tmp = null != filename;
if (tmp) {
let isMatch = tmp4.test(filename);
if (!isMatch) {
isMatch = isWebPlayerVideoFile(filename);
}
tmp = isMatch;
}
return tmp;
};
export const isRiveFile = function isRiveFile(arg0) {
let isMatch = null != arg0;
if (isMatch) {
isMatch = regex3.test(arg0);
}
return isMatch;
};
export const isVideoContentType = function isVideoContentType(contentType) {
return contentTypeMatches(contentType, "video");
};