66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */ | ||
|  | /* eslint-disable node/no-deprecated-api */ | ||
|  | var buffer = require('buffer') | ||
|  | var Buffer = buffer.Buffer | ||
|  | 
 | ||
|  | // alternative to using Object.keys for old browsers
 | ||
|  | function copyProps (src, dst) { | ||
|  |   for (var key in src) { | ||
|  |     dst[key] = src[key] | ||
|  |   } | ||
|  | } | ||
|  | if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { | ||
|  |   module.exports = buffer | ||
|  | } else { | ||
|  |   // Copy properties from require('buffer')
 | ||
|  |   copyProps(buffer, exports) | ||
|  |   exports.Buffer = SafeBuffer | ||
|  | } | ||
|  | 
 | ||
|  | function SafeBuffer (arg, encodingOrOffset, length) { | ||
|  |   return Buffer(arg, encodingOrOffset, length) | ||
|  | } | ||
|  | 
 | ||
|  | SafeBuffer.prototype = Object.create(Buffer.prototype) | ||
|  | 
 | ||
|  | // Copy static methods from Buffer
 | ||
|  | copyProps(Buffer, SafeBuffer) | ||
|  | 
 | ||
|  | SafeBuffer.from = function (arg, encodingOrOffset, length) { | ||
|  |   if (typeof arg === 'number') { | ||
|  |     throw new TypeError('Argument must not be a number') | ||
|  |   } | ||
|  |   return Buffer(arg, encodingOrOffset, length) | ||
|  | } | ||
|  | 
 | ||
|  | SafeBuffer.alloc = function (size, fill, encoding) { | ||
|  |   if (typeof size !== 'number') { | ||
|  |     throw new TypeError('Argument must be a number') | ||
|  |   } | ||
|  |   var buf = Buffer(size) | ||
|  |   if (fill !== undefined) { | ||
|  |     if (typeof encoding === 'string') { | ||
|  |       buf.fill(fill, encoding) | ||
|  |     } else { | ||
|  |       buf.fill(fill) | ||
|  |     } | ||
|  |   } else { | ||
|  |     buf.fill(0) | ||
|  |   } | ||
|  |   return buf | ||
|  | } | ||
|  | 
 | ||
|  | SafeBuffer.allocUnsafe = function (size) { | ||
|  |   if (typeof size !== 'number') { | ||
|  |     throw new TypeError('Argument must be a number') | ||
|  |   } | ||
|  |   return Buffer(size) | ||
|  | } | ||
|  | 
 | ||
|  | SafeBuffer.allocUnsafeSlow = function (size) { | ||
|  |   if (typeof size !== 'number') { | ||
|  |     throw new TypeError('Argument must be a number') | ||
|  |   } | ||
|  |   return buffer.SlowBuffer(size) | ||
|  | } |