AJ ONeal 6d43b07f3f
feat(jsontypes): add two-pass coalescer for raw path output
Coalesce merges streamer output by deduplicating types with identical
key sets, collapsing {null} into nullable annotations ({string?}),
cleaning up type names (removing unnecessary numbers, deriving names
from keys when many types share a shape), and eliding duplicate type
definitions. Preserves {undefined} distinct from {null} per the
three-stage pipeline design.

Pokemon fixture: 241 raw lines → 140 coalesced lines.
2026-06-11 16:14:38 -06:00
..