Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the Multi select and skip groups #408

Merged
merged 3 commits into from
Jan 4, 2021
Merged

Implement the Multi select and skip groups #408

merged 3 commits into from
Jan 4, 2021

Conversation

cescoffier
Copy link
Contributor

  • Implementation of the select and skip groups
  • Improve subscription ceremony in the case of a Strict subscriber or a built-in operator

@codecov
Copy link

codecov bot commented Dec 26, 2020

Codecov Report

Merging #408 (c3db8c5) into master (0998863) will increase coverage by 0.30%.
The diff coverage is 96.61%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #408      +/-   ##
============================================
+ Coverage     89.74%   90.05%   +0.30%     
- Complexity     2742     2769      +27     
============================================
  Files           363      364       +1     
  Lines         10526    10556      +30     
  Branches       1299     1302       +3     
============================================
+ Hits           9447     9506      +59     
+ Misses          564      549      -15     
+ Partials        515      501      -14     
Impacted Files Coverage Δ Complexity Δ
...smallrye/mutiny/helpers/test/AssertSubscriber.java 97.43% <ø> (ø) 30.00 <0.00> (ø)
.../mutiny/operators/multi/AbstractMultiOperator.java 100.00% <ø> (+25.00%) 1.00 <0.00> (ø)
...mutiny/operators/multi/MultiOperatorProcessor.java 89.74% <0.00%> (-2.37%) 17.00 <0.00> (ø)
.../operators/multi/MultiSelectFirstUntilOtherOp.java 90.00% <ø> (ø) 2.00 <0.00> (?)
.../mutiny/operators/multi/MultiSkipUntilOtherOp.java 91.11% <ø> (ø) 2.00 <0.00> (?)
...java/io/smallrye/mutiny/groups/MultiTransform.java 92.30% <83.33%> (-7.70%) 14.00 <10.00> (-5.00)
...va/io/smallrye/mutiny/operators/AbstractMulti.java 97.05% <88.88%> (-2.95%) 28.00 <5.00> (+4.00) ⬇️
...tation/src/main/java/io/smallrye/mutiny/Multi.java 94.44% <100.00%> (ø) 16.00 <1.00> (ø)
...in/java/io/smallrye/mutiny/groups/MultiSelect.java 100.00% <100.00%> (ø) 15.00 <15.00> (?)
...main/java/io/smallrye/mutiny/groups/MultiSkip.java 100.00% <100.00%> (ø) 14.00 <14.00> (?)
... and 30 more

@cescoffier cescoffier requested a review from jponge December 26, 2020 17:38
@cescoffier cescoffier linked an issue Dec 31, 2020 that may be closed by this pull request
Copy link
Member

@jponge jponge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, clear APIs 👍

I added a note for a relevant portion of code not being tested, the rest looks good.

* @param duration the duration, must not be {@code null}, must be strictly positive.
* @return the resulting {@link Multi}
*/
public Multi<T> first(Duration duration) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our friend codecov says it's not been tested

* Migrate most of the MultiTransform group method to the select and skip groups.
* Deprecate the MultiTransform group
* Update documentation
* Justify the breaking change (because the new groups are exposed in the API)
@jponge jponge merged commit eccd9a9 into master Jan 4, 2021
@jponge jponge deleted the select branch January 4, 2021 15:53
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.

Multi select / skip group
2 participants