| 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) |
| } |