|null $data * @param array|null $errors */ public function __construct( public ?array $data = null, public ?array $errors = null ) { } public function hasErrors(): bool { return ! empty($this->errors); } public function hasData(): bool { return $this->data !== null; } public function isSuccess(): bool { return ! $this->hasErrors() && $this->hasData(); } public function toArray(): array { $result = []; if ($this->hasData()) { $result['data'] = $this->data; } if ($this->hasErrors()) { $result['errors'] = $this->errors; } return $result; } }