An opaque, live handle to one page in a session.
Metadata resolves the latest state. Handles survive navigation, but a closed page cannot be used again. Newly created pages have distinct identities.
Summary
Metadata
Types
@opaque t()
@type url_component() :: {:path, String.t()} | {:query, %{required(String.t()) => query_value()}} | {:query_mode, :exact | :subset} | {:fragment, String.t() | nil}
@type url_expectation() :: String.t() | Regex.t() | (URI.t() -> boolean()) | [url_component()]