Current section

Files

Jump to
agent_session_manager lib asm extensions rendering renderer.ex
Raw

lib/asm/extensions/rendering/renderer.ex

defmodule ASM.Extensions.Rendering.Renderer do
@moduledoc """
Behaviour for rendering `%ASM.Event{}` values into display iodata.
"""
alias ASM.{Error, Event}
@type state :: term()
@type opts :: keyword()
@callback init(opts()) :: {:ok, state()} | {:error, Error.t() | term()}
@callback render_event(Event.t(), state()) ::
{:ok, iodata(), state()} | {:error, Error.t() | term()}
@callback finish(state()) :: {:ok, iodata(), state()} | {:error, Error.t() | term()}
end