Current section
Files
Jump to
Current section
Files
src/tallgrass@internal@evolution@evolution_chain@evolution_chain.erl
-module(tallgrass@internal@evolution@evolution_chain@evolution_chain).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([evolution_chain/0]).
-export_type([evolution_chain/0, chain_link/0, evolution_details/0]).
-type evolution_chain() :: {evolution_chain,
integer(),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
chain_link()}.
-type chain_link() :: {chain_link,
boolean(),
tallgrass@internal@common@affordance:affordance(),
list(evolution_details())}.
-type evolution_details() :: {evolution_details,
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
tallgrass@internal@common@affordance:affordance(),
integer(),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
integer(),
gleam@option:option(integer()),
gleam@option:option(integer()),
gleam@option:option(integer()),
boolean(),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
integer(),
binary(),
gleam@option:option(tallgrass@internal@common@affordance:affordance()),
boolean()}.
-spec evolution_details() -> decode:decoder(evolution_details()).
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_details,
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@internal@common@affordance:affordance())
),
_pipe@2 = decode:field(
_pipe@1,
<<"trigger"/utf8>>,
tallgrass@internal@common@affordance:affordance()
),
_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@internal@common@affordance:affordance())
),
_pipe@5 = decode:field(
_pipe@4,
<<"known_move"/utf8>>,
decode:optional(tallgrass@internal@common@affordance:affordance())
),
_pipe@6 = decode:field(
_pipe@5,
<<"known_move_type"/utf8>>,
decode:optional(tallgrass@internal@common@affordance:affordance())
),
_pipe@7 = decode:field(
_pipe@6,
<<"location"/utf8>>,
decode:optional(tallgrass@internal@common@affordance:affordance())
),
_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@internal@common@affordance:affordance())
),
_pipe@14 = decode:field(
_pipe@13,
<<"party_type"/utf8>>,
decode:optional(tallgrass@internal@common@affordance:affordance())
),
_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@internal@common@affordance:affordance())
),
decode:field(
_pipe@17,
<<"turn_upside_down"/utf8>>,
{decoder, fun gleam@dynamic:bool/1}
).
-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@internal@common@affordance:affordance()
),
decode:field(
_pipe@2,
<<"evolution_details"/utf8>>,
decode:list(evolution_details())
).
-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@internal@common@affordance:affordance())
),
decode:field(_pipe@2, <<"chain"/utf8>>, chain_link()).