Sha256: 69826be4f4e118c15cf2ffb5870aa551a4eaef4e24cbadbe619b90115388858e

Contents?: true

Size: 775 Bytes

Versions: 41

Compression:

Stored size: 775 Bytes

Contents

/**
 * 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;

Version data entries

41 entries across 40 versions & 8 rubygems

Version Path
disco_app-0.18.4 test/dummy/node_modules/sockjs/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.18.1 test/dummy/node_modules/sockjs/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/sockjs/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.14.0 test/dummy/node_modules/sockjs/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/sockjs/node_modules/uuid/lib/bytesToUuid.js
decidim-0.25.0 packages/core/node_modules/uuid/lib/bytesToUuid.js
decidim-0.25.0.rc4 packages/core/node_modules/uuid/lib/bytesToUuid.js
decidim-0.25.0.rc3 packages/core/node_modules/uuid/lib/bytesToUuid.js
decidim-0.25.0.rc2 packages/core/node_modules/uuid/lib/bytesToUuid.js
tang-0.2.1 spec/tang_app/node_modules/uuid/lib/bytesToUuid.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/uuid/lib/bytesToUuid.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/uuid/lib/bytesToUuid.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/uuid/lib/bytesToUuid.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/uuid/lib/bytesToUuid.js
tang-0.2.0 spec/tang_app/node_modules/uuid/lib/bytesToUuid.js
tang-0.1.0 spec/tang_app/node_modules/uuid/lib/bytesToUuid.js
tang-0.0.9 spec/tang_app/node_modules/uuid/lib/bytesToUuid.js
enju_library-0.3.8 spec/dummy/node_modules/uuid/lib/bytesToUuid.js
ilog-0.4.1 node_modules/uuid/lib/bytesToUuid.js
ilog-0.4.0 node_modules/uuid/lib/bytesToUuid.js