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
						
					
					
				| "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";
 | |
|     }
 | |
| };
 |