# Params

Combines decoded path and query parameter fields for a route string.

## Signatures

```ts
export type Params<P extends string> = ParseAsts<P> extends infer Asts ? [
    Asts
] extends [
    never
] ? never : Asts extends ReadonlyArray<PathAst> ? ToReadonlyRecord<GetParams<Asts>> : never : never;
```

## Why

Matcher handlers receive one exact parameter object derived from the route grammar.

## Ownership and lifetime

TypeScript computes `Params` from the route literal or AST tuple supplied to it; the alias is erased and retains no runtime data.
