File size: 1,530 Bytes
762fa11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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