import type { SessionState } from './session.ts';

export function watchSessionChanges(subscribe: (listener: (state: SessionState) => void) => () => void, onChanged: () => void): () => void {
  let known: number | null = null;
  return subscribe(({ sessionId }) => {
    if (sessionId === null) {
      return;
    }
    if (known !== null && sessionId !== known) {
      onChanged();
    }
    known = sessionId;
  });
}
