tagToString static method
String
tagToString(
- dynamic tag
)
Implementation
static String tagToString(TypeTag tag) {
final data = tag as Map;
if (data.containsKey('bool')) {
return 'bool';
}
if (data.containsKey('u8')) {
return 'u8';
}
if (data.containsKey('u16')) {
return 'u16';
}
if (data.containsKey('u32')) {
return 'u32';
}
if (data.containsKey('u64')) {
return 'u64';
}
if (data.containsKey('u128')) {
return 'u128';
}
if (data.containsKey('u256')) {
return 'u256';
}
if (data.containsKey('address')) {
return 'address';
}
if (data.containsKey('signer')) {
return 'signer';
}
if (data.containsKey('vector')) {
return "vector<${TypeTagSerializer.tagToString(data["vector"])}>";
}
if (data.containsKey('struct')) {
final struct = tag["struct"];
final typeParams = struct["typeParams"]
.map(TypeTagSerializer.tagToString)
.join(', ');
return "${struct["address"]}::${struct["module"]}::${struct["name"]}${
typeParams != null && typeParams.toString().isNotEmpty ? "<$typeParams>" : ''
}";
}
throw ArgumentError('Invalid TypeTag');
}