}
my @ladders = (
- sort_by { $_->{season} } # season
- nsort_by {
- -($_->{ladder}->[0]->{wins} + $_->{ladder}->[0]->{losses})
- } # activity desc
nsort_by { $_->{ladder}->[0]->{ladderId} } # stable order
grep {
!$clanmatch or
say JSON->new->canonical->pretty->encode({
name => $members[0]->{clanName},
tag => $members[0]->{clanTag},
- ladders => [map {{
- league => lc $_->{ladder}->[0]->{league},
- division => $_->{ladder}->[0]->{ladderName},
- rank => $_->{ladder}->[0]->{rank},
- members => [map { $memberidx{$_->{id}} } $_->{characters}->@*],
- wins => $_->{ladder}->[0]->{wins},
- losses => $_->{ladder}->[0]->{losses},
- (season => -1) x ($_->{season} eq 'previousSeason'),
- }} @ladders],
+ ladders => [
+ map {{
+ id => $_->{ladder}->[0]->{ladderId},
+ league => lc $_->{ladder}->[0]->{league},
+ division => $_->{ladder}->[0]->{ladderName},
+ rank => $_->{ladder}->[0]->{rank},
+ members => [map { $memberidx{$_->{id}} } $_->{characters}->@*],
+ wins => $_->{ladder}->[0]->{wins},
+ losses => $_->{ladder}->[0]->{losses},
+ (season => -1) x ($_->{season} eq 'previousSeason'),
+ }}
+ sort_by { $_->{season} } # season
+ nsort_by {
+ -($_->{ladder}->[0]->{wins} + $_->{ladder}->[0]->{losses})
+ } # activity desc
+ @ladders
+ ],
members => [map {
blizget(metadata => profile => 2 => 1 => $_->{id})
# lacks mmr, fav race (available in new api)