Sha256: 6ca7a2c013dc1e1b8092889885ff19679c4138b5fc9182aacc206c263454f9d6

Contents?: true

Size: 747 Bytes

Versions: 24

Compression:

Stored size: 747 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

24 entries across 24 versions & 6 rubygems

Version Path
disco_app-0.18.0 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.18.2 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.16.1 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.15.2 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.18.4 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.18.1 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.14.0 test/dummy/node_modules/uuid/lib/bytesToUuid.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/uuid/lib/bytesToUuid.js
learn_create-0.0.22 lib/templates/javascript_lab_template/node_modules/uuid/lib/bytesToUuid.js
jester-data-8.0.0 node_modules/uuid/lib/bytesToUuid.js
ezii-os-5.2.1 node_modules/uuid/lib/bytesToUuid.js
ezii-os-2.0.1 node_modules/uuid/lib/bytesToUuid.js
ezii-os-1.1.0 node_modules/uuid/lib/bytesToUuid.js
ezii-os-1.0.0 node_modules/uuid/lib/bytesToUuid.js
ezii-os-0.0.0.1.0 node_modules/uuid/lib/bytesToUuid.js
ezii-os-0.0.0.0.1 node_modules/uuid/lib/bytesToUuid.js
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/uuid/lib/bytesToUuid.js
lux_assets-0.2.11 ./node_modules/uuid/lib/bytesToUuid.js
lux_assets-0.2.9 ./node_modules/uuid/lib/bytesToUuid.js