Files
YouTube.js/src/parser/classes/Button.ts
LuanRT 34281e2445 refactor: migrate parsers to TS (#133)
* dev: finish top-level parsers TS migration

* dev: migrate menu renderers to TS

* chore: fix ts errors

* dev: finish ts migration 🎉
2022-08-20 03:18:17 -03:00

37 lines
732 B
TypeScript

import Text from './misc/Text';
import NavigationEndpoint from './NavigationEndpoint';
import { YTNode } from '../helpers';
class Button extends YTNode {
static type = 'Button';
text: string;
label;
tooltip;
icon_type;
endpoint: NavigationEndpoint;
constructor(data: any) {
super();
this.text = new Text(data.text).toString();
if (data.accessibility?.label) {
this.label = data.accessibility?.label;
}
if (data.tooltip) {
this.tooltip = data.tooltip;
}
if (data.icon?.iconType) {
this.icon_type = data.icon?.iconType;
}
this.endpoint = new NavigationEndpoint(data.navigationEndpoint || data.serviceEndpoint || data.command);
}
}
export default Button;