mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-24 23:32:32 +00:00
34 lines
721 B
TypeScript
34 lines
721 B
TypeScript
import type { RawNode } from '../../index.js';
|
|
|
|
export default class Thumbnail {
|
|
url: string;
|
|
width: number;
|
|
height: number;
|
|
|
|
constructor(data: RawNode) {
|
|
this.url = data.url;
|
|
this.width = data.width;
|
|
this.height = data.height;
|
|
}
|
|
|
|
/**
|
|
* Get thumbnails from response object.
|
|
*/
|
|
static fromResponse(data: any): Thumbnail[] {
|
|
if (!data) return [];
|
|
|
|
let thumbnail_data;
|
|
|
|
if (data.thumbnails) {
|
|
thumbnail_data = data.thumbnails;
|
|
} else if (data.sources) {
|
|
thumbnail_data = data.sources;
|
|
}
|
|
|
|
if (thumbnail_data) {
|
|
return thumbnail_data.map((x: any) => new Thumbnail(x)).sort((a: Thumbnail, b: Thumbnail) => b.width - a.width);
|
|
}
|
|
|
|
return [];
|
|
}
|
|
} |