public static IStream <TOut> CrossApplyFtpFiles <TOut>(this IStream <string> stream, string name, ISingleStream <FtpConnectionInfo> connectionInfoS, Func <FtpFilesValue, string, FtpConnectionInfo, TOut> selector, bool noParallelisation = false) { var valuesProvider = new FtpFilesValuesProvider(); return(stream.CrossApply <string, FtpConnectionInfo, FtpFilesValuesProviderArgs, FtpFilesValue, TOut>(name, connectionInfoS, valuesProvider.PushValues, (i, j) => new FtpFilesValuesProviderArgs { Path = i }, selector, noParallelisation)); }
public static IStream <FtpFilesValue> CrossApplyFtpFiles <TIn>(this IStream <TIn> stream, string name, ISingleStream <FtpConnectionInfo> connectionInfoS, Func <TIn, string> getFolderPath, bool noParallelisation = false) { var valuesProvider = new FtpFilesValuesProvider(); return(stream.CrossApply <TIn, FtpConnectionInfo, FtpFilesValuesProviderArgs, FtpFilesValue, FtpFilesValue>(name, connectionInfoS, valuesProvider.PushValues, (i, j) => new FtpFilesValuesProviderArgs { Path = getFolderPath(i) }, (i, j, k) => i, noParallelisation)); }