You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.1KB

  1. var мир = {};
  2. мир.вZ64 = function(строка)
  3. {
  4. var байты = new TextEncoder("utf-8").encode(строка);
  5. var архив = pako.deflate(байты, { to: 'string' });
  6. return base64js.fromByteArray(архив);
  7. };
  8. мир.изZ64 = function(строка)
  9. {
  10. var архив = base64js.toByteArray(строка);
  11. var байты = pako.inflate(архив);
  12. return new TextDecoder("utf-8").decode(байты);
  13. };
  14. мир.uuid = function()
  15. {
  16. // https://stackoverflow.com/a/2117523
  17. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
  18. /[xy]/g,
  19. function(c)
  20. {
  21. var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
  22. return v.toString(16);
  23. }
  24. );
  25. };
  26. мир.назначитьКнопкамСобытия = function(события, список)
  27. {
  28. for (var номер in список)
  29. {
  30. const пара = список[номер];
  31. var кнопка = document.getElementById(пара[0]);
  32. кнопка.addEventListener("click", function(_) {
  33. события.уведомить(пара[1]);
  34. });
  35. }
  36. };