*<Null safety>*
int compareAsciiLowerCase (String a, String b)
int compareAsciiLowerCase(String a, String b) { var defaultResult = 0; for (var i = 0; i < a.length; i++) { if (i >= b.length) return 1; var aChar = a.codeUnitAt(i); var bChar = b.codeUnitAt(i); if (aChar == bChar) continue; var aLowerCase = aChar; var bLowerCase = bChar; // Upper case if ASCII letters. if (_upperCaseA <= bChar && bChar <= _upperCaseZ) { bLowerCase += _asciiCaseBit; } if (_upperCaseA <= aChar && aChar <= _upperCaseZ) { aLowerCase += _asciiCaseBit; } if (aLowerCase != bLowerCase) return (aLowerCase - bLowerCase).sign; if (defaultResult == 0) defaultResult = aChar - bChar; } if (b.length > a.length) return -1; return defaultResult.sign; }