[youtubei.js](../../../README.md) / [Parser](../README.md) / parseItem # Function: parseItem() ## parseItem(data, validTypes) > **parseItem**\<`T`, `K`\>(`data`, `validTypes`): `InstanceType`\<`K`\[`number`\]\> \| `null` Parses an item. ### Type Parameters • **T** *extends* [`YTNode`](../../Helpers/classes/YTNode.md) • **K** *extends* [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\>[] ### Parameters • **data**: `undefined` \| [`RawNode`](../../APIResponseTypes/type-aliases/RawNode.md) The data to parse. • **validTypes**: `K` YTNode types that are allowed to be parsed. ### Returns `InstanceType`\<`K`\[`number`\]\> \| `null` ### Defined in [src/parser/parser.ts:509](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/parser.ts#L509) ## parseItem(data, validTypes) > **parseItem**\<`T`\>(`data`, `validTypes`): `T` \| `null` ### Type Parameters • **T** *extends* [`YTNode`](../../Helpers/classes/YTNode.md) ### Parameters • **data**: `undefined` \| [`RawNode`](../../APIResponseTypes/type-aliases/RawNode.md) • **validTypes**: [`YTNodeConstructor`](../../Helpers/interfaces/YTNodeConstructor.md)\<`T`\> ### Returns `T` \| `null` ### Defined in [src/parser/parser.ts:510](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/parser.ts#L510) ## parseItem(data) > **parseItem**(`data`?): [`YTNode`](../../Helpers/classes/YTNode.md) ### Parameters • **data?**: [`RawNode`](../../APIResponseTypes/type-aliases/RawNode.md) ### Returns [`YTNode`](../../Helpers/classes/YTNode.md) ### Defined in [src/parser/parser.ts:511](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/parser.ts#L511)