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

rx.reduce should yield the initial value for an empty input #61

Open
GregRos opened this issue Feb 27, 2025 · 1 comment
Open

rx.reduce should yield the initial value for an empty input #61

GregRos opened this issue Feb 27, 2025 · 1 comment

Comments

@GregRos
Copy link

GregRos commented Feb 27, 2025

Operators on observables should act the same way as similar operators on collections. That includes emulating their behaviors for edge cases.

A reduce operator with an initial value on an empty list will return the initial value, so the same should apply to rx.reduce when applied to an empty observable – one that closes before emitting a value.

This can be achieved by emitting the initial value when the observable completes if no other value has been emitted.

@erhab-jack-daw9292
Copy link

AI tried to solve the issue:

Modified reduce and reduce_async operators to handle empty observables by emitting the initial value when the observable completes without emitting any values. This matches the behavior of reduce on collections.

You can review changes in this commit: erhab-jack-daw9292@9a64c84.

Caution

Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.


Latta AI seeks to solve problems in open source projects as part of its mission to support developers around the world. Learn more about our mission at https://latta.ai/ourmission . If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.

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

No branches or pull requests

2 participants