View Source JSend (JSend v0.1.0)

JSend API response structure.

Read the specification at omniti-labs/jsend.

Summary

Functions

Constructs an error response.

Constructs a failure response.

Constructs a success response.

Types

t()

@type t() :: %JSend{
  code: String.t() | integer() | nil,
  data: map(),
  message: String.t() | nil,
  status: String.t()
}

Functions

error(message, code \\ nil, data \\ %{})

@spec error(String.t(), String.t() | integer() | nil, map()) :: t()

Constructs an error response.

Examples

iex> JSend.error("Internal server error")
%JSend{status: "error", data: %{}, code: nil, message: "Internal server error"}

iex> JSend.error("Internal server error", 500)
%JSend{status: "error", data: %{}, code: 500, message: "Internal server error"}

iex> JSend.error("Internal server error", 500, %{request: :econnrefused})
%JSend{
  status: "error", 
  data: %{request: :econnrefused}, 
  code: 500, 
  message: "Internal server error"
}

fail(data \\ %{})

@spec fail(map()) :: t()

Constructs a failure response.

Examples

iex> JSend.fail()
%JSend{status: "fail", data: %{}, code: nil, message: nil}

iex> JSend.fail(%{name: "too short"})
%JSend{status: "fail", data: %{name: "too short"}, code: nil, message: nil}

success(data \\ %{})

@spec success(map()) :: t()

Constructs a success response.

Examples

iex> JSend.success()
%JSend{status: "success", data: %{}, code: nil, message: nil}

iex> JSend.success(%{id: 1})
%JSend{status: "success", data: %{id: 1}, code: nil, message: nil}