normalizedTypeToMoveTypeSignatureBody function
Implementation
dynamic normalizedTypeToMoveTypeSignatureBody(SuiMoveNormalizedType type) {
if (type is String) {
switch (type) {
case 'Address':
return 'address';
case 'Bool':
return 'bool';
case 'U8':
return 'u8';
case 'U16':
return 'u16';
case 'U32':
return 'u32';
case 'U64':
return 'u64';
case 'U128':
return 'u128';
case 'U256':
return 'u256';
default:
throw ArgumentError("Unexpected type $type");
}
}
if (type['Vector'] != null) {
return {"vector": normalizedTypeToMoveTypeSignatureBody(type["Vector"])};
}
if (type['Struct'] != null) {
return {
"datatype": {
"package": type["Struct"]["address"],
"module": type["Struct"]["module"],
"type": type["Struct"]["name"],
"typeParameters": type["Struct"]["typeArguments"].map(
normalizedTypeToMoveTypeSignatureBody,
),
},
};
}
if (type['TypeParameter'] != null) {
return {"typeParameter": type["TypeParameter"]};
}
throw ArgumentError("Unexpected type $type");
}