Как достать айди из AnonymousSubject или Subscriber?

Для достижения вашей цели, вы можете использовать оператор pipe вместе с оператором filter функционального программирования, чтобы отфильтровать только экземпляры, которые являются AnonymousSubject или Subscriber. Затем можно использовать метод getObservers() объекта AnonymousSubject или Subscriber, чтобы получить массив наблюдателей.
Каждый наблюдатель имеет свойство closed, которое является булевым значением, указывающим, завершил ли наблюдатель свою работу или нет. Вы можете использовать метод find, чтобы получить первый наблюдатель с closed равным false.
После получения наблюдателя, вы можете использовать метод subscriptionId для получения его айди.

Ниже приведен пример кода, который демонстрирует, как достать айди из AnonymousSubject или Subscriber в Angular:

import { Observable, AnonymousSubject, Subscriber } from 'rxjs';

function getObserverId(observer: AnonymousSubject<any> | Subscriber<any>): number | null {
  if (observer instanceof AnonymousSubject || observer instanceof Subscriber) {
    const observers = observer.getObservers();
    const currentObserver = observers.find(observer => !observer.closed);

    if (currentObserver) {
      return currentObserver.subscriptionId;
    }
  }

  return null;
}

// Пример использования
const subject = new AnonymousSubject();
const subscription = subject.subscribe(() => {
  console.log('Запуск обработчика...');
});

const observerId = getObserverId(subject);
console.log('Айди наблюдателя:', observerId);

subscription.unsubscribe();

В этом примере мы сначала создаем экземпляр AnonymousSubject. Затем мы подписываемся на него и выводим в консоль айди наблюдателя. После этого мы вызываем метод unsubscribe, чтобы завершить подписку.