WIP - add extractor, generate snippet_data
This commit is contained in:
3
node_modules/requestanimationframe-timer/dist/cjs.js
generated
vendored
Normal file
3
node_modules/requestanimationframe-timer/dist/cjs.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = require('./index').default;
|
||||
121
node_modules/requestanimationframe-timer/dist/index.js
generated
vendored
Normal file
121
node_modules/requestanimationframe-timer/dist/index.js
generated
vendored
Normal file
@ -0,0 +1,121 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _raf = require('raf');
|
||||
|
||||
var _raf2 = _interopRequireDefault(_raf);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
var MODE_TIMEOUT = 0;
|
||||
var MODE_INTERVAL = 1;
|
||||
var fnStacks = new Map();
|
||||
var runArray = new Set();
|
||||
var rafStarted = false;
|
||||
var startId = 0;
|
||||
|
||||
function getTimeStamp() {
|
||||
return new Date().getTime();
|
||||
}
|
||||
|
||||
function executeFn(value) {
|
||||
var fn = value.fn,
|
||||
args = value.args;
|
||||
|
||||
fn.apply(undefined, _toConsumableArray(args));
|
||||
}
|
||||
|
||||
function runFunction() {
|
||||
if (runArray.size === 0) return;
|
||||
runArray.forEach(executeFn);
|
||||
runArray.clear();
|
||||
}
|
||||
|
||||
var checkTick = function checkTick(currentTimeTick) {
|
||||
return function (value, id) {
|
||||
var nextTick = value.nextTick,
|
||||
ms = value.ms,
|
||||
mode = value.mode;
|
||||
|
||||
if (currentTimeTick - nextTick >= 0) {
|
||||
runArray.add(value);
|
||||
if (mode === MODE_TIMEOUT) {
|
||||
fnStacks.delete(id);
|
||||
} else {
|
||||
fnStacks.set(id, Object.assign({}, value, {
|
||||
nextTick: nextTick + ms
|
||||
}));
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function loop() {
|
||||
var currentTimeTick = getTimeStamp();
|
||||
fnStacks.forEach(checkTick(currentTimeTick));
|
||||
runFunction();
|
||||
if (fnStacks.size === 0) {
|
||||
rafStarted = false;
|
||||
return;
|
||||
}
|
||||
(0, _raf2.default)(loop);
|
||||
}
|
||||
|
||||
function addId(_ref) {
|
||||
var fn = _ref.fn,
|
||||
_ref$ms = _ref.ms,
|
||||
ms = _ref$ms === undefined ? 0 : _ref$ms,
|
||||
args = _ref.args,
|
||||
mode = _ref.mode;
|
||||
|
||||
if (!fn) return null;
|
||||
var currentId = startId;
|
||||
fnStacks.set(currentId, {
|
||||
fn: fn,
|
||||
ms: ms,
|
||||
nextTick: getTimeStamp() + ms,
|
||||
args: args,
|
||||
mode: mode
|
||||
});
|
||||
if (!rafStarted) {
|
||||
rafStarted = true;
|
||||
(0, _raf2.default)(loop);
|
||||
}
|
||||
startId += 1;
|
||||
return currentId;
|
||||
}
|
||||
|
||||
function removeId(id) {
|
||||
if (fnStacks.has(id)) {
|
||||
fnStacks.delete(id);
|
||||
}
|
||||
if (fnStacks.size === 0) {
|
||||
rafStarted = false;
|
||||
}
|
||||
}
|
||||
|
||||
exports.default = {
|
||||
setTimeout: function setTimeout(fn) {
|
||||
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
||||
args[_key - 2] = arguments[_key];
|
||||
}
|
||||
|
||||
var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
||||
return addId({ fn: fn, ms: ms, args: args, mode: MODE_TIMEOUT });
|
||||
},
|
||||
clearTimeout: removeId,
|
||||
setInterval: function setInterval(fn) {
|
||||
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
||||
args[_key2 - 2] = arguments[_key2];
|
||||
}
|
||||
|
||||
var ms = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
||||
return addId({ fn: fn, ms: ms, args: args, mode: MODE_INTERVAL });
|
||||
},
|
||||
clearInterval: removeId
|
||||
};
|
||||
Reference in New Issue
Block a user