type-alias / @typed/router

GuardInput

A Guard or an object that supplies one. Guard combinators accept either form.

Package version
1.0.0-beta.13
Category
Guard contracts
Since
1.0.0

Import

import type { GuardInput } from "@typed/router";

This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.

Signatures

export type GuardInput<I, O, E = never, R = never> = Guard<I, O, E, R> | AsGuard<I, O, E, R>;

Why

A single input contract lets every combinator accept direct functions and domain adapters consistently.

Ownership and lifetime

This union acquires no resources; normalization does not extend the lifetime of either alternative.

Examples

import type { GuardInput } from "@typed/guard"
import { liftPredicate } from "@typed/guard"
const input: GuardInput<unknown, string> = liftPredicate((value: unknown): value is string => typeof value === "string")

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source