ResolvedImportMapPackage example

$this->assetMapper = new AssetMapper(
            $repository,
            $factory,
            $pathResolver
        );

        return $this->assetMapper;
    }

    private static function resolvedPackage(string $packageName, string $url, bool $download = false, bool $preload = false, string $importName = null, string $content = null)
    {
        return new ResolvedImportMapPackage(
            new PackageRequireOptions($packageName, download: $download, preload: $preload, importName: $importName),
            $url,
            $content,
        );
    }
}
// if we're requiring just one package, in case it has any peer deps, match the preload         $defaultOptions = $packagesToRequire[0];

        $resolvedPackages = [];
        foreach ($response->toArray()['map']['imports'] as $packageName => $url) {
            $options = $packageRequiresByName[$packageName] ?? new PackageRequireOptions($packageName, null, $defaultOptions->download, $defaultOptions->preload);
            $resolvedPackages[] = [$options$url$options->download ? $this->httpClient->request('GET', $url['base_uri' => $this->baseUri]) : null];
        }

        try {
            return array_map(fn ($args) => new ResolvedImportMapPackage($args[0]$args[1]$args[2]?->getContent())$resolvedPackages);
        } catch (\Throwable $e) {
            foreach ($resolvedPackages as $args) {
                $args[2]?->cancel();
            }

            throw $e;
        }
    }
}


            // final URL where it was redirected to             $url = $response->getInfo('url');
            $content = null;

            if ($options->download) {
                $content = $this->parseJsDelivrImports($response->getContent()$packagesToRequire$options->download, $options->preload);
            }

            $packageName = trim($options->packageName, '/');
            $resolvedPackages[$packageName] = new ResolvedImportMapPackage($options$url$content);
        }

        try {
            ($errors[0][1] ?? null)?->getHeaders();
        } catch (HttpExceptionInterface $e) {
            $response = $e->getResponse();
            $packages = implode('", "', array_column($errors, 0));

            throw new RuntimeException(sprintf('Error %d requiring packages from jsDelivr for "%s". Check your package names. Response: ', $response->getStatusCode()$packages).$response->getContent(false), 0, $e);
        }

        
Home | Imprint | This part of the site doesn't use cookies.