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.
This PR is a naive attempt to implement the missing
min_by
andmax_by
filters. I'm unsure about the part onrun_if_ok
and checking whether an error happened after reduction, but in the end I decided to imitate thesort_by
andgroup_by
functions on that, since I'm not very sure about how things work in the library, generally.I was in doubt about sending the PR because this seems like a pair of functions that could have been implemented directly in
std.jq
using a map-reduce approach, but having tried that and benchmarked against gojq, I saw that it had to be provided from Rust to be comparable. In the end, and since I don't have much of a clue on how to make these things fast, I "ported" my jq implementation to Rust 😅.Hopefully this is useful.