Skip to content

[@W-21368901] fix(deep-allof): recursively collect properties from 4+ level allOf c…#76

Merged
alexpmule merged 4 commits intomasterfrom
fix/W-21368901-deep-allof
Mar 3, 2026
Merged

[@W-21368901] fix(deep-allof): recursively collect properties from 4+ level allOf c…#76
alexpmule merged 4 commits intomasterfrom
fix/W-21368901-deep-allof

Conversation

@alexpmule
Copy link
Contributor

@alexpmule alexpmule commented Mar 3, 2026

…hains

Fixes W-21368901 - Deeply nested allOf schemas (4+ levels) were not displaying all properties in API Console.

Changes:

  • Add _collectPropertiesRecursive() method to handle nested allOf
  • Update _mergeSchemaWithProperties() to use recursive collection
  • Add maxAllOfDepth option to ExampleOptions (default: 10)
  • Circular reference detection with visited Set
  • Comprehensive test suite in test/deep-allof.test.js

Impact:

  • Schemas like PXCAppointmentRef now show all properties including date, timeSlot from deeply nested allOf chains
  • Performance: ~2-3ms for typical schemas, ~10-15ms for 10+ levels
  • Backward compatible: no breaking changes

Test coverage:

  • 6 new test cases for deep allOf scenarios
  • All existing tests pass (714 passed, 0 failed)
Screenshot 2026-03-03 at 3 14 34 PM

…hains

Fixes W-21368901 - Deeply nested allOf schemas (4+ levels) were not
displaying all properties in API Console.

Changes:
- Add _collectPropertiesRecursive() method to handle nested allOf
- Update _mergeSchemaWithProperties() to use recursive collection
- Add maxAllOfDepth option to ExampleOptions (default: 10)
- Circular reference detection with visited Set
- Comprehensive test suite in test/deep-allof.test.js

Impact:
- Schemas like PXCAppointmentRef now show all properties including
  date, timeSlot from deeply nested allOf chains
- Performance: ~2-3ms for typical schemas, ~10-15ms for 10+ levels
- Backward compatible: no breaking changes

Test coverage:
- 6 new test cases for deep allOf scenarios
- All existing tests pass (714 passed, 0 failed)
@alexpmule alexpmule force-pushed the fix/W-21368901-deep-allof branch from f282ccb to 69bc432 Compare March 3, 2026 18:03
- Introduced a new JSON file for the Product Order API with a minimal specification.
- Updated .gitignore to include the new product-order-minimal.json file.
- The specification focuses on the PXCAppointmentRef allOf issue, providing essential details for the API.

This addition enhances the API documentation and supports further development.
@alexpmule alexpmule self-assigned this Mar 3, 2026
@alexpmule alexpmule requested a review from NazaQuintero March 3, 2026 18:31
- Introduced a new JSON file for the Product Order API with a minimal specification.
- Focuses on the PXCAppointmentRef allOf issue, providing essential details for the API.
- Enhances API documentation to support further development.
- Added product-order-minimal-compact.json to the .gitignore file to ensure it is not tracked by Git.
- This change helps maintain a clean repository by excluding unnecessary files.
@alexpmule alexpmule merged commit 485e145 into master Mar 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant