Exemplo n.º 1
0
 /**
  * Gets all entries of a given repeatable, that satisfy a given predicate.
  *
  * @param array|\Traversable $repeatable
  *            The given repeatable.
  * @param PredicateInterface $predicate
  *            The given predicate.
  * @throws \InvalidArgumentException
  * @return array|\Traversable
  */
 public static final function filter($repeatable, PredicateInterface $predicate)
 {
     if (self::isRepeatable($repeatable)) {
         if (Arrays::isArray($repeatable)) {
             return Arrays::filter($repeatable, $predicate);
         }
         if (Traversables::isTraversable($repeatable)) {
             return Traversables::filter($repeatable, $predicate);
         }
     }
     throw new \InvalidArgumentException(self::$MSG_ARGUMENT1_NOT_REPATABLE);
 }