[hkt-toolbelt](../Home.md) / Union # Namespace: Union ## Interfaces - [Length](../interfaces/Union.Length.md) - [ToIntersection](../interfaces/Union.ToIntersection.md) - [ToList](../interfaces/Union.ToList.md) ## Type Aliases ### \_$length Ƭ **\_$length**<`T`\>: [`_$isNever`](Type.md#_$isnever)<`T`\> extends ``true`` ? ``0`` : [`_$toList`](Union.md#_$tolist)<`T`\> extends infer X ? `X`[``"length"``] : `never` #### Type parameters | Name | | :------ | | `T` | #### Defined in [union/length.ts:3](https://github.com/poteat/hkt-toolbelt/blob/61f5028/src/union/length.ts#L3) ___ ### \_$toIntersection Ƭ **\_$toIntersection**<`T`\>: `boolean` extends `T` ? `boolean` & `_$toIntersection2`<`Exclude`<`T`, `boolean`\>\> : `_$toIntersection2`<`T`\> #### Type parameters | Name | | :------ | | `T` | #### Defined in [union/to-intersection.ts:9](https://github.com/poteat/hkt-toolbelt/blob/61f5028/src/union/to-intersection.ts#L9) ___ ### \_$toList Ƭ **\_$toList**<`T`, `O`\>: [`_$toIntersection`](Union.md#_$tointersection)<`T` extends `unknown` ? (`t`: `T`) => `T` : `never`\> extends (`x`: `never`) => infer X ? [`_$toList`](Union.md#_$tolist)<`Exclude`<`T`, `X`\>, [`X`, ...O]\> : `O` #### Type parameters | Name | Type | | :------ | :------ | | `T` | `T` | | `O` | extends `unknown`[] = [] | #### Defined in [union/to-list.ts:3](https://github.com/poteat/hkt-toolbelt/blob/61f5028/src/union/to-list.ts#L3)