__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
declare(strict_types=1);
namespace CBOR\OtherObject;
use CBOR\Normalizable;
use CBOR\OtherObject as Base;
use CBOR\Utils;
use InvalidArgumentException;
use function chr;
use function ord;
use function strlen;
final class SimpleObject extends Base implements Normalizable
{
public static function supportedAdditionalInformation(): array
{
return [...range(0, 19), 24];
}
public static function create(int $value): self|FalseObject|TrueObject|NullObject|UndefinedObject
{
switch (true) {
case $value >= 0 && $value <= 19:
return new self($value, null);
case $value === 20:
return FalseObject::create();
case $value === 21:
return TrueObject::create();
case $value === 22:
return NullObject::create();
case $value === 23:
return UndefinedObject::create();
case $value <= 31:
throw new InvalidArgumentException('Invalid simple value. Shall be between 32 and 255.');
case $value <= 255:
return new self(24, chr($value));
default:
throw new InvalidArgumentException('The value is not a valid simple value.');
}
}
public static function createFromLoadedData(int $additionalInformation, ?string $data): Base
{
if ($additionalInformation === 24) {
if ($data === null) {
throw new InvalidArgumentException('Invalid simple value. Content data is missing.');
}
if (strlen($data) !== 1) {
throw new InvalidArgumentException('Invalid simple value. Content data is too long.');
}
if (ord($data) < 32) {
throw new InvalidArgumentException('Invalid simple value. Content data must be between 32 and 255.');
}
} elseif ($additionalInformation < 20) {
if ($data !== null) {
throw new InvalidArgumentException('Invalid simple value. Content data should not be present.');
}
}
return new self($additionalInformation, $data);
}
public function normalize(): int
{
if ($this->data === null) {
return $this->getAdditionalInformation();
}
return Utils::binToInt($this->data);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| BreakObject.php | File | 571 B | 0664 |
|
| DoublePrecisionFloatObject.php | File | 2.08 KB | 0664 |
|
| FalseObject.php | File | 691 B | 0664 |
|
| GenericObject.php | File | 617 B | 0664 |
|
| HalfPrecisionFloatObject.php | File | 2.04 KB | 0664 |
|
| NullObject.php | File | 690 B | 0664 |
|
| OtherObjectInterface.php | File | 342 B | 0664 |
|
| OtherObjectManager.php | File | 1.1 KB | 0664 |
|
| OtherObjectManagerInterface.php | File | 195 B | 0664 |
|
| SimpleObject.php | File | 2.34 KB | 0664 |
|
| SinglePrecisionFloatObject.php | File | 2.03 KB | 0664 |
|
| TrueObject.php | File | 687 B | 0664 |
|
| UndefinedObject.php | File | 583 B | 0664 |
|