Skip to content

Commit 4fc693a

Browse files
author
Jeremiah VALERIE
committed
Replace is array by is iterable
1 parent c23cbfe commit 4fc693a

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

Resolver/AccessResolver.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ private function processFilter($result, $accessChecker, $resolveArgs)
7171
/** @var ResolveInfo $resolveInfo */
7272
$resolveInfo = $resolveArgs[3];
7373

74-
if (\is_array($result) && $resolveInfo->returnType instanceof ListOfType) {
74+
if (self::isIterable($result) && $resolveInfo->returnType instanceof ListOfType) {
7575
$result = array_map(
7676
function ($object) use ($accessChecker, $resolveArgs) {
7777
return $this->hasAccess($accessChecker, $object, $resolveArgs) ? $object : null;
@@ -101,4 +101,18 @@ private function hasAccess(callable $accessChecker, $object, array $resolveArgs
101101

102102
return $access;
103103
}
104+
105+
/**
106+
* @param mixed $data
107+
*
108+
* @return bool
109+
*/
110+
private static function isIterable($data)
111+
{
112+
if (function_exists('is_iterable')) {
113+
return \is_iterable($data);
114+
} else {
115+
return \is_array($data) || (\is_object($data) && ($data instanceof \Traversable));
116+
}
117+
}
104118
}

0 commit comments

Comments
 (0)