Packages
A pretty good Kubo IPFS RPC API client for Elixir.
Retired package: Deprecated - Replaced by ex_ipfs
Current section
Files
Jump to
Current section
Files
lib/myspace_ipfs/dht/query_response_addrs.ex
defmodule MyspaceIPFS.DhtQueryResponseAddrs do
@moduledoc false
require Logger
@enforce_keys [:addrs, :id]
defstruct addrs: [], id: nil
@spec new({:error, map}) :: {:error, map}
def new({:error, data}) do
{:error, data}
end
@spec new(map) :: MyspaceIPFS.Dht.query_response_addrs()
def new(attrs) when is_map(attrs) do
%__MODULE__{
addrs: attrs["Addrs"],
id: attrs["ID"]
}
end
@spec new(list) :: list(MyspaceIPFS.Dht.query_response_addrs())
def new(response) when is_list(response) do
response
|> Enum.map(&new/1)
end
@spec new(nil) :: list
def new(response) when is_nil(response), do: []
end