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

Breadcrumb

  1. Drupal Core 11.1.x

Interval.php

Namespace

Composer\Semver

File

vendor/composer/semver/src/Interval.php

View source
<?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;

use Composer\Semver\Constraint\Constraint;
class Interval {
    
    /** @var Constraint */
    private $start;
    
    /** @var Constraint */
    private $end;
    public function __construct(Constraint $start, Constraint $end) {
        $this->start = $start;
        $this->end = $end;
    }
    
    /**
     * @return Constraint
     */
    public function getStart() {
        return $this->start;
    }
    
    /**
     * @return Constraint
     */
    public function getEnd() {
        return $this->end;
    }
    
    /**
     * @return Constraint
     */
    public static function fromZero() {
        static $zero;
        if (null === $zero) {
            $zero = new Constraint('>=', '0.0.0.0-dev');
        }
        return $zero;
    }
    
    /**
     * @return Constraint
     */
    public static function untilPositiveInfinity() {
        static $positiveInfinity;
        if (null === $positiveInfinity) {
            $positiveInfinity = new Constraint('<', PHP_INT_MAX . '.0.0.0');
        }
        return $positiveInfinity;
    }
    
    /**
     * @return self
     */
    public static function any() {
        return new self(self::fromZero(), self::untilPositiveInfinity());
    }
    
    /**
     * @return array{'names': string[], 'exclude': bool}
     */
    public static function anyDev() {
        // any == exclude nothing
        return array(
            'names' => array(),
            'exclude' => true,
        );
    }
    
    /**
     * @return array{'names': string[], 'exclude': bool}
     */
    public static function noDev() {
        // nothing == no names included
        return array(
            'names' => array(),
            'exclude' => false,
        );
    }

}

Classes

Title Deprecated Summary
Interval
RSS feed
Powered by Drupal