wa_assert (assert v2.0.0)

Summary

Types

assert_cause/0

-type assert_cause() :: comparison_cause() | generic_cause().

comparison_cause/0

-type comparison_cause() ::
          #{type := comparison,
            pins := pins(),
            left := term(),
            right := term(),
            operator := atom(),
            expression := string(),
            intermediates => intermediates()}.

comparison_meta/0

-type comparison_meta() ::
          #{type := comparison,
            pins := pins(),
            left := term(),
            right := term(),
            operator := atom(),
            intermediates => intermediates()}.

error_description/0

-type error_description() :: #{general => unicode:chardata(), reason => unicode:chardata()}.

error_info/1

-type error_info(Cause) :: #{cause => Cause, module => module(), function => atom()}.

generic_cause/0

-type generic_cause() ::
          #{type := generic, pins := pins(), expression := string(), intermediates => intermediates()}.

generic_meta/0

-type generic_meta() :: #{type := generic, pins := pins(), intermediates => intermediates()}.

intermediates/0

-type intermediates() :: [{string(), term()}].

match_cause/0

-type match_cause() :: #{pins := pins(), pattern := term()}.

meta/0

-type meta() :: comparison_meta() | generic_meta().

pins/0

-type pins() :: #{atom() => term()}.

Functions

$assert_match_error_info$(T)

-spec '$assert_match_error_info$'(T) -> T.

$expand_assert$(Expression)

-spec '$expand_assert$'(term()) -> #{bool_expr := term(), meta := meta()}.

assert_error_info(Expression, Meta)

-spec assert_error_info(string(), meta()) -> [{error_info, error_info(assert_cause())}].

error_info(Pattern, Pins)

-spec error_info(string(), pins()) -> [{error_info, error_info(match_cause())}].

format_comparison_error(Reason0, _)

-spec format_comparison_error(term(), erlang:stacktrace()) -> error_description().

format_error(Reason, _)

-spec format_error(term(), erlang:stacktrace()) -> error_description().

format_generic_error(Reason0, _)

-spec format_generic_error(term(), erlang:stacktrace()) -> error_description().

format_where(Pins, Intermediates)

-spec format_where(pins(), intermediates()) -> string().

maybe_format_comment(Comment)

-spec maybe_format_comment(term()) -> term().