Skip to content

Commit 5bd86fd

Browse files
authored
fix(ReactPlayer): transform youtube url for single video src (#262)
1 parent 3a5f3d3 commit 5bd86fd

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/components/ReactPlayer/utils.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,23 @@ const LIVE_YUOTUBE_VIDEO_REGEX =
33
/(?:youtu\.be\/live\/|youtube(?:-nocookie)?\.com\/(?:live\/))((\w|-){11})/;
44
const YOUTUBE_VIDEO_TEMPLATE = 'https://www.youtube.com/watch?v=';
55

6-
export const checkYoutubeVideos = (src: string | string[]) => {
7-
if (Array.isArray(src)) {
8-
return src.map((videoUrl) => {
9-
if (LIVE_YUOTUBE_VIDEO_REGEX.test(videoUrl)) {
10-
const youtubeLiveId = videoUrl.match(LIVE_YUOTUBE_VIDEO_REGEX)?.[1];
11-
if (!youtubeLiveId) {
12-
return videoUrl;
13-
}
14-
15-
return `${YOUTUBE_VIDEO_TEMPLATE}${youtubeLiveId}`;
16-
}
6+
const transformYoutubeUrl = (src: string) => {
7+
if (LIVE_YUOTUBE_VIDEO_REGEX.test(src)) {
8+
const youtubeLiveId = src.match(LIVE_YUOTUBE_VIDEO_REGEX)?.[1];
9+
if (!youtubeLiveId) {
10+
return src;
11+
}
1712

18-
return videoUrl;
19-
});
13+
return `${YOUTUBE_VIDEO_TEMPLATE}${youtubeLiveId}`;
2014
}
2115

2216
return src;
2317
};
18+
19+
export const checkYoutubeVideos = (src: string | string[]) => {
20+
if (Array.isArray(src)) {
21+
return src.map((videoUrl) => transformYoutubeUrl(videoUrl));
22+
}
23+
24+
return transformYoutubeUrl(src);
25+
};

0 commit comments

Comments
 (0)