type-alias / @typed/router/Path

QueryInputParameter

Describes one query key expected by matcher input decoding.

Package version
1.0.0-beta.13
Category
Query decoding
Since
1.0.0

Import

import { QueryInputParameter } from "@typed/router/Path";

Signatures

export type QueryInputParameter = {
    readonly inputName: string;
    readonly outputName?: string;
    readonly ast: PathAst.Literal | PathAst.Parameter | PathAst.Wildcard;
};

Why

Matcher registration can distinguish scalar, optional, literal, and repeated query policies.

Ownership and lifetime

QueryInputParameter is a readonly structural contract. The concrete arrays, AST nodes, names, and Schemas remain owned by the caller that constructs them.

Property: ast

Value grammar used to normalize the raw query input.

Property: ast: Why

Literal, scalar, optional, and repeated-value policies derive from the same Path AST.

Property: ast: Ownership and lifetime

The analysis record retains this child AST by reference; request-specific strings are not stored on the AST.

Property: inputName

URLSearchParams key read from matcher input.

Property: inputName: Why

The external query key can differ from the decoded output field name.

Property: inputName: Ownership and lifetime

This immutable string is retained in the returned analysis record and reused for each match.

Property: outputName

Decoded record key, absent when the AST represents a literal constraint.

Property: outputName: Why

Literal query declarations participate in matching without adding handler parameters.

Property: outputName: Ownership and lifetime

This optional immutable string is retained with the analysis record and creates no decoded value until a candidate is evaluated.

Source