-
Notifications
You must be signed in to change notification settings - Fork 2k
Expand file tree
/
Copy pathBaseCast.php
More file actions
45 lines (37 loc) · 1.06 KB
/
BaseCast.php
File metadata and controls
45 lines (37 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
declare(strict_types=1);
/**
* This file is part of CodeIgniter 4 framework.
*
* (c) CodeIgniter Foundation <admin@codeigniter.com>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace CodeIgniter\DataCaster\Cast;
use CodeIgniter\Exceptions\InvalidArgumentException;
abstract class BaseCast implements CastInterface
{
public static function get(
mixed $value,
array $params = [],
?object $helper = null,
): mixed {
return $value;
}
public static function set(
mixed $value,
array $params = [],
?object $helper = null,
): mixed {
return $value;
}
protected static function invalidTypeValueError(mixed $value): never
{
$message = '[' . static::class . '] Invalid value type: ' . get_debug_type($value);
if (is_scalar($value)) {
$message .= ', and its value: ' . var_export($value, true);
}
throw new InvalidArgumentException($message);
}
}