/// <summary> /// Begins configuration of a new EtlPipeline /// </summary> /// <typeparam name="T">Type of input objects to the pipeline</typeparam> /// <param name="input">An async enumerable with input objects for the pipeline</param> /// <returns>Object for continuation of pipeline configuration</returns> public static IEtlPipelineStep <T, T> StartWith <T>(IAsyncEnumerable <T> input) { var pipeline = new EtlPipeline(); var etlPipelineSetupContext = new EtlPipelineContext(pipeline, s => pipeline.AddStep(s)); var step = new AsyncStartEtlPipelineStep <T>(etlPipelineSetupContext, input); etlPipelineSetupContext.AddStep(step); return(step); }