diff --git a/types/vimeo__player/index.d.ts b/types/vimeo__player/index.d.ts index 2ef9555813..f73e6247c5 100755 --- a/types/vimeo__player/index.d.ts +++ b/types/vimeo__player/index.d.ts @@ -1,9 +1,10 @@ -// Type definitions for @vimeo/player 2.6.3 +// Type definitions for @vimeo/player 2.9.1 // Project: https://github.com/vimeo/player.js // Definitions by: Denis Yılmaz // Felix Albert // Tim Chen // Terry Mun +// Coskun Deniz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export type CallbackFunction = (...args: any[]) => any; @@ -20,10 +21,13 @@ export interface InvalidCuePoint extends Error {name: "InvalidCuePoint"; message export interface RangeError extends Error {name: "RangeError"; message: string; method: string; } export interface TypeError extends Error {name: "TypeError"; message: string; method: string; } -export type EventName = "play" | "pause" | "ended" | "timeupdate" | "progress" | "seeked" | "texttrackchange" | +export type EventName = "play" | "pause" | "ended" | "timeupdate" | "progress" | "seeked" | "seeking" | "texttrackchange" | "cuechange" | "cuepoint" | "volumechange" | "playbackratechange" | "bufferstart" | "bufferend" | "error" | "loaded" | string; export type EventCallback = (data: any) => any; +export type VimeoTimeRange = [number, number]; +export type VimeoVideoQuality = "4K" | "2K" | "1080p" | "720p" | "540p" | "360p" | "240p"; + export class Player { constructor(element: HTMLIFrameElement|HTMLElement|string, options?: Options); @@ -43,6 +47,7 @@ export class Player { addCuePoint(time: number, data: VimeoCuePointData): VimeoPromise; removeCuePoint(id: string): VimeoPromise; getCuePoints(): VimeoPromise; + getBuffered(): VimeoPromise; getCurrentTime(): VimeoPromise; setCurrentTime(seconds: number): VimeoPromise; getDuration(): VimeoPromise; @@ -50,6 +55,9 @@ export class Player { getLoop(): VimeoPromise; setLoop(loop: boolean): VimeoPromise; getPaused(): VimeoPromise; + getPlayed(): VimeoPromise; + getSeekable(): VimeoPromise; + getSeeking(): VimeoPromise; getPlaybackRate(): VimeoPromise; setPlaybackRate(playbackRate: number): VimeoPromise; getTextTracks(): VimeoPromise; @@ -89,6 +97,8 @@ export interface Options { background?: boolean; byline?: boolean; color?: string; + controls?: boolean; + dnt?: boolean; height?: number; loop?: boolean; maxheight?: number; @@ -98,6 +108,8 @@ export interface Options { portrait?: boolean; responsive?: boolean; speed?: boolean; + quality?: VimeoVideoQuality; + texttrack?: string; title?: boolean; transparent?: boolean; width?: number; diff --git a/types/vimeo__player/vimeo__player-tests.ts b/types/vimeo__player/vimeo__player-tests.ts index 0dbba1a3a8..a1108dad37 100644 --- a/types/vimeo__player/vimeo__player-tests.ts +++ b/types/vimeo__player/vimeo__player-tests.ts @@ -397,6 +397,30 @@ player.setVolume(0.5).then((volume) => { } }); +player.getSeeking().then((seeking) => { + // seeking = whether the player is seeking or not +}).catch((error) => { + // an error occurred +}); + +player.getBuffered().then((buffered) => { + // buffered = an array of the buffered video time ranges. +}).catch((error) => { + // an error occurred +}); + +player.getPlayed().then((played) => { + // played = array values of the played video time ranges. +}).catch((error) => { + // an error occurred +}); + +player.getSeekable().then((seekable) => { + // seekable = array values of the seekable video time ranges. +}).catch((error) => { + // an error occurred +}); + // EVENTS player.on('play', (data) => { @@ -484,6 +508,13 @@ player.on('bufferend', (data) => { // no associated data with this event }); +player.on('seeking', (data) => { + // data is an object containing properties specific to that event + console.log(data.duration); // 61.857 + console.log(data.percent); // 0.485 + console.log(data.seconds); // 30 + }); + player.on('error', (data) => { // data is an object containing properties specific to that event console.log(data.message);