HostKit.Package.Repology.CachedClient (host_kit v0.1.0-beta.0)

Copy Markdown View Source

Repology client wrapper with filesystem caching.

Summary

Functions

package_names(project, repo_match, opts \\ [])

@spec package_names(String.t() | atom(), String.t() | Regex.t(), keyword()) ::
  {:ok, [String.t()]} | {:error, term()}

project(project, opts \\ [])

@spec project(
  String.t() | atom(),
  keyword()
) :: {:ok, [HostKit.Package.Repology.Record.t()]} | {:error, term()}

project_by_package(repo, package, opts \\ [])

@spec project_by_package(String.t(), String.t(), keyword()) ::
  {:ok, [HostKit.Package.Repology.Record.t()]} | {:error, term()}

projects(start \\ nil, opts \\ [])

@spec projects(
  String.t() | nil,
  keyword()
) ::
  {:ok, %{required(String.t()) => [HostKit.Package.Repology.Record.t()]}}
  | {:error, term()}