# Is Data Type

## Overview

![The Is Data Type Node.](https://1582035224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MIspkFTPkuGkv4UgQGs-3848250649%2Fuploads%2Fgit-blob-7162a31a6ba1de2a60b4c26d75abd6b978d7f7a4%2Fisfloattype.png?alt=media)

The **Is Data Type Node** returns *true* or *false* depending on whether or not the input matches the `Data Type`.

## Attributes

| Attribute   | Type         | Description                                                                                                                                                                                                                                                                                              |
| ----------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Data Type` | **Dropdown** | The **Data Type** to compare the input type with. The **Node** name matches the `Data Type`, in the example image this is **Float**. Alternatively, the `Data Type` can either be **Array**, **Binary**, **Bool**, **Byte**, **Color**, **Dictionary**, **Int**, **String**, or any **Vector** variable. |

## Inputs

| Input             | Type      | Description                                                                                                 |
| ----------------- | --------- | ----------------------------------------------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse** | A standard **Input Pulse**, to trigger the execution of the **Node**.                                       |
| `Input`           | **Any**   | The input `Data Type` to be compared with. **Any** is a generic `Data Type` that every type can be cast to. |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `Output`           | **Bool**  | Returns *true* or *false* depending on whether or not the input matches the `Data Type`.                                               |

## Example Usage

![Is Data Type Node Example Usage.](https://1582035224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MIspkFTPkuGkv4UgQGs-3848250649%2Fuploads%2Fgit-blob-8090f2a4b6d3f00a4d8ebd4f6c65523f182dede5%2Fisdatatypeexample.png?alt=media)

The **Is Data Type Node** is useful for checking for correct `Data Types` from other sources, such as a parsed JSON file. In the above image, a **Float** is converted into the generic **Any** `Data Type`, to prove that it is indeed a **Float**. The resulting output will confirm that the `Data Type` matches the expected `Data Type` and flow to `OnTrue` for additional actions.
