protected override void ProcessRecord() { base.ProcessRecord(); Dictionary <string, object> inputObject = TypeConversion.PSObjectToDict(InputObject); Dictionary <string, object> outputObject = Mapping.GetRow(inputObject); WriteObject(TypeConversion.DictToPSObject(outputObject)); }
protected override void EndProcessing() { base.EndProcessing(); Dictionary <string, object> output = parser.ReadEnd(); if (output != null) { WriteObject(TypeConversion.DictToPSObject(output)); } }
protected override void ProcessRecord() { base.ProcessRecord(); Dictionary <string, object> output = parser.ReadLine(inputString); if (output != null) { WriteObject(TypeConversion.DictToPSObject(output)); } }
protected override void ProcessRecord() { base.ProcessRecord(); if (!parallel) { string line; if (psEncoding == FileSystemCmdletProviderEncoding.Default) { reader = new StreamReader(stream, true); } else { reader = new StreamReader(stream, CmdletEncoding.Convert(psEncoding)); } while ((line = reader.ReadLine()) != null) { Dictionary <string, object> output = parser.ReadLine(line); if (output != null) { WriteObject(TypeConversion.DictToPSObject(output)); } } } else { ConcurrentQueue <PSObject> outputQueue = new ConcurrentQueue <PSObject>(); Task processingTask = Task.Factory.StartNew(() => System.Threading.Tasks.Parallel.ForEach(ParseIDX.splitIDX(stream, CmdletEncoding.Convert(psEncoding)), (byte[] docBytes) => { string doc = CmdletEncoding.Convert(psEncoding).GetString(docBytes); Dictionary <string, object> parsed = ParseIDX.ParseBlock(doc); outputQueue.Enqueue(TypeConversion.DictToPSObject(parsed)); }) ); while (!processingTask.IsCompleted || !outputQueue.IsEmpty) { if (outputQueue.TryDequeue(out PSObject output)) { WriteObject(output); } else { System.Threading.Thread.Yield(); } } } }
protected override void ProcessRecord() { base.ProcessRecord(); if (header == null && first) { parser.ReadHeader(InputString); first = false; } else { try { Dictionary <string, object> output = parser.ReadLine(InputString); WriteObject(TypeConversion.DictToPSObject(output)); } catch (InvalidDataException err) { WriteWarning(err.Message); } } }
protected override void ProcessRecord() { base.ProcessRecord(); while (currentLine != null) { try { Dictionary <string, object> output = parser.ReadLine(currentLine); if (Mapping != null) { output = Mapping.GetRow(output); } WriteObject(TypeConversion.DictToPSObject(output)); } catch (InvalidDataException err) { WriteWarning(err.Message); } currentLine = reader.ReadLine(); } }