UUID.js 997 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * Class to implement UUID generation methods.
  3. *
  4. * @class
  5. */
  6. function UUID(){}
  7. /**
  8. * Generates a new random UUID v4 as string.
  9. *
  10. * @static
  11. * @return {string} UUID generated as string.
  12. */
  13. UUID.generate = (function ()
  14. {
  15. var lut = [];
  16. for(var i = 0; i < 256; i++)
  17. {
  18. lut[i] = (i < 16 ? "0" : "") + (i).toString(16);
  19. }
  20. return function generateUUID()
  21. {
  22. var d0 = Math.random() * 0XFFFFFFFF | 0;
  23. var d1 = Math.random() * 0XFFFFFFFF | 0;
  24. var d2 = Math.random() * 0XFFFFFFFF | 0;
  25. var d3 = Math.random() * 0XFFFFFFFF | 0;
  26. var uuid = lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + "-" +
  27. lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + "-" + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + "-" +
  28. lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + "-" + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +
  29. lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];
  30. return uuid.toUpperCase();
  31. };
  32. })();
  33. export {UUID};