# `Astral.Route.Path`
[🔗](https://github.com/elixir-volt/astral/blob/v0.7.0/lib/astral/route/path.ex#L1)

A concrete static path produced from a dynamic page route.

Dynamic `.astral` pages can declare a list of route paths during discovery.
Each item is normalized into this struct exactly once so discovery code can
work with a strict contract instead of loose map shapes.

# `assigns`

```elixir
@type assigns() :: %{required(atom()) =&gt; term()}
```

# `params`

```elixir
@type params() :: %{required(atom()) =&gt; term()}
```

# `t`

```elixir
@type t() :: %Astral.Route.Path{assigns: assigns(), params: params()}
```

# `new`

```elixir
@spec new(map() | keyword(), assigns()) :: t()
```

Build a route path contract from params and optional page assigns.

# `path`

```elixir
@spec path(map() | keyword(), assigns()) :: t()
```

Convenience constructor for dynamic `.astral` page setup blocks.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
