+async function getVideoDuration (videoId: number | string) {
+ const video = await VideoModel.load(videoId)
+
+ const duration = video.isLive
+ ? undefined
+ : video.duration
+
+ return { duration, isLive: video.isLive }
+}
+
+const getCachedVideoDuration = memoizee(getVideoDuration, {
+ promise: true,
+ max: MEMOIZE_LENGTH.VIDEO_DURATION,
+ maxAge: MEMOIZE_TTL.VIDEO_DURATION
+})
+
+// ---------------------------------------------------------------------------
+