Files
YouTube.js/deno/src/parser/classes/MicroformatData.ts
2023-04-29 05:15:47 +00:00

59 lines
1.9 KiB
TypeScript

import Thumbnail from './misc/Thumbnail.ts';
import { YTNode } from '../helpers.ts';
import type { RawNode } from '../index.ts';
export default class MicroformatData extends YTNode {
static type = 'MicroformatData';
url_canonical: string;
title: string;
description: string;
thumbnail: Thumbnail[];
site_name: string;
app_name: string;
android_package: string;
ios_app_store_id: string;
ios_app_arguments: string;
og_type: string;
url_applinks_web: string;
url_applinks_ios: string;
url_applinks_android: string;
url_twitter_ios: string;
url_twitter_android: string;
twitter_card_type: string;
twitter_site_handle: string;
schema_dot_org_type: string;
noindex: string;
is_unlisted: boolean;
is_family_safe: boolean;
tags: string[];
available_countries: string[];
constructor(data: RawNode) {
super();
this.url_canonical = data.urlCanonical;
this.title = data.title;
this.description = data.description;
this.thumbnail = Thumbnail.fromResponse(data.thumbnail);
this.site_name = data.siteName;
this.app_name = data.appName;
this.android_package = data.androidPackage;
this.ios_app_store_id = data.iosAppStoreId;
this.ios_app_arguments = data.iosAppArguments;
this.og_type = data.ogType;
this.url_applinks_web = data.urlApplinksWeb;
this.url_applinks_ios = data.urlApplinksIos;
this.url_applinks_android = data.urlApplinksAndroid;
this.url_twitter_ios = data.urlTwitterIos;
this.url_twitter_android = data.urlTwitterAndroid;
this.twitter_card_type = data.twitterCardType;
this.twitter_site_handle = data.twitterSiteHandle;
this.schema_dot_org_type = data.schemaDotOrgType;
this.noindex = data.noindex;
this.is_unlisted = data.unlisted;
this.is_family_safe = data.familySafe;
this.tags = data.tags;
this.available_countries = data.availableCountries;
// XXX: linkAlternatives?
}
}