lib/diesel/generator.ex
defmodule Diesel.Generator do
@moduledoc """
Generators produce actual Elixir code from DSLs.
Given a caller module and a dsl definition, a generator returns one or multiple quoted expressions.
"""
@callback generate(target :: module(), definition :: term()) :: Macro.t() | [Macro.t()]
end