diff --git a/src/Application/UseCases/ExtractTuneFromCollection.php b/src/Application/UseCases/ExtractTuneFromCollection.php index ef8acaa..98cf878 100644 --- a/src/Application/UseCases/ExtractTuneFromCollection.php +++ b/src/Application/UseCases/ExtractTuneFromCollection.php @@ -32,4 +32,17 @@ class ExtractTuneFromCollection }) ; } + + /** + * @return \XaiCorp\AbcParser\Domain\Core\Tune + */ + public function extractTuneFromPreparedCollection() : Tune + { + return $this->tunes + ->unique() + ->reduce(new Tune([]), function (Tune $carry, Tune $tune) { + return $carry->merge($tune); + }) + ; + } } diff --git a/src/Application/UseCases/ImportAbcFile.php b/src/Application/UseCases/ImportAbcFile.php index a7e30be..6733dca 100644 --- a/src/Application/UseCases/ImportAbcFile.php +++ b/src/Application/UseCases/ImportAbcFile.php @@ -50,7 +50,7 @@ class ImportAbcFile * @param array $abcs * @return \XaiCorp\AbcParser\Domain\Core\TuneCollection */ - public function importMultiple(array $abcs) + public function importMultiple(array $abcs) : TuneCollection { $result = Collection::make($abcs) ->map(function (string $abc) {