all())->except(["username", "page", "status"])->toArray(); $status = $command->status; if ($status instanceof Optional) { $status = 7; } if (array_key_exists("sort", $values)) { $values["sort"] = $values["sort"] === "asc" ? -1 : 1; } if ($listType->equals(UserListTypeEnum::anime())) { $rangeFrom = "airedFrom"; $rangeTo = "airedTo"; $jikanUserListRequest = new UserAnimeListRequest($command->username, $command->page, $status); } else { $rangeFrom = "publishedFrom"; $rangeTo = "publishedTo"; $jikanUserListRequest = new UserMangaListRequest($command->username, $command->page, $status); } foreach ([$rangeFrom, $rangeTo] as $rangeField) { if (array_key_exists($rangeField, $values)) { /** * @var CarbonImmutable $c */ $c = $values[$rangeField]; $values[$rangeField] = [$c->year, $c->month, $c->day]; } } return $this->fieldMapperService->map($jikanUserListRequest, $values); } }