Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. function getNumericISOString() {
  2. // Get string unique to this millisecond
  3. let isoString = new Date().toISOString();
  4.  
  5. // Remove constant characters
  6. return isoString.replace(/[^0-9]/g, '');
  7. }
  8.  
  9. function* generateId() {
  10. let iterator = 0;
  11. let prevId = null;
  12.  
  13. while (true) {
  14. let newId = getNumericISOString();
  15.  
  16. // If id is not unique, increment iterator
  17. // Else reset iterator to 0
  18. iterator = newId === prevId ? ++iterator : 0;
  19.  
  20. // Save id for comparison
  21. prevId = newId;
  22.  
  23. yield newId += '-' + iterator;
  24. }
  25. }
  26.  
  27. const myGen = generateId();
  28.  
  29. console.log(myGen.next().value);
  30. console.log(myGen.next().value);
  31. console.log(myGen.next().value);
  32. console.log(myGen.next().value);
  33. console.log(myGen.next().value);
  34. console.log(myGen.next().value);
  35. console.log(myGen.next().value);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement