View Source Serum.Result (serum_md v1.6.2)

This module defines types for positive results or errors returned by functions in this project.

Summary

Functions

Takes a list of results without value and checks if there is no error.

Takes a list of results with values and checks if there is no error.

Gets a human friendly message from the given result.

Prints an error object in a beautiful format.

Types

@type err_details() :: msg_detail() | full_detail() | nest_detail()
@type error() :: {:error, err_details()}
@type full_detail() :: {binary(), binary(), non_neg_integer()}
@type msg_detail() :: binary()
@type nest_detail() :: {term(), [error()]}
@type t() :: :ok | error()
@type t(type) :: {:ok, type} | error()

Functions

@spec aggregate([t()], term()) :: t()

Takes a list of results without value and checks if there is no error.

Returns :ok if there is no error.

Returns an aggregated error object if there is one or more errors.

Link to this function

aggregate_values(results, msg)

View Source
@spec aggregate_values([t(term())], term()) :: t([term()])

Takes a list of results with values and checks if there is no error.

If there is no error, it returns {:ok, list} where list is a list of returned values.

Returns an aggregated error object if there is one or more errors.

Link to this function

get_message(result, depth)

View Source
@spec get_message(t() | t(term()), non_neg_integer()) :: binary()

Gets a human friendly message from the given result.

You can control the indentation level by passing a non-negative integer to the depth parameter.

Link to this function

show(result, indent \\ 0)

View Source
@spec show(t() | t(term()), non_neg_integer()) :: :ok

Prints an error object in a beautiful format.