# Feature catalog — ReactiveX/rxjs

> Canonical page: https://codevetter.com/unpack/rxjs/feature-catalog

# Feature catalog — ReactiveX/rxjs

Scanned commit 54796b38a57e6309f9861e174737479bb3f63f61 (2026-08-05). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The inspected public surface covers Observable conversion and cancellation, Symbol operators, mutable producers, replay, and async consumption. Testing and migration are separate developer-facing products with explicit lifecycle choices. The legacy site provides documentation rendering, search, and lazy embedded components; this catalog is bounded rather than an exhaustive API enumeration.
- Observable.from accepts existing Observables, async iterables, sync iterables, and thenables in that precedence order, rejecting unsupported values. — [packages/observable-polyfill/src/index.ts#L544-L577](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/src/index.ts#L544-L577)
- source[map](project) projects values with a subscription-local index; importing rxjs/map installs an exact Symbol property on Observable.prototype. — [packages/rxjs/src/map.ts#L4-L26](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/map.ts#L4-L26)
- source[switchMap](mapper, {concurrent}) defaults to one active inner and aborts the oldest active inner when capacity is reached. — [packages/rxjs/src/switch-map.ts#L12-L49](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/switch-map.ts#L12-L49)
- ColdObservable creates an independent producer for every direct subscribe; Subject exposes next/error/complete fanout and a read-only Observable view. — [packages/rxjs/src/cold-observable.ts#L97-L114](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/cold-observable.ts#L97-L114) [packages/rxjs/src/subject.ts#L40-L88](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/subject.ts#L40-L88)
- replaySubject supports size and maxAge limits, replays buffered values to subscribers, and follows replay with stored completion or error. — [packages/rxjs/src/replay-subject.ts#L18-L45](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/replay-subject.ts#L18-L45) [packages/rxjs/src/replay-subject.ts#L50-L73](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/replay-subject.ts#L50-L73) [packages/rxjs/src/replay-subject.ts#L106-L108](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/replay-subject.ts#L106-L108)
- iterateBufferedValues provides lazy async iteration over accumulated value batches; generator closure aborts its observer, and accepted buffers precede terminal delivery. — [packages/rxjs/src/iterate-buffered-values.ts#L4-L29](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/iterate-buffered-values.ts#L4-L29) [packages/rxjs/src/iterate-buffered-values.ts#L38-L47](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/src/iterate-buffered-values.ts#L38-L47)
- rxTest offers cold, hot, and platform marble sources, message/subscription assertions, scheduling, animation/idle plans, and manual virtual-time advancement. — [packages/test/src/context.ts#L49-L99](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/test/src/context.ts#L49-L99)
- rxjs-migrate supports dry-run or explicit writes with cold/platform and framework options; rxjs-migrate-skill supports check/install/update/remove for Codex, Claude, and Cursor. — [packages/migrate/src/cli.ts#L194-L204](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/cli.ts#L194-L204) [packages/migrate/src/skill-cli.ts#L70-L97](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/skill-cli.ts#L70-L97)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
