Import
import { RouteTransition } from "@typed/router/RouteExecutor";Signatures
export interface RouteTransition {
readonly path: string;
readonly input: unknown;
readonly candidates: ReadonlyArray<CompiledEntry>;
readonly layers?: ReadonlyArray<AnyLayer>;
}Why
Candidate selection and parameter decoding can be executed independently from path lookup.
Ownership and lifetime
Callers construct this immutable transition value for one transition call. The executor reads it
during that call; any selected entry, decoded parameters, Layers, layouts, or catch handlers are then
retained by their dedicated scoped managers rather than by this record itself.
Property: candidates
The ordered executable candidates selected by path lookup.
Property: candidates: Why
These candidates already share the matcher path selected by path lookup. Their schemas and guards fall through in registration order without rerunning path-shape selection.
Property: candidates: Ownership and lifetime
The executor borrows this array for the transition. A selected entry identity remains current until another route replaces it, but the executor does not copy or own the candidate array.
Property: input
The raw path and query parameter record decoded by each candidate.
Property: input: Why
Each candidate applies its own Effect Schema before a handler observes values.
Property: input: Ownership and lifetime
Candidate schemas inspect this value during the transition. Only the decoded parameters for the
selected candidate are placed in the active RefSubject; the raw input is not retained.
Property: layers
Additional Effect Layers applied to this transition.
Property: layers: Why
Ambient route dependencies can participate in the same prepare, commit, rollback, and release protocol.
Property: layers: Ownership and lifetime
The Layer manager compares these values by identity. Selected Layer identities and their child Scopes remain active until a later transition removes them or the executor’s root Scope closes.
Property: path
The current pathname and search string being transitioned.
Property: path: Why
Typed errors and candidate selection retain the exact location that produced them.
Property: path: Ownership and lifetime
The executor reads this string while selecting candidates and reporting failures. It does not retain the string after the transition completes.
Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.