Example #1
0
        /// <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);
        }