private Task <LineProcessorResults> ProcessAsync(LineProcessor processor) { var observer = new LineEventHandler(); processor.Process(observer); return(observer.Task); }
private LineProcessorResults DoImport(string importData, params Func <IDictionary <string, string>, object>[] outputFunctions) { Spec.Output.Fields = outputFunctions.Select((f, i) => new OutputField(i.ToColumnRef(), f)).ToList(); var importer = new Importer(Spec); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(importData))) { var listener = new LineEventHandler(); importer.Import(stream, listener); return(listener.Task.Result); } }