Page MenuHomeDevCentral

TraversableUtilities.php
No OneTemporary

TraversableUtilities.php

<?php
declare(strict_types=1);
namespace Keruald\OmniTools\Collections;
use Countable;
use InvalidArgumentException;
use ResourceBundle;
use SimpleXMLElement;
use TypeError;
class TraversableUtilities {
public static function count ($countable) : int {
if (is_countable($countable)) {
return count($countable);
}
if ($countable === null || $countable === false) {
return 0;
}
throw new TypeError;
}
public static function first (iterable $iterable) : mixed {
foreach ($iterable as $value) {
return $value;
}
throw new InvalidArgumentException(
"Can't call first() on an empty iterable."
);
}
public static function firstOr (
iterable $iterable, mixed $defaultValue = null
) : mixed {
foreach ($iterable as $value) {
return $value;
}
return $defaultValue;
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, Oct 6, 02:31 (1 d, 7 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4051205
Default Alt Text
TraversableUtilities.php (962 B)

Event Timeline