#[Projection(self::NAME, Ticket::class)]
final class TicketCounterProjection
const NAME = "ticket_counter";
public function when(TicketWasRegistered $event, #[ProjectionState] TicketCounterState $state, EventStreamEmitter $eventStreamEmitter): TicketCounterState
$state = $state->increase();
$eventStreamEmitter->emit([new TicketCounterWasChanged($state->count)]);