Ejemplo n.º 1
0
 /**
  * @param Records $records
  *
  * @return Collection
  */
 private function convertRecord(Records $records)
 {
     $records = array_map(function (MarcRecord $item) {
         $record = new Record($item->getLeader());
         $fields = $item->getFields();
         foreach ($fields as $field) {
             if ($field instanceof \File_MARC_Control_Field) {
                 $record->setControlField($this->convertControlField($field));
             } elseif ($field instanceof \File_MARC_Data_Field) {
                 $record->addDataField($this->convertDataField($field));
             } else {
                 throw new \InvalidArgumentException('Unknown Field Type');
             }
         }
         return $record;
     }, iterator_to_array($records));
     $collection = new Collection($records);
     return $collection;
 }