Solve.DependencyGraph (Solve v0.2.1)

Copy Markdown View Source

Compiles controller specs into dependency graph data.

Summary

Types

compiled_graph()

@type compiled_graph() :: %{
  controller_specs_by_name: %{
    required(Solve.ControllerSpec.name()) => Solve.ControllerSpec.t()
  },
  sorted_controller_names: [Solve.ControllerSpec.name()],
  dependents_map: %{
    required(Solve.ControllerSpec.name()) => [Solve.ControllerSpec.name()]
  }
}

Functions

compile(controller_specs)

@spec compile([Solve.ControllerSpec.t()]) ::
  {:ok, compiled_graph()} | {:error, term()}

resolve_module!(module, opts \\ [])

@spec resolve_module!(
  module(),
  keyword()
) :: compiled_graph()