|
- import { CreateYouTubeClipperParams, YouTubeVideoClipEventEmitter } from './video-types/youtube';
- import { VideoClipEventEmitter } from './common';
-
- export enum VideoType {
- YOUTUBE = 'youtube',
- }
-
- export interface CreateVideoClipperParams extends CreateYouTubeClipperParams {
- type: VideoType,
- }
-
- export const createVideoClipper = (params: CreateVideoClipperParams): VideoClipEventEmitter => {
- const {
- type: videoType,
- url,
- start,
- end,
- downloaderExecutablePath,
- } = params;
-
- switch (videoType as string) {
- case VideoType.YOUTUBE:
- return new YouTubeVideoClipEventEmitter({
- downloaderExecutablePath,
- url,
- start,
- end,
- });
- default:
- break;
- }
-
- throw new TypeError(`Invalid video type: "${videoType}". Valid values are: ${JSON.stringify(Object.values(VideoType))}`);
- };
-
- export { VideoClipEventEmitter };
|