leodutra
12/21/2015 - 10:40 PM

Node.js Buffer -> ArrayBuffer -> Buffer conversion / cloning functions

Node.js Buffer -> ArrayBuffer -> Buffer conversion / cloning functions

function toArrayBuffer(buffer) {
  const ab = new ArrayBuffer(buffer.length);
  const view = new Uint8Array(ab);
  for (var i = 0, l = buffer.length; i < l; i++) {
    view[i] = buffer[i];
  }
  return ab;
}

function toBuffer(ab/*:ArrayBuffer*/) {
  return new Buffer( new Uint8Array(ab) );
  /*const buffer = new Buffer(ab.byteLength);
  const view = new Uint8Array(ab);
  for (var i = 0, l = buffer.length; i < l; i++) {
    buffer[i] = view[i];
  }
  return buffer;*/
}

module.exports =  {
  toArrayBuffer: toArrayBuffer,
  toBuffer: toBuffer
};