parent
68b136d3a1
commit
159e0d36d5
@ -0,0 +1,27 @@ |
||||
<?php |
||||
|
||||
namespace App\Enums; |
||||
|
||||
use App\Services\Chunkers\JsonChunker; |
||||
use App\Services\Converters\JsonToDatabaseConverter; |
||||
|
||||
enum FileFormatEnum: string |
||||
{ |
||||
case JSON = 'json'; |
||||
|
||||
public function chunker($path): \Generator |
||||
{ |
||||
$chunker = match ($this) { |
||||
self::JSON => JsonChunker::class |
||||
}; |
||||
|
||||
return $chunker->handle($path); |
||||
} |
||||
|
||||
public function converter() |
||||
{ |
||||
return match($this){ |
||||
self::JSON => new JsonToDatabaseConverter() |
||||
}; |
||||
} |
||||
} |
||||
@ -0,0 +1,8 @@ |
||||
<?php |
||||
|
||||
namespace App\Interfaces; |
||||
|
||||
interface ChunkerInterface |
||||
{ |
||||
public function handle(): \Generator; |
||||
} |
||||
@ -0,0 +1,8 @@ |
||||
<?php |
||||
|
||||
namespace App\Interfaces; |
||||
|
||||
interface ConverterInterface |
||||
{ |
||||
public function handle(): void; |
||||
} |
||||
@ -0,0 +1,13 @@ |
||||
<?php |
||||
|
||||
namespace App\Services\Chunkers; |
||||
|
||||
use App\Interfaces\ChunkerInterface; |
||||
|
||||
class JsonChunker implements ChunkerInterface |
||||
{ |
||||
public function handle(): \Generator |
||||
{ |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,10 @@ |
||||
<?php |
||||
|
||||
namespace App\Services\Converters; |
||||
|
||||
use App\Interfaces\ConverterInterface; |
||||
|
||||
class JsonToDatabaseConverter implements ConverterInterface |
||||
{ |
||||
|
||||
} |
||||
Loading…
Reference in new issue