UNPKG

734 BJavaScriptView Raw
1/**
2 * Convert array of 16 byte values to UUID string format of the form:
3 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
4 */
5var byteToHex = [];
6
7for (var i = 0; i < 256; ++i) {
8 byteToHex[i] = (i + 0x100).toString(16).substr(1);
9}
10
11function bytesToUuid(buf, offset) {
12 var i = offset || 0;
13 var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
14
15 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('');
16}
17
18export default bytesToUuid;
\No newline at end of file