blob: 7a2d23426c6d3f595e8871f09c5b5467581b94f3 (
plain) (
blame)
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
|
import { parseAss } from "./ass";
import { parseSrt } from "./srt";
import type { ParseSubtitleResult } from "./types";
export type { ParseSubtitleResult, SubtitleCue } from "./types";
export function parseSubtitleFile({
fileName,
input,
}: {
fileName: string;
input: string;
}): ParseSubtitleResult {
const extension = getFileExtension({ fileName });
switch (extension) {
case "srt":
return parseSrt({ input });
case "ass":
return parseAss({ input });
default:
throw new Error("Unsupported subtitle format");
}
}
function getFileExtension({ fileName }: { fileName: string }): string {
const extension = fileName.split(".").pop();
return extension?.toLowerCase() ?? "";
}
|