for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace evseevnn\Cassandra\Protocol\Response\DataStream;
use evseevnn\Cassandra\Enum\DataTypeEnum;
use evseevnn\Cassandra\Protocol\Response\DataStream;
final class TypeReader {
/**
* @param DataStream $stream
* @return mixed
*/
public static function readFromStream(DataStream $stream) {
$data = [
'type' => $stream->readShort()
];
switch ($data['type']) {
case DataTypeEnum::CUSTOM:
$data['name'] = $stream->readString();
break;
case DataTypeEnum::COLLECTION_LIST:
case DataTypeEnum::COLLECTION_SET:
$data['value'] = self::readFromStream($stream);
case DataTypeEnum::COLLECTION_MAP:
$data['key'] = self::readFromStream($stream);
}
return $data;