/* eslint-disable node/no-deprecated-api */ 'use strict'; var buffer = require('buffer'); var Buffer = buffer.Buffer; var safer = require('./safer.js'); var Safer = safer.Buffer; var dangerous = {}; var key; for (key in safer) { if (!safer.hasOwnProperty(key)) continue; dangerous[key] = safer[key]; } var Dangereous = (dangerous.Buffer = {}); // Copy Safer API for (key in Safer) { if (!Safer.hasOwnProperty(key)) continue; Dangereous[key] = Safer[key]; } // Copy those missing unsafe methods, if they are present for (key in Buffer) { if (!Buffer.hasOwnProperty(key)) continue; if (Dangereous.hasOwnProperty(key)) continue; Dangereous[key] = Buffer[key]; } if (!Dangereous.allocUnsafe) { Dangereous.allocUnsafe = function (size) { if (typeof size !== 'number') { throw new TypeError( 'The "size" argument must be of type number. Received type ' + typeof size ); } if (size < 0 || size >= 2 * (1 << 30)) { throw new RangeError( 'The value "' + size + '" is invalid for option "size"' ); } return Buffer(size); }; } if (!Dangereous.allocUnsafeSlow) { Dangereous.allocUnsafeSlow = function (size) { if (typeof size !== 'number') { throw new TypeError( 'The "size" argument must be of type number. Received type ' + typeof size ); } if (size < 0 || size >= 2 * (1 << 30)) { throw new RangeError( 'The value "' + size + '" is invalid for option "size"' ); } return buffer.SlowBuffer(size); }; } module.exports = dangerous;