Files
YouTube.js/lib/parser/contents/classes/C4TabbedHeader.js
Bob Varioa f52d15cdb0 Make project multiplatform (#91)
* Prefer `c ? x : y` over `c && x || y`

* Avoid unnecessary asssignment expressions

* Prefer switch statements over object lookup tables

* Add an .editorconfig

* Fix style issues

* Fix mentioned issues

* remove dynamic require

* Introduce esbuild as a build system

* Add cross platform stream api

* Replace 'fs' with custom cache api

* Add cross platform crypto api

* Add misc. dependencies

* Create multi-platform tests

* Update package-lock, Add build files

* Pull from upstream

* Fix linting issues, and update build files

* Fix comments issues

* Regenerate types, add source maps

Co-authored-by: bob <bob.varioa@gmail.com>
2022-07-06 16:47:48 -03:00

26 lines
966 B
JavaScript

'use strict';
const Parser = require('..');
const Author = require('./Author');
const Thumbnail = require('./Thumbnail');
const Text = require('./Text');
class C4TabbedHeader {
type = 'C4TabbedHeader';
constructor(data) {
this.author = new Author({
simpleText: data.title,
navigationEndpoint: data.navigationEndpoint
}, data.badges, data.avatar);
this.banner = data.banner ? Thumbnail.fromResponse(data.banner) : [];
this.tv_banner = data.tvBanner ? Thumbnail.fromResponse(data.tvBanner) : [];
this.mobile_banner = data.mobileBanner ? Thumbnail.fromResponse(data.mobileBanner) : [];
this.subscribers = new Text(data.subscriberCountText);
this.sponsor_button = data.sponsorButton && Parser.parse(data.sponsorButton);
this.subscribe_button = data.subscribeButton && Parser.parse(data.subscribeButton);
this.header_links = data.headerLinks && Parser.parse(data.headerLinks);
}
}
module.exports = C4TabbedHeader;