interface / @typed/router/AST

RouteAst.Join

A Route AST node containing ordered child routes.

Package version
1.0.0-beta.13
Category
Route structure
Since
1.0.0
Member of
RouteAst

Import

import { RouteAst } from "@typed/router/AST";

Access RouteAst.Join through the imported RouteAst export. Its declaration below describes the member.

Signatures

interface Join {
    type: "join";
    parts: ReadonlyArray<RouteAst>;
}

Why

Composition retains child schema boundaries and parameter ownership.

Ownership and lifetime

Join describes plain readonly AST data. Routes and Matchers retain the concrete nodes they receive by reference; the type itself owns no resource.

Property: parts

The ordered child Route AST nodes in a join.

Property: parts: Why

Formatting and schema merging preserve declaration order and detect duplicate decoded names.

Property: parts: Ownership and lifetime

The join node retains the supplied readonly array and child nodes by reference; callers must not mutate the array after construction.

Property: type

The discriminant identifying this AST variant.

Property: type: Why

Exhaustive switches can interpret syntax without instanceof checks or hidden classes.

Source