| 
									
										
										
										
											2019-07-11 16:52:31 -04:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Convert array of 16 byte values to UUID string format of the form: | 
					
						
							|  |  |  |  * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | var byteToHex = []; | 
					
						
							|  |  |  | for (var i = 0; i < 256; ++i) { | 
					
						
							|  |  |  |   byteToHex[i] = (i + 0x100).toString(16).substr(1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function bytesToUuid(buf, offset) { | 
					
						
							|  |  |  |   var i = offset || 0; | 
					
						
							|  |  |  |   var bth = byteToHex; | 
					
						
							|  |  |  |   // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
 | 
					
						
							|  |  |  |   return ([bth[buf[i++]], bth[buf[i++]],  | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], '-', | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], '-', | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], '-', | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], '-', | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]], | 
					
						
							|  |  |  | 	bth[buf[i++]], bth[buf[i++]]]).join(''); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = bytesToUuid; |