schemaFromName function
BcsType
schemaFromName(
- String name
)
Implementation
BcsType schemaFromName(String name) {
switch (name) {
case 'u8': return MgoBcs.U8;
case 'u16': return MgoBcs.U16;
case 'u32': return MgoBcs.U32;
case 'u64': return MgoBcs.U64;
case 'u128': return MgoBcs.U128;
case 'u256': return MgoBcs.U256;
case 'bool': return MgoBcs.BOOL;
case 'string': return MgoBcs.STRING;
case 'id':
case 'address': return MgoBcs.Address;
}
final generic = RegExp(r'^(vector|option)<(.+)>$').firstMatch(name);
if (generic != null) {
final kind = generic.group(1);
final inner = generic.group(2)!;
if (kind == 'vector') {
return Bcs.vector(schemaFromName(inner));
} else {
return Bcs.option(schemaFromName(inner));
}
}
throw ArgumentError('Invalid Pure type name: $name');
}