FestinHegre/vendor/symfony/asset-mapper/ImportMap/Resolver/PackageResolverInterface.php

44 lines
1.4 KiB
PHP
Raw Normal View History

2024-09-26 17:26:04 +02:00
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\AssetMapper\ImportMap\Resolver;
use Symfony\Component\AssetMapper\ImportMap\ImportMapEntry;
use Symfony\Component\AssetMapper\ImportMap\PackageRequireOptions;
interface PackageResolverInterface
{
/**
* Grabs the URLs for the given packages and converts them to ImportMapEntry objects.
*
* If "download" is specified in PackageRequireOptions, the resolved package
* contents should be included.
*
* @param PackageRequireOptions[] $packagesToRequire
*
* @return ResolvedImportMapPackage[] The import map entries that should be added
*/
public function resolvePackages(array $packagesToRequire): array;
/**
* Downloads the contents of the given packages.
*
* The returned array should be a map using the same keys as $importMapEntries.
*
* The dependencies are an array of module names that are imported by the package.
*
* @param array<string, ImportMapEntry> $importMapEntries
*
* @return array<string, array{content: string, dependencies: string[], extraFiles: array<string, string>}>
*/
public function downloadPackages(array $importMapEntries, ?callable $progressCallback = null): array;
}