PhoenixGenApiTui.Format (phoenix_gen_api_tui v0.1.0)

Copy Markdown View Source

Shared formatting helpers for display in the TUI.

Summary

Functions

Formats an MFA tuple for display.

Formats a node list for display.

Formats permission config for display.

Formats a response type for display.

Formats retry config for display.

Formats a type for display, stripping common prefixes.

Returns the last segment of a module name, or the atom name as-is for non-module atoms (e.g., service names).

Functions

format_mfa(other)

@spec format_mfa({module(), atom(), non_neg_integer() | list()} | nil) :: String.t()

Formats an MFA tuple for display.

Examples

iex> PhoenixGenApiTui.Format.format_mfa({MyApp.Handler, :handle, 2})
"MyApp.Handler.handle/2"

format_nodes(nodes)

@spec format_nodes([node()] | :global | term()) :: String.t()

Formats a node list for display.

Examples

iex> PhoenixGenApiTui.Format.format_nodes([:node1@host, :node2@host])
"node1@host, node2@host"

iex> PhoenixGenApiTui.Format.format_nodes(:global)
"global"

format_permission(other)

@spec format_permission(boolean() | term()) :: String.t()

Formats permission config for display.

Examples

iex> PhoenixGenApiTui.Format.format_permission(true)
"enabled"

iex> PhoenixGenApiTui.Format.format_permission(false)
"disabled"

format_response_type(type)

@spec format_response_type(term()) :: String.t()

Formats a response type for display.

Examples

iex> PhoenixGenApiTui.Format.format_response_type(:json)
"json"

iex> PhoenixGenApiTui.Format.format_response_type({:json, :pretty})
"{json, pretty}"

format_retry(config)

@spec format_retry(term()) :: String.t()

Formats retry config for display.

Examples

iex> PhoenixGenApiTui.Format.format_retry(nil)
"none"

iex> PhoenixGenApiTui.Format.format_retry(%{max_attempts: 3})
"%{max_attempts: 3}"

format_type(type)

@spec format_type(atom() | {:array, atom()} | term()) :: String.t()

Formats a type for display, stripping common prefixes.

Examples

iex> PhoenixGenApiTui.Format.format_type(:string)
"string"

iex> PhoenixGenApiTui.Format.format_type({:array, :string})
"[string]"

short_name(module)

@spec short_name(atom() | String.t()) :: String.t()

Returns the last segment of a module name, or the atom name as-is for non-module atoms (e.g., service names).

Examples

iex> PhoenixGenApiTui.Format.short_name(MyApp.Services.UserService)
"UserService"

iex> PhoenixGenApiTui.Format.short_name(MyApp.Blog)
"Blog"

iex> PhoenixGenApiTui.Format.short_name(:user_service)
"user_service"