View Source Hex.Solver.Registry behaviour (Hex v2.0.6)

Link to this section Summary

Callbacks

Returns all dependencies of the given package version or :error if the package or version does not exist.

Called when the solver first discovers a set of packages so that the registry can be lazily preloaded.

Returns all versions of the given package sorted from lowest to highest or :error if the package does not exist.

Link to this section Callbacks

Link to this callback

dependencies(repo, package, t)

View Source
@callback dependencies(Hex.Solver.repo(), Hex.Solver.package(), Version.t()) ::
  {:ok, [Hex.Solver.dependency()]} | :error

Returns all dependencies of the given package version or :error if the package or version does not exist.

@callback prefetch([{Hex.Solver.repo(), Hex.Solver.package()}]) :: :ok

Called when the solver first discovers a set of packages so that the registry can be lazily preloaded.

@callback versions(Hex.Solver.repo(), Hex.Solver.package()) ::
  {:ok, [Version.t()]} | :error

Returns all versions of the given package sorted from lowest to highest or :error if the package does not exist.