Bofa/src/Parser/AdditionalParsers.bf

43 lines
No EOL
751 B
Beef

namespace Bofa.Parser;
using System;
class AdditionalParsers
{
public static Result<uint8[3]> ParseRGB(StringView pValue)
{
uint8[3] toReturn = .(0,0,0);
var parts = pValue.Split(' ');
int idx = 0;
for(var part in parts)
{
defer {idx = idx + 1;}
var res = uint8.Parse(part, .Hex);
if(res case .Err)
return .Err;
toReturn[idx] = res.Value;
}
return .Ok(toReturn);
}
public static Result<uint8[4]> ParseRGBA(StringView pValue)
{
uint8[4] toReturn = .(0,0,0,0);
var parts = pValue.Split(' ');
int idx = 0;
for(var part in parts)
{
defer {idx = idx + 1;}
var res = uint8.Parse(part, .HexNumber);
if(res case .Err)
return .Err;
toReturn[idx] = res.Value;
}
return .Ok(toReturn);
}
}