public CompositeDataLoader(IDataLoader <TSource> loader, TransformerChain <TLastTransformer> transformerChain = null) { Contracts.CheckValue(loader, nameof(loader)); Contracts.CheckValueOrNull(transformerChain); Loader = loader; Transformer = transformerChain ?? new TransformerChain <TLastTransformer>(); }
internal TransformerChain<ITransformer> GetTransformer() { var result = new TransformerChain<ITransformer>(); foreach (var transform in _transforms) { if (transform.Transform is RowToRowMapperTransform mapper) { var transformer = mapper.GetTransformer(); result = result.Append(transformer); } else { ITransformer transformer = new TransformWrapper(_host, transform.Transform); result = result.Append(transformer); } } return result; }