Current section
Files
Jump to
Current section
Files
src/joker.erl
-module(joker).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/joker.gleam").
-export([main/0]).
-file("src/joker.gleam", 4).
-spec print_joke(
{ok, jokeapi@api:joke_response()} | {error, jokeapi@api:a_p_i_error()},
binary()
) -> nil.
print_joke(Result, Error_prefix) ->
case Result of
{ok, J} ->
jokeapi@api:display_joke(J);
{error, Err} ->
Error_message = case Err of
{decode_error, Reason} ->
<<"Decode Error: "/utf8, Reason/binary>>;
{generic_error, Reason@1} ->
<<"Generic Error: "/utf8, Reason@1/binary>>;
{request_error, Reason@2} ->
<<"Request Error: "/utf8, Reason@2/binary>>
end,
gleam_stdlib:println(<<Error_prefix/binary, Error_message/binary>>)
end.
-file("src/joker.gleam", 21).
-spec main() -> nil.
main() ->
gleam_stdlib:println(<<"Hello from JokeAPI!"/utf8>>),
Joke = jokeapi@api:get_any(),
print_joke(Joke, <<"Error fetching joke: "/utf8>>),
gleam_stdlib:println(<<"Category Dark Joke:"/utf8>>),
Category_joke = jokeapi@api:get_joke_from_category(<<"Dark"/utf8>>),
print_joke(Category_joke, <<"Error fetching category joke: "/utf8>>),
gleam_stdlib:println(<<"Goodbye from joker!"/utf8>>).