@absinthe/socket
Version:
122 lines (88 loc) • 2.9 kB
JavaScript
;
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var _objectSpread = _interopDefault(require('@babel/runtime/helpers/objectSpread'));
require('core-js/modules/web.dom.iterable');
require('core-js/modules/es6.array.for-each');
require('core-js/modules/es6.function.name');
require('core-js/modules/es6.function.bind');
var _newArrowCheck = _interopDefault(require('@babel/runtime/helpers/newArrowCheck'));
var _this = undefined;
var getNotifier = function getNotifier(handlerName, payload) {
var _this2 = this;
_newArrowCheck(this, _this);
return function (observer) {
_newArrowCheck(this, _this2);
return observer[handlerName] && observer[handlerName](payload);
}.bind(this);
}.bind(undefined);
var getHandlerName = function getHandlerName(_ref) {
var name = _ref.name;
_newArrowCheck(this, _this);
return "on".concat(name);
}.bind(undefined);
var notifyAll = function notifyAll(observers, event) {
_newArrowCheck(this, _this);
return observers.forEach(getNotifier(getHandlerName(event), event.payload));
}.bind(undefined);
var _this$1 = undefined;
var notifyCanceled = function notifyCanceled(notifier, event) {
_newArrowCheck(this, _this$1);
notifyAll(notifier.canceledObservers, event);
return notifier;
}.bind(undefined);
var eventNames = {
abort: "Abort",
cancel: "Cancel",
error: "Error",
result: "Result",
start: "Start"
};
var _this$2 = undefined;
var createStartEvent = function createStartEvent(payload) {
_newArrowCheck(this, _this$2);
return {
payload: payload,
name: eventNames.start
};
}.bind(undefined);
var createResultEvent = function createResultEvent(payload) {
_newArrowCheck(this, _this$2);
return {
payload: payload,
name: eventNames.result
};
}.bind(undefined);
var createErrorEvent = function createErrorEvent(payload) {
_newArrowCheck(this, _this$2);
return {
payload: payload,
name: eventNames.error
};
}.bind(undefined);
var createCancelEvent = function createCancelEvent() {
_newArrowCheck(this, _this$2);
return {
name: eventNames.cancel,
payload: undefined
};
}.bind(undefined);
var createAbortEvent = function createAbortEvent(payload) {
_newArrowCheck(this, _this$2);
return {
payload: payload,
name: eventNames.abort
};
}.bind(undefined);
var _this$3 = undefined;
var clearCanceled = function clearCanceled(notifier) {
_newArrowCheck(this, _this$3);
return _objectSpread({}, notifier, {
canceledObservers: []
});
}.bind(undefined);
var flushCanceled = function flushCanceled(notifier) {
_newArrowCheck(this, _this$3);
return notifier.canceledObservers.length > 0 ? clearCanceled(notifyCanceled(notifier, createCancelEvent())) : notifier;
}.bind(undefined);
module.exports = flushCanceled;
//# sourceMappingURL=flushCanceled.js.map