|
@@ -4,27 +4,27 @@
|
|
|
|
|
|
namespace System.Reactive.Linq.ObservableImpl
|
|
|
{
|
|
|
- internal sealed class DefaultIfEmpty<TSource> : Producer<TSource, DefaultIfEmpty<TSource>._>
|
|
|
+ internal sealed class DefaultIfEmpty<TSource> : Producer<TSource?, DefaultIfEmpty<TSource>._>
|
|
|
{
|
|
|
private readonly IObservable<TSource> _source;
|
|
|
- private readonly TSource _defaultValue;
|
|
|
+ private readonly TSource? _defaultValue;
|
|
|
|
|
|
- public DefaultIfEmpty(IObservable<TSource> source, TSource defaultValue)
|
|
|
+ public DefaultIfEmpty(IObservable<TSource> source, TSource? defaultValue)
|
|
|
{
|
|
|
_source = source;
|
|
|
_defaultValue = defaultValue;
|
|
|
}
|
|
|
|
|
|
- protected override _ CreateSink(IObserver<TSource> observer) => new _(_defaultValue, observer);
|
|
|
+ protected override _ CreateSink(IObserver<TSource?> observer) => new _(_defaultValue, observer);
|
|
|
|
|
|
protected override void Run(_ sink) => sink.Run(_source);
|
|
|
|
|
|
- internal sealed class _ : IdentitySink<TSource>
|
|
|
+ internal sealed class _ : Sink<TSource, TSource?>
|
|
|
{
|
|
|
- private readonly TSource _defaultValue;
|
|
|
+ private readonly TSource? _defaultValue;
|
|
|
private bool _found;
|
|
|
|
|
|
- public _(TSource defaultValue, IObserver<TSource> observer)
|
|
|
+ public _(TSource? defaultValue, IObserver<TSource?> observer)
|
|
|
: base(observer)
|
|
|
{
|
|
|
_defaultValue = defaultValue;
|