Use redux-observable epics with MoBrix-engine system
Check MoBrix-engine guide to init the system
If you want to use this plugin with MoBrix-engine, install it:
npm i mobrix-engine-plugin-epics
Include this plugin inside your MoBrix-engine config file, and optionally set the epics
field as an array, containing all the epics you want to use:
const epicsPlugin = require("mobrix-engine-plugin-epics");
const { createMoBrixEngineAction } = require("mobrix-engine-tools");
const customActionOne = createMoBrixEngineAction("@@custom/action-one");
const customActionTwo = createMoBrixEngineAction("@@custom/action-two");
const config = {
appName: "custom-app",
plugins: [epicsPlugin],
epics: [
(actions$) =>
actions$.pipe(filter(customActionOne), mapTo(customActionTwo)),
],
};
module.exports = { config };
- This plugin expose some fields to work with any other plugin. If you want to interact with it, using your custom plugin, add an
interaction
withepics
plugin, and add your custom epic to the given epics array:
//Just a skeleton of a custom plugin that interacts with router plugin
const customPlugin = () => ({
// Custom plugin stuffs
interactions: [
{
plugin: "mobrix-engine-epics",
effect: (epics) => {
// Custom plugin stuffs
//Add the custom epic
epics.push((actions$) =>
actions$.pipe(filter(customActionOne), mapTo(customActionTwo))
);
return epics;
},
},
],
});
- [redux-observable]https://redux-observable.js.org/) - to use Epics
- MoBrix-engine-types - to use MoBrix-engine type definitions inside the plugin
- This library is written entirely with Typescript
This project is licensed under the MIT License - see the LICENSE file for details