Conversation
- Added @advanced-rest-client/icons version 4.0.2. - Updated @api-components/amf-helper-mixin to version 4.5.34.
- Introduced grpc-test.json for gRPC testing configurations. - Updated .gitignore to include grpc-test.json for tracking purposes.
…ution for examples - Added new computed properties for managing resolved types and rendering examples. - Implemented a deep resolution method to handle link-target references for example generation. - Updated the updated lifecycle method to recalculate properties based on changes in relevant attributes. - Improved example rendering logic by utilizing cached values for better performance.
…deep resolution method - Introduced new reactive properties for managing computed types and rendering examples. - Added a method for deeply resolving link-target references to enhance example generation. - Updated documentation for new properties and methods to clarify their usage.
…ctive properties - Implemented comprehensive tests for gRPC functionality in ApiTypeDocument. - Added tests for deep resolution of link-target references and nested properties. - Enhanced example rendering tests to ensure correct behavior with gRPC payloads. - Verified reactive updates of computed properties when type and AMF change.
… and consistency - Renamed cached properties to more accurately reflect their purpose: _cachedDeepResolvedType to _resolvedExampleType, _cachedShouldRenderExamples to _showExamples, and _cachedExampleMediaType to _exampleMediaType. - Updated logic for determining whether to show examples, improving readability and maintainability. - Adjusted related tests to ensure compatibility with the new property names and logic.
spezzirriemiliano
previously approved these changes
Dec 29, 2025
dfmacias
approved these changes
Jan 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recent Improvements
Enhanced gRPC Support
The component now includes comprehensive support for gRPC APIs with performance optimizations:
Deep Link Resolution
AMF represents complex types using
link-targetreferences that point to type definitions elsewhere in the model. In gRPC APIs, nested message types often use multiple levels of these references.The Challenge: Previously, only the first level of
link-targetreferences was resolved. When rendering examples or nested properties, deeper references remained unresolved, appearing as empty objects{}in the UI.The Solution: A new
_deepResolveType()method recursively resolves alllink-targetreferences:link-target, locates the target definition indeclaresorreferences[].declaresThis ensures complex gRPC message structures display their complete property hierarchy in both the properties panel and generated examples.
Performance Caching System
To prevent unnecessary re-renders and expensive recalculations on every render cycle, a lightweight caching system was implemented:
_computedPropertiestype,amf, orrenderReadOnlychanges_resolvedExampleType_typeChanged()_showExamplesisObject,noMainExample,renderMediaSelector_exampleMediaTypeapplication/jsonfor objectsThese values are computed in
_typeChanged()andupdated()lifecycle methods, ensuringrender()uses pre-computed values instead of recalculating on every render call.Automatic Example Generation
Objects without explicit
mediaType(common in gRPC) now default toapplication/json, enabling theapi-resource-example-documentcomponent to automatically generate examples from the type schema.Screen.Recording.2025-12-29.at.3.55.43.PM.mov