1/** 2 * Convert array of 16 byte values to UUID string format of the form: 3 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 4 */ 5const byteToHex = []; 6for (let i = 0; i < 256; ++i) { 7 byteToHex[i] = (i + 0x100).toString(16).substr(1); 8} 9function bytesToUuid(buf, offset) { 10 let i = offset || 0; 11 const bth = byteToHex; 12 // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 13 return [ 14 bth[buf[i++]], 15 bth[buf[i++]], 16 bth[buf[i++]], 17 bth[buf[i++]], 18 '-', 19 bth[buf[i++]], 20 bth[buf[i++]], 21 '-', 22 bth[buf[i++]], 23 bth[buf[i++]], 24 '-', 25 bth[buf[i++]], 26 bth[buf[i++]], 27 '-', 28 bth[buf[i++]], 29 bth[buf[i++]], 30 bth[buf[i++]], 31 bth[buf[i++]], 32 bth[buf[i++]], 33 bth[buf[i++]], 34 ].join(''); 35} 36export default bytesToUuid; 37//# sourceMappingURL=bytesToUuid.js.map