This commit is contained in:
53
packages/csharp/src/Kreuzberg/ExtractionMethod.cs
generated
Normal file
53
packages/csharp/src/Kreuzberg/ExtractionMethod.cs
generated
Normal file
@@ -0,0 +1,53 @@
|
||||
// This file is auto-generated by alef. DO NOT EDIT.
|
||||
// alef:hash:4e15143f4af1ae8bafbdb1506ef057da924484c66a19483966333558ad437e75
|
||||
#nullable enable
|
||||
|
||||
using System;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Kreuzberg;
|
||||
/// <summary>
|
||||
/// How the extracted text was produced.
|
||||
/// </summary>
|
||||
[JsonConverter(typeof(ExtractionMethodJsonConverter))]
|
||||
public enum ExtractionMethod
|
||||
{
|
||||
[JsonPropertyName("native")]
|
||||
Native,
|
||||
[JsonPropertyName("ocr")]
|
||||
Ocr,
|
||||
[JsonPropertyName("mixed")]
|
||||
Mixed,
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Custom JSON converter for <see cref="ExtractionMethod"/> that respects explicit variant names.
|
||||
/// </summary>
|
||||
internal sealed class ExtractionMethodJsonConverter : JsonConverter<ExtractionMethod>
|
||||
{
|
||||
public override ExtractionMethod Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
var value = reader.GetString();
|
||||
return value switch
|
||||
{
|
||||
"native" => ExtractionMethod.Native,
|
||||
"ocr" => ExtractionMethod.Ocr,
|
||||
"mixed" => ExtractionMethod.Mixed,
|
||||
_ => throw new JsonException($"Unknown ExtractionMethod value: {value}")
|
||||
};
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, ExtractionMethod value, JsonSerializerOptions options)
|
||||
{
|
||||
var str = value switch
|
||||
{
|
||||
ExtractionMethod.Native => "native",
|
||||
ExtractionMethod.Ocr => "ocr",
|
||||
ExtractionMethod.Mixed => "mixed",
|
||||
_ => throw new JsonException($"Unknown ExtractionMethod value: {value}")
|
||||
};
|
||||
writer.WriteStringValue(str);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user