parseIncludes(), function ($datum) use ($transformer) { return in_array($datum, $transformer->getAvailableIncludes()); }); return array_merge($filtered, $merge); } /** * Returns the parsed includes for this request. * * @return string[] */ protected function parseIncludes() { $includes = $this->request->query('include') ?? []; if (!is_string($includes)) { return $includes; } return array_map(function ($item) { return trim($item); }, explode(',', $includes)); } /** * Return an instance of an application transformer. * * @template T of \Pterodactyl\Transformers\Api\Client\BaseClientTransformer * * @param class-string $abstract * * @return T * * @noinspection PhpUndefinedClassInspection * @noinspection PhpDocSignatureInspection */ public function getTransformer(string $abstract) { Assert::subclassOf($abstract, BaseClientTransformer::class); return $abstract::fromRequest($this->request); } }