parse static method

int parse(
  1. dynamic number, {
  2. bool allowHex = true,
})

Parses a dynamic value number into an integer.

Implementation

static int parse(dynamic number, {bool allowHex = true}) {
  if (number is int) return number;
  if (number is BigInt) {
    if (number.isValidInt) {
      return number.toInt();
    }
  } else if (number is String) {
    int? parse = int.tryParse(number);
    if (parse == null && allowHex) {
      parse = int.tryParse(StringUtils.strip0x(number), radix: 16);
    }
    if (parse != null) return parse;
  }
  throw ArgumentException.invalidOperationArguments(
    "parse",
    name: "number",
    reason: "Failed to parse value as int.",
  );
}