# Equals

### Overview

The **Equal Filter Component** checks whether a given input data exactly matches a specified value. If the condition is met, the message is passed through the `equals` port; otherwise, it is routed to `notEquals`.

### Usage

This component is used to validate if a text, number, or date is equal to a predefined value, making it useful for strict conditional processing in workflows.

#### Properties

| Property     | Type     | Description                                                |
| ------------ | -------- | ---------------------------------------------------------- |
| `sourceData` | `string` | The data to be compared. Can be a string, number, or date. |
| `value`      | `string` | The value to compare against `sourceData`.                 |

#### Input Ports

| Port | Description                                          |
| ---- | ---------------------------------------------------- |
| `in` | Accepts input data and the value to compare against. |

#### Output Ports

| Port        | Description                                                    |
| ----------- | -------------------------------------------------------------- |
| `equals`    | Emits the message if `sourceData` is exactly equal to `value`. |
| `notEquals` | Emits the message if `sourceData` is not equal to `value`.     |

#### Processing Logic

1. **Receives Input Data**:
   * Accepts a dataset (`sourceData`) and a comparison value (`value`).
2. **Checks for Exact Equality**:
   * Performs a strict equality check (`sourceData == value`).
3. **Routes the Message**:
   * If `sourceData` equals `value`, the message is passed to the `equals` port.
   * If not, it is passed to the `notEquals` port.

#### Output Data Schema

| Property     | Type      | Description                                               |
| ------------ | --------- | --------------------------------------------------------- |
| `sourceData` | `string`  | The original data that was checked.                       |
| `value`      | `string`  | The value compared against `sourceData`.                  |
| `result`     | `boolean` | `true` if `sourceData` equals `value`, otherwise `false`. |

### Notes

* **Strict Comparison**: Ensures exact matches by evaluating equality.
* **Supports Various Data Types**: Works with text, numbers, and dates.
* **Ideal for Conditional Filtering**: Useful in workflows requiring strict comparison logic.

This component is essential for workflows that need to validate whether an input is exactly equal to a predefined value before further processing.
