File size: 534 Bytes
27bb457
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

import { onDestroy } from "svelte";
import { useRoom } from "./useRoom";
import type { Json } from "@liveblocks/client";

export function userEventListener<TRoomEvent extends Json>(
  callback: (eventData: { connectionId: number; event: TRoomEvent }) => void
): void {
  const room = useRoom();

  const listener = (eventData: {
    connectionId: number;
    event: TRoomEvent;
  }) => {
    callback(eventData);
  }

  const unsubscribe = room.events.customEvent.subscribe(listener);

  onDestroy(() => {
    unsubscribe();
  });
}