UNPKG

async-selector-kit

Version:

An opinionated API to simplify using async-selector

29 lines (28 loc) 935 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var getDispatcher_1 = require("./getDispatcher"); var actionListeners = []; function addNewActionListener(listenerFunc, id) { var listener = { id: id, func: listenerFunc }; var index = actionListeners.findIndex(function (d) { return d.id === id; }); if (index >= 0) { actionListeners.splice(index, 1); } actionListeners.push(listener); } exports.addNewActionListener = addNewActionListener; function createMiddleware() { var middleware = function (store) { getDispatcher_1.referenceStore(store); return function (next) { return function (action) { var result = next(action); actionListeners.forEach(function (d) { return d.func(action, store); }); return result; }; }; }; return middleware; } exports.createMiddleware = createMiddleware;