parseHex static method

Uint64 parseHex(
  1. String s
)

Implementation

static Uint64 parseHex(String s) {
  var hex = s.startsWith('0x') || s.startsWith('0X') ? s.substring(2) : s;
  if (hex.isEmpty || hex.length > 16) {
    throw ArgumentException.invalidOperationArguments(
      "parseHex",
      reason: 'invalid hex literal.',
      details: {"value": s},
    );
  }
  hex = hex.padLeft(16, '0');
  try {
    final hi = int.parse(hex.substring(0, 8), radix: 16);
    final lo = int.parse(hex.substring(8, 16), radix: 16);
    return Uint64._(hi, lo);
  } on FormatException {
    throw ArgumentException.invalidOperationArguments(
      "parseHex",
      reason: 'invalid hex literal.',
      details: {"value": s},
    );
  }
}