# Action

> **Action**<`T`, `R`> = (`subject`, `judgment`) => `R` | `Promise`<`R`>

Defined in: [src/builders/given.ts:15](https://github.com/jacobgoldfarb/Jevlish/blob/83ccd8c0be5f41962c805f7d42ddf1b1f048de89/src/builders/given.ts#L15)

A callback chosen by a judgment. It receives the subject and the judgment that selected it.

## Type Parameters

| Type Parameter |
| -------------- |
| `T`            |
| `R`            |

## Parameters

| Parameter  | Type                                                               |
| ---------- | ------------------------------------------------------------------ |
| `subject`  | `T`                                                                |
| `judgment` | [`Judgment`](/Jevlish/reference/type-aliases/judgment/)<`boolean`> |

## Returns

`R` | `Promise`<`R`>