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

131
docs/api/classes/Actions.md Normal file
View File

@@ -0,0 +1,131 @@
[youtubei.js](../README.md) / Actions
# Class: Actions
## Constructors
### new Actions()
> **new Actions**(`session`): [`Actions`](Actions.md)
#### Parameters
**session**: [`Session`](Session.md)
#### Returns
[`Actions`](Actions.md)
#### Defined in
[src/core/Actions.ts:34](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Actions.ts#L34)
## Properties
### session
> **session**: [`Session`](Session.md)
#### Defined in
[src/core/Actions.ts:32](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Actions.ts#L32)
## Methods
### execute()
#### execute(endpoint, args)
> **execute**\<`T`\>(`endpoint`, `args`): `Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
Executes an API call.
##### Type Parameters
**T** *extends* `string`
##### Parameters
**endpoint**: `T`
The endpoint to call.
**args**
Call arguments
**args.parse**: `true`
**args.protobuf?**: `false`
**args.serialized\_data?**: `any`
##### Returns
`Promise`\<[`ParsedResponse`](../type-aliases/ParsedResponse.md)\<`T`\>\>
##### Defined in
[src/core/Actions.ts:78](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Actions.ts#L78)
#### execute(endpoint, args)
> **execute**\<`T`\>(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Type Parameters
**T** *extends* `string`
##### Parameters
**endpoint**: `T`
**args?**
**args.parse?**: `false`
**args.protobuf?**: `true`
**args.serialized\_data?**: `any`
##### Returns
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Defined in
[src/core/Actions.ts:79](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Actions.ts#L79)
***
### stats()
> **stats**(`url`, `client`, `params`): `Promise`\<`Response`\>
Makes calls to the playback tracking API.
#### Parameters
**url**: `string`
The URL to call.
**client**
The client to use.
**client.client\_name**: `string`
**client.client\_version**: `string`
**params**
Call parameters.
#### Returns
`Promise`\<`Response`\>
#### Defined in
[src/core/Actions.ts:56](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Actions.ts#L56)

View File

@@ -0,0 +1,233 @@
[youtubei.js](../README.md) / Continuation
# Class: Continuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new Continuation()
> **new Continuation**(`data`): [`Continuation`](Continuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`Continuation`](Continuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:147](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L147)
## Properties
### continuation\_type
> **continuation\_type**: `string`
#### Defined in
[src/parser/continuations.ts:142](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L142)
***
### time\_until\_last\_message\_ms?
> `optional` **time\_until\_last\_message\_ms**: `number`
#### Defined in
[src/parser/continuations.ts:144](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L144)
***
### timeout\_ms?
> `optional` **timeout\_ms**: `number`
#### Defined in
[src/parser/continuations.ts:143](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L143)
***
### token
> **token**: `string`
#### Defined in
[src/parser/continuations.ts:145](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L145)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"continuation"` = `'continuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:140](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L140)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is Continuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is Continuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / ContinuationCommand
# Class: ContinuationCommand
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ContinuationCommand()
> **new ContinuationCommand**(`data`): [`ContinuationCommand`](ContinuationCommand.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`ContinuationCommand`](ContinuationCommand.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:220](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L220)
## Properties
### request
> **request**: `string`
#### Defined in
[src/parser/continuations.ts:217](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L217)
***
### token
> **token**: `string`
#### Defined in
[src/parser/continuations.ts:218](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L218)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"ContinuationCommand"` = `'ContinuationCommand'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:215](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L215)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is ContinuationCommand & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is ContinuationCommand & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,208 @@
[youtubei.js](../README.md) / EventEmitter
# Class: EventEmitter
## Extends
- `EventTarget`
## Extended by
- [`Session`](Session.md)
- [`LiveChat`](../namespaces/YT/classes/LiveChat.md)
## Constructors
### new EventEmitter()
> **new EventEmitter**(): [`EventEmitter`](EventEmitter.md)
#### Returns
[`EventEmitter`](EventEmitter.md)
#### Overrides
`EventTarget.constructor`
#### Defined in
[src/utils/EventEmitterLike.ts:6](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L6)
## Methods
### addEventListener()
> **addEventListener**(`type`, `callback`, `options`?): `void`
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
#### Parameters
**type**: `string`
**callback**: `null` \| `EventListenerOrEventListenerObject`
**options?**: `boolean` \| `AddEventListenerOptions`
#### Returns
`void`
#### Inherited from
`EventTarget.addEventListener`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8256
***
### dispatchEvent()
> **dispatchEvent**(`event`): `boolean`
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
#### Parameters
**event**: `Event`
#### Returns
`boolean`
#### Inherited from
`EventTarget.dispatchEvent`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8262
***
### emit()
> **emit**(`type`, ...`args`): `void`
#### Parameters
**type**: `string`
• ...**args**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L10)
***
### off()
> **off**(`type`, `listener`): `void`
#### Parameters
**type**: `string`
**listener**
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L40)
***
### on()
> **on**(`type`, `listener`): `void`
#### Parameters
**type**: `string`
**listener**
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L15)
***
### once()
> **once**(`type`, `listener`): `void`
#### Parameters
**type**: `string`
**listener**
#### Returns
`void`
#### Defined in
[src/utils/EventEmitterLike.ts:27](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L27)
***
### removeEventListener()
> **removeEventListener**(`type`, `callback`, `options`?): `void`
Removes the event listener in target's event listener list with the same type, callback, and options.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
#### Parameters
**type**: `string`
**callback**: `null` \| `EventListenerOrEventListenerObject`
**options?**: `boolean` \| `EventListenerOptions`
#### Returns
`void`
#### Inherited from
`EventTarget.removeEventListener`
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8268

View File

@@ -0,0 +1,227 @@
[youtubei.js](../README.md) / GridContinuation
# Class: GridContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new GridContinuation()
> **new GridContinuation**(`data`): [`GridContinuation`](GridContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`GridContinuation`](GridContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:114](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L114)
## Properties
### continuation
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:111](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L111)
***
### items
> **items**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:112](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L112)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"gridContinuation"` = `'gridContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:109](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L109)
## Accessors
### contents
> `get` **contents**(): `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Returns
`null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:120](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L120)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is GridContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is GridContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,71 @@
[youtubei.js](../README.md) / HTTPClient
# Class: HTTPClient
## Constructors
### new HTTPClient()
> **new HTTPClient**(`session`, `cookie`?, `fetch`?): [`HTTPClient`](HTTPClient.md)
#### Parameters
**session**: [`Session`](Session.md)
**cookie?**: `string`
**fetch?**
#### Returns
[`HTTPClient`](HTTPClient.md)
#### Defined in
[src/utils/HTTPClient.ts:23](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/HTTPClient.ts#L23)
## Accessors
### fetch\_function
> `get` **fetch\_function**(): (`input`, `init`?) => `Promise`\<`Response`\>
#### Returns
`Function`
[MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch)
##### Parameters
**input**: `URL` \| `RequestInfo`
**init?**: `RequestInit`
##### Returns
`Promise`\<`Response`\>
#### Defined in
[src/utils/HTTPClient.ts:29](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/HTTPClient.ts#L29)
## Methods
### fetch()
> **fetch**(`input`, `init`?): `Promise`\<`Response`\>
#### Parameters
**input**: `string` \| `URL` \| `Request`
**init?**: `RequestInit` & [`HTTPClientInit`](../interfaces/HTTPClientInit.md)
#### Returns
`Promise`\<`Response`\>
#### Defined in
[src/utils/HTTPClient.ts:33](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/HTTPClient.ts#L33)

View File

@@ -0,0 +1,619 @@
[youtubei.js](../README.md) / Innertube
# Class: Innertube
Provides access to various services and modules in the YouTube API.
## Constructors
### new Innertube()
> **new Innertube**(`session`): [`Innertube`](Innertube.md)
#### Parameters
**session**: [`Session`](Session.md)
#### Returns
[`Innertube`](Innertube.md)
#### Defined in
[src/Innertube.ts:59](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L59)
## Accessors
### account
> `get` **account**(): [`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
An interface for managing and retrieving account information.
#### Returns
[`AccountManager`](../namespaces/Managers/classes/AccountManager.md)
#### Defined in
[src/Innertube.ts:478](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L478)
***
### actions
> `get` **actions**(): [`Actions`](Actions.md)
An internal class used to dispatch requests.
#### Returns
[`Actions`](Actions.md)
#### Defined in
[src/Innertube.ts:499](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L499)
***
### interact
> `get` **interact**(): [`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
An interface for directly interacting with certain YouTube features.
#### Returns
[`InteractionManager`](../namespaces/Managers/classes/InteractionManager.md)
#### Defined in
[src/Innertube.ts:492](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L492)
***
### kids
> `get` **kids**(): [`Kids`](../namespaces/Clients/classes/Kids.md)
An interface for interacting with YouTube Kids.
#### Returns
[`Kids`](../namespaces/Clients/classes/Kids.md)
#### Defined in
[src/Innertube.ts:471](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L471)
***
### music
> `get` **music**(): [`Music`](../namespaces/Clients/classes/Music.md)
An interface for interacting with YouTube Music.
#### Returns
[`Music`](../namespaces/Clients/classes/Music.md)
#### Defined in
[src/Innertube.ts:457](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L457)
***
### playlist
> `get` **playlist**(): [`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
An interface for managing playlists.
#### Returns
[`PlaylistManager`](../namespaces/Managers/classes/PlaylistManager.md)
#### Defined in
[src/Innertube.ts:485](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L485)
***
### session
> `get` **session**(): [`Session`](Session.md)
The session used by this instance.
#### Returns
[`Session`](Session.md)
#### Defined in
[src/Innertube.ts:506](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L506)
***
### studio
> `get` **studio**(): [`Studio`](../namespaces/Clients/classes/Studio.md)
An interface for interacting with YouTube Studio.
#### Returns
[`Studio`](../namespaces/Clients/classes/Studio.md)
#### Defined in
[src/Innertube.ts:464](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L464)
## Methods
### call()
#### call(endpoint, args)
> **call**\<`T`\>(`endpoint`, `args`): `Promise`\<`T`\>
Utility method to call an endpoint without having to use [Actions](Actions.md).
##### Type Parameters
**T** *extends* [`IParsedResponse`](../namespaces/APIResponseTypes/interfaces/IParsedResponse.md)
##### Parameters
**endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
The endpoint to call.
**args**
Call arguments.
**args.parse**: `true`
##### Returns
`Promise`\<`T`\>
##### Defined in
[src/Innertube.ts:448](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L448)
#### call(endpoint, args)
> **call**(`endpoint`, `args`?): `Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Parameters
**endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
**args?**
**args.parse?**: `false`
##### Returns
`Promise`\<[`ApiResponse`](../interfaces/ApiResponse.md)\>
##### Defined in
[src/Innertube.ts:449](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L449)
***
### download()
> **download**(`video_id`, `options`?): `Promise`\<`ReadableStream`\<`Uint8Array`\>\>
Downloads a given video. If all you need the direct download link, see [getStreamingData](Innertube.md#getstreamingdata).
If you wish to retrieve the video info too, have a look at [getBasicInfo](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
#### Parameters
**video\_id**: `string`
The video id.
**options?**: [`DownloadOptions`](../namespaces/Types/interfaces/DownloadOptions.md)
Download options.
#### Returns
`Promise`\<`ReadableStream`\<`Uint8Array`\>\>
#### Defined in
[src/Innertube.ts:423](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L423)
***
### getBasicInfo()
> **getBasicInfo**(`video_id`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Parameters
**video\_id**: `string`
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
#### Returns
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Defined in
[src/Innertube.ts:107](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L107)
***
### getChannel()
> **getChannel**(`id`): `Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
#### Parameters
**id**: `string`
#### Returns
`Promise`\<[`Channel`](../namespaces/YT/classes/Channel.md)\>
#### Defined in
[src/Innertube.ts:331](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L331)
***
### getChannelsFeed()
> **getChannelsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Returns
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:324](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L324)
***
### getComments()
> **getComments**(`video_id`, `sort_by`?, `comment_id`?): `Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
#### Parameters
**video\_id**: `string`
**sort\_by?**: `"TOP_COMMENTS"` \| `"NEWEST_FIRST"`
**comment\_id?**: `string`
#### Returns
`Promise`\<[`Comments`](../namespaces/YT/classes/Comments.md)\>
#### Defined in
[src/Innertube.ts:250](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L250)
***
### getGuide()
> **getGuide**(): `Promise`\<[`Guide`](../namespaces/YT/classes/Guide.md)\>
Retrieves YouTube's content guide.
#### Returns
`Promise`\<[`Guide`](../namespaces/YT/classes/Guide.md)\>
#### Defined in
[src/Innertube.ts:291](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L291)
***
### getHashtag()
> **getHashtag**(`hashtag`): `Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
#### Parameters
**hashtag**: `string`
#### Returns
`Promise`\<[`HashtagFeed`](../namespaces/YT/classes/HashtagFeed.md)\>
#### Defined in
[src/Innertube.ts:378](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L378)
***
### getHistory()
> **getHistory**(): `Promise`\<[`History`](../namespaces/YT/classes/History.md)\>
#### Returns
`Promise`\<[`History`](../namespaces/YT/classes/History.md)\>
#### Defined in
[src/Innertube.ts:303](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L303)
***
### getHomeFeed()
> **getHomeFeed**(): `Promise`\<[`HomeFeed`](../namespaces/YT/classes/HomeFeed.md)\>
#### Returns
`Promise`\<[`HomeFeed`](../namespaces/YT/classes/HomeFeed.md)\>
#### Defined in
[src/Innertube.ts:281](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L281)
***
### getInfo()
> **getInfo**(`target`, `client`?): `Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Parameters
**target**: `string` \| [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
#### Returns
`Promise`\<[`VideoInfo`](../namespaces/YT/classes/VideoInfo.md)\>
#### Defined in
[src/Innertube.ts:67](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L67)
***
### getLibrary()
> **getLibrary**(): `Promise`\<[`Library`](../namespaces/YT/classes/Library.md)\>
#### Returns
`Promise`\<[`Library`](../namespaces/YT/classes/Library.md)\>
#### Defined in
[src/Innertube.ts:296](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L296)
***
### getNotifications()
> **getNotifications**(): `Promise`\<[`NotificationsMenu`](../namespaces/YT/classes/NotificationsMenu.md)\>
#### Returns
`Promise`\<[`NotificationsMenu`](../namespaces/YT/classes/NotificationsMenu.md)\>
#### Defined in
[src/Innertube.ts:339](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L339)
***
### getPlaylist()
> **getPlaylist**(`id`): `Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
#### Parameters
**id**: `string`
#### Returns
`Promise`\<[`Playlist`](../namespaces/YT/classes/Playlist.md)\>
#### Defined in
[src/Innertube.ts:364](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L364)
***
### getPlaylists()
> **getPlaylists**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
Retrieves the user's playlists.
#### Returns
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:357](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L357)
***
### getSearchSuggestions()
> **getSearchSuggestions**(`query`): `Promise`\<`string`[]\>
#### Parameters
**query**: `string`
#### Returns
`Promise`\<`string`[]\>
#### Defined in
[src/Innertube.ts:229](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L229)
***
### getShortsVideoInfo()
> **getShortsVideoInfo**(`video_id`, `client`?): `Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
#### Parameters
**video\_id**: `string`
**client?**: [`InnerTubeClient`](../namespaces/Types/type-aliases/InnerTubeClient.md)
#### Returns
`Promise`\<[`ShortFormVideoInfo`](../namespaces/YTShorts/classes/ShortFormVideoInfo.md)\>
#### Defined in
[src/Innertube.ts:124](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L124)
***
### getStreamingData()
> **getStreamingData**(`video_id`, `options`): `Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
An alternative to [download](Innertube.md#download).
Returns deciphered streaming data.
If you wish to retrieve the video info too, have a look at [getBasicInfo](Innertube.md#getbasicinfo) or [getInfo](Innertube.md#getinfo).
#### Parameters
**video\_id**: `string`
The video id.
**options**: [`FormatOptions`](../namespaces/Types/interfaces/FormatOptions.md) = `{}`
Format options.
#### Returns
`Promise`\<[`Format`](../namespaces/Misc/classes/Format.md)\>
#### Defined in
[src/Innertube.ts:408](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L408)
***
### getSubscriptionsFeed()
> **getSubscriptionsFeed**(): `Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Returns
`Promise`\<[`Feed`](../namespaces/Mixins/classes/Feed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:317](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L317)
***
### getTrending()
> **getTrending**(): `Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Returns
`Promise`\<[`TabbedFeed`](../namespaces/Mixins/classes/TabbedFeed.md)\<[`IBrowseResponse`](../namespaces/APIResponseTypes/type-aliases/IBrowseResponse.md)\>\>
#### Defined in
[src/Innertube.ts:310](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L310)
***
### getUnseenNotificationsCount()
> **getUnseenNotificationsCount**(): `Promise`\<`number`\>
#### Returns
`Promise`\<`number`\>
#### Defined in
[src/Innertube.ts:348](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L348)
***
### resolveURL()
> **resolveURL**(`url`): `Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
Resolves the given URL.
#### Parameters
**url**: `string`
The URL.
#### Returns
`Promise`\<[`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)\>
#### Defined in
[src/Innertube.ts:432](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L432)
***
### search()
> **search**(`query`, `filters`): `Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
#### Parameters
**query**: `string`
**filters**: [`SearchFilters`](../namespaces/Types/type-aliases/SearchFilters.md) = `{}`
#### Returns
`Promise`\<[`Search`](../namespaces/YT/classes/Search.md)\>
#### Defined in
[src/Innertube.ts:155](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L155)
***
### create()
> `static` **create**(`config`): `Promise`\<[`Innertube`](Innertube.md)\>
#### Parameters
**config**: [`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
#### Returns
`Promise`\<[`Innertube`](Innertube.md)\>
#### Defined in
[src/Innertube.ts:63](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/Innertube.ts#L63)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / ItemSectionContinuation
# Class: ItemSectionContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ItemSectionContinuation()
> **new ItemSectionContinuation**(`data`): [`ItemSectionContinuation`](ItemSectionContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`ItemSectionContinuation`](ItemSectionContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L15)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:12](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L12)
***
### continuation?
> `optional` **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:13](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L13)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"itemSectionContinuation"` = `'itemSectionContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:10](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L10)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is ItemSectionContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is ItemSectionContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,283 @@
[youtubei.js](../README.md) / LiveChatContinuation
# Class: LiveChatContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new LiveChatContinuation()
> **new LiveChatContinuation**(`data`): [`LiveChatContinuation`](LiveChatContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`LiveChatContinuation`](LiveChatContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:174](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L174)
## Properties
### action\_panel
> **action\_panel**: `null` \| [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
#### Defined in
[src/parser/continuations.ts:160](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L160)
***
### actions
> **actions**: [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:159](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L159)
***
### continuation
> **continuation**: [`Continuation`](Continuation.md)
#### Defined in
[src/parser/continuations.ts:171](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L171)
***
### emojis
> **emojis**: `object`[]
#### Defined in
[src/parser/continuations.ts:165](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L165)
***
### header
> **header**: `null` \| [`LiveChatHeader`](../namespaces/YTNodes/classes/LiveChatHeader.md)
#### Defined in
[src/parser/continuations.ts:162](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L162)
***
### item\_list
> **item\_list**: `null` \| [`LiveChatItemList`](../namespaces/YTNodes/classes/LiveChatItemList.md)
#### Defined in
[src/parser/continuations.ts:161](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L161)
***
### participants\_list
> **participants\_list**: `null` \| [`LiveChatParticipantsList`](../namespaces/YTNodes/classes/LiveChatParticipantsList.md)
#### Defined in
[src/parser/continuations.ts:163](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L163)
***
### popout\_message
> **popout\_message**: `null` \| [`Message`](../namespaces/YTNodes/classes/Message.md)
#### Defined in
[src/parser/continuations.ts:164](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L164)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### viewer\_name
> **viewer\_name**: `string`
#### Defined in
[src/parser/continuations.ts:172](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L172)
***
### type
> `readonly` `static` **type**: `"liveChatContinuation"` = `'liveChatContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:157](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L157)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is LiveChatContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is LiveChatContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

161
docs/api/classes/Log.md Normal file
View File

@@ -0,0 +1,161 @@
[youtubei.js](../README.md) / Log
# Class: Log
## Constructors
### new Log()
> **new Log**(): [`Log`](Log.md)
#### Returns
[`Log`](Log.md)
## Properties
### Level
> `static` **Level**: `object`
#### DEBUG
> **DEBUG**: `number` = `4`
#### ERROR
> **ERROR**: `number` = `1`
#### INFO
> **INFO**: `number` = `3`
#### NONE
> **NONE**: `number` = `0`
#### WARNING
> **WARNING**: `number` = `2`
#### Defined in
[src/utils/Log.ts:4](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L4)
## Methods
### debug()
> `static` **debug**(`tag`?, ...`args`?): `void`
#### Parameters
**tag?**: `string`
• ...**args?**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:32](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L32)
***
### error()
> `static` **error**(`tag`?, ...`args`?): `void`
#### Parameters
**tag?**: `string`
• ...**args?**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:30](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L30)
***
### info()
> `static` **info**(`tag`?, ...`args`?): `void`
#### Parameters
**tag?**: `string`
• ...**args?**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:31](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L31)
***
### setLevel()
> `static` **setLevel**(...`args`): `void`
#### Parameters
• ...**args**: `number`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:46](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L46)
***
### warn()
> `static` **warn**(`tag`?, ...`args`?): `void`
#### Parameters
**tag?**: `string`
• ...**args?**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:29](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L29)
***
### warnOnce()
> `static` **warnOnce**(`id`, ...`args`): `void`
#### Parameters
**id**: `string`
• ...**args**: `any`[]
#### Returns
`void`
#### Defined in
[src/utils/Log.ts:22](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Log.ts#L22)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / MusicPlaylistShelfContinuation
# Class: MusicPlaylistShelfContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new MusicPlaylistShelfContinuation()
> **new MusicPlaylistShelfContinuation**(`data`): [`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`MusicPlaylistShelfContinuation`](MusicPlaylistShelfContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:86](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L86)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:84](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L84)
***
### continuation
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:83](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L83)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"musicPlaylistShelfContinuation"` = `'musicPlaylistShelfContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:81](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L81)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicPlaylistShelfContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is MusicPlaylistShelfContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / MusicShelfContinuation
# Class: MusicShelfContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new MusicShelfContinuation()
> **new MusicShelfContinuation**(`data`): [`MusicShelfContinuation`](MusicShelfContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`MusicShelfContinuation`](MusicShelfContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:99](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L99)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:97](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L97)
***
### continuation
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:96](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L96)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"musicShelfContinuation"` = `'musicShelfContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:94](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L94)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is MusicShelfContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is MusicShelfContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,203 @@
[youtubei.js](../README.md) / NavigateAction
# Class: NavigateAction
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new NavigateAction()
> **new NavigateAction**(`data`): [`NavigateAction`](NavigateAction.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`NavigateAction`](NavigateAction.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:29](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L29)
## Properties
### endpoint
> **endpoint**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/continuations.ts:27](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L27)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"navigateAction"` = `'navigateAction'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:25](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L25)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is NavigateAction & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is NavigateAction & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

