private static ResourceProperty ToModel()

in src/dotnet/AspireWorker/AspireHost/ResourceExtensions.cs [77:109]


    private static ResourceProperty ToModel(this global::Aspire.DashboardService.Proto.V1.ResourceProperty property) =>
        new(
            property.Name,
            property.HasDisplayName ? property.DisplayName : null,
            GetStringValue(property.Value),
            property.HasIsSensitive ? property.IsSensitive : null
        );

    private static string? GetStringValue(Value value)
    {
        if (value.HasStringValue)
        {
            return value.StringValue;
        }

        if (value.HasBoolValue)
        {
            return value.BoolValue.ToString();
        }

        if (value.HasNumberValue)
        {
            return value.NumberValue.ToString(CultureInfo.InvariantCulture);
        }

        // ReSharper disable once ConvertIfStatementToReturnStatement
        if (value.HasNullValue)
        {
            return null;
        }

        return value.ToString();
    }