HostKit.Package behaviour (host_kit v0.1.0-beta.1)

Copy Markdown View Source

Runtime boundary for reading and installing OS packages.

Summary

Callbacks

install(t, keyword)

@callback install(
  HostKit.Resources.Package.t(),
  keyword()
) :: :ok | {:error, term()}

install_many(list, keyword)

(optional)
@callback install_many(
  [HostKit.Resources.Package.t()],
  keyword()
) :: :ok | {:error, term()}

read(t, map)

@callback read(HostKit.Resources.Package.t(), map()) ::
  {:ok, HostKit.Resources.Package.t() | nil} | {:error, term()}

Functions

install(package, opts \\ [])

@spec install(
  HostKit.Resources.Package.t(),
  keyword()
) :: :ok | {:error, term()}

install_many(packages, opts \\ [])

@spec install_many(
  [HostKit.Resources.Package.t()],
  keyword()
) :: :ok | {:error, term()}

read(package, context \\ %{})

@spec read(HostKit.Resources.Package.t(), map()) ::
  {:ok, HostKit.Resources.Package.t() | nil} | {:error, term()}