interface / @typed/router

RouteTransition

The path, raw input, candidate list, and ambient Layers for one route update.

Package version
1.0.0-beta.13
Category
Candidate execution
Since
1.0.0

Import

import { RouteTransition } 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 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.

Source