251
docs/api/classes/OAuth2.md Normal file
View File

@@ -0,0 +1,251 @@
[youtubei.js](../README.md) / OAuth2
# Class: OAuth2
## Constructors
### new OAuth2()
> **new OAuth2**(`session`): [`OAuth2`](OAuth2.md)
#### Parameters
**session**: [`Session`](Session.md)
#### Returns
[`OAuth2`](OAuth2.md)
#### Defined in
[src/core/OAuth2.ts:46](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L46)
## Properties
### AUTH\_SERVER\_CODE\_URL
> **AUTH\_SERVER\_CODE\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:39](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L39)
***
### AUTH\_SERVER\_REVOKE\_TOKEN\_URL
> **AUTH\_SERVER\_REVOKE\_TOKEN\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:41](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L41)
***
### AUTH\_SERVER\_TOKEN\_URL
> **AUTH\_SERVER\_TOKEN\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:40](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L40)
***
### client\_id
> **client\_id**: `undefined` \| [`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)
#### Defined in
[src/core/OAuth2.ts:43](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L43)
***
### oauth2\_tokens
> **oauth2\_tokens**: `undefined` \| [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Defined in
[src/core/OAuth2.ts:44](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L44)
***
### YTTV\_URL
> **YTTV\_URL**: `URL`
#### Defined in
[src/core/OAuth2.ts:38](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L38)
## Methods
### cacheCredentials()
> **cacheCredentials**(): `Promise`\<`void`\>
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:105](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L105)
***
### getClientID()
> **getClientID**(): `Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
#### Returns
`Promise`\<[`OAuth2ClientID`](../type-aliases/OAuth2ClientID.md)\>
#### Defined in
[src/core/OAuth2.ts:268](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L268)
***
### getDeviceAndUserCode()
> **getDeviceAndUserCode**(): `Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
#### Returns
`Promise`\<[`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)\>
#### Defined in
[src/core/OAuth2.ts:236](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L236)
***
### init()
> **init**(`tokens`?): `Promise`\<`void`\>
#### Parameters
**tokens?**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:54](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L54)
***
### pollForAccessToken()
> **pollForAccessToken**(`device_and_user_code`): `Promise`\<`void`\>
#### Parameters
**device\_and\_user\_code**: [`DeviceAndUserCode`](../type-aliases/DeviceAndUserCode.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:130](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L130)
***
### refreshAccessToken()
> **refreshAccessToken**(): `Promise`\<`void`\>
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:197](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L197)
***
### removeCache()
> **removeCache**(): `Promise`\<`void`\>
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/OAuth2.ts:126](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L126)
***
### revokeCredentials()
> **revokeCredentials**(): `Promise`\<`undefined` \| `Response`\>
#### Returns
`Promise`\<`undefined` \| `Response`\>
#### Defined in
[src/core/OAuth2.ts:185](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L185)
***
### setTokens()
> **setTokens**(`tokens`): `void`
#### Parameters
**tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`void`
#### Defined in
[src/core/OAuth2.ts:85](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L85)
***
### shouldRefreshToken()
> **shouldRefreshToken**(): `boolean`
#### Returns
`boolean`
#### Defined in
[src/core/OAuth2.ts:313](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L313)
***
### validateTokens()
> **validateTokens**(`tokens`): `boolean`
#### Parameters
**tokens**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`boolean`
#### Defined in
[src/core/OAuth2.ts:319](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/OAuth2.ts#L319)

View File

@@ -0,0 +1,45 @@
[youtubei.js](../README.md) / Platform
# Class: Platform
## Constructors
### new Platform()
> **new Platform**(): [`Platform`](Platform.md)
#### Returns
[`Platform`](Platform.md)
## Accessors
### shim
> `get` `static` **shim**(): [`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
#### Returns
[`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
#### Defined in
[src/utils/Utils.ts:18](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Utils.ts#L18)
## Methods
### load()
> `static` **load**(`platform`): `void`
#### Parameters
**platform**: [`PlatformShim`](../namespaces/Types/interfaces/PlatformShim.md)
#### Returns
`void`
#### Defined in
[src/utils/Utils.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Utils.ts#L15)

271
docs/api/classes/Player.md Normal file
View File

@@ -0,0 +1,271 @@
[youtubei.js](../README.md) / Player
# Class: Player
Represents YouTube's player script. This is required to decipher signatures.
## Constructors
### new Player()
> **new Player**(`player_id`, `signature_timestamp`, `sig_sc`?, `nsig_sc`?): [`Player`](Player.md)
#### Parameters
**player\_id**: `string`
**signature\_timestamp**: `number`
**sig\_sc?**: `string`
**nsig\_sc?**: `string`
#### Returns
[`Player`](Player.md)
#### Defined in
[src/core/Player.ts:17](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L17)
## Properties
### nsig\_sc?
> `optional` **nsig\_sc**: `string`
#### Defined in
[src/core/Player.ts:13](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L13)
***
### player\_id
> **player\_id**: `string`
#### Defined in
[src/core/Player.ts:11](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L11)
***
### po\_token?
> `optional` **po\_token**: `string`
#### Defined in
[src/core/Player.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L15)
***
### sig\_sc?
> `optional` **sig\_sc**: `string`
#### Defined in
[src/core/Player.ts:14](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L14)
***
### sts
> **sts**: `number`
#### Defined in
[src/core/Player.ts:12](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L12)
## Accessors
### url
> `get` **url**(): `string`
#### Returns
`string`
#### Defined in
[src/core/Player.ts:244](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L244)
***
### LIBRARY\_VERSION
> `get` `static` **LIBRARY\_VERSION**(): `number`
#### Returns
`number`
#### Defined in
[src/core/Player.ts:248](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L248)
## Methods
### cache()
> **cache**(`cache`?): `Promise`\<`void`\>
#### Parameters
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/Player.ts:200](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L200)
***
### decipher()
> **decipher**(`url`?, `signature_cipher`?, `cipher`?, `this_response_nsig_cache`?): `string`
#### Parameters
**url?**: `string`
**signature\_cipher?**: `string`
**cipher?**: `string`
**this\_response\_nsig\_cache?**: `Map`\<`string`, `string`\>
#### Returns
`string`
#### Defined in
[src/core/Player.ts:78](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L78)
***
### create()
> `static` **create**(`cache`, `fetch`, `po_token`?): `Promise`\<[`Player`](Player.md)\>
#### Parameters
**cache**: `undefined` \| [`ICache`](../namespaces/Types/interfaces/ICache.md)
**fetch** = `Platform.shim.fetch`
**po\_token?**: `string`
#### Returns
`Promise`\<[`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:24](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L24)
***
### extractNSigSourceCode()
> `static` **extractNSigSourceCode**(`data`): `undefined` \| `string`
#### Parameters
**data**: `string`
#### Returns
`undefined` \| `string`
#### Defined in
[src/core/Player.ts:237](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L237)
***
### extractSigSourceCode()
> `static` **extractSigSourceCode**(`data`): `string`
#### Parameters
**data**: `string`
#### Returns
`string`
#### Defined in
[src/core/Player.ts:226](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L226)
***
### extractSigTimestamp()
> `static` **extractSigTimestamp**(`data`): `number`
#### Parameters
**data**: `string`
#### Returns
`number`
#### Defined in
[src/core/Player.ts:222](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L222)
***
### fromCache()
> `static` **fromCache**(`cache`, `player_id`): `Promise`\<`null` \| [`Player`](Player.md)\>
#### Parameters
**cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
**player\_id**: `string`
#### Returns
`Promise`\<`null` \| [`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:170](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L170)
***
### fromSource()
> `static` **fromSource**(`player_id`, `sig_timestamp`, `cache`?, `sig_sc`?, `nsig_sc`?): `Promise`\<[`Player`](Player.md)\>
#### Parameters
**player\_id**: `string`
**sig\_timestamp**: `number`
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
**sig\_sc?**: `string`
**nsig\_sc?**: `string`
#### Returns
`Promise`\<[`Player`](Player.md)\>
#### Defined in
[src/core/Player.ts:194](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Player.ts#L194)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / PlaylistPanelContinuation
# Class: PlaylistPanelContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new PlaylistPanelContinuation()
> **new PlaylistPanelContinuation**(`data`): [`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`PlaylistPanelContinuation`](PlaylistPanelContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:131](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L131)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:129](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L129)
***
### continuation
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:128](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L128)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"playlistPanelContinuation"` = `'playlistPanelContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:126](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L126)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is PlaylistPanelContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is PlaylistPanelContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,223 @@
[youtubei.js](../README.md) / ReloadContinuationItemsCommand
# Class: ReloadContinuationItemsCommand
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ReloadContinuationItemsCommand()
> **new ReloadContinuationItemsCommand**(`data`): [`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`ReloadContinuationItemsCommand`](ReloadContinuationItemsCommand.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L57)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:54](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L54)
***
### slot?
> `optional` **slot**: `string`
#### Defined in
[src/parser/continuations.ts:55](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L55)
***
### target\_id
> **target\_id**: `string`
#### Defined in
[src/parser/continuations.ts:53](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L53)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"reloadContinuationItemsCommand"` = `'reloadContinuationItemsCommand'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:51](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L51)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is ReloadContinuationItemsCommand & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is ReloadContinuationItemsCommand & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / SectionListContinuation
# Class: SectionListContinuation
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new SectionListContinuation()
> **new SectionListContinuation**(`data`): [`SectionListContinuation`](SectionListContinuation.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`SectionListContinuation`](SectionListContinuation.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:71](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L71)
## Properties
### contents
> **contents**: `null` \| [`ObservedArray`](../namespaces/Helpers/type-aliases/ObservedArray.md)\<[`YTNode`](../namespaces/Helpers/classes/YTNode.md)\>
#### Defined in
[src/parser/continuations.ts:69](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L69)
***
### continuation
> **continuation**: `string`
#### Defined in
[src/parser/continuations.ts:68](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L68)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"sectionListContinuation"` = `'sectionListContinuation'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:66](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L66)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is SectionListContinuation & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is SectionListContinuation & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

645
docs/api/classes/Session.md Normal file
View File

@@ -0,0 +1,645 @@
[youtubei.js](../README.md) / Session
# Class: Session
Represents an InnerTube session. This holds all the data needed to make requests to YouTube.
## Extends
- [`EventEmitter`](EventEmitter.md)
## Constructors
### new Session()
> **new Session**(`context`, `api_key`, `api_version`, `account_index`, `player`?, `cookie`?, `fetch`?, `cache`?, `po_token`?): [`Session`](Session.md)
#### Parameters
**context**: [`Context`](../type-aliases/Context.md)
**api\_key**: `string`
**api\_version**: `string`
**account\_index**: `number`
**player?**: [`Player`](Player.md)
**cookie?**: `string`
**fetch?**
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
**po\_token?**: `string`
#### Returns
[`Session`](Session.md)
#### Overrides
[`EventEmitter`](EventEmitter.md).[`constructor`](EventEmitter.md#constructors)
#### Defined in
[src/core/Session.ts:226](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L226)
## Properties
### account\_index
> **account\_index**: `number`
#### Defined in
[src/core/Session.ts:223](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L223)
***
### actions
> **actions**: [`Actions`](Actions.md)
#### Defined in
[src/core/Session.ts:219](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L219)
***
### api\_version
> **api\_version**: `string`
#### Defined in
[src/core/Session.ts:222](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L222)
***
### cache?
> `optional` **cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
#### Defined in
[src/core/Session.ts:220](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L220)
***
### context
> **context**: [`Context`](../type-aliases/Context.md)
#### Defined in
[src/core/Session.ts:214](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L214)
***
### http
> **http**: [`HTTPClient`](HTTPClient.md)
#### Defined in
[src/core/Session.ts:217](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L217)
***
### key
> **key**: `string`
#### Defined in
[src/core/Session.ts:221](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L221)
***
### logged\_in
> **logged\_in**: `boolean`
#### Defined in
[src/core/Session.ts:218](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L218)
***
### oauth
> **oauth**: [`OAuth2`](OAuth2.md)
#### Defined in
[src/core/Session.ts:216](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L216)
***
### player?
> `optional` **player**: [`Player`](Player.md)
#### Defined in
[src/core/Session.ts:215](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L215)
***
### po\_token?
> `optional` **po\_token**: `string`
#### Defined in
[src/core/Session.ts:224](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L224)
## Accessors
### client\_name
> `get` **client\_name**(): `string`
#### Returns
`string`
#### Defined in
[src/core/Session.ts:569](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L569)
***
### client\_version
> `get` **client\_version**(): `string`
#### Returns
`string`
#### Defined in
[src/core/Session.ts:565](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L565)
***
### lang
> `get` **lang**(): `string`
#### Returns
`string`
#### Defined in
[src/core/Session.ts:573](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L573)
## Methods
### addEventListener()
> **addEventListener**(`type`, `callback`, `options`?): `void`
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
#### Parameters
**type**: `string`
**callback**: `null` \| `EventListenerOrEventListenerObject`
**options?**: `boolean` \| `AddEventListenerOptions`
#### Returns
`void`
#### Inherited from
[`EventEmitter`](EventEmitter.md).[`addEventListener`](EventEmitter.md#addeventlistener)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8256
***
### dispatchEvent()
> **dispatchEvent**(`event`): `boolean`
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
#### Parameters
**event**: `Event`
#### Returns
`boolean`
#### Inherited from
[`EventEmitter`](EventEmitter.md).[`dispatchEvent`](EventEmitter.md#dispatchevent)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8262
***
### emit()
> **emit**(`type`, ...`args`): `void`
#### Parameters
**type**: `string`
• ...**args**: `any`[]
#### Returns
`void`
#### Inherited from
[`EventEmitter`](EventEmitter.md).[`emit`](EventEmitter.md#emit)
#### Defined in
[src/utils/EventEmitterLike.ts:10](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L10)
***
### off()
> **off**(`type`, `listener`): `void`
#### Parameters
**type**: `string`
**listener**
#### Returns
`void`
#### Inherited from
[`EventEmitter`](EventEmitter.md).[`off`](EventEmitter.md#off)
#### Defined in
[src/utils/EventEmitterLike.ts:40](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/EventEmitterLike.ts#L40)
***
### on()
#### on(type, listener)
> **on**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth"`
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
`void`
##### Overrides
[`EventEmitter`](EventEmitter.md).[`on`](EventEmitter.md#on)
##### Defined in
[src/core/Session.ts:241](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L241)
#### on(type, listener)
> **on**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth-pending"`
**listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
##### Returns
`void`
##### Overrides
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:242](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L242)
#### on(type, listener)
> **on**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth-error"`
**listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
##### Returns
`void`
##### Overrides
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:243](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L243)
#### on(type, listener)
> **on**(`type`, `listener`): `void`
##### Parameters
**type**: `"update-credentials"`
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
`void`
##### Overrides
`EventEmitter.on`
##### Defined in
[src/core/Session.ts:244](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L244)
***
### once()
#### once(type, listener)
> **once**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth"`
**listener**: [`OAuth2AuthEventHandler`](../type-aliases/OAuth2AuthEventHandler.md)
##### Returns
`void`
##### Overrides
[`EventEmitter`](EventEmitter.md).[`once`](EventEmitter.md#once)
##### Defined in
[src/core/Session.ts:250](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L250)
#### once(type, listener)
> **once**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth-pending"`
**listener**: [`OAuth2AuthPendingEventHandler`](../type-aliases/OAuth2AuthPendingEventHandler.md)
##### Returns
`void`
##### Overrides
`EventEmitter.once`
##### Defined in
[src/core/Session.ts:251](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L251)
#### once(type, listener)
> **once**(`type`, `listener`): `void`
##### Parameters
**type**: `"auth-error"`
**listener**: [`OAuth2AuthErrorEventHandler`](../type-aliases/OAuth2AuthErrorEventHandler.md)
##### Returns
`void`
##### Overrides
`EventEmitter.once`
##### Defined in
[src/core/Session.ts:252](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L252)
***
### removeEventListener()
> **removeEventListener**(`type`, `callback`, `options`?): `void`
Removes the event listener in target's event listener list with the same type, callback, and options.
[MDN Reference](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
#### Parameters
**type**: `string`
**callback**: `null` \| `EventListenerOrEventListenerObject`
**options?**: `boolean` \| `EventListenerOptions`
#### Returns
`void`
#### Inherited from
[`EventEmitter`](EventEmitter.md).[`removeEventListener`](EventEmitter.md#removeeventlistener)
#### Defined in
node\_modules/typescript/lib/lib.dom.d.ts:8268
***
### signIn()
> **signIn**(`credentials`?): `Promise`\<`void`\>
#### Parameters
**credentials?**: [`OAuth2Tokens`](../type-aliases/OAuth2Tokens.md)
#### Returns
`Promise`\<`void`\>
#### Defined in
[src/core/Session.ts:532](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L532)
***
### signOut()
> **signOut**(): `Promise`\<`undefined` \| `Response`\>
Signs out of the current account and revokes the credentials.
#### Returns
`Promise`\<`undefined` \| `Response`\>
#### Defined in
[src/core/Session.ts:555](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L555)
***
### create()
> `static` **create**(`options`): `Promise`\<[`Session`](Session.md)\>
#### Parameters
**options**: [`SessionOptions`](../type-aliases/SessionOptions.md) = `{}`
#### Returns
`Promise`\<[`Session`](Session.md)\>
#### Defined in
[src/core/Session.ts:258](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L258)
***
### fromCache()
> `static` **fromCache**(`cache`, `session_args`): `Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
Retrieves session data from cache.
#### Parameters
**cache**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
A valid cache implementation.
**session\_args**: [`SessionArgs`](../type-aliases/SessionArgs.md)
User provided session arguments.
#### Returns
`Promise`\<`null` \| [`SessionData`](../type-aliases/SessionData.md)\>
#### Defined in
[src/core/Session.ts:288](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L288)
***
### getSessionData()
> `static` **getSessionData**(`lang`, `location`, `account_index`, `visitor_data`, `enable_safety_mode`, `generate_session_locally`, `device_category`, `client_name`, `tz`, `fetch`, `on_behalf_of_user`?, `cache`?, `enable_session_cache`?, `po_token`?): `Promise`\<`object`\>
#### Parameters
**lang**: `string` = `''`
**location**: `string` = `''`
**account\_index**: `number` = `0`
**visitor\_data**: `string` = `''`
**enable\_safety\_mode**: `boolean` = `false`
**generate\_session\_locally**: `boolean` = `false`
**device\_category**: [`DeviceCategory`](../namespaces/Utils/type-aliases/DeviceCategory.md) = `'desktop'`
**client\_name**: [`ClientType`](../enumerations/ClientType.md) = `ClientType.WEB`
**tz**: `string` = `...`
**fetch** = `Platform.shim.fetch`
**on\_behalf\_of\_user?**: `string`
**cache?**: [`ICache`](../namespaces/Types/interfaces/ICache.md)
**enable\_session\_cache?**: `boolean` = `true`
**po\_token?**: `string`
#### Returns
`Promise`\<`object`\>
##### account\_index
> **account\_index**: `number`
##### api\_key
> **api\_key**: `string`
##### api\_version
> **api\_version**: `string`
##### context
> **context**: [`Context`](../type-aliases/Context.md)
#### Defined in
[src/core/Session.ts:324](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/core/Session.ts#L324)

View File

@@ -0,0 +1,213 @@
[youtubei.js](../README.md) / ShowMiniplayerCommand
# Class: ShowMiniplayerCommand
## Extends
- [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
## Constructors
### new ShowMiniplayerCommand()
> **new ShowMiniplayerCommand**(`data`): [`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
#### Parameters
**data**: [`RawNode`](../namespaces/APIResponseTypes/type-aliases/RawNode.md)
#### Returns
[`ShowMiniplayerCommand`](ShowMiniplayerCommand.md)
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`constructor`](../namespaces/Helpers/classes/YTNode.md#constructors)
#### Defined in
[src/parser/continuations.ts:41](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L41)
## Properties
### miniplayer\_command
> **miniplayer\_command**: [`NavigationEndpoint`](../namespaces/YTNodes/classes/NavigationEndpoint.md)
#### Defined in
[src/parser/continuations.ts:38](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L38)
***
### show\_premium\_branding
> **show\_premium\_branding**: `boolean`
#### Defined in
[src/parser/continuations.ts:39](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L39)
***
### type
> `readonly` **type**: `string`
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type)
#### Defined in
[src/parser/helpers.ts:8](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L8)
***
### type
> `readonly` `static` **type**: `"showMiniplayerCommand"` = `'showMiniplayerCommand'`
#### Overrides
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`type`](../namespaces/Helpers/classes/YTNode.md#type-1)
#### Defined in
[src/parser/continuations.ts:36](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/continuations.ts#L36)
## Methods
### as()
> **as**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\>
Cast to one of the given types.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
#### Returns
`InstanceType`\<`K`\[`number`\]\>
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`as`](../namespaces/Helpers/classes/YTNode.md#as)
#### Defined in
[src/parser/helpers.ts:35](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L35)
***
### hasKey()
> **hasKey**\<`T`, `R`\>(`key`): `this is ShowMiniplayerCommand & { [k in string]: R }`
Check for a key without asserting the type.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
`this is ShowMiniplayerCommand & { [k in string]: R }`
Whether the node has the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`hasKey`](../namespaces/Helpers/classes/YTNode.md#haskey)
#### Defined in
[src/parser/helpers.ts:47](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L47)
***
### is()
> **is**\<`T`, `K`\>(...`types`): `this is InstanceType<K[number]>`
Check if the node is of the given type.
#### Type Parameters
**T** *extends* [`YTNode`](../namespaces/Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../namespaces/Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
#### Parameters
• ...**types**: `K`
The type to check
#### Returns
`this is InstanceType<K[number]>`
whether the node is of the given type
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`is`](../namespaces/Helpers/classes/YTNode.md#is)
#### Defined in
[src/parser/helpers.ts:28](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L28)
***
### key()
> **key**\<`T`, `R`\>(`key`): [`Maybe`](../namespaces/Helpers/classes/Maybe.md)
Assert that the node has the given key and return it.
#### Type Parameters
**T** *extends* `string`
**R** = `any`
#### Parameters
**key**: `T`
The key to check
#### Returns
[`Maybe`](../namespaces/Helpers/classes/Maybe.md)
The value of the key wrapped in a Maybe
#### Throws
If the node does not have the key
#### Inherited from
[`YTNode`](../namespaces/Helpers/classes/YTNode.md).[`key`](../namespaces/Helpers/classes/YTNode.md#key)
#### Defined in
[src/parser/helpers.ts:57](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/helpers.ts#L57)

View File

@@ -0,0 +1,113 @@
[youtubei.js](../README.md) / UniversalCache
# Class: UniversalCache
## Implements
- [`ICache`](../namespaces/Types/interfaces/ICache.md)
## Constructors
### new UniversalCache()
> **new UniversalCache**(`persistent`, `persistent_directory`?): [`UniversalCache`](UniversalCache.md)
#### Parameters
**persistent**: `boolean`
**persistent\_directory?**: `string`
#### Returns
[`UniversalCache`](UniversalCache.md)
#### Defined in
[src/utils/Cache.ts:6](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Cache.ts#L6)
## Accessors
### cache\_dir
> `get` **cache\_dir**(): `string`
#### Returns
`string`
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`cache_dir`](../namespaces/Types/interfaces/ICache.md#cache_dir)
#### Defined in
[src/utils/Cache.ts:9](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Cache.ts#L9)
## Methods
### get()
> **get**(`key`): `Promise`\<`undefined` \| `ArrayBuffer`\>
#### Parameters
**key**: `string`
#### Returns
`Promise`\<`undefined` \| `ArrayBuffer`\>
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`get`](../namespaces/Types/interfaces/ICache.md#get)
#### Defined in
[src/utils/Cache.ts:12](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Cache.ts#L12)
***
### remove()
> **remove**(`key`): `Promise`\<`void`\>
#### Parameters
**key**: `string`
#### Returns
`Promise`\<`void`\>
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`remove`](../namespaces/Types/interfaces/ICache.md#remove)
#### Defined in
[src/utils/Cache.ts:18](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Cache.ts#L18)
***
### set()
> **set**(`key`, `value`): `Promise`\<`void`\>
#### Parameters
**key**: `string`
**value**: `ArrayBuffer`
#### Returns
`Promise`\<`void`\>
#### Implementation of
[`ICache`](../namespaces/Types/interfaces/ICache.md).[`set`](../namespaces/Types/interfaces/ICache.md#set)
#### Defined in
[src/utils/Cache.ts:15](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/utils/Cache.ts#L15)