Repository navigation
Port lib/*.js to strict TypeScript in src/, compiled to dist/ with bundled .d.ts, source maps, and declaration maps. Runtime behavior is unchanged except two bug fixes: a stray console.log in from()'s change handler, and observers being skipped (or notified after removal) when a subscription list changed mid-notification.
- onChange/from use variadic tuple inference; callbacks may declare fewer parameters than observables, and union-typed observables resolve to unknown rather than an unsound never.
- Tests run on Node's built-in runner directly against the .ts sources via native type stripping; adds direct onChange coverage and mid-notification unsubscribe cases (30 tests, 100% coverage).
- Packaging: exports map, files whitelist (no test files shipped), types field, engines/devEngines, prepublishOnly gate.
- Docs generated with TypeDoc instead of JSDoc.
- CI: setup-node on Node 22/24, typecheck+build steps, docs deploy gated on master (was gated on a nonexistent main) with contents: write permission.
- README: fix when()/compute-export/reduce examples.