Skip to content

Commit 3ae0b14

Browse files
committed
feat: returns a youtube thumbnail from a given youtube video
1 parent 8b2f598 commit 3ae0b14

File tree

4 files changed

+28
-7
lines changed

4 files changed

+28
-7
lines changed

README.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,8 @@ extractLatLngFromGoogleMapsUrl("https://googlemaps.com"); // null
6363
Extract a YouTube video ID from different kinds of YouTube URLs
6464

6565
```typescript
66-
console.log(
67-
extractYouTubeVideoID("https://www.youtube.com/watch?v=JWJz_MS1-I8&t=1815s")
68-
);
69-
// Output: "JWJz_MS1-I8"
70-
71-
console.log(extractYouTubeVideoID("https://youtu.be/JWJz_MS1-I8"));
72-
// Output: "JWJz_MS1-I8"
66+
extractYouTubeVideoID("https://www.youtube.com/watch?v=JWJz_MS1-I8&t=1815s"); // JWJz_MS1-I8
67+
extractYouTubeVideoID("https://youtu.be/JWJz_MS1-I8"); // JWJz_MS1-I8
7368
```
7469

7570
### `generatePrefixedId`
@@ -85,6 +80,18 @@ generatePrefixedId("usr"); // usr_<uuid>
8580
generatePrefixedId("kyl"); // kyl_<uuid>
8681
```
8782

83+
### `getYoutubeThumbnail`
84+
85+
Returns a youtube thumbnail for a given youtube video
86+
87+
**Usage:**
88+
89+
```typescript
90+
import { getYoutubeThumbnail } from "largs-utils";
91+
92+
getYoutubeThumbnail("dQw4w9WgXcQ"); // `https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg`
93+
```
94+
8895
### `isValidEmail`
8996

9097
Validates if a given email address is in a proper format.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { getYoutubeThumbnail } from "../getYoutubeThumbnail";
2+
3+
describe("getYoutubeThumbnail", () => {
4+
it("should return the correct YouTube thumbnail URL", () => {
5+
const videoId = "dQw4w9WgXcQ";
6+
const expectedUrl = `https://i.ytimg.com/vi/${videoId}/maxresdefault.jpg`;
7+
8+
expect(getYoutubeThumbnail(videoId)).toBe(expectedUrl);
9+
});
10+
});

src/getYoutubeThumbnail.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export const getYoutubeThumbnail = (youtubeVideoId: string) => {
2+
return `https://i.ytimg.com/vi/${youtubeVideoId}/maxresdefault.jpg`;
3+
};

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export { extractLatLngFromGoogleMapsUrl } from "./extractLatLngFromGoogleMapsUrl
44
export { extractYouTubeVideoID } from "./extractYoutubeVideoId";
55
export { generatePrefixedId } from "./generatePrefixedId";
66
export { generateSlug } from "./generateSlug";
7+
export { getYoutubeThumbnail } from "./getYoutubeThumbnail";
78
export { isValidEmail } from "./isValidEmail";
89
export { isValidGoogleMapsUrl } from "./isValidGoogleMapsUrl";
910
export { isValidHttpUrl } from "./isValidHttpUrl";

0 commit comments

Comments
 (0)