You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
664 B
32 lines
664 B
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) |
|
}
|
|
|