UNPKG

buffer-v6-polyfill

Version:

A polyfill for older versions of node.js for the node v6 Buffer

71 lines (55 loc) 1.31 kB
# 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 ---------------- ```javascript '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"); } } ```