UNPKG

@gongt/ts-stl-client

Version:
34 lines 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const action_1 = require("../action"); const virtual_store_1 = require("../virtual-store"); class PromiseQueue extends virtual_store_1.VirtualStore { } exports.PromiseQueue = PromiseQueue; class PromiseAction extends action_1.ReduxAction { } exports.PromiseAction = PromiseAction; function promiseMiddleware(store) { return (next) => { return (action) => { if (!PromiseAction.is(action)) { return next(action); } const { promise, success, failed } = action.payload; promise.then((data) => { store.dispatch(new success(data).toJSON()); }, (e) => { store.dispatch(new failed(e).toJSON()); }); }; }; } exports.promiseMiddleware = promiseMiddleware; class PromisePlugin { __redux_plugin(redux) { redux.use(promiseMiddleware); redux.register(PromiseQueue); } } exports.PromisePlugin = PromisePlugin; //# sourceMappingURL=promise.js.map