public PipelineNeedsDataBuilder ForkDataFrom(IFlowPipeline flowPipeline, int forkAtStep = -1) { var stepsToTake = forkAtStep == -1 ? flowPipeline.Steps.ToList() : flowPipeline.Steps.Take(forkAtStep).ToList(); if (stepsToTake.Last() is IReturnsObject) { throw new ArgumentException("Step being forked returns an Object not Data", nameof(forkAtStep)); } return(new PipelineNeedsDataBuilder(stepsToTake)); }
public EcsRxPipelineNeedsObjectBuilder ForkObjectFrom(IFlowPipeline flowPipeline, int forkAtStep = -1) { var stepsToTake = forkAtStep == -1 ? flowPipeline.Steps.ToList() : flowPipeline.Steps.Take(forkAtStep).ToList(); if (stepsToTake.Last() is IReturnsData) { throw new ArgumentException("Step being forked returns Data not an Object", nameof(forkAtStep)); } return(new EcsRxPipelineNeedsObjectBuilder(_container, stepsToTake)); }
public static IWireTappablePipeline AsWireTappable(this IFlowPipeline pipeline) { return(new WireTappablePipeline(pipeline.Steps)); }