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
+10
View File
@@ -1,6 +1,16 @@
defmodule LastFm.Scrobble do
defstruct [:track, :artist, :timestamp, :album, :album_artist, :mbid]
@type t :: %__MODULE__{
track: String.t(),
artist: String.t(),
timestamp: integer(),
album: String.t() | nil,
album_artist: String.t() | nil,
mbid: String.t() | nil
}
@spec encode(t()) :: map()
def encode(scrobble) do
scrobble
|> Map.from_struct()