Dashboard sipadu mbip
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

requestAnimationFrame.js 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _inDOM = _interopRequireDefault(require("./inDOM"));
  6. var vendors = ['', 'webkit', 'moz', 'o', 'ms'];
  7. var cancel = 'clearTimeout';
  8. var raf = fallback;
  9. var compatRaf;
  10. var getKey = function getKey(vendor, k) {
  11. return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';
  12. };
  13. if (_inDOM.default) {
  14. vendors.some(function (vendor) {
  15. var rafKey = getKey(vendor, 'request');
  16. if (rafKey in window) {
  17. cancel = getKey(vendor, 'cancel');
  18. return raf = function raf(cb) {
  19. return window[rafKey](cb);
  20. };
  21. }
  22. });
  23. }
  24. /* https://github.com/component/raf */
  25. var prev = new Date().getTime();
  26. function fallback(fn) {
  27. var curr = new Date().getTime(),
  28. ms = Math.max(0, 16 - (curr - prev)),
  29. req = setTimeout(fn, ms);
  30. prev = curr;
  31. return req;
  32. }
  33. compatRaf = function compatRaf(cb) {
  34. return raf(cb);
  35. };
  36. compatRaf.cancel = function (id) {
  37. window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);
  38. };
  39. var _default = compatRaf;
  40. exports.default = _default;
  41. module.exports = exports["default"];