buffer-v6-polyfill

1.0.5 • Public • Published

node-buffer-v6-shim

A shim for older versions of node < v6 for methods such as allow(), from(), etc

Install

# Latest v1.x
npm install --save git+https://git.daplie.com/Daplie/node-buffer-v6-shim.git#v1

# Whatever happens to be in npm
npm install --save buffer-v6-shim

Usage

'use strict';

require('buffer-v6-polyfill');

// all your codez ...

Show me the Code

'use strict';
 
if (Number(process.version.match(/^v(\d+\.\d+)/)[1]) >= 6.0) {
  return;
}
 
function newBuffer(data, encoding, len) {
  return new Buffer(data, encoding, len);
}
 
function newSlowBuffer(data, encoding, len) {
  var SlowBuffer = require('buffer').SlowBuffer;
  return new SlowBuffer(data, encoding, len);
}
 
if (!Buffer.alloc) {
  Buffer.alloc = newBuffer;
}
if (!Buffer.allocUnsafe) {
  Buffer.allocUnsafe = newBuffer;
}
if (!Buffer.allocUnsafeSlow) {
  Buffer.allocUnsafeSlow = newSlowBuffer;
}
if (!Buffer.from) {
  Buffer.from = newBuffer;
}
 
try {
  Buffer.from('1337', 'hex');
} catch(e) {
  // wish I could do something here to fix the broken Buffer.from
  try {
    Buffer.from = newBuffer;
  } catch(e) {
    // but alas, I cannot
    console.warn("Your node version has buggy Buffer.from support. Please update to node >= v4.5 or >= v6.3");
  }
}

Package Sidebar

Install

npm i buffer-v6-polyfill

Weekly Downloads

203

Version

1.0.5

License

(MIT OR Apache-2.0)

Last publish

Collaborators

  • coolaj86