Page MenuHomeDevCentral

D1640.id4184.diff
No OneTemporary

D1640.id4184.diff

diff --git a/src/Collections/TraversableUtilities.php b/src/Collections/TraversableUtilities.php
--- a/src/Collections/TraversableUtilities.php
+++ b/src/Collections/TraversableUtilities.php
@@ -4,19 +4,17 @@
namespace Keruald\OmniTools\Collections;
use Countable;
+use ResourceBundle;
+use SimpleXMLElement;
use TypeError;
class TraversableUtilities {
public static function count ($countable) : int {
- if (is_array($countable)) {
+ if (self::isCountable($countable)) {
return count($countable);
}
- if ($countable instanceof Countable) {
- return $countable->count();
- }
-
if ($countable === null || $countable === false) {
return 0;
}
@@ -24,4 +22,12 @@
throw new TypeError;
}
+ public static function isCountable ($countable) : bool {
+ // https://github.com/Ayesh/is_countable-polyfill/blob/master/src/is_countable.php
+ return is_array($countable)
+ || $countable instanceof Countable
+ || $countable instanceof SimpleXMLElement
+ || $countable instanceof ResourceBundle;
+ }
+
}

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 20, 20:00 (56 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2587884
Default Alt Text
D1640.id4184.diff (1 KB)

Event Timeline