in tools/Elastic.CommonSchema.Generator/Projection/ProjectionTypeExtensions.cs [28:56]
public static string GetCastFromObject(this Field field)
{
if (field.Normalize.Contains("array")) return null;
switch (field.Type)
{
case FieldType.Keyword:
case FieldType.ConstantKeyword:
case FieldType.Flattened:
case FieldType.MatchOnlyText:
case FieldType.Wildcard:
case FieldType.Text:
case FieldType.Ip:
case FieldType.GeoPoint:
return "TrySetString";
case FieldType.Boolean:
return "TrySetBool";
case FieldType.ScaledFloat:
case FieldType.Float:
return "TrySetFloat";
case FieldType.Long:
return "TrySetLong";
case FieldType.Integer:
return "TrySetInt";
case FieldType.Date:
return "TrySetDateTimeOffset";
default: return null;
}
}