/** * Applies a given functor to all entires of a given repeatable. * * @param array|\Traversable $repeatable * The given repeatable. * @param UnaryFunktionInterface $functor * The given functor. * @throws \InvalidArgumentException * @return array|\Traversable */ public static final function map($repeatable, UnaryFunktionInterface $functor) { if (self::isRepeatable($repeatable)) { if (Arrays::isArray($repeatable)) { return Arrays::map($repeatable, $functor); } if (Traversables::isTraversable($repeatable)) { return Traversables::map($repeatable, $functor); } } throw new \InvalidArgumentException(self::$MSG_ARGUMENT1_NOT_REPATABLE); }