[youtubei.js](../../../README.md) / [Helpers](../README.md) / Maybe # Class: Maybe A wrapper class that provides type-safe access to a value. ## Constructors ### new Maybe() > **new Maybe**(`value`): [`Maybe`](Maybe.md) #### Parameters • **value**: `any` #### Returns [`Maybe`](Maybe.md) #### Defined in [src/parser/helpers.ts:76](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L76) ## Accessors ### typeof > `get` **typeof**(): `"string"` \| `"number"` \| `"bigint"` \| `"boolean"` \| `"symbol"` \| `"undefined"` \| `"object"` \| `"function"` #### Returns `"string"` \| `"number"` \| `"bigint"` \| `"boolean"` \| `"symbol"` \| `"undefined"` \| `"object"` \| `"function"` #### Defined in [src/parser/helpers.ts:91](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L91) ## Methods ### ~~any()~~ > **any**(): `any` #### Returns `any` #### Deprecated This call is not meant to be used outside of debugging. Please use the specific type getter instead. #### Defined in [src/parser/helpers.ts:287](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L287) *** ### array() > **array**(): `any`[] Get the value as an array. #### Returns `any`[] the value as any[]. #### Throws If the value is not an array. #### Defined in [src/parser/helpers.ts:175](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L175) *** ### arrayOfMaybe() > **arrayOfMaybe**(): [`Maybe`](Maybe.md)[] More typesafe variant of [Maybe#array](Maybe.md#array). #### Returns [`Maybe`](Maybe.md)[] a proxied array which returns all the values as [Maybe](Maybe.md). #### Throws If the value is not an array #### Defined in [src/parser/helpers.ts:187](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L187) *** ### bigint() > **bigint**(): `bigint` #### Returns `bigint` #### Defined in [src/parser/helpers.ts:111](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L111) *** ### boolean() > **boolean**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:119](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L119) *** ### function() > **function**(): `Function` #### Returns `Function` #### Defined in [src/parser/helpers.ts:162](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L162) *** ### instanceof() > **instanceof**\<`T`\>(`type`): `T` Get the node as an instance of the given class. #### Type Parameters • **T** *extends* `object` #### Parameters • **type**: [`Constructor`](../interfaces/Constructor.md)\<`T`\> The type to check. #### Returns `T` the value as the given type. #### Throws If the node is not of the given type. #### Defined in [src/parser/helpers.ts:298](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L298) *** ### isArray() > **isArray**(): `boolean` Check whether the value is an array. #### Returns `boolean` whether the value is an array. #### Defined in [src/parser/helpers.ts:203](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L203) *** ### isBigint() > **isBigint**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:115](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L115) *** ### isBoolean() > **isBoolean**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:123](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L123) *** ### isFunction() > **isFunction**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:166](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L166) *** ### isInstanceof() > **isInstanceof**\<`T`\>(`type`): `this is Maybe & T` Check if the node is an instance of the given class. #### Type Parameters • **T** *extends* `object` #### Parameters • **type**: [`Constructor`](../interfaces/Constructor.md)\<`T`\> The type to check. #### Returns `this is Maybe & T` Whether the node is an instance of the given type. #### Defined in [src/parser/helpers.ts:310](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L310) *** ### isNode() > **isNode**(): `boolean` Check if the value is a YTNode. #### Returns `boolean` Whether the value is a YTNode. #### Defined in [src/parser/helpers.ts:223](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L223) *** ### isNodeOfType() > **isNodeOfType**\<`T`, `K`\>(...`types`): `boolean` Check if the value is a YTNode of the given type. #### Type Parameters • **T** *extends* [`YTNode`](YTNode.md) • **K** *extends* [`YTNodeConstructor`](../interfaces/YTNodeConstructor.md)\<`T`\>[] #### Parameters • ...**types**: `K` the type(s) to check. #### Returns `boolean` Whether the value is a YTNode of the given type. #### Defined in [src/parser/helpers.ts:242](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L242) *** ### isNull() > **isNull**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:149](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L149) *** ### isNumber() > **isNumber**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:107](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L107) *** ### isObject() > **isObject**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:157](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L157) *** ### isObserved() > **isObserved**(): `any` Check if the value is an ObservedArray. #### Returns `any` #### Defined in [src/parser/helpers.ts:260](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L260) *** ### isParsed() > **isParsed**(): `boolean` Is the result a SuperParsedResult? #### Returns `boolean` #### Defined in [src/parser/helpers.ts:279](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L279) *** ### isString() > **isString**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:99](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L99) *** ### isSymbol() > **isSymbol**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:131](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L131) *** ### isUndefined() > **isUndefined**(): `boolean` #### Returns `boolean` #### Defined in [src/parser/helpers.ts:139](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L139) *** ### node() > **node**(): [`YTNode`](YTNode.md) Get the value as a YTNode. #### Returns [`YTNode`](YTNode.md) the value as a YTNode. #### Throws If the value is not a YTNode. #### Defined in [src/parser/helpers.ts:212](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L212) *** ### nodeOfType() > **nodeOfType**\<`T`, `K`\>(...`types`): `InstanceType`\<`K`\[`number`\]\> Get the value as a YTNode of the given type. #### Type Parameters • **T** *extends* [`YTNode`](YTNode.md) • **K** *extends* [`YTNodeConstructor`](../interfaces/YTNodeConstructor.md)\<`T`\>[] #### Parameters • ...**types**: `K` The type(s) to cast to. #### Returns `InstanceType`\<`K`\[`number`\]\> The node cast to the given type. #### Throws If the node is not of the given type. #### Defined in [src/parser/helpers.ts:233](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L233) *** ### null() > **null**(): `null` #### Returns `null` #### Defined in [src/parser/helpers.ts:143](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L143) *** ### number() > **number**(): `number` #### Returns `number` #### Defined in [src/parser/helpers.ts:103](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L103) *** ### object() > **object**(): `object` #### Returns `object` #### Defined in [src/parser/helpers.ts:153](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L153) *** ### observed() > **observed**(): [`ObservedArray`](../type-aliases/ObservedArray.md)\<[`YTNode`](YTNode.md)\> Get the value as an ObservedArray. #### Returns [`ObservedArray`](../type-aliases/ObservedArray.md)\<[`YTNode`](YTNode.md)\> the value of the Maybe as a ObservedArray. #### Defined in [src/parser/helpers.ts:250](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L250) *** ### parsed() > **parsed**(): [`SuperParsedResult`](SuperParsedResult.md)\<[`YTNode`](YTNode.md)\> Get the value of the Maybe as a SuperParsedResult. #### Returns [`SuperParsedResult`](SuperParsedResult.md)\<[`YTNode`](YTNode.md)\> the value as a SuperParsedResult. #### Throws If the value is not a SuperParsedResult. #### Defined in [src/parser/helpers.ts:269](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L269) *** ### string() > **string**(): `string` #### Returns `string` #### Defined in [src/parser/helpers.ts:95](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L95) *** ### symbol() > **symbol**(): `symbol` #### Returns `symbol` #### Defined in [src/parser/helpers.ts:127](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L127) *** ### undefined() > **undefined**(): `undefined` #### Returns `undefined` #### Defined in [src/parser/helpers.ts:135](https://github.com/LuanRT/YouTube.js/blob/4729016fb98e7045ee4043857be7eef780c01e35/src/parser/helpers.ts#L135)