• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wol-soft / php-json-schema-model-generator / 22780353222

06 Mar 2026 08:15PM UTC coverage: 98.497% (-0.2%) from 98.693%
22780353222

Pull #115

github

Enno Woortmann
Transfer if/then/else branch properties to parent schema with correct union types

- if/then/else composition now transfers all branch properties (if, then, else)
  to the parent schema, making them accessible as typed properties on the model
- ConditionalPropertyValidator distinguishes composed properties (all branches,
  for transfer) from data branches (then/else only, for widening checks), so
  the if condition block is never treated as a competing data branch when
  computing type-widening eligibility
- Cross-typed then/else branches produce union type hints (int | string | null),
  consistent with anyOf/oneOf behaviour
- then-only branches produce nullable hints (?int) since the branch may not apply
- Fix PropertyMerger readonly constructor promotion (PHP 8.1 only) to plain
  private for PHP 8.0 compatibility
- Add PHP version compatibility rule to CLAUDE.md
- Document cross-typed if/then/else union type behaviour in docs/source/combinedSchemas/if.rst
Pull Request #115: Type system (Type widening for compositions, union types)

248 of 259 new or added lines in 22 files covered. (95.75%)

15 existing lines in 6 files now uncovered.

3671 of 3727 relevant lines covered (98.5%)

553.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

92.19
/src/Model/SchemaDefinition/SchemaDefinitionDictionary.php


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc