$memberidx{ $_->{id} } //= push(@members, $_) && $#members
for map { $_->{characters}->@* } @ladders;
+my %game;
+for my $member (map { $_->{id} } @members) {
+ my $usergames = blizget(legacy => @realmget => $member => 'matches');
+ for ($usergames->{matches}->@*) {
+ my $match = join ':', sort values %{$_};
+ $game{$match} //= $_;
+ push $game{$match}->{players}->@*, $memberidx{$member};
+ }
+}
+
say JSON->new->canonical->pretty->encode({
name => $members[0]->{clanName},
tag => $members[0]->{clanTag},
blizget(metadata => @realmget => $_->{id})
# lacks mmr, fav race (available in new api)
} @members],
+ matches => [nsort_by { -$_->{date} } values %game],
}) =~ s/(?: \G \d,? | \[ ) \K \s+ (?=\d|\])/ /grx; # concat arrays of single digits