protected override IStream <TIn> CreateOutputStream(SelectSectionArgs <TIn> args) { IPushObservable <TIn> obs; if (args.InitialState == null) { if (args.SwitchToIgnore == null) { obs = args.Stream.Observable.FilterSection(args.SwitchToKeep); } else { obs = args.Stream.Observable.FilterSection(args.SwitchToKeep, args.SwitchToIgnore); } } else { if (args.SwitchToIgnore == null) { obs = args.Stream.Observable.FilterSection(args.InitialState.Value, args.SwitchToKeep); } else { obs = args.Stream.Observable.FilterSection(args.InitialState.Value, args.SwitchToKeep, args.SwitchToIgnore); } } return(base.CreateUnsortedStream(obs)); }
public SelectSectionStreamNode(string name, SelectSectionArgs <TIn> args) : base(name, args) { }