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.
		
		
		
		
		
			
		
			
				
					58 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.8 KiB
			| 
											2 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | module.exports = { | ||
|  |     /** | ||
|  |      * True if this is running in Nodejs, will be undefined in a browser. | ||
|  |      * In a browser, browserify won't include this file and the whole module | ||
|  |      * will be resolved an empty object. | ||
|  |      */ | ||
|  |     isNode : typeof Buffer !== "undefined", | ||
|  |     /** | ||
|  |      * Create a new nodejs Buffer from an existing content. | ||
|  |      * @param {Object} data the data to pass to the constructor. | ||
|  |      * @param {String} encoding the encoding to use. | ||
|  |      * @return {Buffer} a new Buffer. | ||
|  |      */ | ||
|  |     newBufferFrom: function(data, encoding) { | ||
|  |         if (Buffer.from && Buffer.from !== Uint8Array.from) { | ||
|  |             return Buffer.from(data, encoding); | ||
|  |         } else { | ||
|  |             if (typeof data === "number") { | ||
|  |                 // Safeguard for old Node.js versions. On newer versions,
 | ||
|  |                 // Buffer.from(number) / Buffer(number, encoding) already throw.
 | ||
|  |                 throw new Error("The \"data\" argument must not be a number"); | ||
|  |             } | ||
|  |             return new Buffer(data, encoding); | ||
|  |         } | ||
|  |     }, | ||
|  |     /** | ||
|  |      * Create a new nodejs Buffer with the specified size. | ||
|  |      * @param {Integer} size the size of the buffer. | ||
|  |      * @return {Buffer} a new Buffer. | ||
|  |      */ | ||
|  |     allocBuffer: function (size) { | ||
|  |         if (Buffer.alloc) { | ||
|  |             return Buffer.alloc(size); | ||
|  |         } else { | ||
|  |             var buf = new Buffer(size); | ||
|  |             buf.fill(0); | ||
|  |             return buf; | ||
|  |         } | ||
|  |     }, | ||
|  |     /** | ||
|  |      * Find out if an object is a Buffer. | ||
|  |      * @param {Object} b the object to test. | ||
|  |      * @return {Boolean} true if the object is a Buffer, false otherwise. | ||
|  |      */ | ||
|  |     isBuffer : function(b){ | ||
|  |         return Buffer.isBuffer(b); | ||
|  |     }, | ||
|  | 
 | ||
|  |     isStream : function (obj) { | ||
|  |         return obj && | ||
|  |             typeof obj.on === "function" && | ||
|  |             typeof obj.pause === "function" && | ||
|  |             typeof obj.resume === "function"; | ||
|  |     } | ||
|  | }; |