using ReportGeneration.Abstract;
using ReportGeneration.Interface;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace ReportGeneration.Generators;
internal class MarkdownTableGenerator : TableGeneratorBase
{
private const string ColumnSeparator = " | ";
///
public MarkdownTableGenerator(int columns)
: base(columns) { }
///
public MarkdownTableGenerator(int columns, Stream stream)
: base(columns, stream) { }
///
public MarkdownTableGenerator(int columns, Stream stream, Encoding encoding)
: base(columns, stream, encoding) { }
///
public override ITableGenerator AppendHeader(IEnumerable row) =>
this
.AppendRow(row)
.AppendRow("---");
///
public override ITableGenerator AppendRow(IEnumerable row)
{
Writer.WriteLine(ColumnSeparator + string.Join(" | ", row) + ColumnSeparator);
return this;
}
}