CombineCommunity / CombineExt

CombineExt provides a collection of operators, publishers and utilities for Combine, that are not provided by Apple themselves, but are common in other Reactive Frameworks and standards.
https://combine.community
MIT License
1.72k stars 151 forks source link

Add `RetryWhen` operator. #101

Closed danielt1263 closed 2 years ago

danielt1263 commented 3 years ago

New pull request created as requested.

danielt1263 commented 2 years ago

I noticed the available checks were missing. I added them.

kvaljeva commented 2 years ago

@freak4pc are there any plans to merge this? I've noticed that there was an ongoing discussion where a separate PR was requested, but this ended up hanging about and being stale for a while.

Can we get this merged perhaps?

freak4pc commented 2 years ago

I have to be honest that I have almost no time to actively review PRs - especially more involved ones like this. I'd like to merge this but I need to find some time to get to it. Hopefully this week or the one after.

danielt1263 commented 2 years ago

Is there something that someone else can do? I was hoping that since the operator is fully self contained now and wholly additive... and even comes with unit tests, it would be relatively easy to accept. Is there something I can do to help make it easier to review?

codecov[bot] commented 2 years ago

Codecov Report

Merging #101 (8fa635b) into main (0880829) will decrease coverage by 1.85%. The diff coverage is 91.89%.

@@            Coverage Diff             @@
##             main     #101      +/-   ##
==========================================
- Coverage   97.12%   95.27%   -1.86%     
==========================================
  Files          62       64       +2     
  Lines        3338     3470     +132     
==========================================
+ Hits         3242     3306      +64     
- Misses         96      164      +68     
Impacted Files Coverage Δ
Sources/Operators/RetryWhen.swift 90.00% <90.00%> (ø)
Tests/RetryWhenTests.swift 92.95% <92.95%> (ø)
Sources/Convenience/Optional.swift 0.00% <0.00%> (-100.00%) :arrow_down:
Sources/Operators/SetOutputType.swift 50.00% <0.00%> (-50.00%) :arrow_down:
Sources/Operators/IgnoreOutputSetOutputType.swift 50.00% <0.00%> (-50.00%) :arrow_down:
Tests/OptionalTests.swift 94.44% <0.00%> (-5.56%) :arrow_down:
Sources/Models/Event.swift 47.36% <0.00%> (-5.27%) :arrow_down:
Tests/FlatMapBatchesTests.swift 95.34% <0.00%> (-4.66%) :arrow_down:
Tests/PrefixDurationTests.swift 95.34% <0.00%> (-4.66%) :arrow_down:
Sources/Common/DemandBuffer.swift 96.15% <0.00%> (-3.85%) :arrow_down:
... and 20 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0880829...8fa635b. Read the comment docs.