Projekt

Obecné

Profil

Stáhnout (775 Bajtů) Statistiky
| Větev: | Revize:
1
/**
2
 * Convert array of 16 byte values to UUID string format of the form:
3
 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
4
 */
5
var byteToHex = [];
6
for (var i = 0; i < 256; ++i) {
7
  byteToHex[i] = (i + 0x100).toString(16).substr(1);
8
}
9

    
10
function bytesToUuid(buf, offset) {
11
  var i = offset || 0;
12
  var bth = byteToHex;
13
  // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
14
  return ([
15
    bth[buf[i++]], bth[buf[i++]],
16
    bth[buf[i++]], bth[buf[i++]], '-',
17
    bth[buf[i++]], bth[buf[i++]], '-',
18
    bth[buf[i++]], bth[buf[i++]], '-',
19
    bth[buf[i++]], bth[buf[i++]], '-',
20
    bth[buf[i++]], bth[buf[i++]],
21
    bth[buf[i++]], bth[buf[i++]],
22
    bth[buf[i++]], bth[buf[i++]]
23
  ]).join('');
24
}
25

    
26
module.exports = bytesToUuid;
(1-1/8)