in src/PSDocs/Commands/TableCommand.cs [67:96]
private void BuildReader()
{
_Reader = new PropertyReader();
if (Property == null || Property.Length == 0)
return;
for (var i = 0; i < Property.Length; i++)
{
if (Property[i] is Hashtable propertyExpression)
{
_TableBuilder.Header(propertyExpression);
if (propertyExpression["Expression"] is ScriptBlock expression)
{
var propertyName = GetPropertyName(propertyExpression);
_Reader.Add(propertyName, (PSObject value) => ReadPropertyByExpression(value, expression));
}
else
{
var propertyName = propertyExpression["Expression"].ToString();
_Reader.Add(propertyName, (PSObject value) => ReadPropertyByName(value, propertyName));
}
}
else
{
var propertyName = Property[i].ToString();
_TableBuilder.Header(propertyName);
_Reader.Add(propertyName, (PSObject value) => ReadPropertyByName(value, propertyName));
}
}
}