refactor: susun semula struktur folder — Laravel source ke src/
This commit is contained in:
50
vendor/league/csv/src/Serializer/AfterMapping.php
vendored
Normal file
50
vendor/league/csv/src/Serializer/AfterMapping.php
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
<?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\Serializer;
|
||||
|
||||
use Attribute;
|
||||
use Deprecated;
|
||||
use ReflectionAttribute;
|
||||
use ReflectionClass;
|
||||
|
||||
/**
|
||||
* @deprecated since version 9.17.0
|
||||
*
|
||||
* @see MapRecord
|
||||
*/
|
||||
#[Attribute(Attribute::TARGET_CLASS)]
|
||||
final class AfterMapping
|
||||
{
|
||||
public readonly MapRecord $mapRecord;
|
||||
public readonly array $methods;
|
||||
|
||||
#[Deprecated(message: 'use League\Csv\Serializer\MapRecord instead', since: 'league/csv:9.17.0')]
|
||||
public function __construct(string ...$methods)
|
||||
{
|
||||
$this->mapRecord = new MapRecord($methods);
|
||||
$this->methods = $this->mapRecord->afterMapping;
|
||||
}
|
||||
|
||||
public static function from(ReflectionClass $class): ?self
|
||||
{
|
||||
$attributes = $class->getAttributes(self::class, ReflectionAttribute::IS_INSTANCEOF);
|
||||
$nbAttributes = count($attributes);
|
||||
|
||||
return match (true) {
|
||||
0 === $nbAttributes => null,
|
||||
1 < $nbAttributes => throw new MappingFailed('Using more than one `'.self::class.'` attribute on a class property or method is not supported.'),
|
||||
default => $attributes[0]->newInstance(),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user