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.