using System; using System.Collections.Generic; using System.IO; namespace Speckle.InterfaceGenerator; internal static class TextWriterExtensions { public static void WriteJoin(this TextWriter writer, string separator, IEnumerable values) { writer.WriteJoin(separator, values, (w, x) => w.Write(x)); } public static void WriteJoin( this TextWriter writer, string separator, IEnumerable values, Action writeAction ) { using var enumerator = values.GetEnumerator(); if (!enumerator.MoveNext()) { return; } writeAction(writer, enumerator.Current); if (!enumerator.MoveNext()) { return; } do { writer.Write(separator); writeAction(writer, enumerator.Current); } while (enumerator.MoveNext()); } }