%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/3rdparty/spomky-labs/cbor-php/src/ |
Current File : /www/varak.net/nextcloud.varak.net/3rdparty/spomky-labs/cbor-php/src/ByteStringObject.php |
<?php declare(strict_types=1); namespace CBOR; use function strlen; /** * @see \CBOR\Test\ByteStringObjectTest */ final class ByteStringObject extends AbstractCBORObject implements Normalizable { private const MAJOR_TYPE = self::MAJOR_TYPE_BYTE_STRING; private string $value; private ?string $length = null; public function __construct(string $data) { [$additionalInformation, $length] = LengthCalculator::getLengthOfString($data); parent::__construct(self::MAJOR_TYPE, $additionalInformation); $this->length = $length; $this->value = $data; } public function __toString(): string { $result = parent::__toString(); if ($this->length !== null) { $result .= $this->length; } return $result . $this->value; } public static function create(string $data): self { return new self($data); } public function getValue(): string { return $this->value; } public function getLength(): int { return strlen($this->value); } public function normalize(): string { return $this->value; } }