resource; return $collection->map(function (Model $model) { switch (\get_class($model)) { case Breeder::class: return new BreederUriResource($model); case Recipe::class: return new RecipeUriResource($model); default: throw new \RuntimeException(sprintf( 'Unhandled model %s', \get_class($model) )); } }); } }