# getGuard

Returns a callable Guard unchanged or obtains one from an own callable
`asGuard` property. Invalid adapter objects throw `TypeError` immediately.

## Signatures

```ts
export declare const getGuard: <I, O, E = never, R = never>(guard: GuardInput<I, O, E, R>) => Guard<I, O, E, R>;
```

## Why

Central normalization makes invalid adapter shapes fail at construction instead of later during Effect execution.

## Ownership and lifetime

Normalization acquires no resources and returns the existing Guard function or the adapter's result.

## Examples

```ts
import { getGuard } from "@typed/guard/getGuard"
import { liftPredicate } from "@typed/guard"
const guard = getGuard(liftPredicate((value: unknown): value is string => typeof value === "string"))
```
