*/ private array $errors; /** * @param array $errors Validation errors. */ private function __construct( array $errors ) { $this->errors = array_values( $errors ); } public static function valid(): self { return new self( array() ); } /** * @param array $errors Validation errors. */ public static function invalid( array $errors ): self { return new self( $errors ); } public function isValid(): bool { return array() === $this->errors; } /** * @return array */ public function errors(): array { return $this->errors; } }