diff options
Diffstat (limited to 'client/src/assets/player/peertube-videojs-typings.ts')
-rw-r--r-- | client/src/assets/player/peertube-videojs-typings.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/client/src/assets/player/peertube-videojs-typings.ts b/client/src/assets/player/peertube-videojs-typings.ts new file mode 100644 index 000000000..a58fa6505 --- /dev/null +++ b/client/src/assets/player/peertube-videojs-typings.ts | |||
@@ -0,0 +1,33 @@ | |||
1 | import * as videojs from 'video.js' | ||
2 | import { VideoFile } from '../../../../shared/models/videos/video.model' | ||
3 | import { PeerTubePlugin } from './peertube-videojs-plugin' | ||
4 | |||
5 | declare module 'video.js' { | ||
6 | interface Player { | ||
7 | peertube (): PeerTubePlugin | ||
8 | } | ||
9 | } | ||
10 | |||
11 | interface VideoJSComponentInterface { | ||
12 | _player: videojs.Player | ||
13 | |||
14 | new (player: videojs.Player, options?: any) | ||
15 | |||
16 | registerComponent (name: string, obj: any) | ||
17 | } | ||
18 | |||
19 | type PeertubePluginOptions = { | ||
20 | videoFiles: VideoFile[] | ||
21 | playerElement: HTMLVideoElement | ||
22 | videoViewUrl: string | ||
23 | videoDuration: number | ||
24 | } | ||
25 | |||
26 | // videojs typings don't have some method we need | ||
27 | const videojsUntyped = videojs as any | ||
28 | |||
29 | export { | ||
30 | VideoJSComponentInterface, | ||
31 | PeertubePluginOptions, | ||
32 | videojsUntyped | ||
33 | } | ||