InfluxOW/laravel_ddd_ecommerce

View on GitHub
app/Domains/Common/Utils/MathUtils.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace App\Domains\Common\Utils;

use Akaunting\Money\Money;
use Carbon\Carbon;

final class MathUtils
{
    public static function clamp(Carbon|Money|int|float $value, Carbon|Money|int|float|null $min, Carbon|Money|int|float|null $max): Carbon|Money|int|float
    {
        if (isset($max) && $value > $max) {
            $value = $max;
        }

        if (isset($min) && $value < $min) {
            $value = $min;
        }

        return $value;
    }
}