Skip to content

Commit

Permalink
fix(LiveChatTextMessage): Make some fields optional (#877)
Browse files Browse the repository at this point in the history
- Mark `menu_endpoint` property as optional
- Mark `context_menu_accessibility_label` property as optional
  • Loading branch information
jonz94 authored Jan 20, 2025
1 parent 49be72d commit a035b71
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions src/parser/classes/livechat/items/LiveChatTextMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ export default class LiveChatTextMessage extends YTNode {
timestamp_usec: number;
timestamp_text?: string;
author: Author;
menu_endpoint: NavigationEndpoint;
context_menu_accessibility_label: string;
menu_endpoint?: NavigationEndpoint;
context_menu_accessibility_label?: string;
before_content_buttons: ObservedArray<ButtonView>;

constructor(data: RawNode) {
Expand All @@ -40,8 +40,18 @@ export default class LiveChatTextMessage extends YTNode {
data.authorExternalChannelId
);

this.menu_endpoint = new NavigationEndpoint(data.contextMenuEndpoint);
this.context_menu_accessibility_label = data.contextMenuAccessibility.accessibilityData.label;
if (Reflect.has(data, 'contextMenuEndpoint')) {
this.menu_endpoint = new NavigationEndpoint(data.contextMenuEndpoint);
}

if (
Reflect.has(data, 'contextMenuAccessibility') &&
Reflect.has(data.contextMenuAccessibility, 'accessibilityData') &&
Reflect.has(data.contextMenuAccessibility.accessibilityData, 'label')
) {
this.context_menu_accessibility_label = data.contextMenuAccessibility.accessibilityData.label;
}

this.before_content_buttons = Parser.parseArray(data.beforeContentButtons, ButtonView);
}
}

0 comments on commit a035b71

Please sign in to comment.