# and

`function` in `seedcord` · v0.13.0

<https://docs.seedcord.org/packages/seedcord/0.13.0/functions/and>

Runs each gate in order and refuses on the first refusal. Takes two or more arms. The required context is the intersection of the arms, so an event-only and an interaction-only gate cannot be combined.

```ts
and<Gates>(
    gates: Gates
): Gate<
    IntersectRequired<Gates> & GateContextBase,
    JoinNames<Gates, " & ">
>
```

Runs each gate in order and refuses on the first refusal. Takes two or more arms. The required context is the intersection of the arms, so an event-only and an interaction-only gate cannot be combined.

Parameters.

- `gates` `Gates` — The gate arms to run in order, all refused on the first refusal.

Returns `Gate<IntersectRequired<Gates> & GateContextBase, JoinNames<Gates, ' & '>>`.
