INNER CODE UNIT · C#

OptionalStrings

axmolengine/axmol · tools/bindings-generator/src/BatchGeneration.cs:301

    private static IReadOnlyList<string> OptionalStrings(JsonElement root, string name) =>
        root.TryGetProperty(name, out var value) ? ReadStrings(value, name, false) : Array.Empty<string>();

    private static IReadOnlyList<string> OptionalStringOrStrings(JsonElement root, string name)
    {
        if (!root.TryGetProperty(name, out var value) || value.ValueKind == JsonValueKind.Null)
            return Array.Empty<string>();
        if (value.ValueKind == JsonValueKind.String)
            return new[] { value.GetString()! };
        return ReadStrings(value, name, false);
    }

    private static IReadOnlyList<string> ReadStrings(JsonElement value, string name, bool required)
    {
        if (value.ValueKind != JsonValueKind.Array)
            throw new InvalidDataException($"'{name}' must be an array of strings.");
        var result = value.EnumerateArray().Select(x =>
        {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…