# RequiredOf

`type` in `core` · v0.8.0

<https://docs.seedcord.org/packages/core/0.8.0/types/required-of>

The context a [`Gate`](/packages/core/0.8.0/interfaces/gate) requires.

## Examples

```ts
type OwnerCtx = RequiredOf<ReturnType<typeof OwnerOnly>>; // GateContextBase
```

## Declaration

```ts
type RequiredOf<TGate> =
    TGate extends Gate<infer Ctx> ? Ctx : never;
```
