Spaces:
Sleeping
Sleeping
/* eslint-disable node/no-deprecated-api */ | |
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 | |