mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-01 15:50:13 +00:00
[@types/vimeo__player] Update typings to match the latest api version 2.9.1 (#36321)
* Update typings to match v2.7.0 * Update typings to match v2.8.0 * Update version number to v2.9.1 as there is no type changes * Fix linting * Update types as requested in the CR * Linting * Introduce VimeoTimeRange tuple * linting * Add missing options
This commit is contained in:
committed by
Benjamin Lichtman
parent
cfc586791d
commit
1f2735eb39
16
types/vimeo__player/index.d.ts
vendored
16
types/vimeo__player/index.d.ts
vendored
@@ -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 <https://github.com/denisyilmaz>
|
||||
// Felix Albert <f.albert.work@icloud.com>
|
||||
// Tim Chen <https://github.com/timc13>
|
||||
// Terry Mun <https://github.com/terrymun>
|
||||
// Coskun Deniz <deniz@tassomai.com>
|
||||
// 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<string, UnsupportedError | RangeError | Error>;
|
||||
removeCuePoint(id: string): VimeoPromise<string, UnsupportedError | InvalidCuePoint | Error>;
|
||||
getCuePoints(): VimeoPromise<VimeoCuePoint[], UnsupportedError | Error>;
|
||||
getBuffered(): VimeoPromise<VimeoTimeRange[], Error>;
|
||||
getCurrentTime(): VimeoPromise<number, Error>;
|
||||
setCurrentTime(seconds: number): VimeoPromise<number, RangeError | Error>;
|
||||
getDuration(): VimeoPromise<number, Error>;
|
||||
@@ -50,6 +55,9 @@ export class Player {
|
||||
getLoop(): VimeoPromise<boolean, Error>;
|
||||
setLoop(loop: boolean): VimeoPromise<boolean, Error>;
|
||||
getPaused(): VimeoPromise<boolean, Error>;
|
||||
getPlayed(): VimeoPromise<VimeoTimeRange[], Error>;
|
||||
getSeekable(): VimeoPromise<VimeoTimeRange[], Error>;
|
||||
getSeeking(): VimeoPromise<boolean, Error>;
|
||||
getPlaybackRate(): VimeoPromise<number, Error>;
|
||||
setPlaybackRate(playbackRate: number): VimeoPromise<number, RangeError | Error>;
|
||||
getTextTracks(): VimeoPromise<VimeoTextTrack[], Error>;
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user