/* 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