From b3524d07022fb97a9eaae70016355fea96102f85 Mon Sep 17 00:00:00 2001 From: Andrea Leopardi Date: Tue, 28 Nov 2023 18:46:51 +0100 Subject: [PATCH] More --- lib/jose/jwt.ex | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/jose/jwt.ex b/lib/jose/jwt.ex index 6cd8f46..e33f042 100644 --- a/lib/jose/jwt.ex +++ b/lib/jose/jwt.ex @@ -48,7 +48,13 @@ defmodule JOSE.JWT do @doc """ Converts a `JOSE.JWT` struct to a `:jose_jwt` record. + + This also works for converting a list of `JOSE.JWT` structs to a list of `:jose_jwt` records. """ + @spec to_record(t()) :: tuple() + @spec to_record([t()]) :: [tuple()] + def to_record(jose_jwt) + def to_record(%JOSE.JWT{unquote_splicing(pairs)}) do {:jose_jwt, unquote_splicing(vals)} end @@ -57,7 +63,11 @@ defmodule JOSE.JWT do @doc """ Converts a `:jose_jwt` record into a `JOSE.JWT`. + + This also works for converting a list of `:jose_jwt` records into a list of `JOSE.JWT` structs. """ + @spec from_record(tuple()) :: t() + @spec from_record([tuple()]) :: [t()] def from_record(jose_jwt) def from_record({:jose_jwt, unquote_splicing(vals)}) do @@ -90,6 +100,7 @@ defmodule JOSE.JWT do @doc """ Reads file and calls `from_binary/1` to convert into a `JOSE.JWT`. """ + @spec from_file(String.t() | charlist()) :: t() def from_file(file), do: :jose_jwt.from_file(file) |> from_record() @doc """