First pass at uniformed types, specs and docs

- spec public functions (skipping controllers, views, live views and
components)
- use types instead of explanations in docs
- remove redundant docs
- fix typos
This commit is contained in:
Claudio Ortolina
2026-03-06 08:33:11 +00:00
parent 99e30d5fdf
commit 7cf9b4e7f8
81 changed files with 652 additions and 300 deletions
+6
View File
@@ -1,6 +1,12 @@
defmodule MusicBrainz.ExternalLink do
defstruct [:name, :url]
@type t :: %__MODULE__{
name: atom(),
url: String.t()
}
@spec external_links(map(), map() | String.t() | nil) :: [t()] | [String.t()]
def external_links(musicbrainz_data, patterns) when is_map(patterns) do
Enum.reduce(patterns, [], fn {name, pattern}, acc ->
case external_links(musicbrainz_data, pattern) do