b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / vendor / composer / semver / src / Constraint /
Filename/home/a/home/dev2.destoffenstraat.com/vendor/composer/semver/src/Constraint/MultiConstraint.php
Size2.56 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified03-Dec-2020 16:47
Last accessed22-Aug-2025 21:49
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

/*
* This file is part of composer/semver.
*
* (c) Composer <https://github.com/composer>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/

namespace Composer\Semver\Constraint;

/**
* Defines a conjunctive or disjunctive set of constraints.
*/
class MultiConstraint implements ConstraintInterface
{
/** @var ConstraintInterface[] */
protected $constraints;

/** @var string|null */
protected $prettyString;

/** @var bool */
protected $conjunctive;

/**
* @param ConstraintInterface[] $constraints A set of constraints
* @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive
*/
public function __construct(array $constraints, $conjunctive = true)
{
$this->constraints = $constraints;
$this->conjunctive = $conjunctive;
}

/**
* @return ConstraintInterface[]
*/
public function getConstraints()
{
return $this->constraints;
}

/**
* @return bool
*/
public function isConjunctive()
{
return $this->conjunctive;
}

/**
* @return bool
*/
public function isDisjunctive()
{
return !$this->conjunctive;
}

/**
* @param ConstraintInterface $provider
*
* @return bool
*/
public function matches(ConstraintInterface $provider)
{
if (false === $this->conjunctive) {
foreach ($this->constraints as $constraint) {
if ($constraint->matches($provider)) {
return true;
}
}

return false;
}

foreach ($this->constraints as $constraint) {
if (!$constraint->matches($provider)) {
return false;
}
}

return true;
}

/**
* @param string|null $prettyString
*/
public function setPrettyString($prettyString)
{
$this->prettyString = $prettyString;
}

/**
* @return string
*/
public function getPrettyString()
{
if ($this->prettyString) {
return $this->prettyString;
}

return (string) $this;
}

/**
* @return string
*/
public function __toString()
{
$constraints = array();
foreach ($this->constraints as $constraint) {
$constraints[] = (string) $constraint;
}

return '[' . implode($this->conjunctive ? ' ' : ' || ', $constraints) . ']';
}
}