Example #1
0
 /**
  * Instantiate and return a resolvable wrapping the passed object.
  *
  * @param Producer|mixed $object
  * @param string $what
  *
  * @return Producible
  */
 function produce($object, $what)
 {
     $collection = null;
     if ($object instanceof Collection) {
         $collection = $object->all();
     } elseif (is_array($object)) {
         $collection = $object;
     }
     if (!is_null($collection)) {
         $objects = [];
         foreach ($collection as $item) {
             $objects[] = produce($item, $what);
         }
         if ($object instanceof Collection) {
             return new Collection($objects);
         }
         return $objects;
     }
     return $object->produce($what);
 }