aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAjay Ramachandran <[email protected]>2021-10-05 20:51:20 -0400
committerAjay Ramachandran <[email protected]>2021-10-05 20:51:20 -0400
commit4045978b5492b9cdbb87f688e234430fd03131c1 (patch)
tree37ce4c76ee606a048037ad1ac338df73e5573e6c
parent56bc3fca044526607b721c730b68d0dde43a59fc (diff)
downloadSponsorBlock-4045978b5492b9cdbb87f688e234430fd03131c1.tar.gz
SponsorBlock-4045978b5492b9cdbb87f688e234430fd03131c1.zip
Support older browsers
-rw-r--r--src/utils/urlParser.ts8
-rw-r--r--test/urlParser.test.ts6
2 files changed, 7 insertions, 7 deletions
diff --git a/src/utils/urlParser.ts b/src/utils/urlParser.ts
index 37f5067c..209c7c51 100644
--- a/src/utils/urlParser.ts
+++ b/src/utils/urlParser.ts
@@ -11,13 +11,13 @@ export function urlTimeToSeconds(time: string): number {
return 0;
}
- const re = /(?:(?<hours>\d{1,3})h)?(?:(?<minutes>\d{1,2})m)?(?<seconds>\d+)s?/;
+ const re = /(?:(\d{1,3})h)?(?:(\d{1,2})m)?(\d+)s?/;
const match = re.exec(time);
if (match) {
- const hours = parseInt(match.groups.hours ?? '0', 10);
- const minutes = parseInt(match.groups.minutes ?? '0', 10);
- const seconds = parseInt(match.groups.seconds ?? '0', 10);
+ const hours = parseInt(match[1] ?? '0', 10);
+ const minutes = parseInt(match[2] ?? '0', 10);
+ const seconds = parseInt(match[3] ?? '0', 10);
return hours * 3600 + minutes * 60 + seconds;
} else if (/\d+/.test(time)) {
diff --git a/test/urlParser.test.ts b/test/urlParser.test.ts
index 32cf1568..888227dc 100644
--- a/test/urlParser.test.ts
+++ b/test/urlParser.test.ts
@@ -5,15 +5,15 @@ describe("getStartTimeFromUrl", () => {
expect(getStartTimeFromUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=123")).toBe(123);
});
- it("parses with a seconds", () => {
+ it("parses with seconds", () => {
expect(getStartTimeFromUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=123s")).toBe(123);
});
- it("parses with a minutes", () => {
+ it("parses with minutes", () => {
expect(getStartTimeFromUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=23m3s")).toBe(23 * 60 + 3);
});
- it("parses with a hours", () => {
+ it("parses with hours", () => {
expect(getStartTimeFromUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=1h2m3s")).toBe(1 * 60 * 60 + 2 * 60 + 3);
});