defmodule MyspaceIPFS.Refs do # @moduledoc """ # MyspaceIPFS.Api is where the main commands of the IPFS API reside. # """ import MyspaceIPFS.Api import MyspaceIPFS.Utils defstruct [ :Ref, :Err ] @typedoc """ Type for the response of entries in the refs list. """ @type t :: %__MODULE__{ Ref: String.t(), Err: String.t() } @typep mapped :: MyspaceIPFS.plain() @typep opts :: MyspaceIPFS.opts() @typep path :: MyspaceIPFS.path() @doc """ Get a list of all local references. Response is a list of Refs.t(). """ @spec local :: mapped def local, do: post_query("/refs/local") |> map_response_data() |> okify() @spec refs(path, opts) :: mapped def refs(path, opts \\ []), do: post_query("/refs?arg=" <> path, query: opts) |> map_response_data() |> okify() end