Aludel.Evals.AssertionParser (aludel v0.7.0)

Copy Markdown View Source

Parses and validates assertion payloads from suite editor forms.

Summary

Functions

Converts persisted assertions into parameters for both assertion editors.

Parses and validates assertion form parameters in JSON or visual-editor form.

Builds assertion maps from incomplete visual-editor parameters for previews.

Validates persisted assertion maps against the registered metric contracts.

Types

parse_mode()

@type parse_mode() :: :json | :visual

Functions

build_form_params(assertions)

@spec build_form_params([map()]) :: map()

Converts persisted assertions into parameters for both assertion editors.

parse(atom, params)

@spec parse(parse_mode(), map()) :: {:ok, [map()]} | {:error, String.t()}

Parses and validates assertion form parameters in JSON or visual-editor form.

Successful results use the persisted assertion map format accepted by suite execution. Validation failures return a user-facing error message.

preview_visual(params)

@spec preview_visual(map()) :: {:ok, [map()]} | {:error, String.t()}

Builds assertion maps from incomplete visual-editor parameters for previews.

Unlike parse/2, this does not require every assertion field to be complete.

validate(assertions)

@spec validate([map()]) :: {:ok, [map()]} | {:error, String.t()}

Validates persisted assertion maps against the registered metric contracts.