public static ISourceBlock <TOutput> BindDataflow <TInput, TOutput>(this ISourceBlock <TInput> input, Func <IDataflowFactory, TInput, IDataflow <TOutput> > bindFunc) { var factory = new DataflowFactory(new DataflowTypeFactory()); return(input.Select(item => bindFunc(factory, item)).TransformDataflows()); }
public override ISourceBlock <IDataflow <TOutput> > PerformOperator <TOutput>(ISourceBlock <DataflowCalculation <T, TOutput, ResultDataflow <T> > > calculationDataflows) { return(calculationDataflows .Select(dataflow => ((DataflowFactory)dataflow.Factory).CreateResultDataflow( dataflow.Operator.Results.BindDataflow((factory, item) => dataflow.Continuation(item))))); }
public override ISourceBlock <IList <T> > TransformDataFlows(ISourceBlock <ToList <T> > dataflows) { return(dataflows .Select(dataflow => dataflow.Item) .ToList()); }
public override ISourceBlock <IDataflow <TOutput> > PerformOperator <TOutput>( ISourceBlock <DataflowCalculation <T, TOutput, Return <T> > > calculationDataflows) { return(calculationDataflows.Select(dataflow => dataflow.Continuation(dataflow.Operator.Result))); }
public override ISourceBlock <T> TransformDataFlows(ISourceBlock <Return <T> > dataflows) { return(dataflows.Select(dataflow => dataflow.Result)); }
public static ISourceBlock <TResult> Cast <TResult>(this ISourceBlock <object> source) { return(source.Select(item => (TResult)item)); }
public static ISourceBlock <TOutput> SelectMany <TInput, TOutput>( this ISourceBlock <TInput> source, Func <TInput, ISourceBlock <TOutput> > selector) { return(source.Select(selector).Concat()); }