getCurrencyMeta static method
Get the currency meta data
Implementation
static CurrencyMeta getCurrencyMeta(String castTo,
{required String value, void Function(num? value)? onChanged}) {
String defaultValue = "";
String symbol = "";
CurrencyInputFormatter? formatter;
switch (castTo) {
case "currency:gbp":
symbol = "£";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:usd":
symbol = "\$";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:vnd":
symbol = "₫";
defaultValue = value + " " + symbol;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
trailingSymbol: " " + symbol,
);
break;
case "currency:thb":
symbol = "฿";
defaultValue = value + " " + symbol;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
trailingSymbol: " " + symbol,
);
break;
case "currency:twd":
symbol = "NT\$";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:eur":
symbol = "€";
defaultValue = "$value $symbol";
formatter = CurrencyInputFormatter(
onValueChange: onChanged, trailingSymbol: " " + symbol);
break;
case "currency:myr":
symbol = "RM";
defaultValue = "$symbol $value";
formatter = CurrencyInputFormatter(
onValueChange: onChanged, leadingSymbol: symbol);
break;
case "currency:jpy":
symbol = "¥";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:aud":
symbol = "A\$";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:cny":
symbol = "¥";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:cad":
symbol = "\$";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:inr":
symbol = "₹";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:idr":
symbol = "Rp";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:sgd":
symbol = "S\$";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:zar":
symbol = "R";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
case "currency:pkr":
symbol = "Rs";
defaultValue = symbol + value;
formatter = CurrencyInputFormatter(
onValueChange: onChanged,
leadingSymbol: symbol,
);
break;
}
if (formatter == null) {
throw Exception("Currency not supported");
}
return CurrencyMeta(
symbol: symbol, formatter: formatter, initialValue: defaultValue);
}