| var bufferFill = require('buffer-fill') | |
| var allocUnsafe = require('buffer-alloc-unsafe') | |
| module.exports = function alloc (size, fill, encoding) { | |
| if (typeof size !== 'number') { | |
| throw new TypeError('"size" argument must be a number') | |
| } | |
| if (size < 0) { | |
| throw new RangeError('"size" argument must not be negative') | |
| } | |
| if (Buffer.alloc) { | |
| return Buffer.alloc(size, fill, encoding) | |
| } | |
| var buffer = allocUnsafe(size) | |
| if (size === 0) { | |
| return buffer | |
| } | |
| if (fill === undefined) { | |
| return bufferFill(buffer, 0) | |
| } | |
| if (typeof encoding !== 'string') { | |
| encoding = undefined | |
| } | |
| return bufferFill(buffer, fill, encoding) | |
| } |