function _parseInteger()

in tools/PasswordRulesParser.js [474:498]


function _parseInteger(input, position)
{
    console.assert(position >= 0);
    console.assert(position < input.length);

    if (!_isASCIIDigit(input[position])) {
        console.error("Failed to parse value of type integer; not a number: " + input.substr(position));
        return [null, position];
    }

    let length = input.length;
    let initialPosition = position;
    let result = 0;
    do {
        result = 10 * result + parseInt(input[position], 10);
        ++position;
    } while (position < length && input[position] !== PROPERTY_SEPARATOR && _isASCIIDigit(input[position]));

    if (position >= length || input[position] === PROPERTY_SEPARATOR) {
        return [result, position];
    }

    console.error("Failed to parse value of type integer; not a number: " + input.substr(initialPosition));
    return [null, position];
}