chore: add proper documentation (#763)

* chore: generate API ref using `typedoc`

* chore: declutter readme and add links to ytjs.dev

* chore: clean up
This commit is contained in:
Luan
2024-09-23 17:32:50 -03:00
committed by GitHub
parent dd7f5cf778
commit 74659fd03f
853 changed files with 139814 additions and 1929 deletions

View File

@@ -0,0 +1,306 @@
[youtubei.js](../../../README.md) / [Mixins](../README.md) / Feed
# Class: Feed\<T\>
## Extended by
- [`FilterableFeed`](FilterableFeed.md)
- [`TabbedFeed`](TabbedFeed.md)
- [`History`](../../YT/classes/History.md)
- [`Library`](../../YT/classes/Library.md)
- [`Playlist`](../../YT/classes/Playlist.md)
- [`Search`](../../YT/classes/Search.md)
- [`ChannelListContinuation`](../../YT/classes/ChannelListContinuation.md)
- [`Channel`](../../YTKids/classes/Channel.md)
- [`HomeFeed`](../../YTKids/classes/HomeFeed.md)
- [`Search`](../../YTKids/classes/Search.md)
## Type Parameters
**T** *extends* [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md) = [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md)
## Constructors
### new Feed()
> **new Feed**\<`T`\>(`actions`, `response`, `already_parsed`): [`Feed`](Feed.md)\<`T`\>
#### Parameters
**actions**: [`Actions`](../../../classes/Actions.md)
**response**: [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md) \| [`ApiResponse`](../../../interfaces/ApiResponse.md)
**already\_parsed**: `boolean` = `false`
#### Returns
[`Feed`](Feed.md)\<`T`\>
#### Defined in
[src/core/mixins/Feed.ts:46](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L46)
## Accessors
### actions
> `get` **actions**(): [`Actions`](../../../classes/Actions.md)
#### Returns
[`Actions`](../../../classes/Actions.md)
#### Defined in
[src/core/mixins/Feed.ts:180](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L180)
***
### channels
> `get` **channels**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
Get all the channels in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
#### Defined in
[src/core/mixins/Feed.ts:125](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L125)
***
### has\_continuation
> `get` **has\_continuation**(): `boolean`
Checks if the feed has continuation.
#### Returns
`boolean`
#### Defined in
[src/core/mixins/Feed.ts:194](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L194)
***
### memo
> `get` **memo**(): [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`Memo`](../../Helpers/classes/Memo.md)
#### Defined in
[src/core/mixins/Feed.ts:136](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L136)
***
### page
> `get` **page**(): `T`
Get the original page data
#### Returns
`T`
#### Defined in
[src/core/mixins/Feed.ts:187](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L187)
***
### page\_contents
> `get` **page\_contents**(): [`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
Returns contents from the page.
#### Returns
[`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
#### Defined in
[src/core/mixins/Feed.ts:143](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L143)
***
### playlists
> `get` **playlists**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Defined in
[src/core/mixins/Feed.ts:132](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L132)
***
### posts
> `get` **posts**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
Get all the community posts in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
#### Defined in
[src/core/mixins/Feed.ts:118](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L118)
***
### secondary\_contents
> `get` **secondary\_contents**(): `undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
Returns secondary contents from the page.
#### Returns
`undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Defined in
[src/core/mixins/Feed.ts:168](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L168)
***
### shelves
> `get` **shelves**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
Returns all segments/sections from the page.
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
#### Defined in
[src/core/mixins/Feed.ts:154](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L154)
***
### videos
> `get` **videos**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all the videos in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Defined in
[src/core/mixins/Feed.ts:111](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L111)
## Methods
### getContinuation()
> **getContinuation**(): `Promise`\<[`Feed`](Feed.md)\<`T`\>\>
Retrieves next batch of contents and returns a new [Feed](Feed.md) object.
#### Returns
`Promise`\<[`Feed`](Feed.md)\<`T`\>\>
#### Defined in
[src/core/mixins/Feed.ts:220](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L220)
***
### getContinuationData()
> **getContinuationData**(): `Promise`\<`undefined` \| `T`\>
Retrieves continuation data as it is.
#### Returns
`Promise`\<`undefined` \| `T`\>
#### Defined in
[src/core/mixins/Feed.ts:201](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L201)
***
### getShelf()
> **getShelf**(`title`): `undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
Finds shelf by title.
#### Parameters
**title**: `string`
#### Returns
`undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
#### Defined in
[src/core/mixins/Feed.ts:161](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L161)
***
### getPlaylistsFromMemo()
> `static` **getPlaylistsFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Defined in
[src/core/mixins/Feed.ts:93](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L93)
***
### getVideosFromMemo()
> `static` **getVideosFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all videos on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Defined in
[src/core/mixins/Feed.ts:77](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L77)

View File

@@ -0,0 +1,423 @@
[youtubei.js](../../../README.md) / [Mixins](../README.md) / FilterableFeed
# Class: FilterableFeed\<T\>
## Extends
- [`Feed`](Feed.md)\<`T`\>
## Extended by
- [`HomeFeed`](../../YT/classes/HomeFeed.md)
- [`HashtagFeed`](../../YT/classes/HashtagFeed.md)
- [`FilteredChannelList`](../../YT/classes/FilteredChannelList.md)
## Type Parameters
**T** *extends* [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md)
## Constructors
### new FilterableFeed()
> **new FilterableFeed**\<`T`\>(`actions`, `data`, `already_parsed`): [`FilterableFeed`](FilterableFeed.md)\<`T`\>
#### Parameters
**actions**: [`Actions`](../../../classes/Actions.md)
**data**: [`ApiResponse`](../../../interfaces/ApiResponse.md) \| `T`
**already\_parsed**: `boolean` = `false`
#### Returns
[`FilterableFeed`](FilterableFeed.md)\<`T`\>
#### Overrides
[`Feed`](Feed.md).[`constructor`](Feed.md#constructors)
#### Defined in
[src/core/mixins/FilterableFeed.ts:13](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/FilterableFeed.ts#L13)
## Accessors
### actions
> `get` **actions**(): [`Actions`](../../../classes/Actions.md)
#### Returns
[`Actions`](../../../classes/Actions.md)
#### Inherited from
[`Feed`](Feed.md).[`actions`](Feed.md#actions)
#### Defined in
[src/core/mixins/Feed.ts:180](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L180)
***
### channels
> `get` **channels**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
Get all the channels in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
#### Inherited from
[`Feed`](Feed.md).[`channels`](Feed.md#channels)
#### Defined in
[src/core/mixins/Feed.ts:125](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L125)
***
### filter\_chips
> `get` **filter\_chips**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ChipCloudChip`](../../YTNodes/classes/ChipCloudChip.md)\>
Returns the filter chips.
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ChipCloudChip`](../../YTNodes/classes/ChipCloudChip.md)\>
#### Defined in
[src/core/mixins/FilterableFeed.ts:20](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/FilterableFeed.ts#L20)
***
### filters
> `get` **filters**(): `string`[]
Returns available filters.
#### Returns
`string`[]
#### Defined in
[src/core/mixins/FilterableFeed.ts:38](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/FilterableFeed.ts#L38)
***
### has\_continuation
> `get` **has\_continuation**(): `boolean`
Checks if the feed has continuation.
#### Returns
`boolean`
#### Inherited from
[`Feed`](Feed.md).[`has_continuation`](Feed.md#has_continuation)
#### Defined in
[src/core/mixins/Feed.ts:194](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L194)
***
### memo
> `get` **memo**(): [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`Memo`](../../Helpers/classes/Memo.md)
#### Inherited from
[`Feed`](Feed.md).[`memo`](Feed.md#memo)
#### Defined in
[src/core/mixins/Feed.ts:136](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L136)
***
### page
> `get` **page**(): `T`
Get the original page data
#### Returns
`T`
#### Inherited from
[`Feed`](Feed.md).[`page`](Feed.md#page)
#### Defined in
[src/core/mixins/Feed.ts:187](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L187)
***
### page\_contents
> `get` **page\_contents**(): [`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
Returns contents from the page.
#### Returns
[`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
#### Inherited from
[`Feed`](Feed.md).[`page_contents`](Feed.md#page_contents)
#### Defined in
[src/core/mixins/Feed.ts:143](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L143)
***
### playlists
> `get` **playlists**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Inherited from
[`Feed`](Feed.md).[`playlists`](Feed.md#playlists)
#### Defined in
[src/core/mixins/Feed.ts:132](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L132)
***
### posts
> `get` **posts**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
Get all the community posts in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
#### Inherited from
[`Feed`](Feed.md).[`posts`](Feed.md#posts)
#### Defined in
[src/core/mixins/Feed.ts:118](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L118)
***
### secondary\_contents
> `get` **secondary\_contents**(): `undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
Returns secondary contents from the page.
#### Returns
`undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Inherited from
[`Feed`](Feed.md).[`secondary_contents`](Feed.md#secondary_contents)
#### Defined in
[src/core/mixins/Feed.ts:168](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L168)
***
### shelves
> `get` **shelves**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
Returns all segments/sections from the page.
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
#### Inherited from
[`Feed`](Feed.md).[`shelves`](Feed.md#shelves)
#### Defined in
[src/core/mixins/Feed.ts:154](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L154)
***
### videos
> `get` **videos**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all the videos in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Inherited from
[`Feed`](Feed.md).[`videos`](Feed.md#videos)
#### Defined in
[src/core/mixins/Feed.ts:111](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L111)
## Methods
### getContinuation()
> **getContinuation**(): `Promise`\<[`Feed`](Feed.md)\<`T`\>\>
Retrieves next batch of contents and returns a new [Feed](Feed.md) object.
#### Returns
`Promise`\<[`Feed`](Feed.md)\<`T`\>\>
#### Inherited from
[`Feed`](Feed.md).[`getContinuation`](Feed.md#getcontinuation)
#### Defined in
[src/core/mixins/Feed.ts:220](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L220)
***
### getContinuationData()
> **getContinuationData**(): `Promise`\<`undefined` \| `T`\>
Retrieves continuation data as it is.
#### Returns
`Promise`\<`undefined` \| `T`\>
#### Inherited from
[`Feed`](Feed.md).[`getContinuationData`](Feed.md#getcontinuationdata)
#### Defined in
[src/core/mixins/Feed.ts:201](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L201)
***
### getFilteredFeed()
> **getFilteredFeed**(`filter`): `Promise`\<[`Feed`](Feed.md)\<`T`\>\>
Applies given filter and returns a new [Feed](Feed.md) object.
#### Parameters
**filter**: `string` \| [`ChipCloudChip`](../../YTNodes/classes/ChipCloudChip.md)
#### Returns
`Promise`\<[`Feed`](Feed.md)\<`T`\>\>
#### Defined in
[src/core/mixins/FilterableFeed.ts:45](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/FilterableFeed.ts#L45)
***
### getShelf()
> **getShelf**(`title`): `undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
Finds shelf by title.
#### Parameters
**title**: `string`
#### Returns
`undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
#### Inherited from
[`Feed`](Feed.md).[`getShelf`](Feed.md#getshelf)
#### Defined in
[src/core/mixins/Feed.ts:161](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L161)
***
### getPlaylistsFromMemo()
> `static` **getPlaylistsFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Inherited from
[`Feed`](Feed.md).[`getPlaylistsFromMemo`](Feed.md#getplaylistsfrommemo)
#### Defined in
[src/core/mixins/Feed.ts:93](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L93)
***
### getVideosFromMemo()
> `static` **getVideosFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all videos on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Inherited from
[`Feed`](Feed.md).[`getVideosFromMemo`](Feed.md#getvideosfrommemo)
#### Defined in
[src/core/mixins/Feed.ts:77](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L77)

View File

@@ -0,0 +1,440 @@
[youtubei.js](../../../README.md) / [Mixins](../README.md) / MediaInfo
# Class: MediaInfo
## Extended by
- [`VideoInfo`](../../YT/classes/VideoInfo.md)
- [`TrackInfo`](../../YTMusic/classes/TrackInfo.md)
- [`VideoInfo`](../../YTKids/classes/VideoInfo.md)
- [`ShortFormVideoInfo`](../../YTShorts/classes/ShortFormVideoInfo.md)
## Constructors
### new MediaInfo()
> **new MediaInfo**(`data`, `actions`, `cpn`): [`MediaInfo`](MediaInfo.md)
#### Parameters
**data**: [[`ApiResponse`](../../../interfaces/ApiResponse.md), `ApiResponse?`]
**actions**: [`Actions`](../../../classes/Actions.md)
**cpn**: `string`
#### Returns
[`MediaInfo`](MediaInfo.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:40](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L40)
## Properties
### annotations?
> `optional` **annotations**: [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`PlayerAnnotationsExpanded`](../../YTNodes/classes/PlayerAnnotationsExpanded.md)\>
#### Defined in
[src/core/mixins/MediaInfo.ts:31](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L31)
***
### basic\_info
> **basic\_info**: `object`
#### allow\_ratings?
> `optional` **allow\_ratings**: `boolean`
#### author?
> `optional` **author**: `string`
#### category
> **category**: `null` \| `string`
#### channel
> **channel**: `null` \| `object`
#### channel\_id?
> `optional` **channel\_id**: `string`
#### duration?
> `optional` **duration**: `number`
#### embed
> **embed**: `undefined` \| `null` \| `object`
#### end\_timestamp
> **end\_timestamp**: `null` \| `Date`
#### has\_ypc\_metadata
> **has\_ypc\_metadata**: `null` \| `boolean`
#### id?
> `optional` **id**: `string`
#### is\_crawlable?
> `optional` **is\_crawlable**: `boolean`
#### is\_disliked
> **is\_disliked**: `undefined` \| `boolean`
#### is\_family\_safe
> **is\_family\_safe**: `undefined` \| `boolean` = `info.microformat.is_family_safe`
#### is\_liked
> **is\_liked**: `undefined` \| `boolean`
#### is\_live?
> `optional` **is\_live**: `boolean`
#### is\_live\_content?
> `optional` **is\_live\_content**: `boolean`
#### is\_live\_dvr\_enabled?
> `optional` **is\_live\_dvr\_enabled**: `boolean`
#### is\_low\_latency\_live\_stream?
> `optional` **is\_low\_latency\_live\_stream**: `boolean`
#### is\_owner\_viewing?
> `optional` **is\_owner\_viewing**: `boolean`
#### is\_post\_live\_dvr?
> `optional` **is\_post\_live\_dvr**: `boolean`
#### is\_private?
> `optional` **is\_private**: `boolean`
#### is\_unlisted
> **is\_unlisted**: `undefined` \| `boolean` = `info.microformat.is_unlisted`
#### is\_upcoming?
> `optional` **is\_upcoming**: `boolean`
#### keywords?
> `optional` **keywords**: `string`[]
#### like\_count
> **like\_count**: `undefined` \| `number`
#### live\_chunk\_readahead?
> `optional` **live\_chunk\_readahead**: `number`
#### short\_description?
> `optional` **short\_description**: `string`
#### start\_timestamp
> **start\_timestamp**: `null` \| `Date`
#### tags
> **tags**: `null` \| `string`[]
#### thumbnail?
> `optional` **thumbnail**: [`Thumbnail`](../../Misc/classes/Thumbnail.md)[]
#### title?
> `optional` **title**: `string`
#### url\_canonical
> **url\_canonical**: `null` \| `string`
#### view\_count
> **view\_count**: `undefined` \| `number`
#### Defined in
[src/core/mixins/MediaInfo.ts:30](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L30)
***
### captions?
> `optional` **captions**: [`PlayerCaptionsTracklist`](../../YTNodes/classes/PlayerCaptionsTracklist.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:34](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L34)
***
### cards?
> `optional` **cards**: [`CardCollection`](../../YTNodes/classes/CardCollection.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L35)
***
### endscreen?
> `optional` **endscreen**: [`Endscreen`](../../YTNodes/classes/Endscreen.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:33](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L33)
***
### playability\_status?
> `optional` **playability\_status**: [`IPlayabilityStatus`](../../APIResponseTypes/interfaces/IPlayabilityStatus.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:37](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L37)
***
### player\_config?
> `optional` **player\_config**: [`IPlayerConfig`](../../APIResponseTypes/interfaces/IPlayerConfig.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:38](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L38)
***
### storyboards?
> `optional` **storyboards**: [`PlayerLiveStoryboardSpec`](../../YTNodes/classes/PlayerLiveStoryboardSpec.md) \| [`PlayerStoryboardSpec`](../../YTNodes/classes/PlayerStoryboardSpec.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:32](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L32)
***
### streaming\_data?
> `optional` **streaming\_data**: [`IStreamingData`](../../APIResponseTypes/interfaces/IStreamingData.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:36](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L36)
## Accessors
### actions
> `get` **actions**(): [`Actions`](../../../classes/Actions.md)
Actions instance.
#### Returns
[`Actions`](../../../classes/Actions.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:223](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L223)
***
### cpn
> `get` **cpn**(): `string`
Content Playback Nonce.
#### Returns
`string`
#### Defined in
[src/core/mixins/MediaInfo.ts:230](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L230)
***
### page
> `get` **page**(): [[`IPlayerResponse`](../../APIResponseTypes/type-aliases/IPlayerResponse.md), `INextResponse?`]
Original parsed InnerTube response.
#### Returns
[[`IPlayerResponse`](../../APIResponseTypes/type-aliases/IPlayerResponse.md), `INextResponse?`]
#### Defined in
[src/core/mixins/MediaInfo.ts:237](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L237)
## Methods
### addToWatchHistory()
> **addToWatchHistory**(`client_name`, `client_version`, `replacement`): `Promise`\<`Response`\>
Adds video to the watch history.
#### Parameters
**client\_name**: `string` = `Constants.CLIENTS.WEB.NAME`
**client\_version**: `string` = `Constants.CLIENTS.WEB.VERSION`
**replacement**: `string` = `'https://www.'`
#### Returns
`Promise`\<`Response`\>
#### Defined in
[src/core/mixins/MediaInfo.ts:199](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L199)
***
### chooseFormat()
> **chooseFormat**(`options`): [`Format`](../../Misc/classes/Format.md)
Selects the format that best matches the given options.
#### Parameters
**options**: [`FormatOptions`](../../Types/interfaces/FormatOptions.md)
Options
#### Returns
[`Format`](../../Misc/classes/Format.md)
#### Defined in
[src/core/mixins/MediaInfo.ts:149](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L149)
***
### download()
> **download**(`options`): `Promise`\<`ReadableStream`\<`Uint8Array`\>\>
Downloads the video.
#### Parameters
**options**: [`DownloadOptions`](../../Types/interfaces/DownloadOptions.md) = `{}`
Download options.
#### Returns
`Promise`\<`ReadableStream`\<`Uint8Array`\>\>
#### Defined in
[src/core/mixins/MediaInfo.ts:157](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L157)
***
### getStreamingInfo()
> **getStreamingInfo**(`url_transformer`?, `format_filter`?): `StreamingInfo`
Get a cleaned up representation of the adaptive_formats
#### Parameters
**url\_transformer?**: [`URLTransformer`](../../Types/type-aliases/URLTransformer.md)
**format\_filter?**: [`FormatFilter`](../../Types/type-aliases/FormatFilter.md)
#### Returns
`StreamingInfo`
#### Defined in
[src/core/mixins/MediaInfo.ts:132](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L132)
***
### getTranscript()
> **getTranscript**(): `Promise`\<[`TranscriptInfo`](../../YT/classes/TranscriptInfo.md)\>
Retrieves the video's transcript.
#### Returns
`Promise`\<[`TranscriptInfo`](../../YT/classes/TranscriptInfo.md)\>
#### Defined in
[src/core/mixins/MediaInfo.ts:170](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L170)
***
### toDash()
> **toDash**(`url_transformer`?, `format_filter`?, `options`?): `Promise`\<`string`\>
Generates a DASH manifest from the streaming data.
#### Parameters
**url\_transformer?**: [`URLTransformer`](../../Types/type-aliases/URLTransformer.md)
Function to transform the URLs.
**format\_filter?**: [`FormatFilter`](../../Types/type-aliases/FormatFilter.md)
Function to filter the formats.
**options?**: `DashOptions` = `...`
Additional options to customise the manifest generation
#### Returns
`Promise`\<`string`\>
DASH manifest
#### Defined in
[src/core/mixins/MediaInfo.ts:97](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/MediaInfo.ts#L97)

View File

@@ -0,0 +1,451 @@
[youtubei.js](../../../README.md) / [Mixins](../README.md) / TabbedFeed
# Class: TabbedFeed\<T\>
## Extends
- [`Feed`](Feed.md)\<`T`\>
## Extended by
- [`Channel`](../../YT/classes/Channel.md)
## Type Parameters
**T** *extends* [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md)
## Constructors
### new TabbedFeed()
> **new TabbedFeed**\<`T`\>(`actions`, `data`, `already_parsed`): [`TabbedFeed`](TabbedFeed.md)\<`T`\>
#### Parameters
**actions**: [`Actions`](../../../classes/Actions.md)
**data**: [`IParsedResponse`](../../APIResponseTypes/interfaces/IParsedResponse.md) \| [`ApiResponse`](../../../interfaces/ApiResponse.md)
**already\_parsed**: `boolean` = `false`
#### Returns
[`TabbedFeed`](TabbedFeed.md)\<`T`\>
#### Overrides
[`Feed`](Feed.md).[`constructor`](Feed.md#constructors)
#### Defined in
[src/core/mixins/TabbedFeed.ts:13](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L13)
## Accessors
### actions
> `get` **actions**(): [`Actions`](../../../classes/Actions.md)
#### Returns
[`Actions`](../../../classes/Actions.md)
#### Inherited from
[`Feed`](Feed.md).[`actions`](Feed.md#actions)
#### Defined in
[src/core/mixins/Feed.ts:180](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L180)
***
### channels
> `get` **channels**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
Get all the channels in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Channel`](../../YTNodes/classes/Channel.md) \| [`GridChannel`](../../YTNodes/classes/GridChannel.md)\>
#### Inherited from
[`Feed`](Feed.md).[`channels`](Feed.md#channels)
#### Defined in
[src/core/mixins/Feed.ts:125](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L125)
***
### has\_continuation
> `get` **has\_continuation**(): `boolean`
Checks if the feed has continuation.
#### Returns
`boolean`
#### Inherited from
[`Feed`](Feed.md).[`has_continuation`](Feed.md#has_continuation)
#### Defined in
[src/core/mixins/Feed.ts:194](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L194)
***
### memo
> `get` **memo**(): [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`Memo`](../../Helpers/classes/Memo.md)
#### Inherited from
[`Feed`](Feed.md).[`memo`](Feed.md#memo)
#### Defined in
[src/core/mixins/Feed.ts:136](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L136)
***
### page
> `get` **page**(): `T`
Get the original page data
#### Returns
`T`
#### Inherited from
[`Feed`](Feed.md).[`page`](Feed.md#page)
#### Defined in
[src/core/mixins/Feed.ts:187](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L187)
***
### page\_contents
> `get` **page\_contents**(): [`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
Returns contents from the page.
#### Returns
[`SectionList`](../../YTNodes/classes/SectionList.md) \| [`ReloadContinuationItemsCommand`](../../../classes/ReloadContinuationItemsCommand.md) \| [`MusicQueue`](../../YTNodes/classes/MusicQueue.md) \| [`RichGrid`](../../YTNodes/classes/RichGrid.md)
#### Inherited from
[`Feed`](Feed.md).[`page_contents`](Feed.md#page_contents)
#### Defined in
[src/core/mixins/Feed.ts:143](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L143)
***
### playlists
> `get` **playlists**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Inherited from
[`Feed`](Feed.md).[`playlists`](Feed.md#playlists)
#### Defined in
[src/core/mixins/Feed.ts:132](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L132)
***
### posts
> `get` **posts**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
Get all the community posts in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`BackstagePost`](../../YTNodes/classes/BackstagePost.md) \| [`SharedPost`](../../YTNodes/classes/SharedPost.md) \| [`Post`](../../YTNodes/classes/Post.md)\>
#### Inherited from
[`Feed`](Feed.md).[`posts`](Feed.md#posts)
#### Defined in
[src/core/mixins/Feed.ts:118](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L118)
***
### secondary\_contents
> `get` **secondary\_contents**(): `undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
Returns secondary contents from the page.
#### Returns
`undefined` \| [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<[`YTNode`](../../Helpers/classes/YTNode.md)\>
#### Inherited from
[`Feed`](Feed.md).[`secondary_contents`](Feed.md#secondary_contents)
#### Defined in
[src/core/mixins/Feed.ts:168](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L168)
***
### shelves
> `get` **shelves**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
Returns all segments/sections from the page.
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)\>
#### Inherited from
[`Feed`](Feed.md).[`shelves`](Feed.md#shelves)
#### Defined in
[src/core/mixins/Feed.ts:154](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L154)
***
### tabs
> `get` **tabs**(): `string`[]
#### Returns
`string`[]
#### Defined in
[src/core/mixins/TabbedFeed.ts:19](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L19)
***
### title
> `get` **title**(): `undefined` \| `string`
#### Returns
`undefined` \| `string`
#### Defined in
[src/core/mixins/TabbedFeed.ts:55](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L55)
***
### videos
> `get` **videos**(): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all the videos in the feed
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Inherited from
[`Feed`](Feed.md).[`videos`](Feed.md#videos)
#### Defined in
[src/core/mixins/Feed.ts:111](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L111)
## Methods
### getContinuation()
> **getContinuation**(): `Promise`\<[`Feed`](Feed.md)\<`T`\>\>
Retrieves next batch of contents and returns a new [Feed](Feed.md) object.
#### Returns
`Promise`\<[`Feed`](Feed.md)\<`T`\>\>
#### Inherited from
[`Feed`](Feed.md).[`getContinuation`](Feed.md#getcontinuation)
#### Defined in
[src/core/mixins/Feed.ts:220](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L220)
***
### getContinuationData()
> **getContinuationData**(): `Promise`\<`undefined` \| `T`\>
Retrieves continuation data as it is.
#### Returns
`Promise`\<`undefined` \| `T`\>
#### Inherited from
[`Feed`](Feed.md).[`getContinuationData`](Feed.md#getcontinuationdata)
#### Defined in
[src/core/mixins/Feed.ts:201](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L201)
***
### getShelf()
> **getShelf**(`title`): `undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
Finds shelf by title.
#### Parameters
**title**: `string`
#### Returns
`undefined` \| [`ReelShelf`](../../YTNodes/classes/ReelShelf.md) \| [`RichShelf`](../../YTNodes/classes/RichShelf.md) \| [`Shelf`](../../YTNodes/classes/Shelf.md)
#### Inherited from
[`Feed`](Feed.md).[`getShelf`](Feed.md#getshelf)
#### Defined in
[src/core/mixins/Feed.ts:161](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L161)
***
### getTabByName()
> **getTabByName**(`title`): `Promise`\<[`TabbedFeed`](TabbedFeed.md)\<`T`\>\>
#### Parameters
**title**: `string`
#### Returns
`Promise`\<[`TabbedFeed`](TabbedFeed.md)\<`T`\>\>
#### Defined in
[src/core/mixins/TabbedFeed.ts:23](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L23)
***
### getTabByURL()
> **getTabByURL**(`url`): `Promise`\<[`TabbedFeed`](TabbedFeed.md)\<`T`\>\>
#### Parameters
**url**: `string`
#### Returns
`Promise`\<[`TabbedFeed`](TabbedFeed.md)\<`T`\>\>
#### Defined in
[src/core/mixins/TabbedFeed.ts:37](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L37)
***
### hasTabWithURL()
> **hasTabWithURL**(`url`): `boolean`
#### Parameters
**url**: `string`
#### Returns
`boolean`
#### Defined in
[src/core/mixins/TabbedFeed.ts:51](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/TabbedFeed.ts#L51)
***
### getPlaylistsFromMemo()
> `static` **getPlaylistsFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
Get all playlists on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`GridPlaylist`](../../YTNodes/classes/GridPlaylist.md) \| [`LockupView`](../../YTNodes/classes/LockupView.md) \| [`Playlist`](../../YTNodes/classes/Playlist.md)\>
#### Inherited from
[`Feed`](Feed.md).[`getPlaylistsFromMemo`](Feed.md#getplaylistsfrommemo)
#### Defined in
[src/core/mixins/Feed.ts:93](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L93)
***
### getVideosFromMemo()
> `static` **getVideosFromMemo**(`memo`): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
Get all videos on a given page via memo
#### Parameters
**memo**: [`Memo`](../../Helpers/classes/Memo.md)
#### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<[`Video`](../../YTNodes/classes/Video.md) \| [`CompactVideo`](../../YTNodes/classes/CompactVideo.md) \| [`GridVideo`](../../YTNodes/classes/GridVideo.md) \| [`PlaylistPanelVideo`](../../YTNodes/classes/PlaylistPanelVideo.md) \| [`PlaylistVideo`](../../YTNodes/classes/PlaylistVideo.md) \| [`ReelItem`](../../YTNodes/classes/ReelItem.md) \| [`ShortsLockupView`](../../YTNodes/classes/ShortsLockupView.md) \| [`WatchCardCompactVideo`](../../YTNodes/classes/WatchCardCompactVideo.md)\>
#### Inherited from
[`Feed`](Feed.md).[`getVideosFromMemo`](Feed.md#getvideosfrommemo)
#### Defined in
[src/core/mixins/Feed.ts:77](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/mixins/Feed.ts#L77)