refactor: susun semula struktur folder — Laravel source ke src/
This commit is contained in:
54
vendor/league/csv/src/ColumnConsistency.php
vendored
Normal file
54
vendor/league/csv/src/ColumnConsistency.php
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* League.Csv (https://csv.thephpleague.com)
|
||||
*
|
||||
* (c) Ignace Nyamagana Butera <nyamsprod@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace League\Csv;
|
||||
|
||||
use function count;
|
||||
|
||||
/**
|
||||
* Validates column consistency when inserting records into a CSV document.
|
||||
*/
|
||||
class ColumnConsistency
|
||||
{
|
||||
/**
|
||||
* @throws InvalidArgument if the column count is less than -1
|
||||
*/
|
||||
public function __construct(
|
||||
protected int $columns_count = -1
|
||||
) {
|
||||
$this->columns_count >= -1 || throw InvalidArgument::dueToInvalidColumnCount($this->columns_count, __METHOD__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the column count.
|
||||
*/
|
||||
public function getColumnCount(): int
|
||||
{
|
||||
return $this->columns_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells whether the submitted record is valid.
|
||||
*/
|
||||
public function __invoke(array $record): bool
|
||||
{
|
||||
$count = count($record);
|
||||
if (-1 === $this->columns_count) {
|
||||
$this->columns_count = $count;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return $count === $this->columns_count;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user