Files
YouTube.js/docs/api/namespaces/Parser/functions/parse.md
Luan 74659fd03f chore: add proper documentation (#763)
* chore: generate API ref using `typedoc`

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

* chore: clean up
2024-09-23 17:32:50 -03:00

88 lines
2.7 KiB
Markdown

[youtubei.js](../../../README.md) / [Parser](../README.md) / parse
# Function: parse()
## parse(data, requireArray, validTypes)
> **parse**\<`T`, `K`\>(`data`, `requireArray`, `validTypes`?): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<`InstanceType`\<`K`\[`number`\]\>\> \| `null`
Parses an item or an array of items.
### Type Parameters
**T** *extends* [`YTNode`](../../Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
### Parameters
**data**: [`RawData`](../../APIResponseTypes/type-aliases/RawData.md)
The data to parse.
**requireArray**: `true`
Whether the data should be parsed as an array.
**validTypes?**: `K`
YTNode types that are allowed to be parsed.
### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<`InstanceType`\<`K`\[`number`\]\>\> \| `null`
### Defined in
[src/parser/parser.ts:604](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/parser.ts#L604)
## parse(data, requireArray, validTypes)
> **parse**\<`T`, `K`\>(`data`, `requireArray`, `validTypes`?): [`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<`InstanceType`\<`K`\>\> \| `null`
### Type Parameters
**T** *extends* [`YTNode`](../../Helpers/classes/YTNode.md)
**K** *extends* [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\>
### Parameters
**data**: [`RawData`](../../APIResponseTypes/type-aliases/RawData.md)
**requireArray**: `true`
**validTypes?**: `K`
### Returns
[`ObservedArray`](../../Helpers/type-aliases/ObservedArray.md)\<`InstanceType`\<`K`\>\> \| `null`
### Defined in
[src/parser/parser.ts:605](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/parser.ts#L605)
## parse(data, requireArray, validTypes)
> **parse**\<`T`\>(`data`?, `requireArray`?, `validTypes`?): [`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<`T`\>
### Type Parameters
**T** *extends* [`YTNode`](../../Helpers/classes/YTNode.md) = [`YTNode`](../../Helpers/classes/YTNode.md)
### Parameters
**data?**: [`RawData`](../../APIResponseTypes/type-aliases/RawData.md)
**requireArray?**: `false`
**validTypes?**: [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\> \| [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[]
### Returns
[`SuperParsedResult`](../../Helpers/classes/SuperParsedResult.md)\<`T`\>
### Defined in
[src/parser/parser.ts:606](https://github.com/LuanRT/YouTube.js/blob/eb21af33db708f0355f4fb15881f5d4fabc7b06c/src/parser/parser.ts#L606)