refactor: simplify export metadata construction

This commit is contained in:
Gary Sharp
2025-02-07 16:10:15 +11:00
parent 67f1c2a5d1
commit 2fce645066
30 changed files with 1432 additions and 1484 deletions
@@ -0,0 +1,20 @@
using System;
namespace Disco.Models.Exporting
{
public class ExportMetadataField<T> where T : IExportRecord
{
public string ColumnName { get; }
public Type ValueType { get; }
public Func<T, object> Accessor { get; }
public Func<object, string> CsvEncoder { get; }
public ExportMetadataField(string columnName, Type valueType, Func<T, object> accessor, Func<object, string> csvEncoder)
{
ColumnName = columnName;
ValueType = valueType;
Accessor = accessor;
CsvEncoder = csvEncoder;
}
}
}