buffer-to-arraybuffer.js 990 B

12345678910111213141516171819202122232425262728293031
  1. (function(root) {
  2. var isArrayBufferSupported = (new Buffer(0)).buffer instanceof ArrayBuffer;
  3. var bufferToArrayBuffer = isArrayBufferSupported ? bufferToArrayBufferSlice : bufferToArrayBufferCycle;
  4. function bufferToArrayBufferSlice(buffer) {
  5. return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
  6. }
  7. function bufferToArrayBufferCycle(buffer) {
  8. var ab = new ArrayBuffer(buffer.length);
  9. var view = new Uint8Array(ab);
  10. for (var i = 0; i < buffer.length; ++i) {
  11. view[i] = buffer[i];
  12. }
  13. return ab;
  14. }
  15. if (typeof exports !== 'undefined') {
  16. if (typeof module !== 'undefined' && module.exports) {
  17. exports = module.exports = bufferToArrayBuffer;
  18. }
  19. exports.bufferToArrayBuffer = bufferToArrayBuffer;
  20. } else if (typeof define === 'function' && define.amd) {
  21. define([], function() {
  22. return bufferToArrayBuffer;
  23. });
  24. } else {
  25. root.bufferToArrayBuffer = bufferToArrayBuffer;
  26. }
  27. })(this);