functional-php/src/Predicates/comparisons.php
2018-07-15 20:42:37 +02:00

86 lines
1.5 KiB
PHP

<?php
/**
* Copyright 2018 Kacper Donat
*
* @author Kacper "Kadet" Donat <kacper@kadet.net>
*
* Full license available in separate LICENSE file
*/
namespace Kadet\Functional\Predicates;
use Kadet\Functional\Predicate;
use function Kadet\Functional\predicate;
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function equals($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $expected == $value;
});
}
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function same($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $value === $expected;
});
}
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function gt($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $value > $expected;
});
}
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function ge($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $value >= $expected;
});
}
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function lt($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $value < $expected;
});
}
/**
* @param $expected
*
* @return \Kadet\Functional\Predicate
*/
function le($expected): Predicate
{
return predicate(function ($value) use ($expected) {
return $value <= $expected;
});
}