mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 11:49:25 +00:00
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import { isAudioAsset } from "../media/audio.js";
|
|
import { AssetKind } from "./constants.js";
|
|
|
|
export function isCodeAsset(asset) {
|
|
if (asset?.assetType) {
|
|
return asset.assetType === "SCRIPT";
|
|
}
|
|
const type = (asset?.mediaType || asset?.originalMediaType || "").toLowerCase();
|
|
return type.startsWith("application/javascript") || type.startsWith("text/javascript");
|
|
}
|
|
|
|
export function isVideoAsset(asset) {
|
|
if (asset?.assetType) {
|
|
return asset.assetType === "VIDEO";
|
|
}
|
|
return asset?.mediaType?.startsWith("video/");
|
|
}
|
|
|
|
export function isModelAsset(asset) {
|
|
if (asset?.assetType) {
|
|
return asset.assetType === "MODEL";
|
|
}
|
|
return asset?.mediaType?.startsWith("model/");
|
|
}
|
|
|
|
export function isVideoElement(element) {
|
|
return element?.tagName === "VIDEO";
|
|
}
|
|
|
|
export function isGifAsset(asset) {
|
|
return asset?.mediaType?.toLowerCase() === "image/gif";
|
|
}
|
|
|
|
export function getAssetKind(asset) {
|
|
if (isAudioAsset(asset)) {
|
|
return AssetKind.AUDIO;
|
|
}
|
|
if (isCodeAsset(asset)) {
|
|
return AssetKind.CODE;
|
|
}
|
|
return AssetKind.VISUAL;
|
|
}
|
|
|
|
export function isVisualAsset(asset) {
|
|
return getAssetKind(asset) === AssetKind.VISUAL;
|
|
}
|