fix(Parser): Add SortFilterHeader (#563)

* Fix for SortFilterHeader

* fix(Settings): Use `YTNode#is` to identify headers with a title

---------

Co-authored-by: LuanRT <luan.lrt4@gmail.com>
This commit is contained in:
Brahim Hadriche
2024-01-08 18:37:06 -05:00
committed by GitHub
parent abd8a82cd0
commit 8f07e49512
4 changed files with 21 additions and 4 deletions

View File

@@ -3,18 +3,19 @@ import { Parser, type RawNode } from '../index.js';
import ItemSectionHeader from './ItemSectionHeader.js';
import ItemSectionTabbedHeader from './ItemSectionTabbedHeader.js';
import CommentsHeader from './comments/CommentsHeader.js';
import SortFilterHeader from './SortFilterHeader.js';
export default class ItemSection extends YTNode {
static type = 'ItemSection';
header: CommentsHeader | ItemSectionHeader | ItemSectionTabbedHeader | null;
header: CommentsHeader | ItemSectionHeader | ItemSectionTabbedHeader | SortFilterHeader | null;
contents: ObservedArray<YTNode>;
target_id?: string;
continuation?: string;
constructor(data: RawNode) {
super();
this.header = Parser.parseItem(data.header, [ CommentsHeader, ItemSectionHeader, ItemSectionTabbedHeader ]);
this.header = Parser.parseItem(data.header, [ CommentsHeader, ItemSectionHeader, ItemSectionTabbedHeader, SortFilterHeader ]);
this.contents = Parser.parseArray(data.contents);
if (data.targetId || data.sectionIdentifier) {

View File

@@ -0,0 +1,13 @@
import { YTNode } from '../helpers.js';
import { Parser, YTNodes, type RawNode } from '../index.js';
export default class SortFilterHeader extends YTNode {
static type = 'SortFilterHeader';
filter_menu: YTNodes.SortFilterSubMenu | null;
constructor(data: RawNode) {
super();
this.filter_menu = Parser.parseItem(data.filterMenu, YTNodes.SortFilterSubMenu);
}
}