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

Breadcrumb

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

function ComposerRepository::isVersionAcceptable

@phpstan-param array<key-of<BasePackage::STABILITIES>, BasePackage::STABILITY_*>|null $acceptableStabilities

@phpstan-param array<string, BasePackage::STABILITY_*>|null $stabilityFlags

Parameters

string $name package name (must be lowercased already):

array<string, mixed> $versionData:

array<string, int>|null $acceptableStabilities:

array<string, int>|null $stabilityFlags an array of package name => BasePackage::STABILITY_* value:

2 calls to ComposerRepository::isVersionAcceptable()
ComposerRepository::loadAsyncPackages in vendor/composer/composer/src/Composer/Repository/ComposerRepository.php
@phpstan-param array<key-of<BasePackage::STABILITIES>, BasePackage::STABILITY_*>|null $acceptableStabilities
ComposerRepository::whatProvides in vendor/composer/composer/src/Composer/Repository/ComposerRepository.php
@phpstan-param array<key-of<BasePackage::STABILITIES>, BasePackage::STABILITY_*>|null $acceptableStabilities

File

vendor/composer/composer/src/Composer/Repository/ComposerRepository.php, line 1136

Class

ComposerRepository
@author Jordi Boggiano <j.boggiano@seld.be>

Namespace

Composer\Repository

Code

private function isVersionAcceptable(?ConstraintInterface $constraint, string $name, array $versionData, ?array $acceptableStabilities = null, ?array $stabilityFlags = null) : bool {
    $versions = [
        $versionData['version_normalized'],
    ];
    if ($alias = $this->loader
        ->getBranchAlias($versionData)) {
        $versions[] = $alias;
    }
    foreach ($versions as $version) {
        if (null !== $acceptableStabilities && null !== $stabilityFlags && !StabilityFilter::isPackageAcceptable($acceptableStabilities, $stabilityFlags, [
            $name,
        ], VersionParser::parseStability($version))) {
            continue;
        }
        if ($constraint && !CompilingMatcher::match($constraint, Constraint::OP_EQ, $version)) {
            continue;
        }
        return true;
    }
    return false;
}
RSS feed
Powered by Drupal