ReactiveX/rxjs · error · TypeError

Illegal constructor

Error message

Illegal constructor

What it means

Error "Illegal constructor" thrown in ReactiveX/rxjs.

Source

Thrown at packages/observable-polyfill/src/index.ts:132

    },
    { once: true }
  );
}

class Subscriber<T> implements Observer<T> {
  #teardowns: Teardown[] = [];
  #closed = false;

  readonly #observerList = new Set<SafeObserver<T>>();

  readonly #abortController = new AbortController();

  #assertBrand(): void {}

  constructor(...args: [symbol?]) {
    const token = args[0];
    if (token !== subscriberToken) {
      throw new TypeError('Illegal constructor');
    }
  }

  [addObserver](observer: SafeObserver<T>): (reason?: unknown) => void {
    this.#observerList.add(observer);

    return (reason?: unknown) => {
      this.#observerList.delete(observer);
      if (this.#observerList.size === 0) {
        this[closeSubscriber](reason);
      }
    };
  }

  [closeSubscriber](reason?: unknown): void {
    if (!this.active) {
      return;
    }

View on GitHub (pinned to 54796b38a5)

When it happens

Trigger: Thrown at packages/observable-polyfill/src/index.ts:132 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ReactiveX/rxjs@54796b38a5 (2026-08-28). Data as JSON: /api/errors/979b01abc833e4ac. Report an issue: GitHub.