buffer: buf.write(string, offset) with negative offset

All other Node.js Buffer methods either support negative offsets or throw errors for all negative integers stating that offset must be >= 0.

However, buf.write(string, offset) does not check if an offset is negative, but just converts it to uint32:

This may cause some slightly confusing effects:

  1. If -offset is > -buffer.constants.MAX_LENGTH, this produces not so clear error:
'use strict';

const buf = Buffer.alloc(10);

try {
  const len = buf.write('a', -1);
  console.log(buf.indexOf('a'));
} catch (err) {
  console.error(err.toString());
}

// Prints: RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to write outside buffer bounds
  1. If -offset is < -buffer.constants.MAX_LENGTH, string can be written in an unexpected place:
'use strict';

const buf = Buffer.alloc(10);

try {
  const len = buf.write('a', -4294967296);
  console.log(buf.indexOf('a'));
} catch (err) {
  console.error(err);
}

// Prints: 0

So should the method check the sign before the converting?