refactor(FilterStructToMap): change return type to use OrderedMap
#680
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.
Resolves #679
Summary
This PR refactors
FilterStructToMapto return a*mapsutil.OrderedMap[string, any]instead of a standardmap[string]any.The current function's use of a standard
mapresults in non-deterministic key order when marshaled to JSON. By returning anOrderedMap, we leverage its customMarshalJSONmethod to preserve the original struct field order, ensuring consistent output for downstream tools.Impact Assessment
This change has a limited impact surface.
naabu(fix(output): ensure-eofcompletely omit fields from JSON output naabu#1546): No code changes are required. The existing implementation works seamlessly with the new return type.katana(feat(output): Add-eofand-lofflags for JSON output filtering katana#1390): Requires a minor update: standard map operations are replaced with the correspondingOrderedMapmethods (e.g.,m["key"]→m.Get("key")).Overall, the modification makes the utility more robust while minimizing adjustments in dependent projects.