mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-18 03:59:38 +00:00
44 lines
1007 B
TypeScript
44 lines
1007 B
TypeScript
import Parser from '..';
|
|
import type Chapter from './Chapter';
|
|
import type Heatmap from './Heatmap';
|
|
|
|
import { observe, ObservedArray, YTNode } from '../helpers';
|
|
|
|
class Marker extends YTNode {
|
|
static type = 'Marker';
|
|
|
|
marker_key: string;
|
|
value: {
|
|
heatmap?: Heatmap | null;
|
|
chapters?: Chapter[];
|
|
};
|
|
|
|
constructor (data: any) {
|
|
super();
|
|
this.marker_key = data.key;
|
|
|
|
this.value = {};
|
|
|
|
if (data.value.heatmap) {
|
|
this.value.heatmap = Parser.parseItem<Heatmap>(data.value.heatmap);
|
|
}
|
|
|
|
if (data.value.chapters) {
|
|
this.value.chapters = Parser.parseArray<Chapter>(data.value.chapters);
|
|
}
|
|
}
|
|
}
|
|
|
|
class MultiMarkersPlayerBar extends YTNode {
|
|
static type = 'MultiMarkersPlayerBar';
|
|
|
|
markers_map: ObservedArray<Marker>;
|
|
|
|
constructor(data: any) {
|
|
super();
|
|
this.markers_map = observe(data.markersMap?.map((marker: { key: string; value: { [key: string ]: any }}) => new Marker(marker)));
|
|
}
|
|
}
|
|
|
|
export { Marker };
|
|
export default MultiMarkersPlayerBar; |