Spaces:
Running
Running
import mime from "mime"; | |
export const isVideoFile = (filename) => mime.getType(filename)?.startsWith("video") || false; | |
export const isSubtitleFile = (filename) => filename.toLowerCase().endsWith(".srt") || | |
filename.toLowerCase().endsWith(".sub") || | |
filename.toLowerCase().endsWith(".vtt") || | |
filename.toLowerCase().endsWith(".smi") || | |
filename.toLowerCase().endsWith(".ssa") || | |
filename.toLowerCase().endsWith(".ass") || | |
filename.toLowerCase().endsWith(".txt"); | |
export const getStreamingMimeType = (filename) => { | |
const mimeType = mime.getType(filename); | |
return mimeType?.startsWith("video") | |
? "video/mp4" | |
: mimeType || "application/unknown"; | |
}; | |
export const getReadableSize = (bytes) => { | |
if (bytes == 0) { | |
return "0.00 B"; | |
} | |
var e = Math.floor(Math.log(bytes) / Math.log(1024)); | |
return ((bytes / Math.pow(1024, e)).toFixed(2) + " " + " KMGTP".charAt(e) + "B"); | |
}; | |
export const getReadableDuration = (millisecs) => { | |
var seconds = (millisecs / 1000).toFixed(1); | |
var minutes = (millisecs / (1000 * 60)).toFixed(1); | |
var hours = (millisecs / (1000 * 60 * 60)).toFixed(1); | |
var days = (millisecs / (1000 * 60 * 60 * 24)).toFixed(1); | |
if (Number(seconds) < 60) { | |
return seconds + " seconds"; | |
} | |
else if (Number(minutes) < 60) { | |
return minutes + " minutes"; | |
} | |
else if (Number(hours) < 24) { | |
return hours + " hours"; | |
} | |
else { | |
return days + " days"; | |
} | |
}; | |
//# sourceMappingURL=file.js.map |