function writeUnsignedVarIntInto()

in varint.js [47:72]


function writeUnsignedVarIntInto(destResult, n, buffer, offset) {
    if (typeof n !== 'number' || n < 0) {
        // TODO: integer check
        return destResult.reset(errors.expected(n, 'unsigned integer'), null);
    }

    var needed = Math.ceil(countBits(n) / 7);
    var start = offset;
    var end = offset + needed;

    if (end > buffer.length) {
        var remain = buffer.length - offset;
        return WriteResult.poolShortError(destResult, needed, remain, offset);
    }

    offset = end;
    while (offset > start) {
        var b = n & 0x7f;
        n >>= 7;
        if (offset !== end) b |= 0x80;
        buffer.writeUInt8(b, --offset, true);
        if (n <= 0) break;
    }

    return destResult.reset(null, end);
}