Optional request-edge helpers for Phoenix controllers and LiveView.
This module stays pure and data-only. It delegates browser-param normalization to
Scrypath.QueryParams, projects attempted values plus issues for rendering, and
round-trips normalized state back into Plug-friendly query params.
It does not execute searches, call application contexts, or own socket lifecycle.
Summary
Functions
Delegates request-edge normalization to Scrypath.QueryParams.normalize/1.
Projects normalized query params into attempted values plus renderable issues.
Projects attempted request params plus structured request-edge issues.
Converts normalized query params back into canonical Plug-friendly params.
Types
@type form_data() :: %{ values: map(), params: map(), form_errors: [form_error()], field_errors: %{optional(String.t()) => [form_error()]}, errors: [form_error()] }
Functions
@spec from_params(map()) :: {:ok, Scrypath.QueryParams.t()} | {:error, Scrypath.QueryParams.normalize_error_map()}
Delegates request-edge normalization to Scrypath.QueryParams.normalize/1.
@spec to_form_data(Scrypath.QueryParams.t()) :: form_data()
Projects normalized query params into attempted values plus renderable issues.
@spec to_form_data(map(), Scrypath.QueryParams.normalize_error_map()) :: form_data()
Projects attempted request params plus structured request-edge issues.
@spec to_query_params(Scrypath.QueryParams.t()) :: map()
Converts normalized query params back into canonical Plug-friendly params.
This helper supports only the browser grammar accepted by
Scrypath.QueryParams.normalize/1.