Skip to content

v0.0.7

Choose a tag to compare

@fedeAlterio fedeAlterio released this 08 Feb 12:00
· 65 commits to main since this release

TakeUntil Operator

Added comprehensive TakeUntil operator with multiple overloads for stopping observable streams based on various signals:

  • Observable-based: Stop when another observable emits a value
  • Task-based: Stop when a task completes
  • CancellationToken: Stop when cancellation is requested
  • Predicate: Stop when a condition is met (sync and async variants)
  • Custom delegate: Integrate event-based or callback-based completion signals via CompletionObservableDelegate

TakeUntilOptions

Control error propagation behavior when signal sources fail:

  • SourceFailsWhenOtherFails = false (default) - Errors forwarded via OnErrorResumeAsync, stream can recover
  • SourceFailsWhenOtherFails = true - Stream completes with Result.Failure, terminating the observable

CompletionObservableDelegate

Advanced pattern for custom completion signals. Provides a callback to trigger termination and returns an IAsyncDisposable for cleanup, enabling integration with timers, events, and other non-observable completion mechanisms.