123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- "use strict";
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- exports.__esModule = true;
- exports.default = void 0;
-
- var _inDOM = _interopRequireDefault(require("./inDOM"));
-
- var vendors = ['', 'webkit', 'moz', 'o', 'ms'];
- var cancel = 'clearTimeout';
- var raf = fallback;
- var compatRaf;
-
- var getKey = function getKey(vendor, k) {
- return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';
- };
-
- if (_inDOM.default) {
- vendors.some(function (vendor) {
- var rafKey = getKey(vendor, 'request');
-
- if (rafKey in window) {
- cancel = getKey(vendor, 'cancel');
- return raf = function raf(cb) {
- return window[rafKey](cb);
- };
- }
- });
- }
- /* https://github.com/component/raf */
-
-
- var prev = new Date().getTime();
-
- function fallback(fn) {
- var curr = new Date().getTime(),
- ms = Math.max(0, 16 - (curr - prev)),
- req = setTimeout(fn, ms);
- prev = curr;
- return req;
- }
-
- compatRaf = function compatRaf(cb) {
- return raf(cb);
- };
-
- compatRaf.cancel = function (id) {
- window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);
- };
-
- var _default = compatRaf;
- exports.default = _default;
- module.exports = exports["default"];
|