feat(api)!: replace HasVec with generic HasItems trait#5
Merged
Conversation
Introduces a new `HasItems` trait and procedural macro to provide a generic interface for iterating over collections within API response types. This replaces the more limited `HasVec` trait. The new `HasItems` derive macro supports both `Vec<T>` and `HashMap<K, V>` fields, with configurable modes for iterating over values or entries. This provides a more flexible and powerful way to handle collection-based API responses. All existing API response types have been updated to use the new `HasItems` trait. The `scroller` utility has also been updated to work with the new abstraction. BREAKING CHANGE: The `HasVec` trait and `HasVector` derive macro have been removed. Code that previously used `get_vec()` or `take_vec()` must be updated to use `iter_items()` or `into_items()` from the new `HasItems` trait.
hdoo42
added a commit
that referenced
this pull request
Oct 23, 2025
feat(api)!: replace HasVec with generic HasItems trait bump up version to 0.2.0
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.
Introduces a new
HasItemstrait and procedural macro to provide a generic interface for iterating over collections within API response types. This replaces the more limitedHasVectrait.The new
HasItemsderive macro supports bothVec<T>andHashMap<K, V>fields, with configurable modes for iterating over values or entries. This provides a more flexible and powerful way to handle collection-based API responses.All existing API response types have been updated to use the new
HasItemstrait. Thescrollerutility has also been updated to work with the new abstraction.BREAKING CHANGE: The
HasVectrait andHasVectorderive macro have been removed. Code that previously usedget_vec()ortake_vec()must be updated to useiter_items()orinto_items()from the newHasItemstrait.