From ed9a3227ac8745f1f5fa52b81570da314764bddb Mon Sep 17 00:00:00 2001 From: "Timothy J. Warren" Date: Thu, 27 Aug 2020 15:39:23 -0400 Subject: [PATCH] Sort voice acting roles by character name --- .../API/Kitsu/Transformer/PersonTransformer.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/AnimeClient/API/Kitsu/Transformer/PersonTransformer.php b/src/AnimeClient/API/Kitsu/Transformer/PersonTransformer.php index 8b28cbb7..6e8a92bc 100644 --- a/src/AnimeClient/API/Kitsu/Transformer/PersonTransformer.php +++ b/src/AnimeClient/API/Kitsu/Transformer/PersonTransformer.php @@ -132,11 +132,24 @@ final class PersonTransformer extends AbstractTransformer { { $characters[$role][$charId]['media'][$media['id']] = $media; } + } + foreach ($characters as $role => $_) + { + // Sort the characters by name uasort( - $characters[$role][$charId]['media'], - fn ($a, $b) => $a['titles'][0] <=> $b['titles'][0] + $characters[$role], + fn($a, $b) => $a['character']['canonicalName'] <=> $b['character']['canonicalName'] ); + + // Sort the media for the character + foreach ($characters[$role] as $charId => $__) + { + uasort( + $characters[$role][$charId]['media'], + fn ($a, $b) => $a['titles'][0] <=> $b['titles'][0] + ); + } } krsort($characters);