View Source MishkaInstaller.Hook (Mishka Installer v0.0.1)

Link to this section Summary

Link to this section Types

@type event() :: String.t()
@type plugin() :: event()

Link to this section Functions

@spec call(event: event(), operation: :no_return, state: struct()) :: any()
@spec delete(event: event(), module: plugin()) ::
  list() | {:error, :delete, String.t()} | {:ok, :delete, String.t()}
Link to this function

ensure_event(event, atom)

View Source
@spec ensure_event(MishkaInstaller.PluginState.t(), :debug) ::
  {:error, :ensure_event, %{errors: list()}} | {:ok, :ensure_event, String.t()}
@spec ensure_event?(MishkaInstaller.PluginState.t()) :: boolean()
@spec register(depends: :force, event: MishkaInstaller.PluginState.t()) ::
  {:error, :register, any()} | {:ok, :register, :activated | :force}
@spec restart(depends: :force, event: event(), module: plugin()) ::
  list() | {:error, :restart, any()} | {:ok, :restart, String.t()}
@spec start(depends: :force, event: event(), module: plugin()) ::
  list() | {:error, :start, any()} | {:ok, :start, :force | String.t()}
@spec stop(event: event(), module: plugin()) ::
  list() | {:error, :stop, String.t()} | {:ok, :stop, String.t()}
@spec unregister(event: event(), module: plugin()) ::
  list() | {:error, :unregister, any()} | {:ok, :unregister, Stream.timer()}