mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-16 11:02:10 +00:00
* chore: generate API ref using `typedoc` * chore: declutter readme and add links to ytjs.dev * chore: clean up
450 lines
15 KiB
Markdown
450 lines
15 KiB
Markdown
[youtubei.js](../../../README.md) / [YT](../README.md) / Library
|
|
|
|
# Class: Library
|
|
|
|
## Extends
|
|
|
|
- [`Feed`](../../Mixins/classes/Feed.md)\<[`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)\>
|
|
|
|
## Constructors
|
|
|
|
### new Library()
|
|
|
|
> **new Library**(`actions`, `data`): [`Library`](Library.md)
|
|
|
|
#### Parameters
|
|
|
|
• **actions**: [`Actions`](../../../classes/Actions.md)
|
|
|
|
• **data**: [`ApiResponse`](../../../interfaces/ApiResponse.md) \| [`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)
|
|
|
|
#### Returns
|
|
|
|
[`Library`](Library.md)
|
|
|
|
#### Overrides
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`constructor`](../../Mixins/classes/Feed.md#constructors)
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:17](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L17)
|
|
|
|
## Properties
|
|
|
|
### header
|
|
|
|
> **header**: `null` \| [`PageHeader`](../../YTNodes/classes/PageHeader.md)
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:14](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L14)
|
|
|
|
***
|
|
|
|
### sections
|
|
|
|
> **sections**: `object`[]
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L15)
|
|
|
|
## Accessors
|
|
|
|
### actions
|
|
|
|
> `get` **actions**(): [`Actions`](../../../classes/Actions.md)
|
|
|
|
#### Returns
|
|
|
|
[`Actions`](../../../classes/Actions.md)
|
|
|
|
#### Inherited from
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`actions`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`channels`](../../Mixins/classes/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)
|
|
|
|
***
|
|
|
|
### clips
|
|
|
|
> `get` **clips**(): `undefined` \| `object`
|
|
|
|
#### Returns
|
|
|
|
`undefined` \| `object`
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:75](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L75)
|
|
|
|
***
|
|
|
|
### has\_continuation
|
|
|
|
> `get` **has\_continuation**(): `boolean`
|
|
|
|
Checks if the feed has continuation.
|
|
|
|
#### Returns
|
|
|
|
`boolean`
|
|
|
|
#### Inherited from
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`has_continuation`](../../Mixins/classes/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)
|
|
|
|
***
|
|
|
|
### history
|
|
|
|
> `get` **history**(): `undefined` \| `object`
|
|
|
|
#### Returns
|
|
|
|
`undefined` \| `object`
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:59](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L59)
|
|
|
|
***
|
|
|
|
### liked\_videos
|
|
|
|
> `get` **liked\_videos**(): `undefined` \| `object`
|
|
|
|
#### Returns
|
|
|
|
`undefined` \| `object`
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:67](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L67)
|
|
|
|
***
|
|
|
|
### memo
|
|
|
|
> `get` **memo**(): [`Memo`](../../Helpers/classes/Memo.md)
|
|
|
|
#### Returns
|
|
|
|
[`Memo`](../../Helpers/classes/Memo.md)
|
|
|
|
#### Inherited from
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`memo`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`page`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`page_contents`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`playlists`](../../Mixins/classes/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)
|
|
|
|
***
|
|
|
|
### playlists\_section
|
|
|
|
> `get` **playlists\_section**(): `undefined` \| `object`
|
|
|
|
#### Returns
|
|
|
|
`undefined` \| `object`
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:71](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L71)
|
|
|
|
***
|
|
|
|
### 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`](../../Mixins/classes/Feed.md).[`posts`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`secondary_contents`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`shelves`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`videos`](../../Mixins/classes/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)
|
|
|
|
***
|
|
|
|
### watch\_later
|
|
|
|
> `get` **watch\_later**(): `undefined` \| `object`
|
|
|
|
#### Returns
|
|
|
|
`undefined` \| `object`
|
|
|
|
#### Defined in
|
|
|
|
[src/parser/youtube/Library.ts:63](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/youtube/Library.ts#L63)
|
|
|
|
## Methods
|
|
|
|
### getContinuation()
|
|
|
|
> **getContinuation**(): `Promise`\<[`Feed`](../../Mixins/classes/Feed.md)\<[`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
|
|
|
Retrieves next batch of contents and returns a new [Feed](../../Mixins/classes/Feed.md) object.
|
|
|
|
#### Returns
|
|
|
|
`Promise`\<[`Feed`](../../Mixins/classes/Feed.md)\<[`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
|
|
|
|
#### Inherited from
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`getContinuation`](../../Mixins/classes/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` \| [`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)\>
|
|
|
|
Retrieves continuation data as it is.
|
|
|
|
#### Returns
|
|
|
|
`Promise`\<`undefined` \| [`IBrowseResponse`](../../APIResponseTypes/type-aliases/IBrowseResponse.md)\>
|
|
|
|
#### Inherited from
|
|
|
|
[`Feed`](../../Mixins/classes/Feed.md).[`getContinuationData`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`getShelf`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`getPlaylistsFromMemo`](../../Mixins/classes/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`](../../Mixins/classes/Feed.md).[`getVideosFromMemo`](../../Mixins/classes/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)
|