buffer-converter
Version:
Convert node Buffers to ArrayBuffers and vice versa
40 lines (37 loc) • 1.16 kB
JavaScript
// Generated by CoffeeScript 1.9.1
(function() {
module.exports.toArrayBuffer = function(buffer) {
var arrayBuffer, index, view;
if (Buffer && Buffer.isBuffer(buffer)) {
arrayBuffer = new ArrayBuffer(buffer.length);
view = new Uint8Array(arrayBuffer);
index = 0;
while (index < buffer.length) {
view[index] = buffer[index];
index++;
}
return arrayBuffer;
} else if (buffer instanceof ArrayBuffer) {
return buffer;
} else {
throw new Error("Can not convert " + (typeof buffer) + " to ArrayBuffer!");
}
};
module.exports.toBuffer = function(arrayBuffer) {
var buffer, index, view;
if (arrayBuffer instanceof ArrayBuffer) {
buffer = new Buffer(arrayBuffer.byteLength);
view = new Uint8Array(arrayBuffer);
index = 0;
while (index < buffer.length) {
buffer[index] = view[index];
index++;
}
return buffer;
} else if (Buffer && Buffer.isBuffer(arrayBuffer)) {
return arrayBuffer;
} else {
throw new Error("Can not convert " + (typeof arrayBuffer) + " to Buffer!");
}
};
}).call(this);