Generated the JSON contracts of the stored data at compile time (#1148)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2026-11-02 18:23:19 +01:00
1 parent fc7399e81b
commit e954881fda
75 files changed
+5437 -298

No files matched your search

@@ -0,0 +1,21 @@
using System.Text.Json;
namespace AIStudio.Tools;
public static class JsonSerializerOptionsExtensions
{
/// <summary>
/// Makes the options read-only and returns them, so that a static field gets its options in one expression.
/// </summary>
/// <remarks>
/// Options with contracts of their own, i.e., with a TypeInfoResolver, should never change after they were
/// declared: whoever used them before such a change would have read or written with other contracts.
/// </remarks>
/// <param name="options">The options, with their TypeInfoResolver set.</param>
/// <returns>The same options, now read-only.</returns>
public static JsonSerializerOptions AsReadOnly(this JsonSerializerOptions options)
{
options.MakeReadOnly();
return options;
}
}