refraction-player
Version:
Event player for Refraction
120 lines (96 loc) • 3.52 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["RefractionPlayer"] = factory();
else
root["RefractionPlayer"] = factory();
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports) {
"use strict";
exports.__esModule = true;
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 timeoutIterate = function timeoutIterate(i, conditionFn, consumerFn, timeoutFn) {
if (conditionFn(i)) {
setTimeout(function () {
consumerFn(i);
timeoutIterate(i + 1, conditionFn, consumerFn, timeoutFn);
}, timeoutFn(i));
}
};
exports["default"] = function (_ref) {
var refraction = _ref.refraction;
var _ref$track = _ref.track;
var track = _ref$track === undefined ? [] : _ref$track;
var _ref$exclude = _ref.exclude;
var exclude = _ref$exclude === undefined ? [] : _ref$exclude;
var _ref$delay = _ref.delay;
var delay = _ref$delay === undefined ? 200 : _ref$delay;
var _ref$ignoreTime = _ref.ignoreTime;
var ignoreTime = _ref$ignoreTime === undefined ? false : _ref$ignoreTime;
var previousTime = -1;
var events = [].concat(_toConsumableArray(track));
var timeout = function timeout(i) {
var result = delay;
var time = events[i].time;
if (time && !ignoreTime) {
if (previousTime === -1) {
previousTime = time;
}
result = time - previousTime;
previousTime = time;
}
return result;
};
var exists = function exists(i) {
return i < events.length;
};
var consume = function consume(i) {
var _events$i = events[i];
var channel = _events$i.channel;
var param = _events$i.param;
if (exclude.indexOf(channel) === -1) {
refraction.publish(channel, param);
}
};
timeoutIterate(0, exists, consume, timeout);
};
/***/ }
/******/ ])
});
;