describeEnum function

String describeEnum(
  1. Object enumEntry
)

Returns a short description of an enum value.

Strips off the enum class name from the enumEntry.toString().

{@tool snippet}

enum EthChain {
  mainnet, ropsten, kovan, rinkeby, homestead
}

void validateDescribeEnum() {
  assert(EthChain.ropsten.toString() == 'EthChain.ropsten');
  assert(describeEnum(EthChain.ropsten) == 'ropsten');
}

{@end-tool}

Implementation

String describeEnum(Object enumEntry) {
  final description = enumEntry.toString();
  final indexOfDot = description.indexOf('.');

  assert(
    indexOfDot != -1 && indexOfDot < description.length - 1,
    'The provided object "$enumEntry" is not an enum.',
  );

  return description.substring(indexOfDot + 1);
}