decodeVersionInformation static method

UQrVersion? decodeVersionInformation(
  1. int versionBits
)

Implementation

static UQrVersion? decodeVersionInformation(int versionBits) {
  int bestDifference = 1 << 30;
  int bestVersion = 0;
  for (int i = 0; i < _versionDecodeInfo.length; i++) {
    final int target = _versionDecodeInfo[i];
    if (target == versionBits) return forNumber(i + 7);
    final int difference = _bitDifference(versionBits, target);
    if (difference < bestDifference) {
      bestVersion = i + 7;
      bestDifference = difference;
    }
  }
  if (bestDifference <= 3) return forNumber(bestVersion);
  return null;
}