Files
core/src/MigrateImport/ImporterFactory.php
T

24 lines
849 B
PHP
Raw Normal View History

<?php
namespace Modules\Core\MigrateImport;
use Modules\Core\MigrateImport\JudgeMe\JudgeMeExportImporter;
use Modules\Core\MigrateImport\Shopify\ShopifyExportImporter;
class ImporterFactory
{
public static function make(ImportSpec $spec): Importer
{
return match ([$spec->source, $spec->type]) {
['shopify', 'export'] => new ShopifyExportImporter,
// ["shopify", "api"] => new ShopifyApiImporter(),
['judgeme', 'export'] => new JudgeMeExportImporter,
// ["woocommerce", "export"] => new WooCommerceExportImporter(),
// ["woocommerce", "api"] => new WooCommerceApiImporter(),
default => throw new \InvalidArgumentException(
"No importer available for source \"{$spec->source}\" with type \"{$spec->type}\".",
),
};
}
}