UNPKG

@absinthe/socket

Version:
154 lines (110 loc) 3.79 kB
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray'; import 'core-js/modules/web.dom.iterable'; import 'core-js/modules/es6.array.for-each'; import 'core-js/modules/es6.function.name'; import { remove } from '@jumpn/utils-array'; import 'core-js/modules/es6.array.find-index'; import { hasIn } from '@jumpn/utils-composite'; import 'core-js/modules/es6.function.bind'; import _newArrowCheck from '@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 getObservers = function getObservers(_ref) { var activeObservers = _ref.activeObservers, canceledObservers = _ref.canceledObservers; _newArrowCheck(this, _this$1); return _toConsumableArray(activeObservers).concat(_toConsumableArray(canceledObservers)); }.bind(undefined); var notify = function notify(notifier, event) { _newArrowCheck(this, _this$1); notifyAll(getObservers(notifier), event); return notifier; }.bind(undefined); var _this$2 = undefined; var findIndex = function findIndex(notifiers, key, value // $FlowFixMe: flow is having some troubles to match hasIn signature (curry) ) { _newArrowCheck(this, _this$2); return notifiers.findIndex(hasIn([key], value)); }.bind(undefined); var _this$3 = undefined; var remove$1 = function remove$$1(notifier) { var _this2 = this; _newArrowCheck(this, _this$3); return function (notifiers) { _newArrowCheck(this, _this2); return remove(findIndex(notifiers, "request", notifier.request), 1, notifiers); }.bind(this); }.bind(undefined); var _this$4 = undefined; var updateNotifiers = function updateNotifiers(absintheSocket, updater) { _newArrowCheck(this, _this$4); absintheSocket.notifiers = updater(absintheSocket.notifiers); return absintheSocket; }.bind(undefined); var eventNames = { abort: "Abort", cancel: "Cancel", error: "Error", result: "Result", start: "Start" }; var _this$5 = undefined; var createStartEvent = function createStartEvent(payload) { _newArrowCheck(this, _this$5); return { payload: payload, name: eventNames.start }; }.bind(undefined); var createResultEvent = function createResultEvent(payload) { _newArrowCheck(this, _this$5); return { payload: payload, name: eventNames.result }; }.bind(undefined); var createErrorEvent = function createErrorEvent(payload) { _newArrowCheck(this, _this$5); return { payload: payload, name: eventNames.error }; }.bind(undefined); var createCancelEvent = function createCancelEvent() { _newArrowCheck(this, _this$5); return { name: eventNames.cancel, payload: undefined }; }.bind(undefined); var createAbortEvent = function createAbortEvent(payload) { _newArrowCheck(this, _this$5); return { payload: payload, name: eventNames.abort }; }.bind(undefined); var _this$6 = undefined; var abortNotifier = function abortNotifier(absintheSocket, notifier, error) { _newArrowCheck(this, _this$6); return updateNotifiers(absintheSocket, remove$1(notify(notifier, createAbortEvent(error)))); }.bind(undefined); export default abortNotifier; //# sourceMappingURL=abortNotifier.js.map