| @@ 56-67 (lines=12) @@ | ||
| 53 | * |
|
| 54 | * @return RuleInterface |
|
| 55 | */ |
|
| 56 | protected static function equals($value, RuleInterface $next = null): RuleInterface |
|
| 57 | { |
|
| 58 | if ($value === null) { |
|
| 59 | $rule = new IsNull(); |
|
| 60 | } elseif ($value instanceof DateTimeInterface) { |
|
| 61 | $rule = new DateTimeEquals($value); |
|
| 62 | } else { |
|
| 63 | $rule = new ScalarEquals($value); |
|
| 64 | } |
|
| 65 | ||
| 66 | return $next === null ? $rule : new AndOperator(static::equals($value), $next); |
|
| 67 | } |
|
| 68 | ||
| 69 | /** |
|
| 70 | * @param mixed $value |
|
| @@ 75-86 (lines=12) @@ | ||
| 72 | * |
|
| 73 | * @return RuleInterface |
|
| 74 | */ |
|
| 75 | protected static function notEquals($value, RuleInterface $next = null): RuleInterface |
|
| 76 | { |
|
| 77 | if ($value === null) { |
|
| 78 | $rule = new IsNotNull(); |
|
| 79 | } elseif ($value instanceof DateTimeInterface) { |
|
| 80 | $rule = new DateTimeNotEquals($value); |
|
| 81 | } else { |
|
| 82 | $rule = new ScalarNotEquals($value); |
|
| 83 | } |
|
| 84 | ||
| 85 | return $next === null ? $rule : new AndOperator(static::notEquals($value), $next); |
|
| 86 | } |
|
| 87 | ||
| 88 | /** |
|
| 89 | * @param array $scalars |
|