diff --git a/src/parser/classes/Chapter.ts b/src/parser/classes/Chapter.ts new file mode 100644 index 00000000..463e9b18 --- /dev/null +++ b/src/parser/classes/Chapter.ts @@ -0,0 +1,21 @@ +import Text from './misc/Text'; +import Thumbnail from './misc/Thumbnail'; + +import { YTNode } from '../helpers'; + +class Chapter extends YTNode { + static type = 'Chapter'; + + title: Text; + time_range_start_millis: number; + thumbnail: Thumbnail[]; + + constructor(data: any) { + super(); + this.title = new Text(data.title); + this.time_range_start_millis = data.timeRangeStartMillis; + this.thumbnail = Thumbnail.fromResponse(data.thumbnail); + } +} + +export default Chapter; \ No newline at end of file diff --git a/src/parser/classes/DecoratedPlayerBar.ts b/src/parser/classes/DecoratedPlayerBar.ts new file mode 100644 index 00000000..d972c126 --- /dev/null +++ b/src/parser/classes/DecoratedPlayerBar.ts @@ -0,0 +1,19 @@ +import Parser from '..'; +import { YTNode } from '../helpers'; +import type Button from './Button'; +import type MultiMarkersPlayerBar from './MultiMarkersPlayerBar'; + +class DecoratedPlayerBar extends YTNode { + static type = 'DecoratedPlayerBar'; + + player_bar: MultiMarkersPlayerBar | null; + player_bar_action_button: Button | null; + + constructor(data: any) { + super(); + this.player_bar = Parser.parseItem(data.playerBar); + this.player_bar_action_button = Parser.parseItem