UNPKG

refraction-player

Version:
59 lines (48 loc) 1.69 kB
"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); };