Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RootPackageLoader.php

function RootPackageLoader::extractAliases

Parameters

array<string, string> $requires:

list<array{package: string, version: string, alias: string, alias_normalized: string}> $aliases:

Return value

list<array{package: string, version: string, alias: string, alias_normalized: string}>

1 call to RootPackageLoader::extractAliases()
RootPackageLoader::load in vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php
@inheritDoc

File

vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php, line 207

Class

RootPackageLoader
ArrayLoader built for the sole purpose of loading the root package

Namespace

Composer\Package\Loader

Code

private function extractAliases(array $requires, array $aliases) : array {
    foreach ($requires as $reqName => $reqVersion) {
        if (Preg::isMatchStrictGroups('{(?:^|\\| *|, *)([^,\\s#|]+)(?:#[^ ]+)? +as +([^,\\s|]+)(?:$| *\\|| *,)}', $reqVersion, $match)) {
            $aliases[] = [
                'package' => strtolower($reqName),
                'version' => $this->versionParser
                    ->normalize($match[1], $reqVersion),
                'alias' => $match[2],
                'alias_normalized' => $this->versionParser
                    ->normalize($match[2], $reqVersion),
            ];
        }
        elseif (strpos($reqVersion, ' as ') !== false) {
            throw new \UnexpectedValueException('Invalid alias definition in "' . $reqName . '": "' . $reqVersion . '". Aliases should be in the form "exact-version as other-exact-version".');
        }
    }
    return $aliases;
}
RSS feed
Powered by Drupal