From a0566969ba436f31ca3722d09442a0c6302235d7 Mon Sep 17 00:00:00 2001 From: LuanRT Date: Thu, 13 Apr 2023 06:10:17 -0300 Subject: [PATCH] feat(ToggleMenuServiceItem): parse default nav endpoint --- src/parser/classes/Button.ts | 9 ++++----- src/parser/classes/ToggleMenuServiceItem.ts | 15 ++++++++------- src/parser/classes/menus/MenuNavigationItem.ts | 1 + 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/parser/classes/Button.ts b/src/parser/classes/Button.ts index ae148662..6971e080 100644 --- a/src/parser/classes/Button.ts +++ b/src/parser/classes/Button.ts @@ -2,8 +2,9 @@ import Text from './misc/Text.js'; import NavigationEndpoint from './NavigationEndpoint.js'; import { YTNode } from '../helpers.js'; +import type { RawNode } from '../index.js'; -class Button extends YTNode { +export default class Button extends YTNode { static type = 'Button'; text?: string; @@ -15,7 +16,7 @@ class Button extends YTNode { endpoint: NavigationEndpoint; - constructor(data: any) { + constructor(data: RawNode) { super(); if (data.text) { @@ -40,6 +41,4 @@ class Button extends YTNode { this.endpoint = new NavigationEndpoint(data.navigationEndpoint || data.serviceEndpoint || data.command); } -} - -export default Button; \ No newline at end of file +} \ No newline at end of file diff --git a/src/parser/classes/ToggleMenuServiceItem.ts b/src/parser/classes/ToggleMenuServiceItem.ts index be64c3ae..95cb608a 100644 --- a/src/parser/classes/ToggleMenuServiceItem.ts +++ b/src/parser/classes/ToggleMenuServiceItem.ts @@ -1,24 +1,25 @@ import Text from './misc/Text.js'; import NavigationEndpoint from './NavigationEndpoint.js'; import { YTNode } from '../helpers.js'; +import type { RawNode } from '../index.js'; -class ToggleMenuServiceItem extends YTNode { +export default class ToggleMenuServiceItem extends YTNode { static type = 'ToggleMenuServiceItem'; text: Text; toggled_text: Text; icon_type: string; toggled_icon_type: string; - endpoint: NavigationEndpoint; + default_endpoint: NavigationEndpoint; + toggled_endpoint: NavigationEndpoint; - constructor(data: any) { + constructor(data: RawNode) { super(); this.text = new Text(data.defaultText); this.toggled_text = new Text(data.toggledText); this.icon_type = data.defaultIcon.iconType; this.toggled_icon_type = data.toggledIcon.iconType; - this.endpoint = new NavigationEndpoint(data.toggledServiceEndpoint); + this.default_endpoint = new NavigationEndpoint(data.defaultServiceEndpoint); + this.toggled_endpoint = new NavigationEndpoint(data.toggledServiceEndpoint); } -} - -export default ToggleMenuServiceItem; \ No newline at end of file +} \ No newline at end of file diff --git a/src/parser/classes/menus/MenuNavigationItem.ts b/src/parser/classes/menus/MenuNavigationItem.ts index 4554e185..0d037e47 100644 --- a/src/parser/classes/menus/MenuNavigationItem.ts +++ b/src/parser/classes/menus/MenuNavigationItem.ts @@ -1,5 +1,6 @@ import Button from '../Button.js'; import type { RawNode } from '../../index.js'; + class MenuNavigationItem extends Button { static type = 'MenuNavigationItem';