<?php
declare(strict_types=1);
namespace PpPhp\Core\Platform\Event\Streaming\Replay;
final class StreamPersistenceSerializer
{
    public function encode(StreamPersistenceSnapshot $snapshot): string { return json_encode($snapshot->toArray(), JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) ?: '{}'; }
    public function decode(string $json): StreamPersistenceSnapshot { $data=json_decode($json,true); return StreamPersistenceSnapshot::fromArray(is_array($data)?$data:[]); }
}
