Current section
Files
Jump to
Current section
Files
src/tallgrass@evolution@chain.erl
-module(tallgrass@evolution@chain).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([new/0, fetch_resource/2, fetch/1, fetch_by_id/2]).
-export_type([evolution_chain/0, chain_link/0, evolution_detail/0]).
-type evolution_chain() :: {evolution_chain,
integer(),
gleam@option:option(tallgrass@common@resource:resource()),
chain_link()}.
-type chain_link() :: {chain_link,
boolean(),
tallgrass@common@resource:resource(),
list(evolution_detail())}.
-type evolution_detail() :: {evolution_detail,
gleam@option:option(tallgrass@common@resource:resource()),
tallgrass@common@resource:resource(),
integer(),
gleam@option:option(tallgrass@common@resource:resource()),
gleam@option:option(tallgrass@common@resource:resource()),
gleam@option:option(tallgrass@common@resource:resource()),
gleam@option:option(tallgrass@common@resource:resource()),
integer(),
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer()),
boolean(),
gleam@option:option(tallgrass@common@resource:resource()),
gleam@option:option(tallgrass@common@resource:resource()),
integer(),
binary(),
gleam@option:option(tallgrass@common@resource:resource()),
boolean()}.
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 47).
-spec new() -> tallgrass@client:client().
new() ->
tallgrass@client:new().
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 115).
-spec evolution_details() -> decode:decoder(evolution_detail()).
evolution_details() ->
_pipe = decode:into(
(decode:parameter(
fun(Item) ->
decode:parameter(
fun(Trigger) ->
decode:parameter(
fun(Gender) ->
decode:parameter(
fun(Held_item) ->
decode:parameter(
fun(Known_move) ->
decode:parameter(
fun(Known_move_type) ->
decode:parameter(
fun(Location) ->
decode:parameter(
fun(
Min_level
) ->
decode:parameter(
fun(
Min_happiness
) ->
decode:parameter(
fun(
Min_beauty
) ->
decode:parameter(
fun(
Min_affection
) ->
decode:parameter(
fun(
Needs_overworld_rain
) ->
decode:parameter(
fun(
Party_species
) ->
decode:parameter(
fun(
Party_type
) ->
decode:parameter(
fun(
Relative_physical_stats
) ->
decode:parameter(
fun(
Time_of_day
) ->
decode:parameter(
fun(
Trade_species
) ->
decode:parameter(
fun(
Turn_upside_down
) ->
{evolution_detail,
Item,
Trigger,
Gender,
Held_item,
Known_move,
Known_move_type,
Location,
Min_level,
Min_happiness,
Min_beauty,
Min_affection,
Needs_overworld_rain,
Party_species,
Party_type,
Relative_physical_stats,
Time_of_day,
Trade_species,
Turn_upside_down}
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
))
),
_pipe@1 = decode:field(
_pipe,
<<"item"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@2 = decode:field(
_pipe@1,
<<"trigger"/utf8>>,
tallgrass@common@resource:resource()
),
_pipe@3 = decode:field(
_pipe@2,
<<"gender"/utf8>>,
{decoder, fun gleam@dynamic:int/1}
),
_pipe@4 = decode:field(
_pipe@3,
<<"held_item"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@5 = decode:field(
_pipe@4,
<<"known_move"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@6 = decode:field(
_pipe@5,
<<"known_move_type"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@7 = decode:field(
_pipe@6,
<<"location"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@8 = decode:field(
_pipe@7,
<<"min_level"/utf8>>,
{decoder, fun gleam@dynamic:int/1}
),
_pipe@9 = decode:field(
_pipe@8,
<<"min_happiness"/utf8>>,
decode:optional({decoder, fun gleam@dynamic:int/1})
),
_pipe@10 = decode:field(
_pipe@9,
<<"min_beauty"/utf8>>,
decode:optional({decoder, fun gleam@dynamic:int/1})
),
_pipe@11 = decode:field(
_pipe@10,
<<"min_affection"/utf8>>,
decode:optional({decoder, fun gleam@dynamic:int/1})
),
_pipe@12 = decode:field(
_pipe@11,
<<"needs_overworld_rain"/utf8>>,
{decoder, fun gleam@dynamic:bool/1}
),
_pipe@13 = decode:field(
_pipe@12,
<<"party_species"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@14 = decode:field(
_pipe@13,
<<"party_type"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
_pipe@15 = decode:field(
_pipe@14,
<<"relative_physical_stats"/utf8>>,
{decoder, fun gleam@dynamic:int/1}
),
_pipe@16 = decode:field(
_pipe@15,
<<"time_of_day"/utf8>>,
{decoder, fun gleam@dynamic:string/1}
),
_pipe@17 = decode:field(
_pipe@16,
<<"trade_species"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
decode:field(
_pipe@17,
<<"turn_upside_down"/utf8>>,
{decoder, fun gleam@dynamic:bool/1}
).
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 99).
-spec chain_link() -> decode:decoder(chain_link()).
chain_link() ->
_pipe = decode:into(
(decode:parameter(
fun(Is_baby) ->
decode:parameter(
fun(Species) ->
decode:parameter(
fun(Evolution_details) ->
{chain_link,
Is_baby,
Species,
Evolution_details}
end
)
end
)
end
))
),
_pipe@1 = decode:field(
_pipe,
<<"is_baby"/utf8>>,
{decoder, fun gleam@dynamic:bool/1}
),
_pipe@2 = decode:field(
_pipe@1,
<<"species"/utf8>>,
tallgrass@common@resource:resource()
),
decode:field(
_pipe@2,
<<"evolution_details"/utf8>>,
decode:list(evolution_details())
).
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 87).
-spec evolution_chain() -> decode:decoder(evolution_chain()).
evolution_chain() ->
_pipe = decode:into(
(decode:parameter(
fun(Id) ->
decode:parameter(
fun(Baby_trigger_item) ->
decode:parameter(
fun(Chain) ->
{evolution_chain, Id, Baby_trigger_item, Chain}
end
)
end
)
end
))
),
_pipe@1 = decode:field(
_pipe,
<<"id"/utf8>>,
{decoder, fun gleam@dynamic:int/1}
),
_pipe@2 = decode:field(
_pipe@1,
<<"baby_trigger_item"/utf8>>,
decode:optional(tallgrass@common@resource:resource())
),
decode:field(_pipe@2, <<"chain"/utf8>>, chain_link()).
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 72).
-spec fetch_resource(
tallgrass@client:client(),
tallgrass@common@resource:resource()
) -> {ok, evolution_chain()} | {error, tallgrass@client@request:error()}.
fetch_resource(Client, Resource) ->
tallgrass@client:fetch_resource(Client, Resource, evolution_chain()).
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 58).
-spec fetch(tallgrass@client:client()) -> {ok,
tallgrass@common@resource:paginated_resource()} |
{error, tallgrass@client@request:error()}.
fetch(Client) ->
tallgrass@client:fetch_resources(Client, <<"evolution-chain"/utf8>>).
-file("/Users/stevetoro/Code/tallgrass/src/tallgrass/evolution/chain.gleam", 83).
-spec fetch_by_id(tallgrass@client:client(), integer()) -> {ok,
evolution_chain()} |
{error, tallgrass@client@request:error()}.
fetch_by_id(Client, Id) ->
tallgrass@client:fetch_by_id(
Client,
<<"evolution-chain"/utf8>>,
Id,
evolution_chain()
).