UUID.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. "use strict";
  2. /**
  3. * Implements all UUID related methods.
  4. *
  5. * @class
  6. */
  7. function UUID(){}
  8. /**
  9. * Generate new random UUID v4 as string.
  10. *
  11. * http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136
  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};